@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-latin-400-normal.2qdljeg3s-lsl.woff2)format("woff2"),url(../media/inter-latin-400-normal.102grxki9ek3x.woff)format("woff")}
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(../media/inter-latin-500-normal.1d14jwmkqqa0f.woff2)format("woff2"),url(../media/inter-latin-500-normal.3mx_ru0c2nzc3.woff)format("woff")}
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-latin-600-normal.2dov6rjg62vru.woff2)format("woff2"),url(../media/inter-latin-600-normal.2mum3nstrlzrd.woff)format("woff")}
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(../media/inter-latin-700-normal.4421omqeymgmp.woff2)format("woff2"),url(../media/inter-latin-700-normal.2u2w-uf8g45lc.woff)format("woff")}
@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(../media/fraunces-latin-600-normal.00o8rxlzhbj_q.woff2)format("woff2"),url(../media/fraunces-latin-600-normal.3pqk_522wwkd5.woff)format("woff")}
@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(../media/fraunces-latin-700-normal.0g7yw9rrs60ak.woff2)format("woff2"),url(../media/fraunces-latin-700-normal.3dtw3a4o2_7gt.woff)format("woff")}
@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:600;src:url(../media/fraunces-latin-600-italic.2xx0-q3mtjsaf.woff2)format("woff2"),url(../media/fraunces-latin-600-italic.2y5b0o-zj9k05.woff)format("woff")}
@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:700;src:url(../media/fraunces-latin-700-italic.09f8fqlnq3pm1.woff2)format("woff2"),url(../media/fraunces-latin-700-italic.3ea0x92x7xegk.woff)format("woff")}
@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-400-normal.3crsbyy6lh6yf.woff2)format("woff2"),url(../media/jetbrains-mono-latin-400-normal.2-1gwgi1uvl-u.woff)format("woff")}
@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-latin-500-normal.2h52d08o60qht.woff2)format("woff2"),url(../media/jetbrains-mono-latin-500-normal.2uxjaecu1qvdf.woff)format("woff")}
@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(../media/jetbrains-mono-latin-600-normal.2mm922pe315l1.woff2)format("woff2"),url(../media/jetbrains-mono-latin-600-normal.28pz06g_9sy0y.woff)format("woff")}
:root{--bg:#0b0c10;--bg-2:#0f1116;--surface:#14161d;--surface-2:#1a1d26;--surface-3:#222632;--line:#262a36;--line-2:#333847;--ink:#f4eee3;--ink-2:#cbc5ba;--muted:#8d8b95;--tungsten:#f4a93c;--tungsten-ink:#1b1206;--tungsten-soft:color-mix(in srgb, var(--tungsten) 13%, transparent);--daylight:#7db3ff;--daylight-soft:#7db3ff21;--rec:#ff5b4f;--rec-soft:#ff5b4f24;--go:#4ed69e;--go-soft:#4ed69e21;--gel:#c99bff;--gel-soft:#c99bff24;--paper:#f6f0e4;--paper-ink:#1d1a15;--paper-muted:#6f675b;--paper-line:#ddd3c1;--radius:14px;--radius-sm:9px;--f-display:"Fraunces", Georgia, serif;--f-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", monospace;--sidebar:264px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}html{background:var(--bg);scrollbar-color:var(--line-2) transparent;scrollbar-gutter:stable}html,body{overscroll-behavior:none}.retro,.filmstrip,.cs-scenes,.table-wrap,.hours{overscroll-behavior-x:none}body *{scrollbar-width:thin}body{color:var(--ink);font:15px/1.55 var(--f-body);-webkit-font-smoothing:antialiased;background:0 0}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(1200px 600px at 75% -10%, color-mix(in srgb, var(--tungsten) 7%, transparent), transparent 60%), radial-gradient(900px 500px at -10% 110%, #7db3ff0d, transparent 60%);position:fixed;inset:0;transform:translateZ(0)}body:before{content:"";pointer-events:none;z-index:100;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0;transform:translateZ(0)}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a.t-tungsten{-webkit-text-decoration-color:color-mix(in srgb, var(--tungsten) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--tungsten) 45%, transparent)}a.t-tungsten:hover{text-decoration-color:currentColor}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.15}p{margin:.35em 0}.display{font-family:var(--f-display);letter-spacing:-.01em;font-style:italic;font-weight:600}.mono{font-family:var(--f-mono)}.muted{color:var(--muted)}.small{font-size:13px}.xs{font-size:12px}.eyebrow{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--tungsten);margin:0 0 8px;font-size:11px}.t-go{color:var(--go)}.t-rec{color:var(--rec)}.t-tungsten{color:var(--tungsten)}.t-daylight{color:var(--daylight)}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.stack.lg{gap:20px}.grow{flex:1;min-width:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{min-height:100vh;padding-left:var(--sidebar);flex-direction:column;display:flex}.sidebar{width:var(--sidebar);z-index:30;contain:layout paint;overscroll-behavior:none;scrollbar-gutter:stable;scrollbar-color:var(--line) transparent;border-right:1px solid var(--line);background:#0c0d12 linear-gradient(#101218,#0c0d12) local;flex-direction:column;gap:18px;padding:18px 6px 18px 18px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar:hover,.sidebar:focus-within{scrollbar-color:var(--line-2) transparent}.sidebar.scrolling .nav a,.sidebar.scrolling .project-card{pointer-events:none}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-name{font-family:var(--f-display);letter-spacing:-.01em;font-size:24px;font-weight:700}.brand-name b{color:var(--tungsten);font-weight:700}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:10px 12px}.project-card .title{font-family:var(--f-display);font-size:16px;font-style:italic}a.project-card,.project-card a.title{color:inherit;text-decoration:none;display:block}.project-select{width:100%;font-family:var(--f-display);margin:4px 0;padding:6px 8px;font-size:15px;font-style:italic}.project-select.top{width:auto;max-width:260px;margin:0;padding:4px 8px;font-size:13px}@media (max-width:560px){.project-select.top{max-width:44vw}}.choice{flex-direction:column;display:flex}.report-kpis{grid-template-columns:repeat(4,1fr);gap:12px 18px;display:grid}.report-kpis>div{flex-direction:column;display:flex}.report-kpis span{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper-muted);font-size:10px}.report-kpis strong{font-size:22px;font-family:var(--f-mono)}.report-kpis em{color:var(--paper-muted);font-size:12px;font-style:normal}@media (max-width:720px){.report-kpis{grid-template-columns:repeat(2,1fr)}}.retro{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.retro-item{border:1px solid var(--line);background:var(--surface-2);border-top:3px solid var(--line-2);border-radius:10px;flex-direction:column;flex:0 0 170px;gap:2px;padding:9px 10px;display:flex}.retro-item.depot{border-top-color:var(--tungsten)}.retro-item.manque{border-top-color:var(--tungsten);background:var(--tungsten-soft)}.retro-item.tournage{border-top-color:var(--daylight)}.retro-item.late{border-top-color:var(--rec);background:var(--rec-soft)}.checklist{border-top:1px dashed var(--line-2);flex-direction:column;gap:6px;width:100%;margin:10px 0 0;padding:10px 12px;list-style:none;display:flex}.shots{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px 6px;display:grid}.shot{border:1px solid var(--line);cursor:pointer;background:var(--surface-2);border-radius:8px;grid-template-columns:auto auto auto minmax(0,1fr);align-items:center;gap:8px;padding:5px 9px;font-size:13px;display:grid}.shot>span:nth-of-type(2){white-space:nowrap}.shot .muted{text-align:right;font-size:11.5px;line-height:1.3}.shot.done{opacity:.6;border-color:#4ed69e66}.shot.done span:not(.muted){text-decoration:line-through}.local-map{width:100%;height:auto;display:block}.map-bg{fill:#0f1117;stroke:var(--line)}.map-ring{fill:none;stroke:var(--line-2);stroke-dasharray:4 5}.map-ring.on{stroke:var(--tungsten);stroke-dasharray:none;stroke-width:1.5px;fill:color-mix(in srgb, var(--tungsten) 5%, transparent)}.map-ring-label{fill:var(--muted);font-family:var(--f-mono);font-size:10px}.map-search{align-items:center;gap:10px;display:flex}.map-search input{flex:1;min-width:0}.map-search .map-region{flex:0 0 230px;width:auto}.map-frame{position:relative}.gmap{aspect-ratio:1;background:#0f1117;border-radius:14px;width:100%;max-height:620px;overflow:hidden}.map-loading{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.gmap-dot{border:2.5px solid var(--c);cursor:pointer;background:#0f1117;border-radius:50%;width:16px;height:16px;padding:0;transition:transform .15s;box-shadow:0 0 0 2px #0006}.gmap-dot.filled{background:var(--c);border:1.5px solid #ffffffd9}.gmap-dot.dim{opacity:.4}.gmap-dot.open,.gmap-dot:hover{border-color:#fff;transform:scale(1.3)}.gmap-center{background:var(--rec);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;line-height:1;display:grid}.map-popup-anchor{padding-bottom:16px}.profile-pop{background:var(--surface);width:280px;max-width:calc(100vw - 48px);color:var(--ink);border:1px solid var(--line-2);font:14px/1.5 var(--f-body);text-align:left;cursor:default;border-radius:12px;padding:12px;position:relative;box-shadow:0 14px 36px #0000008c}.profile-pop .pop-close{width:28px;height:28px;position:absolute;top:6px;right:6px}.map-popup.svg{z-index:5;position:absolute}.map-popup.svg.above{transform:translate(-50%,calc(-100% - 14px))}.map-popup.svg.below{transform:translate(-50%,14px)}@media (max-width:640px){.map-popup.svg{bottom:8px;right:8px;top:auto!important;left:8px!important;transform:none!important}.map-popup.svg .profile-pop{width:auto;max-width:none}.map-search{flex-wrap:wrap}.map-search .btn,.map-search .map-region{flex-basis:100%;width:100%}}.map-ring-label.on{fill:var(--tungsten)}.map-city{fill:var(--muted);opacity:.75;text-anchor:middle;font-size:10px}.map-dot{cursor:pointer;transition:r .15s}.map-decor{fill:var(--rec);stroke:#fff;stroke-width:2px}.map-decor-label{fill:#fff;font-size:12px}.doc-upload{cursor:pointer;flex-direction:column;gap:3px;display:flex}.doc-upload .doc-chip{align-self:flex-start}.doc-upload:hover .doc-chip{border-color:var(--tungsten)}.choice-icon{background:var(--tungsten-soft);width:44px;height:44px;color:var(--tungsten);border-radius:12px;flex:none;place-items:center;display:grid}button.choice-item{cursor:pointer;width:100%;font:inherit;color:inherit}button.choice-item:hover{border-color:var(--tungsten)}a.project-card:hover{border-color:var(--line-2)}.nav-group-sub{text-transform:none;letter-spacing:0;font-family:var(--f-body,inherit);opacity:.8;margin-top:1px;font-size:11px;display:block}.rec-dot{background:var(--rec);vertical-align:1px;border-radius:50%;width:8px;height:8px;display:inline-block;position:relative}.rec-dot:after{content:"";will-change:transform, opacity;background:#ff5b4f99;border-radius:50%;animation:1.6s infinite pulse;position:absolute;inset:0}@keyframes pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(3)}}@media (prefers-reduced-motion:reduce){.rec-dot:after{opacity:0;animation:none}}.nav{flex-direction:column;gap:12px;display:flex}.nav-group-label{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 4px 10px;font-size:10.5px}.nav a{color:var(--ink-2);border-radius:9px;align-items:center;gap:11px;padding:7px 10px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .18s,color .18s;display:flex;position:relative}.nav a svg{opacity:.8;flex:none;transition:color .18s,opacity .18s}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a.active{background:var(--tungsten-soft);color:var(--ink)}.nav a.active svg{color:var(--tungsten);opacity:1}.nav-marker{background:var(--tungsten);opacity:0;pointer-events:none;z-index:1;border-radius:0 3px 3px 0;width:3px;height:0;transition:transform .3s cubic-bezier(.22,.8,.24,1),height .3s cubic-bezier(.22,.8,.24,1),opacity .2s;position:absolute;top:0;left:0}@media (prefers-reduced-motion:reduce){.nav-marker,.nav a,.nav a svg,.segmented>button,.chip,.tabbar>a,.tabbar>button,.tab-icon,.icon-btn,.item{transition:none}}.nav a.sos-link{color:var(--rec)}.nav a.sos-link svg{color:var(--rec);opacity:1}.nav-count{font-family:var(--f-mono);background:var(--surface-3);color:var(--ink-2);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px}.nav-count.rec{background:var(--rec);color:#fff}.nav-count.tungsten{background:var(--tungsten);color:var(--tungsten-ink)}.sidebar-foot{flex-direction:column;gap:6px;margin-top:auto;display:flex}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:20;border-bottom:1px solid var(--line);background:#0b0c10f5;align-items:center;gap:14px;padding:12px 28px;display:flex;position:sticky;top:0}.timecode{font-family:var(--f-mono);letter-spacing:.06em;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:7px;align-items:center;gap:8px;padding:5px 10px;font-size:13px;display:inline-flex}.icon-btn.menu-btn{display:none}.content{width:100%;max-width:1240px;margin:0 auto;padding:28px 28px 64px}.content.espace{max-width:920px}.espace .item-actions{flex-wrap:wrap}@media (max-width:900px){.app{padding-left:0}.sidebar{z-index:76;width:280px;padding-right:14px;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));transition:transform .25s;position:fixed;transform:translate(-100%)}.sidebar.open{transform:none}.sidebar-backdrop{z-index:75;touch-action:none;background:#0000008c;position:fixed;inset:0}.icon-btn.menu-btn{display:inline-grid}.topbar{gap:10px;padding:10px 16px}.content{padding:20px 16px 88px}.hide-mobile{display:none!important}}.tabbar{display:none}@media (max-width:900px){.tabbar{z-index:60;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#0f1116f7;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar>a,.tabbar>button{color:var(--muted);font:600 11px/1.1 var(--f-body);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:4px 2px;text-decoration:none;transition:color .18s,background-color .18s;display:flex}.tabbar>.on{color:var(--tungsten)}.tabbar>a:active,.tabbar>button:active{background:var(--surface-2)}.tabbar>:focus-visible{outline:2px solid var(--tungsten);outline-offset:-2px}.tab-icon{border-radius:999px;place-items:center;width:44px;height:26px;transition:background-color .18s;display:grid;position:relative}.tabbar>.on .tab-icon{background:var(--tungsten-soft)}.tab-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.tab-count{min-width:17px;height:17px;font:700 10px/1 var(--f-body);background:var(--surface-3);color:var(--ink);border:2px solid var(--bg-2);border-radius:999px;place-items:center;padding:0 4px;display:grid;position:absolute;top:-4px;right:2px}.tab-count.rec{background:var(--rec);color:#fff}.tab-count.tungsten{background:var(--tungsten);color:var(--tungsten-ink)}.app:has(.tabbar) .icon-btn.menu-btn{display:none}.app:has(.tabbar) .content{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))}body:has(.tabbar) .assistant-fab{bottom:calc(80px + env(safe-area-inset-bottom,0px))}body:has(.tabbar) .toaster{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}@media print{.tabbar{display:none!important}}.sidebar{padding-top:calc(18px + env(safe-area-inset-top,0px))}.topbar{padding-top:calc(12px + env(safe-area-inset-top,0px))}.compact-nav,.home-nav{margin-top:env(safe-area-inset-top,0px)}@media (max-width:900px){.topbar{padding-top:calc(10px + env(safe-area-inset-top,0px))}}@media (max-width:640px){.assistant{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}}.role-select{background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238d8b95' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 11px center;appearance:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:999px;width:auto;max-width:340px;padding:5px 28px 5px 10px;font-size:12.5px;overflow:hidden}.role-select:hover{border-color:var(--tungsten)}@media (max-width:900px){.role-select{max-width:52vw}}@media (max-width:560px){.topbar .timecode,.topbar .btn-label,.compact-nav .btn-label,.compact-nav .brand .badge{display:none}.role-select{flex:auto;min-width:0;max-width:none}}details.more>summary{cursor:pointer;color:var(--tungsten);padding:4px 0;font-size:13px;list-style:none}details.more>summary::-webkit-details-marker{display:none}details.more>summary:after{content:" ▸"}details.more[open]>summary:after{content:" ▾"}.user-card{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding:10px 10px 0;display:flex}.user-card a{color:var(--tungsten)}.user-card .link{color:var(--muted)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h1{font-family:var(--f-display);letter-spacing:-.015em;font-size:clamp(28px,3.6vw,40px);font-style:italic}.page-head .lead{color:var(--ink-2);max-width:640px;margin-top:6px}.section-title{align-items:baseline;gap:10px;margin:0 0 12px;display:flex}.section-title h2{font-size:17px}.section-title .mono{color:var(--muted);font-size:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card.flat{background:0 0}.card.glow-rec{background:linear-gradient(135deg, #ff5b4f1f, var(--surface) 55%);border-color:#ff5b4f73}.card.glow-go{background:linear-gradient(135deg, #4ed69e1a, var(--surface) 55%);border-color:#4ed69e66}.card.glow-tungsten{border-color:color-mix(in srgb, var(--tungsten) 40%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--tungsten) 10%, transparent), var(--surface) 55%)}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-main{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start}.grid-side{grid-template-columns:300px minmax(0,1fr);align-items:start}@media (max-width:1080px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main,.grid-side{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}:is(.grid-2:has(>.stat),.grid-4:has(>.stat)){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:12px}.stat-value{font-size:26px}.stat-sub{font-size:12px}.btn.lg{white-space:normal;width:100%}}@media (max-width:1080px){.todo-first{order:-1}}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.stat-label{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px}.stat-value{font-family:var(--f-display);font-size:32px;font-style:italic;font-weight:600;line-height:1.1}.stat-sub{color:var(--muted);font-size:13px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line-2);border-radius:var(--radius);padding:28px}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:9px 15px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--tungsten);color:var(--tungsten-ink)}.btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--tungsten) 85%, white)}.btn.rec{background:var(--rec);color:#fff}.btn.rec:hover:not(:disabled){background:#ff7266}.btn.go{background:var(--go);color:#06231a}.btn.ghost{color:var(--ink);border-color:var(--line-2);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted)}.btn.quiet{background:var(--surface-2);color:var(--ink)}.btn.quiet:hover:not(:disabled){background:var(--surface-3)}.btn.sm{border-radius:7px;padding:5px 10px;font-size:13px}.btn.lg{border-radius:11px;padding:13px 22px;font-size:16px}.btn.block{width:100%}.btn:disabled{cursor:not-allowed;background:var(--surface-2);color:var(--muted);border-color:var(--line)}.btn.ghost:disabled{background:0 0}.btn:focus-visible,.nav a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.chip:focus-visible{outline:2px solid var(--tungsten);outline-offset:2px}.icon-btn{border:1px solid var(--line-2);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;place-items:center;transition:background-color .15s;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.link{color:var(--tungsten);font:inherit;text-align:inherit;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--tungsten) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--tungsten) 45%, transparent);text-underline-offset:3px;background:0 0;border:none;padding:0;line-height:1.4}.link:hover:not(:disabled){text-decoration-color:currentColor}.link.small{font-size:13px}.link.xs{font-size:12px}.link:disabled{color:var(--muted);cursor:not-allowed}.stack>.link{text-align:center;text-wrap:balance;align-self:center}.alt-action{color:var(--muted);text-align:center;text-wrap:balance;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 6px;font-size:13px;display:flex}.alt-action .link{white-space:nowrap;font-weight:500}.segmented{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented>button{color:var(--ink-2);font:600 13px/1.25 var(--f-body);cursor:pointer;text-align:center;background:0 0;border:0;border-radius:9px;padding:9px 8px;transition:background-color .18s,color .18s}.segmented>button:hover{color:var(--ink);background:var(--surface-2)}.segmented>button[aria-selected=true]{background:var(--tungsten);color:var(--tungsten-ink)}.segmented>button:focus-visible{outline:2px solid var(--tungsten);outline-offset:2px}input,select,textarea{font:inherit;color:var(--ink);background:var(--bg-2);border:1px solid var(--line-2);border-radius:8px;width:100%;padding:8px 10px}textarea{resize:vertical;flex-shrink:0}@media (pointer:coarse){input,select,textarea,.project-select{font-size:16px}}input[type=time]{font-family:var(--f-mono);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}input[type=checkbox]{width:auto;accent-color:var(--tungsten)}.field{flex-direction:column;gap:5px;display:flex}.field>span{color:var(--muted);font-size:12px;font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase}.check{cursor:pointer;color:var(--ink-2);align-items:center;gap:8px;font-size:14px;display:inline-flex}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--line-2);color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:13px;transition:background-color .15s,border-color .15s,color .15s}.chip:hover{border-color:var(--muted);color:var(--ink)}.chip.on{background:var(--tungsten);border-color:var(--tungsten);color:var(--tungsten-ink);font-weight:600}a.chip{text-decoration:none}.badge{background:var(--surface-3);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:500;display:inline-flex}.badge.mono{font-family:var(--f-mono);letter-spacing:.04em}.badge-go{background:var(--go-soft);color:var(--go)}.badge-rec{background:var(--rec-soft);color:var(--rec)}.badge-tungsten{background:var(--tungsten-soft);color:var(--tungsten)}.badge-daylight{background:var(--daylight-soft);color:var(--daylight)}.badge-gel{background:var(--gel-soft);color:var(--gel)}.avatar{color:#0b0c10;background:var(--dept,var(--ink-2));border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid;box-shadow:inset 0 0 0 2px #00000026}.avatar.sm{width:28px;height:28px;font-size:11px}.avatar.lg{width:48px;height:48px;font-size:16px}.dept-dot{background:var(--dept);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.person{align-items:center;gap:12px;min-width:0;display:flex}.person .name{font-weight:600}.person .role{color:var(--muted);font-size:13px}.bar{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.bar>span{background:var(--tungsten);border-radius:999px;height:100%;transition:width .4s;display:block}.bar.go>span{background:var(--go)}.bar.rec>span{background:var(--rec)}.ring{flex:none;width:46px;height:46px;position:relative}.ring svg{transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:4px}.ring .track{stroke:var(--surface-3)}.ring .val{stroke-linecap:round;transition:stroke-dashoffset .5s}.ring span{font-family:var(--f-mono);place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.filmstrip{border:1px solid var(--line);scrollbar-width:thin;background:#08090c;border-radius:12px;gap:0;padding:14px 0;display:flex;overflow-x:auto}.frame{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;flex:0 0 150px;gap:4px;margin:0 5px;padding:12px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex;position:relative}.frame:first-child{margin-left:12px}.frame:last-child{margin-right:12px}.frame:hover{border-color:var(--muted);transform:translateY(-2px)}.frame.past{opacity:.55}.frame.today{border-color:var(--tungsten);box-shadow:0 0 0 1px var(--tungsten) inset}.frame.selected{background:var(--tungsten-soft);border-color:var(--tungsten)}.frame .num{font-family:var(--f-mono);color:var(--muted);letter-spacing:.1em;font-size:11px}.frame .date{font-size:14px;font-weight:600}.frame .place{color:var(--ink-2);font-size:12px;line-height:1.3}.frame .flags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.frame .flags:empty{display:none}.list{flex-direction:column;gap:10px;display:flex}.item{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 14px;transition:border-color .15s,background-color .15s;display:flex}.item:hover{border-color:var(--line-2)}.item>.grow{flex:260px}.item.selected{border-color:var(--tungsten);background:var(--tungsten-soft)}.item .meta{color:var(--muted);font-size:13px}.item-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.pos-link{text-decoration:none;display:block}.feed{flex-direction:column;gap:8px;display:flex}.feed-line{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;animation:.35s slidein;display:flex}.feed-line .mono{color:var(--muted);font-size:12px}@keyframes slidein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.phone{border:1px solid var(--line-2);background:#050608;border-radius:30px;width:260px;max-width:100%;padding:14px;box-shadow:0 20px 50px #00000080}.phone-screen{background:#121419;border-radius:20px;flex-direction:column;gap:8px;min-height:230px;padding:14px 12px 18px;display:flex}.phone-notch{background:#222;border-radius:999px;width:70px;height:6px;margin:0 auto 8px}.sms{max-width:92%;color:var(--ink);background:#2a2d36;border-radius:14px 14px 14px 4px;align-self:flex-start;padding:9px 11px;font-size:13px;line-height:1.4}.sms.me{background:var(--go);color:#06231a;border-radius:14px 14px 4px;align-self:flex-end;font-weight:600}.sms-from{color:var(--muted);text-align:center;font-size:11px;font-family:var(--f-mono)}.steps{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.steps li{align-items:flex-start;gap:12px;display:flex}.steps .dot{border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;font-weight:700;display:grid}.steps .dot.go{background:var(--go-soft);color:var(--go)}.steps .dot.tungsten{background:var(--tungsten-soft);color:var(--tungsten)}.callsheet{background:var(--paper);color:var(--paper-ink);border-radius:6px;padding:28px 30px 32px;font-size:14px;position:relative;box-shadow:0 30px 60px #00000073,0 0 0 1px #0003}.callsheet .cs-top{border-bottom:2px solid var(--paper-ink);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:8px 0 14px;display:flex}.callsheet .cs-title{font-family:var(--f-display);font-size:30px;font-style:italic;font-weight:700;line-height:1}.callsheet .cs-kicker{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--paper-muted);font-size:11px}.callsheet .cs-day{text-align:right}.callsheet .cs-day .big{font-family:var(--f-mono);font-size:26px;font-weight:600}.cs-head{border-bottom:2px solid var(--paper-ink);grid-template-columns:1.1fr 1.2fr .7fr;align-items:start;gap:16px;padding:8px 0 14px;display:grid}.cs-contacts{flex-direction:column;gap:3px;font-size:12px;display:flex}.cs-contact{flex-wrap:wrap;gap:0 6px;line-height:1.35;display:flex}.cs-contact span{color:var(--paper-muted)}.cs-contact .tel{font-family:var(--f-mono);color:var(--paper-ink);white-space:nowrap}.nowrap{white-space:nowrap}.cs-center{text-align:center}.callsheet .cs-head .cs-day{text-align:right}.callsheet .cs-day .big .of{color:var(--paper-muted);font-size:14px}.callsheet .cs-head .cs-day .big{font-size:40px;line-height:1}.cs-hero{border-bottom:1px solid var(--paper-line);justify-content:center;align-items:flex-end;gap:36px;padding:16px 0 12px;display:flex}.cs-hero .lbl{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--paper-muted);text-align:center;font-size:10.5px}.cs-call .val{font-family:var(--f-mono);text-align:center;font-size:60px;font-weight:700;line-height:1}.cs-call .val.is-alert{color:#c0281d}.cs-first .val{font-family:var(--f-mono);text-align:center;font-size:30px;font-weight:600}.cs-times .sub{color:var(--paper-muted);font-size:12px}.callsheet .cs-times{grid-template-columns:repeat(5,1fr)}.cs-safety{background:#fff3df;border-left:4px solid #d98b1c;flex-direction:column;gap:3px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.cs-safety h4{color:#8a4d00!important;margin-bottom:4px!important}.cs-scenes{color:var(--paper-ink);font-size:12.5px}.cs-scenes th{color:var(--paper-muted);border-bottom:1px solid var(--paper-ink);padding:6px;font-size:10px}.cs-scenes td{border-bottom:1px dotted var(--paper-line);vertical-align:top;padding:6px}.cs-scenes td.num{font-family:var(--f-mono);font-weight:700}@media (max-width:720px){.cs-head{grid-template-columns:1fr}.cs-center,.callsheet .cs-head .cs-day{text-align:left}.callsheet .cs-times{grid-template-columns:repeat(2,1fr)}.cs-scenes{display:block;overflow-x:auto}}.cs-times{border-bottom:1px solid var(--paper-line);grid-template-columns:repeat(4,1fr);display:grid}.cs-times>div{padding:14px 10px 12px 0}.cs-times .lbl{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--paper-muted);font-size:10.5px}.cs-times .val{font-family:var(--f-mono);font-size:24px;font-weight:600}.cs-times .val.is-alert{color:#c0281d}.cs-block{border-bottom:1px solid var(--paper-line);padding:14px 0}.cs-block:last-child{border-bottom:none}.cs-block h4{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-muted);margin-bottom:8px;font-size:11px;font-weight:600}.cs-crew{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:4px 24px;display:grid}.cs-dept{grid-column:1/-1;align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:700;display:flex}.cs-person{border-bottom:1px dotted var(--paper-line);justify-content:space-between;gap:8px;padding:3px 0;font-size:13px;display:flex}.cs-person .tel{font-family:var(--f-mono);color:var(--paper-muted);white-space:nowrap;font-size:12px}.cs-person.absent{color:var(--paper-muted);text-decoration:line-through}.cs-person .tag{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--paper);background:#1d1a15;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px;text-decoration:none;display:inline-block}.cs-person .ack{font-family:var(--f-mono);font-size:11px}.cs-person .ack.ok{color:#1c7a4f}.cs-person .ack.no{color:#b0651a}.callsheet a{color:var(--paper-ink)}@media (max-width:640px){.cs-times{grid-template-columns:repeat(2,1fr)}.cs-crew{grid-template-columns:1fr}.callsheet{padding:22px 18px}}.dropzone{text-align:center;border:1.5px dashed var(--line-2);border-radius:var(--radius-sm);background:var(--bg-2);cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:20px 16px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--tungsten);background:var(--tungsten-soft)}.dropzone:focus-within{outline:2px solid var(--tungsten);outline-offset:2px}.dropzone strong{font-size:14px}.roster-file{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--bg-2);align-items:center;gap:10px;padding:10px 12px;display:flex}.roster-file .grow{min-width:0}.roster-file strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.company-brand{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;margin:-4px 0 14px;padding:8px 10px;display:flex}.company-brand img{object-fit:contain;background:#fff;border-radius:6px;width:34px;height:34px;padding:2px}.company-brand span{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.cs-logo{object-fit:contain;max-width:160px;max-height:48px;margin:0 auto 6px;display:block}.host-brand{align-items:center;gap:12px;margin-bottom:14px;display:flex}.host-brand img{object-fit:contain;background:#fff;border-radius:10px;width:48px;height:48px;padding:3px}.host-brand strong{font-size:18px}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 16px;display:grid}.logo-preview{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:10px;width:64px;height:64px;padding:4px}.color-input{cursor:pointer;width:48px;height:36px;padding:2px}.legal-links{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:4px 16px;font-size:12px;display:flex}.legal-links a{color:var(--muted);text-decoration:none}.legal-links a:hover{color:var(--ink);text-decoration:underline}.legal-links.page-foot{border-top:1px solid var(--line);margin:28px 0 8px;padding-top:14px}.legal-links.sidebar-legal{justify-content:flex-start;gap:2px 10px;padding:0 10px;font-size:11px}.legal{padding:28px clamp(18px,4vw,40px);line-height:1.65}.legal h1{margin-bottom:8px;font-size:clamp(28px,5vw,36px)}.legal .lead{color:var(--ink-2)}.legal h2{margin:28px 0 8px;font-size:18px}.legal p,.legal li{color:var(--ink-2);font-size:14.5px}.legal ul{flex-direction:column;gap:6px;margin:8px 0;padding-left:20px;display:flex}.legal strong{color:var(--ink)}.legal a{color:var(--tungsten);-webkit-text-decoration-color:color-mix(in srgb, var(--tungsten) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--tungsten) 45%, transparent)}mark.todo{background:var(--tungsten-soft);color:var(--tungsten);border:1px dashed color-mix(in srgb, var(--tungsten) 60%, transparent);border-radius:4px;padding:0 4px}.legal-tabs{max-width:560px}.push-setting{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.push-setting>.row:first-child{width:100%}.card.push-prompt{border-color:color-mix(in srgb, var(--tungsten) 40%, transparent);background:linear-gradient(135deg, var(--tungsten-soft), var(--surface) 60%)}.error-item{display:block}.error-item>summary{cursor:pointer;align-items:center;gap:10px;list-style:none;display:flex}.error-item>summary::-webkit-details-marker{display:none}.error-message{overflow-wrap:anywhere;display:block}.error-detail{white-space:pre-wrap;overflow-wrap:anywhere;overscroll-behavior:none;background:var(--bg-2);border:1px solid var(--line);max-height:220px;color:var(--ink-2);border-radius:8px;margin:0;padding:10px;overflow:auto}.table-wrap{overflow-x:auto}@media (max-width:400px){td{padding:10px 6px}th{padding:8px 6px}}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px;font-size:11px;font-weight:500}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 10px}tr:last-child td{border-bottom:none}tbody tr:hover td{background:#ffffff04}.doc-chip{border:1px solid var(--line-2);color:var(--ink-2);white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-family:inherit;font-size:12px;display:inline-flex}button.doc-chip{cursor:pointer}button.doc-chip:hover{border-color:var(--tungsten);color:var(--ink)}.doc-chip.ok{color:var(--go);border-color:#4ed69e59}.doc-chip.bientot{border-color:color-mix(in srgb, var(--tungsten) 45%, transparent);color:var(--tungsten)}.doc-chip.perime,.doc-chip.manquant{color:var(--rec);border-color:#ff5b4f73}.weather-card.risk-high{background:linear-gradient(135deg, #ff5b4f14, var(--surface) 50%);border-color:#ff5b4f73}.weather-card.risk-watch{border-color:color-mix(in srgb, var(--tungsten) 40%, transparent)}.weather-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.weather-head>.grow{flex:240px}.weather-big{align-items:center;gap:10px;min-width:190px;display:flex}.weather-icon{font-size:34px;line-height:1}.hours{background:var(--bg-2);border:1px solid var(--line);scrollbar-width:thin;border-radius:10px;gap:4px;margin-top:14px;padding:10px;display:flex;overflow-x:auto}.hour{font-family:var(--f-mono);color:var(--muted);flex-direction:column;flex:0 0 38px;align-items:center;gap:4px;font-size:11px;display:flex}.hour-icon{font-size:16px;line-height:1}.hour-bar{background:var(--surface-3);border-radius:4px;align-items:flex-end;width:10px;height:42px;display:flex;overflow:hidden}.hour-bar>span{background:var(--daylight);border-radius:4px;width:100%;display:block}.hour-bar>span.mid{background:var(--tungsten)}.hour-bar>span.hi{background:var(--rec)}.hour-t{color:var(--ink-2)}.weather-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.weather-list li{align-items:flex-start;gap:8px;display:flex}.weather-list svg{flex:none;margin-top:3px}.hbars{flex-direction:column;gap:8px;display:flex}.hbar{grid-template-columns:70px 1fr 80px;align-items:center;gap:10px;font-size:13px;display:grid}.hbar .track{background:var(--surface-3);border-radius:4px;height:12px;overflow:hidden}.hbar .fill{background:linear-gradient(90deg, var(--go), #9be7c4);border-radius:4px;height:100%}.hbar .v{font-family:var(--f-mono);text-align:right;color:var(--ink-2)}.alert{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.alert.rec{background:var(--rec-soft);border-color:#ff5b4f66}.alert.tungsten{border-color:color-mix(in srgb, var(--tungsten) 40%, transparent);background:var(--tungsten-soft)}.alert.go{background:var(--go-soft);border-color:#4ed69e59}.alert.daylight{background:var(--daylight-soft);border-color:#7db3ff59}.alert .icon{flex:none;margin-top:1px}.todo{align-items:center;margin-bottom:16px}.todo-count{min-width:30px;height:30px;font:700 14px/1 var(--f-mono);border-radius:999px;flex:none;place-items:center;padding:0 8px;display:grid}.todo-count.rec{background:var(--rec);color:#fff}.todo-count.tungsten{background:var(--tungsten);color:var(--tungsten-ink)}.todo-chip{background:var(--surface);color:var(--ink);text-decoration:none}.todo .icon{opacity:.6;align-self:flex-start}@media (max-width:640px){.todo .icon{display:none}}[data-attn=rec]{--attn:var(--rec)}[data-attn=tungsten]{--attn:var(--tungsten)}[data-attn]:not(tr),tr[data-attn]>td:first-child{box-shadow:inset 3px 0 0 var(--attn)}[data-attn]{scroll-margin:96px 0}.attn-flash{animation:1.6s attn-flash}@keyframes attn-flash{0%,45%{outline:2px solid var(--attn);outline-offset:2px}to{outline-offset:8px;outline:2px solid #0000}}@media (prefers-reduced-motion:reduce){.attn-flash{outline:2px solid var(--attn);outline-offset:2px;animation:none}}.only-tabbar{display:none!important}@media (max-width:900px){.only-tabbar{display:flex!important}}.alert-link{text-decoration:none;display:flex}.alert-link:hover{filter:brightness(1.12)}html.modal-open,html.menu-open{overflow:hidden}.modal-backdrop{overscroll-behavior:none;-webkit-overflow-scrolling:touch;z-index:80;background:#000000b8;justify-content:center;align-items:flex-start;padding:4vh 16px;animation:.15s fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--line-2);border-radius:16px;flex-direction:column;gap:14px;width:min(620px,100%);margin:auto 0;padding:22px;display:flex;box-shadow:0 20px 50px #00000080}@media (max-width:560px){.modal-backdrop{padding:12px 10px 24px}.modal{padding:16px}}.modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-head h3{font-family:var(--f-display);font-size:22px;font-style:italic}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@keyframes fade{0%{opacity:0}to{opacity:1}}#root>.app,#root>.content{animation:.22s ease-out backwards fade}@media (prefers-reduced-motion:reduce){#root>.app,#root>.content{animation:none}}.toaster{z-index:90;flex-direction:column;gap:10px;width:min(360px,100vw - 36px);display:flex;position:fixed;bottom:78px;right:18px}.toast{border:1px solid var(--line-2);border-left:4px solid var(--tone,var(--tungsten));background:#16181f;border-radius:12px;gap:12px;padding:12px 14px;text-decoration:none;animation:.3s slidein;display:flex;box-shadow:0 16px 40px #00000080}.toast strong{font-size:14px;display:block}.toast p{color:var(--ink-2);margin:2px 0 0;font-size:13px}.portal{min-height:100dvh;padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.portal-nav{min-height:36px;margin-top:env(safe-area-inset-top,0px);align-items:center;gap:8px;display:flex}.portal-nav>:last-child{margin-left:auto}.portal-main{flex-direction:column;flex:1;justify-content:center;gap:18px;width:100%;max-width:420px;margin:0 auto;padding:24px 0 32px;display:flex}.portal-brand{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:6px;display:flex}.portal-brand .brand-name{font-size:34px;line-height:1}.portal-brand .eyebrow{margin:0}.portal-main .host-brand{justify-content:center;margin:0}.portal-card{padding:22px;box-shadow:0 24px 60px #00000059}.portal-foot{flex-direction:column;align-items:center;gap:16px;display:flex}.portal-foot .btn{border-color:color-mix(in srgb, var(--tungsten) 45%, transparent);border-radius:10px;padding:11px 20px;font-size:15px}.portal-foot .btn svg{color:var(--tungsten)}.portal-foot .btn:hover{border-color:var(--tungsten)}.lexicon{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.lexicon .card h3{font-family:var(--f-display);margin-bottom:4px;font-size:19px;font-style:italic}@media print{html,body{background:#fff}html.modal-open,html.menu-open{overflow:visible}html:has(.assistant){overflow:visible}body:before,body:after{display:none}.sidebar,.topbar,.no-print,.toaster{display:none!important}.app{padding-left:0;display:block}.content{max-width:none;padding:0}.printable{box-shadow:none!important;transform:none!important}.print-hide-siblings>:not(.printable),.page-head{display:none!important}body:has(.modal-backdrop) .app{display:none!important}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0;display:block;position:static}.modal{max-height:none;box-shadow:none;background:#fff;border:none;padding:0;overflow:visible;width:100%!important}.modal-head,.modal-actions{display:none!important}.espace:has(.modal-backdrop) *{visibility:hidden}.espace .modal-backdrop,.espace .modal-backdrop *{visibility:visible}.espace .modal-backdrop{width:100%;position:absolute;inset:0 auto auto 0}}.assistant-fab{z-index:70;border:1px solid color-mix(in srgb, var(--tungsten) 50%, transparent);background:var(--surface-2);color:var(--ink);font:600 14px/1 var(--f-body);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:11px 16px;display:inline-flex;position:fixed;bottom:18px;right:18px;box-shadow:0 10px 30px #00000073}.assistant-fab svg{color:var(--tungsten)}.assistant-fab:hover{background:var(--surface-3);border-color:var(--tungsten)}.assistant-fab{bottom:calc(18px + env(safe-area-inset-bottom,0px));transition:transform .22s,opacity .22s}.assistant-fab.tucked{opacity:0;pointer-events:none;transform:translateY(90px)}@media (prefers-reduced-motion:reduce){.assistant-fab{transition:none}}.assistant{z-index:85;background:var(--surface);border:1px solid var(--line-2);border-radius:16px;flex-direction:column;width:min(420px,100vw - 36px);height:min(640px,100dvh - 36px);animation:.15s fade;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 24px 70px #0009}.assistant-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 12px 12px 14px;display:flex}.assistant-mark{background:var(--tungsten-soft);width:32px;height:32px;color:var(--tungsten);border-radius:9px;flex:none;place-items:center;display:grid}.assistant-log{overscroll-behavior:none;flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.assistant-intro p{color:var(--ink-2);font-size:14px}.assistant-suggestions{flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;display:flex}.assistant-suggestions .chip{text-align:left;white-space:normal}.bubble{overflow-wrap:anywhere;border-radius:12px;max-width:92%;padding:9px 12px;font-size:14px;line-height:1.5}.bubble.user{background:var(--tungsten-soft);border:1px solid color-mix(in srgb, var(--tungsten) 30%, transparent);white-space:pre-wrap;align-self:flex-end}.bubble.bot{background:var(--surface-2);border:1px solid var(--line);align-self:flex-start}.bubble.bot p+p,.bubble.bot p+ul,.bubble.bot p+ol,.bubble.bot ul+p,.bubble.bot ol+p{margin-top:8px}.bubble.bot ul,.bubble.bot ol{flex-direction:column;gap:3px;padding-left:20px;display:flex}.bubble.bot a{color:var(--tungsten)}.bubble.bot code{font-family:var(--f-mono);background:var(--bg-2);border-radius:5px;padding:1px 5px;font-size:12.5px}.assistant-typing{color:var(--muted);letter-spacing:3px;animation:1.2s ease-in-out infinite typing}@keyframes typing{50%{opacity:.35}}.assistant-error{color:var(--rec)}.assistant-form{border-top:1px solid var(--line);align-items:flex-end;gap:8px;padding:10px 12px 4px;display:flex}.assistant-form textarea{resize:none;flex:1;min-height:44px;max-height:140px}.assistant-form .btn{height:44px}.assistant-note{padding:2px 14px 10px}@media (max-width:640px){.assistant{overscroll-behavior:none;border:none;border-radius:0;width:100%;height:100dvh;inset:0}html:has(.assistant){overflow:hidden}.assistant-fab span{display:none}.assistant-fab{padding:13px}}
