:root{--navy-950:#131d2f;--navy-900:#1c2c45;--navy-800:#2c4262;--navy-700:#3a5576;--gold-600:#a87d16;--gold-500:#c49a2c;--ink:#182234;--muted:#657086;--surface:#eef2f4;--surface-panel:#fff;--surface-panel-soft:#f7f9fb;--surface-elevated:hsla(0,0%,100%,.94);--line:#d7dde8;--line-strong:#c2cbd8;--accent:#2f7374;--accent-strong:#245b5d;--accent-soft:#e6f1f0;--nav-text:#dfe6f0;--nav-hover:hsla(0,0%,100%,.1);--nav-border:hsla(0,0%,100%,.14);--white-muted:hsla(0,0%,100%,.72);--gold-muted:rgba(202,164,58,.82);--overlay:rgba(16,24,41,.48);--success:#2d6a55;--danger:#9a3c35;--row-hover:#f5f8fb;--selected-row:#e9f2f7;--white:#fff;--shadow:0 14px 34px rgba(16,24,41,.08)}*{box-sizing:border-box}body,html{min-height:100%}html{-webkit-text-size-adjust:100%}body,html{background:var(--surface)}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button,input,select,textarea{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:118px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:var(--navy-950);color:var(--white);padding:14px 10px;gap:14px;border-right:1px solid var(--nav-border)}.brand,.sidebar{display:flex;flex-direction:column}.brand{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;justify-content:center;align-items:center;gap:8px;min-height:88px;min-width:0;padding:0;text-align:center}.brand img{width:46px;height:46px;object-fit:contain}.brand-title{display:flex;flex-direction:column;align-items:center;gap:1px}.brand-title span{display:block;color:var(--nav-text);font-size:.68rem;font-weight:800;line-height:1.05;letter-spacing:.03em;text-transform:uppercase}.brand-title .brand-title-muted{color:var(--white-muted)}.brand-title-main{white-space:nowrap}.brand-title .brand-title-accent{color:var(--gold-500)}.mobile-nav,.side-nav{display:flex;gap:8px}.side-nav{flex-direction:column;gap:6px;flex:1 1}.nav-button{width:100%;min-height:68px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--nav-text);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 6px;text-align:center;font-size:.72rem;font-weight:700}.nav-button.active,.nav-button:hover{color:var(--white);background:var(--nav-hover);border-color:var(--nav-border)}.nav-button.active svg{color:var(--gold-500)}.nav-button.active{box-shadow:inset 0 0 0 1px var(--nav-border)}.main-panel{min-width:0;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:6;min-height:76px;padding:14px clamp(16px,2.4vw,28px);background:var(--surface-elevated);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar>div:first-child{min-width:0}.section-kicker{color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.topbar h1{margin:2px 0 0;font-size:clamp(1.35rem,2vw,2rem);line-height:1.05;overflow-wrap:anywhere}.crest-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:var(--surface-panel-soft);border:1px solid var(--line)}.crest-mark img{max-width:30px;max-height:30px}.workspace{flex:1 1;min-height:0;padding:clamp(12px,1.8vw,20px)}.benchbook-layout,.document-layout,.search-layout{display:grid;grid-gap:12px;gap:12px;height:calc(100vh - 116px);min-height:0}.resource-hub{display:flex;flex-direction:column;gap:12px;height:calc(100vh - 116px);min-height:0}.resource-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.resource-tab{min-width:0;min-height:52px;border:1px solid var(--line);border-radius:8px;background:var(--surface-elevated);color:var(--navy-800);display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;font-size:.84rem;font-weight:800;text-align:center}.resource-tab.active,.resource-tab:hover{background:var(--selected-row);border-color:var(--line-strong);color:var(--accent)}.resource-tab.active{box-shadow:inset 0 0 0 1px var(--line-strong)}.resource-picker-shell{display:none}.resource-select-wrap{position:relative}.resource-select-wrap select{width:100%;height:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:8px;background:var(--surface-elevated);color:var(--navy-800);padding:0 42px 0 12px;font-weight:800;outline:0}.resource-select-wrap svg{position:absolute;top:50%;right:13px;transform:translateY(-50%);color:var(--accent);pointer-events:none}.resource-landing{flex:1 1;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.resource-landing-card{min-width:0;min-height:132px;border:1px solid var(--line);border-radius:8px;background:var(--surface-elevated);color:var(--ink);display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:start;grid-gap:10px;gap:10px;padding:14px;text-align:left}.resource-landing-card:hover{background:var(--selected-row);border-color:var(--line-strong)}.resource-landing-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong)}.resource-landing-copy{min-width:0;display:grid;grid-gap:5px;gap:5px}.resource-landing-copy strong{color:var(--navy-900);line-height:1.2}.resource-landing-copy small{color:var(--muted);line-height:1.35;font-weight:700;overflow-wrap:anywhere}.resource-landing-card>svg{align-self:end;color:var(--accent)}.resource-hub>.benchbook-layout,.resource-hub>.document-layout,.resource-hub>.resource-tool,.resource-hub>.search-layout{flex:1 1;height:auto;min-height:0}.resource-tool{min-height:0}.resource-tool>.viewer-pane{height:100%}.deskbook-layout{position:relative;height:100%;min-height:0;align-items:stretch;grid-template-columns:minmax(300px,380px) minmax(0,1fr)}.deskbook-layout.is-loading>.benchbook-index,.deskbook-layout.is-loading>.viewer-pane{filter:blur(2px)}.document-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr)}.document-layout.single-column{grid-template-columns:1fr}.search-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr)}.benchbook-layout{grid-template-columns:minmax(310px,420px) minmax(0,1fr)}.benchbook-index,.list-pane,.search-tools,.viewer-pane{min-width:0;min-height:0}.benchbook-index,.list-pane,.search-tools{display:flex;flex-direction:column;gap:12px}.benchbook-index{overflow:hidden}.benchbook-menu-head{flex:0 0 auto;display:flex;flex-direction:column;gap:12px}.benchbook-accordion{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;border:1px solid var(--line);border-radius:8px;background:var(--surface-panel-soft);--benchbook-indent-step:24px}.swift-crest-row{min-height:96px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-panel)}.swift-crest-row img{width:min(80%,280px);max-height:84px;object-fit:contain}.benchbook-section{border-bottom:1px solid var(--line);background:var(--surface-panel)}.benchbook-section:last-child{border-bottom:0}.benchbook-menu-item,.benchbook-section-toggle,.benchbook-subsection-toggle{width:100%;border:0;border-top:1px solid var(--line);display:grid;align-items:center;text-align:left;grid-template-columns:18px minmax(0,1fr) auto;grid-gap:8px 10px;gap:8px 10px;transition:background .18s ease,color .18s ease,box-shadow .18s ease,opacity .19s ease,transform .19s ease}.benchbook-menu-item[data-level="0"],.benchbook-section-toggle{min-height:50px;padding:0 14px;background:var(--navy-900);color:var(--white);font-size:1rem;font-weight:800}.benchbook-menu-item:not([data-level="0"]),.benchbook-subsection-toggle{min-height:48px;padding:0 14px 0 calc(28px + (var(--benchbook-menu-level, 1) - 1) * var(--benchbook-indent-step));background:var(--surface-panel-soft);color:var(--navy-800);font-size:.94rem;font-weight:800}.benchbook-menu-item{min-height:54px;padding-top:10px;padding-right:12px;padding-bottom:10px;padding-left:calc(14px + var(--benchbook-menu-level, 0) * var(--benchbook-indent-step));opacity:0;transform:translateY(-6px)}.benchbook-menu-item span,.benchbook-section-toggle span,.benchbook-subsection-toggle span{min-width:0;overflow:hidden;line-height:1.25;overflow-wrap:anywhere}.benchbook-menu-marker{width:18px;height:18px;display:block;flex:0 0 auto}.benchbook-section-toggle small{grid-column:2;color:var(--gold-500);font-size:.78rem;font-weight:800}.benchbook-menu-item[data-level="0"].selected,.benchbook-menu-item[data-level="0"]:hover,.benchbook-section-toggle:hover,.benchbook-section.expanded>.benchbook-section-toggle{background:var(--navy-800)}.benchbook-menu-item[data-level="0"].selected,.benchbook-section.expanded>.benchbook-section-toggle{box-shadow:inset 4px 0 0 var(--gold-500)}.benchbook-section-items{display:grid}.benchbook-section.expanded>.benchbook-node-body>.benchbook-section-items,.benchbook-section.expanded>.benchbook-section-items{overflow:visible}.benchbook-subsections{display:grid;background:var(--surface-panel-soft)}.benchbook-section.expanded>.benchbook-node-body>.benchbook-subsections,.benchbook-section.expanded>.benchbook-subsections,.benchbook-subsection.expanded>.benchbook-node-body>.benchbook-subsections{overflow:visible}.benchbook-subsection{background:var(--surface-panel-soft)}.benchbook-subsection-toggle small{color:var(--muted);font-size:.76rem;font-weight:800}.benchbook-menu-item svg,.benchbook-section-toggle svg,.benchbook-subsection-toggle svg{flex:0 0 auto}.benchbook-section-toggle .benchbook-menu-marker{color:var(--gold-500)}.benchbook-menu-item:not([data-level="0"]) svg,.benchbook-menu-item>svg:last-child,.benchbook-section-toggle>svg:last-child,.benchbook-subsection-toggle .benchbook-menu-marker,.benchbook-subsection-toggle>svg:last-child{color:var(--accent)}.benchbook-menu-item[data-level="0"]>svg:last-child{color:var(--gold-500)}.benchbook-menu-item small{grid-column:2;color:var(--muted);font-size:.78rem}.benchbook-menu-item:not([data-level="0"]).selected,.benchbook-menu-item:not([data-level="0"]):hover,.benchbook-subsection-toggle:hover,.benchbook-subsection.expanded>.benchbook-subsection-toggle{background:var(--accent-soft);color:var(--accent-strong)}.benchbook-menu-item:not([data-level="0"]).selected,.benchbook-subsection.expanded>.benchbook-subsection-toggle{box-shadow:inset 4px 0 0 var(--accent)}.benchbook-subsection.expanded>.benchbook-node-body>.benchbook-section-items,.benchbook-subsection.expanded>.benchbook-section-items{overflow:visible}.benchbook-menu-item.is-visible{opacity:1;transform:translateY(0)}.benchbook-empty{min-height:74px;display:grid;place-items:center;color:var(--muted);font-weight:700}.viewer-pane{position:relative;display:flex;flex-direction:column;background:var(--surface-elevated);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:none}.deskbook-layout .benchbook-index,.deskbook-layout .viewer-pane{height:100%}.toolbar{min-height:52px;display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--surface-elevated);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-width:0}.toolbar strong{margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}.viewer-pane .toolbar strong{white-space:normal;overflow-wrap:anywhere}.toolbar .icon-button{flex:0 0 auto}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface-panel-soft);color:var(--navy-800);display:grid;place-items:center}.icon-button:hover{background:var(--selected-row);border-color:var(--accent-soft);color:var(--accent)}.icon-button:disabled{cursor:default;opacity:.45}.pdf-frame,.web-frame{flex:1 1 auto;width:100%;height:100%;min-height:0;border:0;background:var(--white);overflow:auto}.frame-loading-shell{position:relative;flex:1 1 auto;width:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.frame-loading-shell.is-loading .pdf-frame,.frame-loading-shell.is-loading .web-frame{opacity:.35}.frame-loading-overlay{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:18px;background:hsla(0,0%,100%,.72);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.frame-loading-panel{width:min(100%,340px);min-height:150px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-elevated);box-shadow:0 18px 42px rgba(16,24,41,.14);display:grid;place-items:center;align-content:center;grid-gap:10px;gap:10px;padding:22px;text-align:center}.frame-loading-panel strong{color:var(--ink);line-height:1.2}.frame-loading-panel p{max-width:28ch;margin:0;color:var(--muted);font-size:.9rem;line-height:1.4}.search-field{height:44px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-elevated);color:var(--muted)}.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.search-field-clear{width:28px;height:28px;flex:0 0 auto;border:0;border-radius:999px;display:grid;place-items:center;background:transparent;color:var(--muted);transition:background .16s ease,color .16s ease}.search-field-clear:hover{background:var(--surface-panel-soft);color:var(--ink)}.search-field-clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.item-list{gap:0;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:0;border:1px solid var(--line);border-radius:8px}.item-list,.list-item{display:flex;flex-direction:column;background:var(--white)}.list-item{width:100%;min-height:58px;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);padding:12px 14px;text-align:left;justify-content:center;gap:4px}.list-item:last-child{border-bottom:0}.list-item span{line-height:1.25;font-weight:700;overflow-wrap:anywhere}.list-item small{color:var(--muted);line-height:1.3}.list-item.selected,.list-item:hover{background:var(--row-hover)}.list-item.selected{background:var(--selected-row);color:var(--ink);box-shadow:inset 4px 0 0 var(--accent)}.list-item.selected small{color:var(--muted)}.opinions-list-shell{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:12px}.opinions-list{flex:1 1;gap:6px;padding:6px;background:var(--surface-panel-soft)}.opinion-list-item{min-height:68px;border:1px solid transparent;border-radius:8px;padding:14px 16px;background:var(--white);gap:6px}.opinion-list-item:last-child{border-bottom:1px solid transparent}.opinion-list-title{line-height:1.32;padding-right:4px}.opinion-list-meta{overflow-wrap:anywhere}.opinion-list-item.selected,.opinion-list-item:hover{border-color:var(--line-strong)}.opinion-list-item.selected{box-shadow:inset 4px 0 0 var(--accent);padding-left:20px}.opinions-layout{position:relative}.opinions-layout.is-loading>.list-pane,.opinions-layout.is-loading>.viewer-pane{filter:blur(2px)}.opinions-loading-overlay{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:clamp(18px,3vw,32px);border-radius:12px;background:linear-gradient(180deg,rgba(248,250,252,.9),rgba(241,245,249,.94)),hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.opinions-loading-panel{width:min(100%,440px);min-height:220px;border:1px solid var(--line-strong);border-radius:16px;background:hsla(0,0%,100%,.96);box-shadow:0 24px 60px rgba(15,23,42,.16);display:grid;place-items:center;align-content:center;grid-gap:12px;gap:12px;padding:28px;text-align:center}.opinions-loading-panel strong{font-size:1.08rem;color:var(--ink)}.opinions-loading-panel p{margin:0;max-width:28ch;color:var(--muted);line-height:1.5}.secondary-list-action{align-self:flex-start;min-height:30px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;gap:7px;padding:0 6px;font-size:.78rem;font-weight:700}.secondary-list-action:hover{color:var(--accent);background:var(--accent-soft)}.secondary-list-action small{min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;background:var(--line);color:var(--muted);font-size:.7rem}.field-group{display:flex;flex-direction:column;gap:7px}.field-group label{color:var(--muted);font-size:.84rem;font-weight:700}.field-group select,.field-group textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface-elevated);color:var(--ink);outline:0}.field-group textarea{min-height:150px;resize:vertical;padding:12px;line-height:1.45}.field-group select{height:44px;padding:0 10px}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.file-button{height:42px;padding:0 12px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--navy-800);border-radius:8px;background:var(--navy-800);color:var(--white);font-weight:700;cursor:pointer}.ai-composer button:hover,.file-button:hover{background:var(--navy-900);border-color:var(--navy-900)}.file-button input{display:none}.error-block,.inline-status,.loading-block{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem}.error-block{color:var(--danger)}.article-strip{min-height:42px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.article-strip button{height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-elevated);color:var(--navy-800);font-weight:700}.article-strip button.selected{color:var(--white);background:var(--accent);border-color:var(--accent)}.article-strip span{color:var(--muted)}.instruction-list{max-height:calc(100vh - 486px)}.empty-state{flex:1 1;display:grid;place-items:center;color:var(--muted);background:var(--white)}.ai-layout{width:min(100%,960px);min-height:calc(100vh - 116px);margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--white)}.ai-header{min-height:68px;display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface-elevated);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.ai-mark{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:var(--navy-950);color:var(--gold-500)}.ai-header span,.ai-header strong{display:block;line-height:1.15}.ai-header strong{font-size:1.08rem}.ai-header span{margin-top:3px;color:var(--muted);font-size:.84rem;font-weight:700}.ai-thread{min-height:0;overflow:auto;padding:18px;flex-direction:column;gap:14px;background:linear-gradient(180deg,var(--surface-panel-soft) 0,var(--white) 38%)}.ai-message,.ai-thread{display:flex}.ai-message.user{justify-content:flex-end}.ai-bubble{max-width:min(72%,680px);padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);line-height:1.45;overflow-wrap:anywhere}.ai-message.user .ai-bubble{background:var(--accent);border-color:var(--accent);color:var(--white)}.ai-composer-shell{border-top:1px solid var(--line);background:var(--surface-elevated);padding:10px;min-width:0}.ai-suggestions{display:flex;gap:8px;overflow-x:auto;padding:0 0 10px;min-width:0}.ai-suggestion{flex:0 0 auto;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--navy-800);font-size:.86rem;font-weight:700}.ai-suggestion:hover{background:var(--selected-row);border-color:var(--accent-soft)}.ai-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 10px;min-width:0}.ai-actions button{min-width:0;min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--navy-800);font-size:.8rem;font-weight:700}.ai-actions button:hover:not(:disabled){background:var(--selected-row);border-color:var(--accent-soft)}.ai-actions button:disabled{opacity:.45;cursor:default}.ai-composer{display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-gap:8px;gap:8px;align-items:end;min-width:0}.ai-composer textarea{width:100%;min-width:0;min-height:46px;max-height:140px;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:12px 13px;outline:0;color:var(--ink);background:var(--white);line-height:1.35}.ai-composer textarea:focus{border-color:var(--accent)}.ai-composer button{width:44px;height:46px;border:1px solid var(--navy-800);display:grid;place-items:center;background:var(--navy-800)}.ai-composer button,.toast{border-radius:8px;color:var(--white)}.toast{position:fixed;right:22px;bottom:22px;z-index:10;min-height:42px;display:flex;align-items:center;padding:0 14px;background:var(--ink);box-shadow:var(--shadow)}.mobile-modal-backdrop{position:fixed;inset:0;z-index:30;display:flex;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-modal{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:8px;background:var(--white);box-shadow:var(--shadow)}.mobile-modal-header{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 10px 8px 14px;border-bottom:1px solid var(--line);background:var(--navy-950);color:var(--white)}.mobile-modal-header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-modal-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.mobile-close-button,.mobile-modal-header-actions .icon-button{width:38px;height:38px;border:1px solid var(--nav-border);border-radius:8px;display:grid;place-items:center;background:var(--nav-hover);color:var(--white)}.mobile-modal-body{flex:1 1;min-height:0;display:flex;flex-direction:column}.mobile-modal-body .pdf-frame,.mobile-modal-body .web-frame{flex:1 1;height:auto;min-height:0}.spin{animation:spin 1s linear infinite}.mobile-nav{display:none}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:980px){.app-shell{grid-template-columns:1fr;padding-bottom:calc(74px + env(safe-area-inset-bottom))}.sidebar{display:none}.mobile-nav{position:fixed;z-index:8;left:0;right:0;bottom:0;height:calc(70px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:0;gap:0;padding:6px 6px max(6px,env(safe-area-inset-bottom));background:var(--navy-950);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--nav-border)}.mobile-nav .nav-button{min-height:56px;justify-content:center;flex-direction:column;gap:4px;padding:4px;font-size:.66rem;text-align:center}.workspace{padding:12px 10px}.topbar{min-height:calc(18px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 0 0;background:var(--navy-950);border-bottom:1px solid var(--nav-border);-webkit-backdrop-filter:none;backdrop-filter:none}.topbar .crest-mark,.topbar>div:first-child{display:none}.mobile-nav .nav-button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.benchbook-layout,.document-layout,.resource-hub,.search-layout{grid-template-columns:1fr;height:auto;min-height:auto;gap:12px}.resource-hub>.benchbook-layout,.resource-hub>.document-layout,.resource-hub>.resource-tool,.resource-hub>.search-layout{min-height:auto}.resource-tabs{display:none}.resource-picker-shell{display:block;flex:0 0 auto}.resource-landing{flex:0 0 auto;grid-template-columns:1fr;gap:8px;overflow:visible}.resource-landing-card{min-height:76px;grid-template-columns:42px minmax(0,1fr) 20px;grid-template-rows:auto;align-items:center;gap:12px;padding:12px}.resource-landing-card>svg{align-self:center}.resource-landing-copy{gap:3px}.benchbook-layout>.viewer-pane,.document-layout>.viewer-pane,.search-layout>.viewer-pane{display:none}.benchbook-index,.list-pane,.search-tools{min-height:auto}.benchbook-accordion{max-height:min(68vh,640px)}.item-list{max-height:min(58vh,560px)}.instruction-list{max-height:min(42vh,420px)}.pdf-frame,.web-frame{min-height:68vh}.ai-layout{width:100%;min-height:calc(100vh - 164px - env(safe-area-inset-bottom))}.ai-thread{padding:14px}.ai-bubble{max-width:86%}}@media (max-width:620px){.topbar{min-height:calc(16px + env(safe-area-inset-top))}.toolbar{flex-wrap:wrap}.toolbar strong{width:100%;white-space:normal}.swift-crest-row{min-height:82px}.swift-crest-row img{width:min(86%,240px);max-height:70px}.benchbook-section-toggle{min-height:48px;padding:0 10px;font-size:.92rem}.benchbook-subsection-toggle{min-height:48px;padding:0 10px 0 calc(22px + (var(--benchbook-menu-level, 1) - 1) * var(--benchbook-indent-step));font-size:.88rem}.benchbook-menu-item{min-height:56px;padding-top:10px;padding-right:10px;padding-bottom:10px;padding-left:calc(12px + var(--benchbook-menu-level, 0) * 16px)}.mobile-modal-backdrop{padding:0}.mobile-modal{border-radius:0}.mobile-modal-header{min-height:calc(54px + env(safe-area-inset-top));padding:max(8px,env(safe-area-inset-top)) 10px 8px 14px}.ai-layout{border-left:0;border-right:0;border-radius:0}.ai-header{min-height:62px}.ai-composer-shell{padding-bottom:max(10px,env(safe-area-inset-bottom))}.ai-actions{gap:6px}.ai-actions button{flex:1 1 96px;justify-content:center;padding:0 8px}.toast{right:14px;bottom:86px;left:14px}}@media (max-width:380px){.mobile-nav{padding-left:4px;padding-right:4px}.mobile-nav .nav-button{min-height:54px;gap:3px;padding:3px 2px;font-size:.6rem}.mobile-nav .nav-button svg{width:18px;height:18px}.topbar h1{font-size:1.28rem}.section-kicker{font-size:.72rem}.ai-suggestions{gap:6px;padding-bottom:8px}.ai-suggestion{height:34px;padding:0 10px;font-size:.76rem}.ai-actions button{flex-basis:calc(50% - 3px);font-size:.74rem}.ai-composer{grid-template-columns:minmax(0,1fr) 42px;gap:6px}.ai-composer textarea{min-height:42px;padding:10px 11px;font-size:.92rem}.ai-composer button{width:42px;height:42px}.ai-bubble{max-width:92%}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}