@font-face{font-family:Newsreader;src:url(/home/fonts/newsreader-var.woff2)format("woff2");font-style:normal;font-weight:200 800;font-display:swap}@font-face{font-family:Newsreader;src:url(/home/fonts/newsreader-italic-var.woff2)format("woff2");font-style:italic;font-weight:200 800;font-display:swap}@font-face{font-family:Inter Tight;src:url(/home/fonts/inter-tight-var.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--paper:#edebe6;--sheet:#f4f2ed;--sheet-2:#e4e1da;--ink:#141414;--fg:#2b2a27;--muted:#6d6a63;--rule:#141414d9;--line:#14141424;--line-2:#14141452;--accent:#0275cf;--accent-strong:#0275cf;--on-accent:#fff;--accent-soft:#0275cf1f;--warn:#a8670d;--ok:#1f8a4c;--bad:#c0392b;--shadow:0 12px 32px #14100a2e;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .42 0 0 0 0 .38 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--sans:"Inter Tight", system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Newsreader", Georgia, serif;--ease:cubic-bezier(.2, .8, .2, 1);--bg:var(--paper);--chrome:var(--sheet);--chrome-2:var(--sheet-2);--fg-strong:var(--ink);--xref-w:156px;--menu-w:300px;--header-h:60px;--toolbar-h:52px;--bottom-h:68px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#16171a;--sheet:#1c1d21;--sheet-2:#26272b;--ink:#f2efe8;--fg:#dcd8cf;--muted:#a19d94;--rule:#ece9e2b3;--line:#ece9e21f;--line-2:#ece9e247;--accent:#64b1ec;--accent-soft:#64b1ec29;--warn:#f1b21f;--ok:#4ade80;--bad:#f87171;--shadow:0 12px 32px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--paper);color:var(--fg);font:13.5px/1.45 var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}svg .fill{fill:currentColor;stroke:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}kbd{border:1px solid var(--line-2);color:var(--muted);margin-left:auto;padding:0 5px;font:11px ui-monospace,Menlo,monospace}select{background:var(--sheet);color:var(--ink)}.site-header,.toolbar,.menu,.bottombar{background-color:var(--paper);background-image:var(--grain)}.site-header{height:var(--header-h);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:28px;padding:0 20px;display:flex}.brand{color:var(--accent);flex-direction:column;flex:none;gap:3px;text-decoration:none;display:flex}.brand-name{font-family:var(--serif);letter-spacing:-.01em;font-size:22px;line-height:1}.brand-sub{letter-spacing:.3em;text-transform:uppercase;font-size:8px;font-weight:600}.modules{align-items:center;height:100%;display:flex}.modules a{border:1px solid var(--rule);height:26px;color:var(--ink);letter-spacing:.09em;text-transform:uppercase;transition:background-color .3s var(--ease), color .3s var(--ease);align-items:center;margin-left:-1px;padding:0 11px;font-size:10.5px;font-weight:600;text-decoration:none;display:inline-flex}.modules a:first-child{margin-left:0}.modules a:hover{background:var(--sheet-2)}.modules a.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);z-index:1;position:relative}.workspace{grid-template-columns:var(--xref-w) minmax(0, 1fr) var(--menu-w);flex:1;min-height:0;display:grid}.xref-closed .workspace{grid-template-columns:0 minmax(0, 1fr) var(--menu-w)}.menu-closed .workspace{grid-template-columns:var(--xref-w) minmax(0, 1fr) 0}.xref-closed.menu-closed .workspace{grid-template-columns:0 minmax(0,1fr) 0}.xref{border-right:1px solid var(--line);background:#000;flex-direction:column;align-items:center;gap:26px;min-width:0;padding:18px 0;display:flex;overflow:hidden auto}.xref-closed .xref{display:none}.xref button{flex-direction:column;align-items:center;gap:10px;display:flex}.xref .xref-title{color:#8fc6f0;letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;font-weight:600}.xref .xref-img{border-top:1px solid #64b1ec;width:106px;height:106px;padding-top:4px;position:relative}.xref canvas{width:106px;height:106px;position:absolute;inset:4px 0 0}.xref button:hover canvas.thumb{filter:brightness(1.2)}.viewer-col{background:#000;flex-direction:column;min-width:0;min-height:0;display:flex}.toolbar{min-height:var(--toolbar-h);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:8px 10px;padding:9px 10px;display:flex}.tb-btn{width:34px;height:34px;color:var(--ink);border:1px solid var(--line-2);border-radius:2px;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.tb-btn:hover{background:var(--sheet-2)}.tb-btn.active{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.tb-btn.collapse{width:22px;height:34px}.xref-closed .tb-btn.collapse svg{transform:rotate(180deg)}.search-wrap{position:relative}.search{border:1px solid var(--line-2);background:var(--sheet);align-items:center;gap:8px;width:210px;height:34px;padding:0 10px;display:flex}.search svg{width:18px;height:18px;color:var(--muted);flex:0 0 18px}.search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1}.search input::placeholder{color:var(--muted)}.search:focus-within{border-color:var(--accent)}.search-results{z-index:30;background:var(--sheet);border:1px solid var(--rule);width:320px;max-height:340px;box-shadow:var(--shadow);margin:0;padding:4px;list-style:none;position:absolute;top:38px;left:0;overflow-y:auto}.search-results button{text-align:left;width:100%;color:var(--ink);align-items:center;gap:8px;padding:7px 9px;display:flex}.search-results button:hover,.search-results button.on{background:var(--accent-soft)}.search-results small{color:var(--muted);margin-left:auto}.title-block{text-align:center;flex:1;min-width:0;line-height:1.2}.module-title{color:var(--ink);font-family:var(--serif);white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.series-title{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;font-weight:600;overflow:hidden}.tb-right{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.series-select select{border:1px solid var(--line-2);border-radius:2px;max-width:200px;height:34px;padding:0 30px 0 10px;font-weight:600}.tool-group{gap:4px;display:flex}.mobile-only{display:none}@media (max-width:1599px){.title-block{display:none}}.view{background:#000;flex:1;min-height:0;position:relative;overflow:hidden}.viewport{touch-action:none;cursor:ns-resize;outline:none;position:absolute;inset:0}.tool-Pan .viewport{cursor:grab}.tool-Zoom .viewport{cursor:zoom-in}.tool-WindowLevel .viewport{cursor:crosshair}.overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.overlay text{font-family:var(--sans);paint-order:stroke;stroke:#000c;stroke-width:2.6px;font-weight:600}.overlay .label.focus text{stroke:none;font-weight:700}.hover-tip{z-index:3;pointer-events:none;background:var(--sheet);border:1px solid var(--rule);color:var(--ink);white-space:nowrap;padding:3px 8px;font-size:12px;font-weight:600;position:absolute;top:0;left:0}.corner{z-index:2;letter-spacing:.06em;color:#b9b5ac;pointer-events:none;text-shadow:0 1px 2px #000;font-size:11px;font-weight:600;position:absolute;top:10px;left:12px}.label-more{z-index:3;border:1px solid var(--rule);background:var(--sheet);height:24px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;padding:0 10px;font-size:10.5px;font-weight:600;position:absolute;top:8px;left:50%;transform:translate(-50%)}.label-more:hover,.label-more:focus-visible{border-color:var(--accent)}.label-more[hidden]{display:none}.status{pointer-events:none;background:var(--sheet);color:var(--ink);border:1px solid var(--rule);padding:10px 16px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.status:empty{display:none}.definition{z-index:4;background:var(--sheet);width:min(370px,100% - 28px);max-height:60%;color:var(--fg);border:1px solid var(--rule);box-shadow:var(--shadow);padding:16px 18px;position:absolute;bottom:14px;left:14px;overflow-y:auto}.def-head{align-items:center;gap:10px;display:flex}.def-head .bar{align-self:stretch;width:3px}.def-head h2{font-family:var(--serif);color:var(--ink);flex:1;margin:0;font-size:21px;font-weight:400;line-height:1.15}.def-meta{color:var(--muted);margin:6px 0 0;font-size:12px}.def-meta.warn{color:var(--warn)}.definition p.note{font-family:var(--serif);color:var(--ink);margin:10px 0 0;font-size:15px;line-height:1.5}.definition .source{color:var(--muted);margin:10px 0 0;font-size:11px}.def-actions{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.def-actions button{border:1px solid var(--line-2);letter-spacing:.08em;text-transform:uppercase;height:28px;color:var(--ink);padding:0 10px;font-size:10.5px;font-weight:600}.def-actions button:hover{border-color:var(--accent);color:var(--accent)}.def-actions button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.bottombar{height:var(--bottom-h);border-top:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:0 12px;display:flex}.filmstrip-wrap{border:1px solid var(--line-2);background:#000;flex:1;min-width:0;height:52px;position:relative}.filmstrip{scrollbar-width:none;gap:4px;padding:4px;display:flex;position:absolute;inset:0;overflow:auto hidden}.filmstrip::-webkit-scrollbar{display:none}.filmstrip button{background:#000;flex:0 0 42px;height:42px;position:relative;overflow:hidden}.filmstrip canvas{width:42px;height:42px;display:block}.filmstrip button:hover canvas{filter:brightness(1.3)}.filmstrip .marker{pointer-events:none;background:#64b1ec;width:2px;margin-left:-1px;transition:left 80ms linear;position:absolute;top:0;bottom:0;box-shadow:0 0 6px #64b1ec}.progress{pointer-events:none;height:2px;position:absolute;bottom:0;left:0;right:0}#progress-bar{opacity:.6;background:#64b1ec;width:0;height:100%;transition:width .3s}.nav-btn{width:36px;height:36px;color:var(--ink);border:1px solid #0000;place-items:center;display:grid}.nav-btn:hover{border-color:var(--line-2)}.slice-count{white-space:nowrap;color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.slice-count input{text-align:right;width:52px;color:var(--ink);-moz-appearance:textfield;background:0 0;border:0;font-size:15px;font-weight:600}.slice-count input::-webkit-inner-spin-button{-webkit-appearance:none}.slice-count input:focus{outline:1px solid var(--accent)}.menu{border-left:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.menu-closed .menu{display:none}.menu-head{height:var(--toolbar-h);border-bottom:1px solid var(--line);color:var(--ink);letter-spacing:.12em;text-transform:uppercase;flex:none;justify-content:space-between;align-items:center;padding:0 12px 0 16px;font-size:10.5px;font-weight:600;display:flex}.menu-head .tb-btn{border:0}.menu-body{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;flex:1;min-height:0;padding:6px 16px 16px;overflow-y:auto}.menu h3{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:20px 0 8px;font-size:10.5px;font-weight:600}.menu select{border:1px solid var(--line-2);width:100%;height:36px;padding:0 10px}.check{cursor:pointer;color:var(--fg);align-items:center;gap:10px;padding:6px 2px;display:flex}.check input,.group input{appearance:none;background:var(--line-2);cursor:pointer;border-radius:10px;flex:0 0 34px;width:34px;height:20px;margin:0;transition:background .2s;position:relative}.check input:after,.group input:after{content:"";width:16px;height:16px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.check input:checked,.group input:checked{background:var(--accent-strong)}.check input:checked:after,.group input:checked:after{transform:translate(14px)}.check input:indeterminate{background:color-mix(in srgb, var(--accent-strong) 45%, var(--line-2))}.check.all{color:var(--ink);font-weight:600}.groups{flex-direction:column;display:flex}.group-row{border-top:1px solid var(--line);align-items:center;gap:8px;padding:6px 0;display:flex}.group-row input{order:9}.group-row .swatch{flex:0 0 12px;width:12px;height:12px}.group-row .name{text-align:left;min-width:0;color:var(--fg);flex:1;line-height:1.3}.group-row .name:hover{color:var(--ink)}.group-row .count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.group-row .chev{width:24px;height:24px;color:var(--muted);place-items:center;display:grid}.group-row .chev svg{width:16px;height:16px;transition:transform .2s}.group.open .chev svg{transform:rotate(90deg)}.group ul{margin:0 0 6px;padding:0 0 0 22px;list-style:none}.group li button{text-align:left;width:100%;color:var(--muted);align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:flex}.group li button.present{color:var(--fg)}.group li button:hover{background:var(--sheet-2);color:var(--ink)}.group li button.selected{background:var(--accent-soft);color:var(--ink)}.dot{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.empty{color:var(--muted)}.attribution{border-top:1px solid var(--line);font-family:var(--serif);color:var(--muted);margin:18px 0 0;padding-top:12px;font-size:12.5px;font-style:italic;line-height:1.45}.attribution a{color:inherit}:is(:fullscreen .site-header,:fullscreen .xref,:fullscreen .menu){display:none}.is-fullscreen .workspace{grid-template-columns:0 minmax(0,1fr) 0}.is-fullscreen .site-header{display:none}@media (max-width:900px){:root{--menu-w:0px;--xref-w:0px;--header-h:92px}.site-header{flex-wrap:wrap;align-content:center;gap:8px 12px;padding:8px 12px}.modules{order:3;height:28px;flex:1 0 100%!important}.bottombar .hu-corner-badge{display:none}.brand-name{font-size:17px}.brand-sub{display:none}.workspace,.xref-closed .workspace,.menu-closed .workspace{display:flex}.viewer-col{flex:1;min-width:0}.xref,.tb-btn.collapse,.search-wrap,.tool-group{display:none}.toolbar{height:var(--toolbar-h);flex-wrap:nowrap;padding:0 10px}.series-select select{max-width:150px}.menu{z-index:40;background-color:var(--paper);width:min(330px,88vw);box-shadow:var(--shadow);transition:transform .25s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.menu-open .menu{visibility:visible;transform:none}.menu-closed .menu{visibility:visible;display:flex}.mobile-search{display:block}.bottombar{gap:4px;height:60px;padding:0 6px}.filmstrip-wrap{height:46px}.filmstrip button,.filmstrip canvas{flex-basis:36px;width:36px;height:36px}#fullscreen-btn{display:none}.definition{max-height:45%}.site-header,.toolbar{min-width:0}.modules{scrollbar-width:none;flex:auto;min-width:0;overflow-x:auto}.modules::-webkit-scrollbar{display:none}.tb-right::-webkit-scrollbar{display:none}.modules a{white-space:nowrap;flex:none}.header-actions{flex:none;gap:6px;margin-left:0}.header-action-btn{padding:0 7px}.header-action-btn>span:not(.t-icon){display:none}.tb-right{scrollbar-width:none;flex-wrap:nowrap;min-width:0;overflow-x:auto}.tb-right>*{flex:none}.tb-btn.mobile-only{display:grid}.toolbar.show-search,.toolbar.show-tools{flex-wrap:wrap;height:auto;padding:8px 10px}.toolbar.show-search .search-wrap{flex:1 0 100%;order:10;display:block}.toolbar.show-search .search,.search-results{width:100%}.toolbar.show-tools .tb-right{flex-wrap:wrap;row-gap:8px;overflow:visible}.toolbar.show-tools .tool-group{order:5;display:flex}}@media (hover:none){.bottombar .hu-corner-badge{display:none}}.editing .viewport{cursor:crosshair}.editing .view{box-shadow:inset 0 0 0 2px var(--accent-strong)}.ghost-btn{border:1px solid var(--line-2);height:32px;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:10.5px;font-weight:600;display:inline-flex}.ghost-btn:hover{border-color:var(--accent);color:var(--accent)}.ghost-btn.active{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.mine{flex-direction:column;gap:8px;display:flex}.mine-row{gap:8px;display:flex}.mine-row>*{flex:1}.hint{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.hint kbd{margin:0}.edit-form{z-index:6;background:var(--sheet);width:260px;color:var(--fg);border:1px solid var(--accent-strong);box-shadow:var(--shadow);flex-direction:column;gap:9px;padding:12px;display:flex;position:absolute;top:0;left:0}.edit-form .ef-title{color:var(--ink);font-size:13px;font-weight:600}.edit-form input,.edit-card input,.edit-card textarea{border:1px solid var(--line-2);background:var(--paper);width:100%;color:var(--ink);font:inherit;padding:7px 9px;font-size:13px}.edit-form input:focus,.edit-card input:focus,.edit-card textarea:focus{border-color:var(--accent);outline:none}.ef-swatches{flex-wrap:wrap;gap:6px;display:flex}.ef-swatches button{border:2px solid #0000;border-radius:50%;width:20px;height:20px}.ef-swatches button.on{border-color:var(--sheet);box-shadow:0 0 0 2px var(--accent-strong)}.ef-actions{justify-content:flex-end;gap:6px;display:flex}.ef-actions button{border:1px solid var(--line-2);height:30px;color:var(--ink);padding:0 12px;font-size:12px}.ef-actions .primary,.def-actions .primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.edit-card{border-top:1px solid var(--line);flex-direction:column;gap:9px;margin-top:12px;padding-top:12px;display:flex}.edit-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.copy-row{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.copy-row input{width:52px;padding:4px 6px}.def-actions button:disabled{opacity:.4;cursor:default}.def-actions .danger:hover{border-color:var(--bad);color:var(--bad)}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.lang-switch{border:1px solid var(--rule);display:inline-flex}.lang-btn{letter-spacing:.08em;height:26px;color:var(--muted);cursor:pointer;padding:0 9px;font-size:10.5px;font-weight:600;transition:background-color .2s,color .2s}.lang-btn:hover{color:var(--ink)}.lang-btn.active{color:var(--on-accent);background:var(--accent)}.header-action-btn{border:1px solid var(--rule);height:28px;color:var(--ink);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;align-items:center;gap:6px;padding:0 10px;font-size:10.5px;font-weight:600;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.header-action-btn svg{width:15px;height:15px}.header-action-btn:hover{background:var(--sheet-2)}.header-action-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.measure-group{border-left:1px solid var(--line);margin-left:2px;padding-left:8px}.tool-Length .viewport,.tool-Angle .viewport,.tool-EllipticalROI .viewport,.tool-Probe .viewport{cursor:crosshair!important}.def-sub{color:var(--accent);margin:4px 0 6px;font-size:13px}.def-sub em{font-family:var(--serif);font-size:14px;font-style:italic}.def-sub .en-sub{color:var(--muted);font-size:12px}.latin-chip{color:var(--accent);margin-left:4px;font-size:11px}.btn-ask-ai{border-color:var(--accent)!important;color:var(--accent)!important}.btn-ask-ai:hover{background:var(--accent-soft)!important}.quiz-bar{z-index:10;background:var(--sheet);color:var(--fg);border:1px solid var(--rule);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;display:flex;position:absolute;top:12px;left:16px;right:16px}.qb-left{flex-wrap:wrap;flex:1;align-items:center;gap:14px;display:flex}.qb-mode-select{border:1px solid var(--rule);display:inline-flex}.qb-mode-btn{letter-spacing:.08em;text-transform:uppercase;height:26px;color:var(--muted);padding:0 10px;font-size:10.5px;font-weight:600}.qb-mode-btn.active{background:var(--accent);color:var(--on-accent)}.qb-question{align-items:center;gap:8px;font-size:14px;display:flex}.qb-badge{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);padding:3px 6px;font-size:10px;font-weight:600}.qb-prompt strong{color:var(--ink);font-family:var(--serif);font-size:18px;font-weight:400}.qb-sub{color:var(--muted);font-size:12px;font-style:italic;font-family:var(--serif)}.qb-hint{color:var(--warn);font-size:12px}.qb-options{flex-wrap:wrap;gap:8px;display:flex}.qb-opt-btn{background:var(--paper);border:1px solid var(--line-2);height:32px;color:var(--ink);padding:0 12px;font-size:13px}.qb-opt-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.qb-opt-btn.correct{color:#fff;background:var(--ok)!important;border-color:var(--ok)!important}.qb-right{align-items:center;gap:12px;display:flex}.qb-feedback{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.qb-feedback.success{color:var(--ok)}.qb-feedback.failure{color:var(--bad)}.qb-next-btn{background:var(--accent-strong);color:#fff;letter-spacing:.08em;text-transform:uppercase;height:30px;padding:0 12px;font-size:10.5px;font-weight:600}.qb-stats{align-items:center;gap:8px;display:flex}.score-pill{border:1px solid var(--line-2);color:var(--ink);font-variant-numeric:tabular-nums;padding:4px 8px;font-size:12px}.streak-pill{color:var(--warn);padding:4px 8px;font-size:12px;font-weight:600}.qb-group-filter{background:var(--paper);color:var(--ink);border:1px solid var(--line-2);max-width:220px;padding:4px 8px;font-size:12px}.qb-hint-btn{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);cursor:pointer;padding:3px 8px;font-size:11.5px;font-weight:600}.qb-hint-btn:hover{background:var(--accent);color:var(--on-accent)}.qb-fb-text{flex-direction:column;gap:2px;max-width:360px;display:flex}.qb-pearl{color:var(--muted);font-size:11px;font-weight:400;line-height:1.25}.ai-drawer{z-index:50;top:var(--header-h);background:var(--sheet);width:380px;max-width:90vw;color:var(--fg);border-left:1px solid var(--rule);box-shadow:var(--shadow);flex-direction:column;transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:0;right:0;transform:translate(100%)}.ai-drawer.open{transform:translate(0)}.ai-drawer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:50px;padding:0 16px;display:flex}.ai-title{align-items:center;gap:8px;display:flex}.ai-title h3{font-family:var(--serif);color:var(--ink);margin:0;font-size:19px;font-weight:400}.ai-beta{font-family:var(--sans);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.ai-header-actions{align-items:center;gap:4px;display:flex}.ai-notice{color:var(--muted);background:color-mix(in srgb, var(--warn) 9%, transparent);border-bottom:1px solid var(--line);padding:8px 16px;font-size:11.5px;line-height:1.4}.ai-notice strong{color:var(--warn)}.ai-notice summary{cursor:pointer;color:var(--accent);margin-top:2px}.ai-badge{letter-spacing:.04em;margin:0 0 6px;padding:2px 8px;font-size:10px;font-weight:600;line-height:1.4;display:inline-block}.ai-badge-ai{color:var(--warn);border:1px solid var(--warn)}.ai-badge-fiche{color:var(--accent);border:1px solid var(--accent)}.ai-reason{color:var(--warn);font-size:12px}.ai-provenance{color:var(--muted);margin-top:6px;font-size:11px}.ai-provenance summary{cursor:pointer}.ai-context-pill{background:var(--accent-soft);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 16px;font-size:12px;display:flex}.ai-context-pill strong{color:var(--accent)}.ai-quick-prompts{border-bottom:1px solid var(--line);gap:6px;padding:10px 16px;display:flex;overflow-x:auto}.ai-chip{border:1px solid var(--line-2);height:26px;color:var(--fg);flex:none;padding:0 9px;font-size:11px}.ai-chip:hover{border-color:var(--accent);color:var(--accent)}.ai-messages{flex-direction:column;flex:1;gap:12px;max-height:calc(100vh - 210px);padding:16px;display:flex;overflow-y:auto}.ai-msg{max-width:88%;padding:10px 14px;font-size:13px;line-height:1.5}.ai-msg p{margin:0 0 6px}.ai-msg p:last-child{margin-bottom:0}.ai-msg a{color:var(--accent);cursor:pointer;text-decoration:underline}.ai-msg.user{background:var(--accent-strong);color:#fff;align-self:flex-end}.ai-msg.assistant{background:var(--paper);border:1px solid var(--line);color:var(--fg);align-self:flex-start}.ai-loading-dots{gap:4px;padding:4px 0;display:flex}.ai-loading-dots span{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dotPulse}.ai-loading-dots span:nth-child(2){animation-delay:.2s}.ai-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{transform:scale(.6)}40%{transform:scale(1.1)}}.ai-form{border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px 16px;display:flex}.ai-form input{background:var(--paper);border:1px solid var(--line-2);height:36px;color:var(--ink);flex:1;padding:0 12px;font-size:13px}.ai-form input:focus{border-color:var(--accent);outline:none}.ai-send-btn{background:var(--accent-strong);color:#fff;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ai-send-btn svg{width:16px;height:16px}.ai-prompt-select{background:var(--paper);width:100%;color:var(--ink);border:1px solid var(--line-2);margin-top:4px;padding:5px 8px;font-size:11.5px}.ai-ext-link{color:var(--accent);text-decoration:underline}.pacs-adv-tools{align-items:center;gap:4px;display:inline-flex}.pacs-pill-btn{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:10.5px;font-weight:600;width:auto!important;padding:0 9px!important}.hu-corner-badge{min-width:120px;max-width:230px;color:var(--muted);font-variant-numeric:tabular-nums;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:0 230px;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}.mpr-dock,.modal-3d-viewer{z-index:32;background:var(--sheet);max-width:calc(100vw - 340px);color:var(--fg);border:1px solid var(--rule);box-shadow:var(--shadow);padding:10px;position:absolute;left:12px}.mpr-dock{width:560px;bottom:64px}.modal-3d-viewer{z-index:34;width:556px;top:84px}.mpr-dock.hidden,.modal-3d-viewer.hidden{display:none!important}.mpr-dock-header,.modal-3d-header{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:10.5px;font-weight:600;display:flex}.mpr-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:14px}.mpr-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mpr-cell{border:1px solid var(--line-2);background:#000;padding:4px}.mpr-cell-title{letter-spacing:.1em;color:#d4d0c7;justify-content:space-between;margin-bottom:4px;font-size:10px;font-weight:600;display:flex}.mpr-slice-lbl{color:#64b1ec;font-variant-numeric:tabular-nums}.mpr-canvas-wrap{aspect-ratio:1;width:100%;position:relative}.mpr-canvas-wrap canvas{width:100%;height:100%;position:absolute;inset:0}.mpr-cross-canvas{cursor:crosshair}.mpr-hint,.modal-3d-footer{color:var(--muted);text-align:center;margin-top:6px;font-size:11px}.select-3d-group{background:var(--paper);color:var(--ink);border:1px solid var(--line-2);padding:3px 8px;font-size:11px}#canvas-3d-mesh{border:1px solid var(--line-2);cursor:grab;width:100%;height:auto}.main-mpr-crosshair{pointer-events:none;z-index:14;width:100%;height:100%;position:absolute;inset:0}.main-mpr-crosshair.hidden{display:none!important}
