/* Local LOT family treatment. Runtime and Bridge contracts remain in the delivered files. */
:root {
  --font-ui:"Hanken Grotesk",Arial,sans-serif;
  --font-body:var(--font-ui);--font-structure:var(--font-ui);--font-structural:var(--font-ui);--font-tech:var(--font-ui);--lon-font:var(--font-ui);
  --arch-bg:#f2ede3;--arch-paper:#fbf8f2;--arch-ink:#292722;--arch-graphite:#34332f;--arch-body:#34332f;--arch-secondary:#6b675f;
  --arch-line-section:rgba(52,51,47,.45);--arch-line-inner:rgba(52,51,47,.18);--arch-hover:rgba(144,135,124,.06);
}
html,body,button,input,select,textarea{font-family:var(--font-ui)}
.review-notice{padding:9px 30px;background:#34332f;color:#fbf8f2;border:0;text-align:center;font-size:10px;line-height:1.5;letter-spacing:.045em}
.lot-web-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:18px 32px;background:#f2ede3;border-bottom:1px solid var(--arch-line-inner)}
.lot-wordmark{font-size:26px;font-weight:800;letter-spacing:-.065em;line-height:1;text-decoration:none;color:#292722}
.lot-back-link{color:#504d47;font-size:12px;text-decoration:none;text-underline-offset:4px}
.lot-back-link:hover{text-decoration:underline}
.lot-workspace-title{margin:0;font-size:36px;font-weight:700;line-height:1.1;letter-spacing:-.035em;color:#292722}
.lot-web-header a:focus-visible{outline:2px solid #90877c;outline-offset:5px}
.lot-config-icon{display:block;width:44px;height:44px;overflow:hidden;isolation:isolate;border:1px solid #90877c;border-radius:9px;background:#f3efe6}
.lot-config-icon .app-brand-logo{width:100%;height:100%;border-radius:0;object-fit:contain;filter:grayscale(1) brightness(1.1);mix-blend-mode:multiply}
@media screen{
  @media(min-width:881px){
    .lot-web-header{display:grid;grid-template-columns:244px minmax(0,1fr) auto}
    .lot-workspace-title{justify-self:start;text-align:left}
  }
  .app-shell{min-height:calc(100dvh - 109px);grid-template-rows:1fr;grid-template-areas:"sidebar main"}
  .topbar-solution{background:#fbf8f2;padding:32px 40px;min-height:170px}
  .topbar-solution h1{font-size:36px;font-weight:700;letter-spacing:-.035em;line-height:1.1;margin:10px 0 12px}
  .topbar-solution #appBuildStamp{font-family:var(--font-ui);font-size:9px;letter-spacing:.12em}
  .topbar-solution-description{font-size:14px;line-height:1.6;max-width:650px}
  .header-geometry{color:#90877c;opacity:.3}
  .sidebar{background:#292822;--sidebar-fg:#fbf8f2;--sidebar-muted:#c2baae;--sidebar-line:#57544b}
  .app-brand-copy>span{font-size:24px;font-weight:700;letter-spacing:-.035em}
  .app-brand-copy>small{font-size:9px;letter-spacing:.1em}
  .sidebar select,.sidebar input{background:#34332f;border-color:var(--sidebar-line)}
  .sidebar select option{background:#292822}
  .sidebar .section-nav button.active{background:rgba(243,239,230,.09)}
  .sidebar .section-nav button.active::before{background:#b5a68d}
  .sidebar-project-actions button{min-height:38px}
  .main{padding:30px 40px 48px}
  #projectTitle{font-size:28px;font-weight:700;letter-spacing:-.035em}
  .overview-after-analysis{padding-bottom:24px;margin-bottom:26px}
  .analysis-stack-compact .analysis-master{background:rgba(251,248,242,.65);padding:20px 22px;border:1px solid var(--arch-line-inner)}
  .analysis-stack-compact .analysis-master #analysisTitle{font-size:22px;font-weight:700;letter-spacing:-.025em}
  .analysis-stack-compact .analysis-master .analysis-strip-copy .eyebrow{font-size:9px;letter-spacing:.09em}
  .analysis-stack-compact .analysis-master .analysis-strip-copy p{font-size:13px}
  button{border-radius:0;min-height:42px}
  .analysis-stack-compact .analysis-master .analysis-strip-actions>button,.analysis-setup-action button{min-height:42px}
  .section-block-title{font-size:23px;font-weight:700;letter-spacing:-.025em;white-space:normal}
  .section-block-eyebrow{letter-spacing:.1em;color:#6b675f}
  .card{background:#fbf8f2}
  .card:hover{background:#f6f1e8}
  .card-main{padding-right:14px}
  .card h3{font-weight:600;letter-spacing:-.015em}
  .card-aside .status-pill{max-width:100%;white-space:normal;overflow-wrap:anywhere;border-color:#90877c}
  dialog{background:#fbf8f2}
  .dialog-header{background:#f2ede3}
  .dialog-header h2,#bridgeSetupTitle,#analysisDialogTitle,#usageManualTitle{font-weight:700;letter-spacing:-.025em}
  input:focus,select:focus,textarea:focus{border-color:#90877c;box-shadow:0 0 0 2px rgba(144,135,124,.15)}
  @media(max-width:1180px) and (min-width:881px){
    .lot-web-header{grid-template-columns:210px minmax(0,1fr) auto}
    .topbar-solution,.main{padding-left:28px;padding-right:28px}
    .analysis-stack-compact .analysis-master .analysis-strip-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  }
  @media(max-width:880px){
    .lot-web-header{flex-wrap:wrap;padding-left:24px;padding-right:24px}
    .lot-workspace-title{order:3;flex-basis:100%;text-align:left}
    .app-shell{grid-template-rows:auto 1fr;grid-template-areas:"sidebar" "main"}
    .main,.topbar-solution{padding:24px}
    .sidebar{padding:22px 24px}
    .sidebar .app-brand{max-width:none}
  }
  @media(max-width:600px){
    .review-notice{padding:8px 16px;font-size:9px}
    .lot-web-header{min-height:68px;padding:16px;gap:16px}
    .lot-wordmark{font-size:23px}
    .lot-web-header{flex-wrap:wrap}
    .lot-workspace-title{order:3;flex-basis:100%;font-size:30px}
    .lot-back-link{font-size:11px;max-width:130px;text-align:right}
    .main,.topbar-solution{padding:24px 16px}
    .topbar-solution h1{font-size:30px}
    .lot-config-icon{width:40px;height:40px}
    .topbar-solution-copy{max-width:100%}
    .analysis-stack-compact .analysis-master{padding:18px 14px}
    .section-block-title{font-size:21px}
    .analysis-stack-compact .analysis-master .analysis-strip-actions{grid-template-columns:minmax(0,1fr)}
  }
}
.section-disclosure{display:block;margin-bottom:0;border-bottom:1px solid var(--arch-line-inner)}
.section-disclosure:not([open])>.cards-stack{display:none}
.section-disclosure:first-child{border-top:1px solid var(--arch-line-inner)}
.section-disclosure>.section-block-header{list-style:none;cursor:pointer;padding:12px 0;margin:0;min-height:76px}
.section-disclosure>.section-block-header::-webkit-details-marker{display:none}
.section-disclosure>.section-block-header:hover{background:rgba(144,135,124,.06)}
.section-disclosure>.section-block-header:focus-visible{outline:2px solid #90877c;outline-offset:3px}
.section-disclosure .section-count{display:flex;align-items:center;gap:18px;font-size:11px;color:#6b675f}
.section-disclosure .section-count::after{content:"+";font-size:22px;font-weight:400;line-height:1;width:18px;text-align:center;color:#34332f}
.section-disclosure[open]>.section-block-header .section-count::after{content:"−"}
.section-disclosure[open]>.cards-stack{margin-bottom:24px}
.capability-standalone .standalone-request-label{margin:18px 0 8px}
.capability-standalone .capability-intention{margin:0;padding:10px 14px;border-left:2px solid #90877c;font-size:13px;line-height:1.6}
@media(max-width:600px){
  .section-disclosure>.section-block-header{grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .section-disclosure .section-count{gap:8px;font-size:10px;white-space:normal;text-align:right}
  .section-disclosure .section-block-title{font-size:18px}
}
@media print{.lot-web-header,.review-notice{display:none}}

.local-storage-status{font-size:12px;line-height:1.6;color:#69645d;margin:10px 0 0;max-width:76ch}.local-storage-status[data-state="error"]{color:#842f26;border-left:2px solid currentColor;padding-left:12px}

/* Mobile section headings keep long labels separate from their counts. */
@media(max-width:600px){
  .section-disclosure>.section-block-header{grid-template-columns:minmax(0,1fr);gap:10px}
  .section-disclosure .section-heading{grid-template-columns:24px 48px minmax(0,1fr);gap:10px;min-width:0;width:100%}
  .section-disclosure .section-heading-copy{min-width:0}
  .section-disclosure .section-block-title{white-space:normal;overflow-wrap:anywhere;line-height:1.2}
  .section-disclosure .section-glyph-wrap{width:48px;min-width:0;overflow:hidden}
  .section-disclosure .section-heading-rule{display:none}
  .section-disclosure .section-count{justify-self:end;max-width:100%;text-align:right}
}

/* Compact cards: retain title, description, identity and status hierarchy. */
@media screen{
  .card .card-main{padding-top:12px;padding-bottom:12px;column-gap:16px}
  .card .card-content{gap:6px}
  .card h3{font-size:15px;line-height:1.25}
  .card .card-content>p{font-size:12px;line-height:1.45}
  .card .card-identity{gap:5px}
  .card .cap-number{font-size:9px}
  .card .section-label{font-size:8.5px;line-height:1.35}
  .card .card-aside .status-pill{font-size:10px;line-height:1.3;padding:3px 7px}
  .section-disclosure>.section-block-header{min-height:68px;padding-top:10px;padding-bottom:10px}
  .section-disclosure .section-block-title{font-size:21px;line-height:1.2}
  .section-disclosure .section-block-eyebrow{font-size:8.5px}
  .section-disclosure[open]>.cards-stack{margin-bottom:18px}
}
@media screen and (max-width:600px){
  .card .card-main{padding:12px;row-gap:8px}
  .card h3{font-size:14px;line-height:1.3}
  .section-disclosure .section-block-title{font-size:17px}
  .section-disclosure>.section-block-header{gap:7px}
}

/* Project map navigation: 2026-10-26. */
@media screen {
  .main > .analysis-stack { margin:0; }
  .capabilities-workspace { min-width:0; margin-top:26px; }
  .capabilities-workspace .overview-after-analysis { margin:0; padding:0 0 18px; border-bottom:0; }
  .capabilities-workspace > .capability-tabs {
    display:flex; flex-wrap:nowrap; gap:0; min-width:0; max-width:100%;
    overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain;
    border-top:1px solid var(--arch-line-inner); border-bottom:1px solid var(--arch-line-inner);
    scrollbar-width:thin; scrollbar-color:#90877c transparent; scroll-padding-inline:8px;
  }
  .capabilities-workspace > .capability-tabs button {
    position:relative; flex:0 0 auto; min-height:44px; padding:11px 12px;
    color:var(--arch-secondary); background:transparent; border:0; border-radius:0;
    font:500 11px/1.4 var(--font-ui); white-space:nowrap; text-align:center;
  }
  .capabilities-workspace > .capability-tabs button:hover { background:rgba(144,135,124,.07); color:var(--arch-ink); }
  .capabilities-workspace > .capability-tabs button.active { background:rgba(144,135,124,.1); color:var(--arch-ink); }
  .capabilities-workspace > .capability-tabs button::before { content:none; }
  .capabilities-workspace > .capability-tabs button.active::after { content:"";position:absolute;bottom:0;left:12px;right:12px;height:2px;background:#90877c; }
  .capabilities-workspace > .capability-tabs button:focus-visible { outline:2px solid #90877c;outline-offset:-3px; }
  .capabilities-workspace > .toolbar { padding:10px 0; margin:0 0 4px; }
  .capabilities-workspace > .toolbar #activeFilters { font-size:12px;line-height:1.5; }
}
@media screen and (min-width:881px) and (max-height:820px) {
  .sidebar .app-brand { padding-bottom:12px;margin-bottom:12px; }
  .sidebar .sidebar-project { margin-bottom:12px;padding-bottom:12px; }
  .sidebar .sidebar-project-actions button { min-height:34px; }
  .sidebar .sidebar-heading { margin-top:12px; }
  .sidebar .status-summary { gap:5px; }
}
@media screen and (max-width:600px) {
  .capabilities-workspace { margin-top:22px; }
  .capabilities-workspace > .capability-tabs button { font-size:10.5px;padding-inline:11px; }
}

.skill-preparation-downloads { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; margin:16px 0; }
.skill-preparation-downloads a { color:var(--arch-ink); text-underline-offset:3px; font-size:13px; }

.bridge-heading-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 24px; }
.bridge-heading-row .bridge-versions-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border: 1px solid currentColor;
  color: inherit;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.bridge-heading-row .bridge-versions-button:hover { background: var(--arch-ink, #27251f); color: #fff; }

/* LOT Config split icon — 2026-11-05 */
.lot-config-icon{border:0;border-radius:0;background:transparent;overflow:visible}.lot-config-icon .app-brand-logo{filter:none;mix-blend-mode:normal}
