:root{--bg:#0d1114;--panel:#141a1d;--panel-2:#1b2428;--border:#2a373c;--border-strong:#43545b;--text:#edf2f3;--muted:#a3b0b4;--accent:#147d78;--accent-hover:#69d6d0;--accent-pressed:#0d6864;--accent-soft:#34b5ad29;--focus-ring:#73ddd6;--green:#53c98b;--red:#ff716b;--yellow:#e8b64c;--blue:#69aafc;--radius:8px;--radius-sm:6px;--shadow:0 8px 24px #00000057;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}a{color:var(--accent-hover);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 .5em;font-weight:650;line-height:1.25}h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}p{margin:0 0 .75em}::placeholder{color:#75858a}:where(a,button,[role=button],[role=tab],[role=menuitem],[role=option],[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.app{height:100dvh;display:flex;overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:232px;transition:width .18s,transform .18s;display:flex;position:relative}.sidebar-logo{letter-spacing:0;align-items:center;gap:10px;padding:18px 16px 14px;font-size:16px;font-weight:700;display:flex}.sidebar-logo .logo-mark,.mobile-brand .logo-mark{width:30px;height:30px;color:var(--accent-hover);background:var(--panel-2);border:1px solid var(--border-strong);border-radius:8px;flex:0 0 30px;justify-content:center;align-items:center;font-size:16px;display:flex}.sidebar-collapse{z-index:2;border:1px solid var(--border-strong);background:var(--panel);width:26px;height:26px;position:absolute;top:20px;right:-13px}.mobile-sidebar-close{display:none}.sidebar-nav-icon{text-align:center;flex:0 0 20px;width:20px}.sidebar-nav{flex:1;padding:6px 8px;overflow-y:auto}.sidebar-nav a{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;font-weight:500;display:flex}.sidebar-nav a:hover{background:var(--panel-2);color:var(--text);text-decoration:none}.sidebar-nav a.active{background:var(--accent-soft);color:var(--text)}.sidebar-user{border-top:1px solid var(--border);align-items:center;gap:10px;padding:12px;display:flex}.sidebar-user .user-info{flex:1;min-width:0}.sidebar-user .user-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sidebar-user .user-role{color:var(--muted);font-size:12px}.main{flex:1;min-width:0;min-height:0;overflow-y:auto}.page{width:100%;max-width:1280px;padding:24px 28px 48px}.page-header{align-items:center;gap:14px;margin-bottom:20px;display:flex}.page-header h1{margin:0}.page-header .spacer{flex:1}.mobile-topbar,.sidebar-backdrop{display:none}.mobile-topbar-actions{align-items:center;gap:8px;display:flex}.app.sidebar-collapsed .sidebar{width:68px}.app.sidebar-collapsed .sidebar .sidebar-label,.app.sidebar-collapsed .sidebar .user-info{display:none}.app.sidebar-collapsed .sidebar-logo,.app.sidebar-collapsed .sidebar-nav a{justify-content:center;padding-inline:10px}.app.sidebar-collapsed .sidebar-user{flex-direction:column;gap:5px;padding-inline:8px}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--panel-2);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-weight:550;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:#222d31}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-pressed);border-color:var(--accent-pressed)}.btn-danger{color:var(--red);background:0 0;border-color:#ff716b6b}.btn-danger:hover{background:#ff716b1f}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--panel-2);color:var(--text)}.btn-sm{padding:4px 9px;font-size:13px}.icon-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:14px;display:inline-flex}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);width:100%;color:var(--text);font:inherit;padding:7px 10px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.textarea{resize:vertical;min-height:72px}.select{appearance:auto}.field{margin-bottom:14px}.field>label{color:var(--muted);margin-bottom:5px;font-size:13px;font-weight:600;display:block}.field .hint{color:var(--muted);margin-top:4px;font-size:12px}.form-row{gap:12px;display:flex}.form-row>*{flex:1}.form-error{color:var(--red);margin:8px 0;font-size:13px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-hover{transition:border-color .12s,transform .12s}.card-hover:hover{border-color:var(--border-strong)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.panel-title{text-transform:uppercase;letter-spacing:0;color:var(--muted);margin-bottom:10px;font-size:13px;font-weight:650}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:0;color:var(--muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:12px}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 10px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#ffffff05}.badge{border-radius:var(--radius);background:var(--panel-2);color:var(--muted);border:1px solid var(--border);align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent-hover);border-color:#0000}.badge-green{color:var(--green);background:#53c98b24;border-color:#0000}.badge-red{color:var(--red);background:#ff716b24;border-color:#0000}.badge-yellow{color:var(--yellow);background:#e8b64c24;border-color:#0000}.badge-blue{color:var(--blue);background:#69aafc24;border-color:#0000}.tabs{overscroll-behavior-x:contain;border-bottom:1px solid var(--border);background:var(--panel);scrollbar-width:thin;gap:2px;min-width:0;padding:0 28px;display:flex;overflow:auto hidden}.tabs a{color:var(--muted);border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;padding:10px 14px;font-weight:550}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.active{color:var(--text);border-bottom-color:var(--accent)}.project-header{background:var(--panel);align-items:center;gap:14px;padding:16px 28px 12px;display:flex}.project-header h1{margin:0;font-size:19px}.project-header .spacer{flex:1}.modal-overlay{z-index:300;background:#05070aa6;justify-content:center;align-items:flex-start;padding:60px 20px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:520px}.modal:focus{outline:none}.modal-wide{max-width:760px}.modal-header{border-bottom:1px solid var(--border);align-items:center;padding:14px 18px;display:flex}.modal-header h2{flex:1;margin:0;font-size:16px}.modal-body{padding:18px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 18px;display:flex}.toasts{z-index:400;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.toast{border-radius:var(--radius-sm);background:var(--panel-2);border:1px solid var(--border-strong);box-shadow:var(--shadow);align-items:center;gap:10px;max-width:360px;padding:8px 8px 8px 14px;font-weight:550;display:flex}.toast-message{flex:1;min-width:0}.toast-action,.toast-close{flex-shrink:0}.toast-success{border-color:#53c98b80}.toast-error{border-color:#ff716b99}.avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-hover);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.avatar-sm{width:22px;height:22px;font-size:10px}.empty-state{text-align:center;color:var(--muted);padding:48px 20px}.empty-state .empty-icon{margin-bottom:10px;font-size:34px}.empty-state h3{color:var(--text)}.query-error{flex-direction:column;align-items:flex-start;gap:7px;padding:8px 0;display:flex}.query-error-title{color:var(--text);font-weight:600}.spinner{border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;margin:32px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.comments{margin-top:8px}.comment{gap:10px;padding:8px 0;display:flex}.comment-body{flex:1;min-width:0}.comment-meta{color:var(--muted);align-items:baseline;gap:8px;font-size:12px;display:flex}.comment-meta .author{color:var(--text);font-size:13px;font-weight:600}.comment-text{white-space:pre-wrap;word-break:break-word}.comment-resolved{opacity:.72}.comment-resolved .comment-text{text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.comment-resolved-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:7px;margin-bottom:8px;font-size:13px;display:inline-flex}.comment-meta{flex-wrap:wrap}.comment-actions{margin-left:auto;display:inline-flex}.comment-mentions{margin-top:4px}.comment-composer{gap:8px;display:grid}.comment-composer-label{color:var(--muted);font-size:13px;font-weight:600}.comment-composer-actions{justify-content:space-between;align-items:end;gap:10px;display:flex}.comment-mention-control{gap:4px;min-width:min(260px,100%);display:grid}.comment-mention-control label{color:var(--muted);font-size:12px}.comment-mention-error{margin:0}.link-button{color:var(--accent-hover);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.comment-mention-chips{flex-wrap:wrap;gap:6px;display:flex}.comment-mention-remove{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.comment-mention-remove:hover{background:#ffffff14}@media (width<=560px){.comment-composer-actions{flex-direction:column;align-items:stretch}.comment-mention-control,.comment-composer-actions .btn{width:100%}}.thumb{aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);width:100%;display:block}.thumb-portrait{object-position:top}.thumb-icon{aspect-ratio:16/10;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);width:100%;color:var(--muted);justify-content:center;align-items:center;font-size:30px;display:flex}.muted{color:var(--muted)}.small{font-size:12px}.flex{align-items:center;gap:10px;display:flex}.flex-1{flex:1;min-width:0}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg);border-radius:6px}::-webkit-scrollbar-track{background:0 0}@media (width>=721px) and (width<=1100px){.sidebar{width:68px}.sidebar .sidebar-label,.sidebar .user-info{display:none}.sidebar-logo,.sidebar-nav a{justify-content:center;padding-inline:10px}.sidebar-user{flex-direction:column;gap:5px;padding-inline:8px}.sidebar-collapse{display:none}.page,.project-header,.tabs{padding-inline:22px}}@media (width<=800px){.grid-2{grid-template-columns:minmax(0,1fr)}.form-row{flex-direction:column;gap:0}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}.page-header{flex-wrap:wrap;align-items:stretch}.page-header h1{align-self:center}.page-header .spacer{min-width:1px}}@media (width<=720px){.app{flex-direction:column}.mobile-topbar{min-height:calc(54px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0;align-items:center;gap:10px;display:flex}.mobile-nav-toggle{width:38px;height:38px;font-size:18px}.mobile-brand{flex:1;align-items:center;gap:9px;min-width:0;font-weight:700;display:flex}.mobile-brand>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar,.app.sidebar-collapsed .sidebar{z-index:130;width:min(286px,88vw);padding-top:env(safe-area-inset-top);box-shadow:var(--shadow);visibility:hidden;transition:transform .18s,visibility 0s linear .18s;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.sidebar.open{visibility:visible;transition-delay:0s;transform:translate(0)}.sidebar .sidebar-label,.sidebar .user-info,.app.sidebar-collapsed .sidebar .sidebar-label,.app.sidebar-collapsed .sidebar .user-info{display:block}.sidebar-logo,.app.sidebar-collapsed .sidebar-logo{justify-content:flex-start;padding:16px}.sidebar-nav a,.app.sidebar-collapsed .sidebar-nav a{justify-content:flex-start;padding:10px}.sidebar-user,.app.sidebar-collapsed .sidebar-user{flex-direction:row;gap:10px;padding:12px}.sidebar-collapse,.sidebar-search-trigger{display:none}.mobile-sidebar-close{margin-left:auto;display:inline-flex}.sidebar-backdrop{z-index:120;opacity:0;pointer-events:none;background:#05070aad;border:0;width:100%;height:100%;padding:0;transition:opacity .18s;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto;display:block}.main{width:100%}.page{padding:18px 14px calc(32px + env(safe-area-inset-bottom))}.page-header{gap:10px;margin-bottom:16px}.page-header .btn-primary{margin-left:auto}.project-header{padding:12px 14px 10px}.tabs{padding:0 8px;scroll-padding-inline:8px}.tabs a{scroll-snap-align:start;padding:10px 11px}.empty-state{padding:34px 12px}}@media (hover:none),(pointer:coarse){.btn,.input,.select{min-height:40px}.icon-btn{min-width:38px;min-height:38px}}.global-search-input-wrap{align-items:center;display:flex;position:relative}.global-search-input-wrap>svg{color:var(--muted);pointer-events:none;position:absolute;left:12px}.global-search-input{min-height:42px;padding-left:39px;font-size:15px}.global-search-results{overscroll-behavior:contain;max-height:min(62vh,590px);margin:12px -6px -4px;overflow-y:auto}.global-search-hint{margin:8px 6px}.global-search-loading,.global-search-empty{justify-content:center;align-items:center;gap:10px;min-height:132px;display:flex}.global-search-empty{color:var(--muted);text-align:center;flex-direction:column}.global-search-empty strong{color:var(--text)}.global-search-group+.global-search-group{margin-top:12px}.global-search-group h3{color:var(--muted);align-items:center;gap:7px;margin:0;padding:5px 8px;font-size:12px;font-weight:650;display:flex}.global-search-group-items{border-top:1px solid var(--border)}.global-search-result{border:0;border-bottom:1px solid var(--border);width:100%;min-width:0;min-height:56px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border-radius:0;grid-template-columns:28px minmax(0,1fr) minmax(90px,150px);align-items:center;gap:9px;padding:8px 10px;display:grid}.global-search-result:hover,.global-search-result.active{background:var(--panel-2)}.global-search-result-icon{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);border-radius:6px;place-items:center;display:grid}.global-search-result-body{flex-direction:column;gap:3px;min-width:0;display:flex}.global-search-result-title,.global-search-result-context,.global-search-result-project{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search-result-title{font-weight:620}.global-search-result-context,.global-search-result-project{color:var(--muted);font-size:12px}.global-search-result-project{text-align:right}.global-search-result mark{color:inherit;background:color-mix(in srgb, var(--yellow) 42%, transparent);border-radius:2px;padding:0 1px}@media (width<=640px){.global-search-results{max-height:calc(100dvh - 190px)}.global-search-result{grid-template-columns:28px minmax(0,1fr)}.global-search-result-project{text-align:left;grid-column:2}}.notification-trigger{flex:none;position:relative}.notification-badge{border:2px solid var(--panel);background:var(--red);color:#15191b;text-align:center;border-radius:9px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:750;line-height:13px;position:absolute;top:-4px;right:-5px}.notifications-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding-bottom:10px;display:flex}.notifications-list{margin:0 -20px -16px}.notification-item{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:flex-start;gap:11px;padding:12px 20px;display:flex}.notification-item:last-child{border-bottom:0}.notification-item:hover{background:var(--panel-2)}.notification-item.unread{background:var(--accent-soft)}.notification-item.unread:hover{background:#34b5ad38}.notification-icon{border:1px solid var(--border);width:30px;height:30px;color:var(--accent-hover);background:var(--panel);border-radius:6px;flex:0 0 30px;justify-content:center;align-items:center;display:inline-flex}.notification-content{gap:3px;min-width:0;display:grid}.notification-title,.notification-excerpt{overflow-wrap:anywhere}.notification-excerpt{max-width:52ch;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notification-time{color:var(--muted);font-size:12px}.notifications-empty{justify-content:center;align-items:center;gap:8px;min-height:120px;display:flex}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{width:min(100%,380px);padding:28px}.login-logo{justify-content:center;margin-bottom:18px;padding:0}.login-heading{text-align:center;margin-bottom:20px}.login-heading h1{font-size:18px}.login-heading p{margin:0}.login-submit{width:100%}.login-help{text-align:center;margin-top:14px}.login-field-error{color:var(--red);margin-top:4px;font-size:12px}@media (width<=480px){.login-page{padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));align-items:flex-start}.login-card{padding:22px 18px}}.dashboard-focus{background:var(--panel);border-block:1px solid var(--border);margin-bottom:20px;padding:14px 0 0}.dashboard-focus-heading{justify-content:space-between;align-items:flex-start;gap:16px;padding:0 16px 12px;display:flex}.dashboard-focus-heading h2{margin-bottom:3px;font-size:16px}.dashboard-focus-heading p{margin:0;font-size:13px}.dashboard-focus-spinner{margin:18px auto 24px}.dashboard-focus .query-error{padding:4px 16px 14px}.dashboard-metrics{border-block:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dashboard-metric{border-right:1px solid var(--border);align-items:baseline;gap:8px;min-width:0;padding:9px 16px;display:flex}.dashboard-metric:last-child{border-right:0}.dashboard-metric-value{font-size:20px;font-weight:700;line-height:1}.dashboard-metric-label{min-width:0;font-size:12px}.dashboard-focus-empty{padding:14px 16px 16px}.dashboard-focus-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-focus-item{min-width:0;min-height:52px;color:inherit;border-bottom:1px solid var(--border);align-items:center;gap:9px;padding:8px 12px 8px 16px;display:flex}.dashboard-focus-item:nth-child(odd){border-right:1px solid var(--border)}.dashboard-focus-item:hover{background:var(--panel-2);text-decoration:none}.dashboard-focus-icon{width:28px;height:28px;color:var(--accent-hover);flex:0 0 28px;justify-content:center;align-items:center;display:inline-flex}.dashboard-focus-content{flex:1;min-width:0}.dashboard-focus-item-title{font-weight:600;display:block}.dashboard-focus-meta{gap:6px;min-width:0;display:flex}.dashboard-focus-meta>span+span:before{content:"·";margin-right:6px}.dashboard-focus-tags{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.dashboard-focus-tags .badge{white-space:nowrap}.dashboard-focus-due{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.dashboard-focus-arrow{color:var(--muted);flex:none}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}@media (width<=1100px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}}.dashboard-side{flex-direction:column;gap:14px;display:flex}.project-card{color:inherit;padding:0;display:block;overflow:hidden}.project-card:hover{text-decoration:none}.project-cover{aspect-ratio:16/9;object-fit:cover;background:var(--bg);border-bottom:1px solid var(--border);width:100%;display:block}.project-cover-placeholder{color:var(--muted);background:var(--panel-2);justify-content:center;align-items:center;display:flex}.project-card-body{padding:12px 14px}.project-card-title{font-weight:650}.project-progress{margin-top:8px}.project-progress-bar{background:var(--panel-2);border-radius:999px;height:4px;overflow:hidden}.project-progress-fill{background:var(--green);border-radius:999px;height:100%;transition:width .3s}.project-progress-label{margin-top:4px}.activity-item{border-bottom:1px solid var(--border);gap:10px;padding:8px 0;display:flex}.activity-item:last-child{border-bottom:none;padding-bottom:0}@media (width<=900px){.dashboard-focus-tags .badge:not(.badge-red):not(.badge-yellow):not(.badge-blue){display:none}}@media (width<=720px){.dashboard-focus{margin-inline:-14px}.dashboard-focus-heading{padding-inline:14px}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric:nth-child(2){border-right:0}.dashboard-metric:nth-child(-n+2){border-bottom:1px solid var(--border)}.dashboard-focus-list{grid-template-columns:minmax(0,1fr)}.dashboard-focus-item:nth-child(odd){border-right:0}}@media (width<=480px){.dashboard-focus-heading{flex-direction:column;align-items:stretch;gap:8px}.dashboard-focus-heading>.badge{align-self:flex-start}.dashboard-metric{flex-direction:column;align-items:flex-start;gap:3px;padding-inline:14px}.dashboard-focus-item{padding-inline:12px}.dashboard-focus-tags{max-width:45%}.dashboard-focus-due{display:none}}.admin-card{padding:0 16px;overflow-x:auto}.admin-table .user-cell{align-items:center;gap:10px;min-width:160px;display:flex}.admin-table .user-cell .user-name{font-weight:600}.admin-table .role-select{width:auto;min-width:150px}.admin-table td.actions{text-align:right;white-space:nowrap}.admin-table td.actions .btn+.btn{margin-left:8px}.admin-table tr.row-inactive .user-cell,.admin-table tr.row-inactive .user-email{opacity:.55}.maintenance-card{max-width:560px;margin-top:18px}.maintenance-card .btn:hover{text-decoration:none}.maintenance-card .maintenance-hint{margin-top:10px}.maintenance-card code{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:0 4px}@media (width<=720px){.admin-card{padding-inline:0}.admin-table{min-width:820px}.maintenance-card{max-width:none}.maintenance-card .btn{white-space:normal;width:100%}}.activity-filters{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.activity-filters .select{width:auto;min-width:180px}.activity-feed{max-width:780px;padding:6px 18px}.activity-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:13px 0;display:flex}.activity-row:last-child{border-bottom:none}.activity-row .avatar{flex-shrink:0;margin-top:1px}.activity-row .activity-detail{margin-bottom:2px}.activity-more{text-align:center;max-width:780px;margin-top:14px}@media (width<=600px){.activity-filters .select{width:100%;min-width:0}.activity-feed{padding-inline:12px}.activity-row{gap:9px}}.player{z-index:50;color:var(--text);-webkit-user-select:none;user-select:none;cursor:default;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.player-center{flex-direction:column}.player-stage{aspect-ratio:16/9;background:#000;width:min(100vw,177.778vh);max-height:100dvh;position:relative;overflow:hidden}.player-bg{position:absolute;inset:0}.player-bg-layer{background:#000 50%/cover no-repeat;position:absolute;inset:0}.player-bg-top{animation:.45s both player-fade-in}@keyframes player-fade-in{0%{opacity:0}to{opacity:1}}.player-sprites{position:absolute;inset:0}.player-sprite{object-fit:contain;object-position:bottom;transform-origin:bottom;filter:brightness(.92);pointer-events:none;max-width:42%;height:85%;transition:filter .25s,transform .25s,left .35s,right .35s;animation:.3s both player-fade-in;position:absolute;bottom:0}.player-sprite.pos-left{left:6%}.player-sprite.pos-center{left:50%;transform:translate(-50%)}.player-sprite.pos-right{right:6%}.player-sprite.speaking{filter:brightness(1.06);z-index:2;transform:scale(1.04)}.player-sprite.pos-center.speaking{transform:translate(-50%)scale(1.04)}.player-sprite.dimmed{filter:brightness(.6)}.player-sprite.pos-center.dimmed{transform:translate(-50%)}.player-dialog{z-index:5;overscroll-behavior:contain;cursor:pointer;background:linear-gradient(#0000 0%,#05070cd1 40%,#05070cf0 100%);min-height:27%;max-height:52%;padding:44px 6% 26px;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.player-speaker{letter-spacing:.3px;border-radius:var(--radius-sm);text-shadow:0 1px 3px #000c;width:fit-content;margin-bottom:6px;padding:2px 7px;font-size:clamp(14px,1.6vw,19px);font-weight:750}.player-text{text-shadow:0 1px 3px #000c;white-space:pre-wrap;max-width:900px;font-size:clamp(14px,1.5vw,18px);line-height:1.6}.player-text.narration{color:#cfd5e2;font-style:italic}.player-caret{vertical-align:text-bottom;background:var(--accent-hover);width:9px;height:1.1em;margin-left:2px;animation:.7s step-end infinite player-caret-blink;display:inline-block}@keyframes player-caret-blink{50%{opacity:0}}.player-next-hint{color:var(--muted);font-size:13px;animation:1.2s ease-in-out infinite player-bounce;position:absolute;bottom:14px;right:4%}@keyframes player-bounce{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}.player-choice{z-index:10;overscroll-behavior:contain;background:#05070c8c;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;animation:.25s both player-fade-in;display:flex;position:absolute;inset:0;overflow-y:auto}.player-choice-prompt{text-shadow:0 1px 4px #000000e6;text-align:center;margin-bottom:10px;font-size:clamp(15px,1.8vw,21px);font-weight:700}.player-choice-btn{border-radius:var(--radius);border:1px solid var(--border-strong);width:min(560px,90%);color:var(--text);font:inherit;cursor:pointer;background:#171a21eb;padding:12px 22px;font-size:clamp(13px,1.3vw,16px);font-weight:600;transition:border-color .15s,background .15s,transform .15s}.player-choice-btn:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.player-menu-toggle{display:none}.player-top{z-index:46;height:58px;position:absolute;top:0;left:0;right:0}.player-topbar{border-bottom:1px solid var(--border);background:#0d0f14f0;align-items:center;gap:10px;padding:9px 16px;transition:transform .2s;display:flex;transform:translateY(-100%)}.player-top:hover .player-topbar,.player-top:focus-within .player-topbar,.player-top.open .player-topbar{transform:translateY(0)}.player-topbar .player-title{white-space:nowrap;text-overflow:ellipsis;max-width:28%;font-weight:700;overflow:hidden}.player-topbar .player-crumbs{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.player-topbar .spacer{flex:1}.player-panel{z-index:45;border:1px solid var(--border-strong);border-radius:var(--radius);width:400px;max-width:calc(100vw - 24px);box-shadow:var(--shadow);cursor:auto;background:#12151cf7;flex-direction:column;animation:.15s both player-fade-in;display:flex;position:absolute;top:54px;bottom:12px;right:12px}.player-panel-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:flex}.player-panel-head .spacer{flex:1}.player-panel-body{flex:1;padding:12px 14px;overflow-y:auto}.player-hist-item{border-bottom:1px solid var(--border);padding:7px 0}.player-hist-item:last-child{border-bottom:none}.player-hist-name{border-radius:4px;margin-bottom:2px;padding:1px 5px;font-size:12px;font-weight:700;display:inline-block}.player-hist-text{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.5}.player-hist-item.narration .player-hist-text{color:var(--muted);font-style:italic}.player-hist-item.choice .player-hist-text{color:var(--accent-hover);font-weight:600}.player-nav-chapter{margin-bottom:14px}.player-nav-chapter-title{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700}.player-nav-scene{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;margin-bottom:3px;padding:7px 10px;display:block}.player-nav-scene:hover{background:var(--panel-2)}.player-nav-scene.current{background:var(--accent-soft);border-color:var(--accent)}.player-resume{z-index:48;cursor:auto;background:#030407d1;justify-content:center;align-items:center;animation:.3s both player-fade-in;display:flex;position:absolute;inset:0}.player-resume-inner{text-align:center;border:1px solid var(--border-strong);border-radius:var(--radius);width:min(520px,100% - 32px);max-width:520px;max-height:calc(100% - 32px);box-shadow:var(--shadow);background:#12151cf7;padding:28px 32px;overflow-y:auto}.player-resume-title{margin-bottom:8px;font-size:clamp(18px,2.2vw,26px);font-weight:800}.player-resume-place{color:var(--muted);margin:0 0 18px;font-size:14px}.player-resume-place strong{color:var(--text);font-weight:650}.player-resume-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.player-end{z-index:40;cursor:auto;background:#030407e0;justify-content:center;align-items:center;animation:.8s both player-fade-in;display:flex;position:absolute;inset:0}.player-end-inner{text-align:center;max-width:560px;padding:24px}.player-end-title{margin-bottom:8px;font-size:clamp(20px,3vw,34px);font-weight:800}.player-end-sub{color:var(--accent-hover);text-transform:uppercase;letter-spacing:3px;margin-bottom:14px;font-size:15px;font-weight:700}.player-end-error{color:var(--red);white-space:pre-wrap;margin-bottom:14px}.player-end-buttons{justify-content:center;gap:10px;margin-top:18px;display:flex}@media (hover:none),(pointer:coarse){.player-menu-toggle{z-index:49;top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));border-radius:var(--radius-sm);min-height:42px;color:var(--text);font:inherit;background:#0d0f14e6;border:1px solid #ffffff47;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-weight:650;display:inline-flex;position:absolute}.player-top{height:calc(62px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.player-topbar{min-height:54px;padding-right:max(110px, calc(106px + env(safe-area-inset-right)));padding-left:max(12px, env(safe-area-inset-left))}.player-top.panel-open .player-topbar{transform:translateY(-100%)}.player-choice-btn,.player-nav-scene{min-height:44px}}@media (width<=720px){.player-stage{aspect-ratio:auto;width:100vw;height:100dvh;max-height:none}.player-dialog{min-height:30%;max-height:54dvh;padding:42px max(18px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left))}.player-text{font-size:15px;line-height:1.55}.player-speaker{font-size:16px}.player-next-hint{right:max(18px, env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom))}.player-choice{padding:calc(72px + env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));justify-content:flex-start}.player-choice-prompt{margin:auto 0 4px}.player-choice-btn{flex:none;width:100%}.player-choice-btn:last-child{margin-bottom:auto}.player-topbar{max-height:calc(100dvh - env(safe-area-inset-top));flex-wrap:wrap;gap:6px;padding-bottom:10px;overflow-y:auto}.player-topbar .player-title{flex:calc(100% - 96px);max-width:none}.player-topbar .player-crumbs,.player-topbar .spacer{display:none}.player-topbar .btn{flex:calc(50% - 6px);min-height:42px}.player-panel{top:calc(58px + env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));left:max(8px, env(safe-area-inset-left));width:auto;max-width:none}.player-resume,.player-end{padding:calc(16px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.player-resume-inner{width:100%;padding:22px 18px}.player-resume-buttons,.player-end-buttons{flex-direction:column}.player-resume-buttons .btn,.player-end-buttons .btn{width:100%;min-height:44px}}@media (width<=720px) and (orientation:portrait){.player-sprite{max-width:66%;height:72%}.player-sprite.pos-left{left:-2%}.player-sprite.pos-right{right:-2%}}@media (height<=600px) and (orientation:landscape){.player-dialog{min-height:34%;max-height:62%;padding-top:30px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.player-text{font-size:13px;line-height:1.45}.player-speaker{margin-bottom:2px;font-size:14px}.player-next-hint{bottom:calc(4px + env(safe-area-inset-bottom))}.player-choice{padding-block:calc(58px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-bottom));gap:7px}.player-choice-btn{min-height:38px;padding-block:8px}.player-choice-prompt{margin-bottom:2px}}.project-share-dialog{gap:18px;display:grid}.project-share-dialog>p{margin:0;line-height:1.55}.project-share-disabled{color:var(--muted);text-align:center;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:12px;padding:22px;display:flex}.project-share-link-row,.project-share-actions{gap:8px;display:flex}.project-share-link-row .input{flex:1;min-width:0}.project-share-actions{flex-wrap:wrap;justify-content:space-between}.project-share-note{font-size:12px}@media (width<=560px){.project-share-link-row{flex-direction:column;align-items:stretch}.project-share-actions .btn{flex:1}}.project-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:460px;overflow:hidden}.project-title-form{align-items:center;gap:4px;min-width:0;display:flex}.project-title-input{width:clamp(180px,35vw,420px);height:32px;font-size:16px;font-weight:650}.project-title-form .icon-btn:disabled{opacity:.5;cursor:default}.project-title-form .icon-spin{animation:.8s linear infinite spin}.project-identity,.project-header-actions{align-items:center;gap:10px;min-width:0;display:flex}.project-identity{flex:1}.project-header-actions{flex:none}.project-back{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.project-back:hover{color:var(--text);background:var(--panel-2);text-decoration:none}@media (width<=860px){.project-header{flex-wrap:wrap}.project-identity{flex-basis:100%}.project-header-actions{margin-left:auto}.project-title-text{max-width:none}.project-title-form{flex:1}.project-title-input{width:100%}}@media (width<=480px){.project-header{gap:9px}.project-identity{gap:6px}.project-header-actions{width:100%}.project-header-actions .btn{flex:1;min-width:0}.project-title-text{font-size:17px}.project-identity>.badge{display:none}}.overview-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px;display:grid}.overview-main,.overview-side{border-top:1px solid var(--border);min-width:0}.overview-section{border-bottom:1px solid var(--border);padding:18px 0}.overview-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.overview-description{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.stat-item{border-left:1px solid var(--border);flex-direction:column;min-width:0;padding:7px 14px;display:flex}.stat-item:first-child{border-left:0;padding-left:0}.stat-value{text-overflow:ellipsis;order:-1;margin:0;font-size:22px;font-weight:700;line-height:1.2;overflow:hidden}.stat-label{color:var(--muted);margin-top:3px;font-size:12px}.task-breakdown{flex-wrap:wrap;gap:7px;display:flex}.readiness-overall{align-items:center;gap:12px;margin-bottom:6px;display:flex}.readiness-bar{background:var(--panel-2);border-radius:3px;height:6px;overflow:hidden}.readiness-overall .readiness-bar{flex:1}.readiness-bar-lg{border-radius:5px;height:10px}.readiness-fill{border-radius:inherit;background:var(--green);height:100%;transition:width .3s}.readiness-percent{text-align:right;min-width:52px;font-size:20px;font-weight:700}.readiness-chapters{flex-direction:column;gap:11px;margin-top:16px;display:flex}.readiness-chapter .readiness-bar{margin-top:5px}.readiness-chapter-meta{flex-shrink:0}.overview-cover{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;max-width:420px;display:block}.overview-cover-placeholder{color:var(--muted);background:var(--panel-2);justify-content:center;align-items:center;display:flex}.overview-actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.overview-side .activity-item{border-bottom:1px solid var(--border);gap:10px;padding:9px 0;display:flex}.overview-side .activity-item:last-child{border-bottom:0;padding-bottom:0}.overview-comments .comments{margin-top:0}@media (width<=1100px){.overview-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-item{padding-block:10px}.stat-item:nth-child(3){border-left:0;padding-left:0}.stat-item:nth-child(n+3){border-top:1px solid var(--border)}.readiness-chapter .flex{flex-direction:column;align-items:flex-start;gap:1px}.readiness-chapter-meta{width:100%}}.main:has(.script-page){flex-direction:column;display:flex}:is(.main:has(.script-page)>.project-header,.main:has(.script-page)>.tabs){flex-shrink:0}.script-page{flex:1;height:calc(100vh - 99px);min-height:0;display:flex;overflow:hidden}.mobile-pane-switch{display:none}.script-tree{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:280px;display:flex}.script-tree-scroll{flex:1;padding:10px 8px;overflow-y:auto}.script-tree-footer{border-top:1px solid var(--border);padding:10px}.tree-chapter{margin-bottom:12px}.tree-chapter-head{min-height:28px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:2px;padding:2px 4px 2px 8px;font-size:12px;font-weight:650;display:flex}.tree-chapter-head .tree-title{flex:1;min-width:0}.tree-actions{flex-shrink:0;align-items:center;display:none}.tree-chapter-head:hover .tree-actions,.tree-scene:hover .tree-actions,.tree-scene:focus-within .tree-actions{display:inline-flex}.tree-actions .icon-btn{width:22px;height:22px;font-size:11px}.tree-scene{border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:5px 6px 5px 14px;display:flex}.tree-scene:hover{background:var(--panel-2)}.tree-scene.active{background:var(--accent-soft)}.tree-scene .scene-count{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11px}.tree-scene:hover .scene-count,.tree-scene:focus-within .scene-count{display:none}.tree-scene.drag-over{box-shadow:inset 0 2px 0 var(--accent)}.tree-chapter.drag-over{outline:1px dashed var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.tree-add-btn{margin-left:8px}.tree-add-row{padding:4px 6px 0 12px}.tree-create-input{padding:5px 8px;font-size:13px}.tree-empty{padding:2px 14px 4px}.script-editor{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.script-editor>.empty-state,.script-editor>.spinner{margin:auto}.editor-head{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);padding:12px 24px 8px;position:sticky;top:0}.scene-title-input{border-radius:var(--radius-sm);width:100%;max-width:800px;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;padding:4px 8px;font-size:19px;font-weight:650}.scene-title-input:hover:not(:disabled){border-color:var(--border)}.scene-title-input:focus{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.scene-title-input:disabled{opacity:1}.synopsis-input{border-radius:var(--radius-sm);width:100%;max-width:800px;color:var(--muted);font:inherit;background:0 0;border:1px solid #0000;margin-top:2px;padding:3px 8px;font-size:13px}.synopsis-input:hover:not(:disabled){border-color:var(--border)}.synopsis-input:focus{border-color:var(--accent);background:var(--bg);color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.synopsis-input:disabled{opacity:1}.editor-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px;padding:2px 8px 0;font-size:12px;display:flex}.save-indicator.saving{color:var(--yellow)}.save-indicator.saved{color:var(--green)}.save-indicator.error{color:var(--red)}.editor-body{width:100%;max-width:840px;padding:14px 24px 48px}.editor-divider{border:none;border-top:1px solid var(--border);margin:22px 0 12px}.node-list{flex-direction:column;display:flex}.node-card{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--muted);border-radius:var(--radius-sm);padding:8px 12px 10px}.node-head{align-items:center;gap:4px;min-height:26px;display:flex}.node-type{text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.node-actions{opacity:0;gap:2px;transition:opacity .12s;display:inline-flex}.node-card:hover .node-actions,.node-card:focus-within .node-actions{opacity:1}.node-actions .icon-btn{width:24px;height:24px;font-size:12px}.node-body{flex-direction:column;gap:8px;display:flex}.node-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.node-row .select{width:auto;min-width:130px;max-width:240px}.node-row .input{flex:1;min-width:120px}.node-textarea{resize:none;min-height:34px;line-height:1.5;overflow:hidden}.char-select{font-weight:600}.node-row .speaker-input{max-width:280px}.node-row .flag-input{flex:0 auto;width:160px;max-width:180px}.node-row .label-input{flex:0 auto;width:240px;max-width:260px}.node-row .flags-input{flex:0 auto;width:200px;max-width:220px;font-size:13px}.input.invalid,.select.invalid{border-color:var(--red);box-shadow:0 0 0 3px #ef535026}.node-thumb{object-fit:cover;border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-shrink:0;width:76px;height:48px}.node-thumb-black{color:var(--muted);text-align:center;background:#000;justify-content:center;align-items:center;font-size:10px;display:flex}.sprite-mini{object-fit:contain;border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-shrink:0;width:40px;height:52px}.sprite-mini-empty{color:var(--muted);justify-content:center;align-items:center;display:flex}.node-audio-icon{flex-shrink:0;font-size:18px}.text-warn{color:var(--yellow)}.choice-options{flex-direction:column;gap:8px;display:flex}.choice-option{border:1px dashed var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.choice-num{flex-shrink:0}.choice-option-meta{padding-left:2px}.ref-picker{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.ref-picker .select{width:auto;min-width:0;max-width:220px}.ref-hint{color:var(--red);font-size:12px}.node-insert{justify-content:center;align-items:center;display:flex;position:relative}.node-insert:not(.prominent){height:16px;margin:1px 0}.node-insert.prominent{margin-top:12px}.insert-btn{border:1px solid var(--border-strong);background:var(--panel-2);width:22px;height:22px;color:var(--muted);cursor:pointer;opacity:0;z-index:2;border-radius:50%;padding:0;font-size:14px;line-height:1;transition:opacity .12s}.node-insert:hover .insert-btn,.node-insert.open .insert-btn{opacity:1}.insert-btn:hover{color:var(--text);border-color:var(--accent)}.menu-overlay{z-index:49;position:fixed;inset:0}.node-menu{z-index:50;background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius);width:320px;max-height:340px;box-shadow:var(--shadow);padding:6px;position:absolute;top:24px;left:50%;overflow-y:auto;transform:translate(-50%)}.node-menu.up{top:auto;bottom:28px}.node-menu>button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:baseline;gap:8px;padding:6px 9px;display:flex}.node-menu>button:hover{background:var(--accent-soft)}.node-menu .menu-color{border-radius:2px;flex-shrink:0;align-self:center;width:8px;height:8px}.node-menu .menu-label{white-space:nowrap;font-weight:650}.node-menu .menu-desc{color:var(--muted);font-size:12px}.status-dot{background:#5f6774;border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.st-in_progress{background:var(--yellow)}.status-dot.st-done{background:var(--green)}.status-select{width:auto;padding:4px 8px;font-size:13px}.status-select.st-draft{color:var(--muted)}.status-select.st-in_progress{color:var(--yellow)}.status-select.st-done{color:var(--green)}.editor-head-row{align-items:center;gap:10px;display:flex}.editor-head-row .scene-title-input{flex:1;min-width:0}.view-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);flex-shrink:0;display:inline-flex;overflow:hidden}.view-toggle button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:5px 12px;font-size:13px;font-weight:550}.view-toggle button.active{background:var(--accent-soft);color:var(--text)}.node-comments-chip{border:1px solid var(--border-strong);background:var(--panel-2);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:3px;margin-left:8px;padding:1px 7px;font-size:11px;display:inline-flex}.node-comments-chip:hover{color:var(--text);border-color:var(--accent)}.comment-node-chip{cursor:pointer;font:inherit;border:none;font-size:11px}button.comment-node-chip:hover{color:var(--accent)}.comment-target{border:1px dashed var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);align-items:center;gap:6px;margin-top:12px;padding:6px 10px;font-size:13px;display:flex}.todo-count{color:var(--yellow);font-weight:600}@keyframes node-flash-kf{0%{box-shadow:0 0 0 3px var(--accent)}to{box-shadow:0 0 0 3px #0000}}.node-flash{border-radius:var(--radius);animation:2.2s ease-out node-flash-kf}tr.row-flash td{animation:2.2s ease-out node-flash-kf}.script-table-wrap{overflow-x:auto}.script-table{border-collapse:collapse;table-layout:fixed;width:100%}.script-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-bottom:1px solid var(--border);background:var(--bg);z-index:2;padding:6px 8px;font-size:11px;position:sticky;top:0}.script-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:3px 8px}.script-table tr.active td{background:var(--accent-soft)}.script-table .col-num{width:44px;color:var(--muted);padding-top:9px;font-size:12px}.script-table .col-type{width:120px}.script-table .col-speaker{width:160px}.script-table .col-params{width:26%}.script-table .col-actions{width:64px}.script-table .row-actions{opacity:0;display:inline-flex}.script-table tr:hover .row-actions,.script-table tr.active .row-actions{opacity:1}.cell-text,.cell-input{width:100%;color:var(--text);font:inherit;resize:none;background:0 0;border:1px solid #0000;border-radius:5px;min-height:30px;padding:5px 6px;overflow:hidden}.cell-input{min-height:28px}.cell-text:hover,.cell-input:hover{border-color:var(--border-strong)}.cell-text:focus,.cell-input:focus{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.cell-text.invalid{border-color:var(--red);color:var(--red)}.cell-text:disabled,.cell-input:disabled{color:var(--muted)}.cell-select{max-width:100%;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;border-radius:5px;padding:4px 2px;font-size:13px}.cell-select:hover{border-color:var(--border-strong)}.cell-select:focus{border-color:var(--accent);background:var(--bg);outline:none}.cell-params-inner{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.flags-input{width:110px}.choice-cell{flex-direction:column;gap:6px;display:flex}.choice-expand{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);flex-direction:column;gap:4px;padding:6px;display:flex}.choice-expand-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.table-footer{align-items:center;gap:14px;padding:10px 0;display:flex}.paste-preview td,.paste-preview th{font-size:13px}body.nf-focus .app>.sidebar,body.nf-focus .mobile-topbar,body.nf-focus .main>.project-header,body.nf-focus .main>.tabs,body.nf-focus .script-tree,body.nf-focus .mobile-pane-switch{display:none}body.nf-focus .script-page{height:100vh}body.nf-focus .editor-body{max-width:860px;margin:0 auto;font-size:16px}body.nf-focus .text-view-area{padding:24px 28px;font-size:17px;line-height:1.8}body.nf-focus .editor-head{padding-left:max(24px,50% - 430px);padding-right:max(24px,50% - 430px)}.icon-btn.active{color:var(--accent);border-color:var(--accent)}.text-view{flex-direction:column;gap:8px;display:flex}.text-view-area{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);width:100%;min-height:320px;color:var(--text);font:inherit;resize:none;padding:16px 18px;font-size:15px;line-height:1.65;overflow:hidden}.text-view-area:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.text-view-area:disabled{color:var(--muted)}.text-view-warnings{border:1px solid var(--yellow);border-radius:var(--radius-sm);color:var(--yellow);background:#f5b94414;flex-direction:column;gap:2px;padding:8px 12px;font-size:12px;display:flex}.text-view-footer{align-items:center;gap:12px;display:flex}.text-view-help{border-collapse:collapse;font-size:13px}.text-view-help td{border-bottom:1px solid var(--border);vertical-align:top;padding:4px 10px 4px 0}.text-view-help td:last-child{color:var(--muted)}.text-view-help code{background:var(--panel-2);white-space:nowrap;border-radius:4px;padding:1px 6px}.conflict-banner{border:1px solid var(--yellow);border-radius:var(--radius);background:#f5b9441a;flex-direction:column;gap:8px;margin-bottom:14px;padding:10px 14px;display:flex}.conflict-title{color:var(--yellow);font-size:13px;font-weight:650}.conflict-actions{flex-wrap:wrap;gap:8px;display:flex}.conflict-hint{color:var(--muted);font-size:12px}.save-indicator.conflict{color:var(--yellow)}.editor-meta .presence-badge{align-self:center}.versions-layout{gap:14px;min-height:300px;max-height:56vh;display:flex}.versions-list{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;width:252px;padding-right:10px;display:flex;overflow-y:auto}.version-item{border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;padding:7px 9px;display:block}.version-item:hover{background:var(--panel-2)}.version-item.active{background:var(--accent-soft);border-color:var(--accent)}.version-item-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.version-item-head .version-author{min-width:0;font-size:13px;font-weight:650}.version-item-head .badge{flex-shrink:0}.version-item-meta{color:var(--muted);margin-top:2px;font-size:12px;display:block}.versions-preview{flex:1;min-width:0;overflow-y:auto}.version-node{border-bottom:1px solid var(--border);align-items:baseline;gap:8px;padding:4px 2px;font-size:13px;line-height:1.45;display:flex}.version-node:last-child{border-bottom:none}.version-dot{border-radius:2px;flex-shrink:0;align-self:center;width:8px;height:8px}.version-node-type{width:86px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;font-size:11px;font-weight:700}.version-node-text{white-space:pre-wrap;word-break:break-word;min-width:0}@media (width<=1100px){.script-tree{width:258px}.editor-head,.editor-body{padding-inline:18px}.editor-head-row{flex-wrap:wrap}.editor-head-row .scene-title-input{flex:340px}}@media (width<=800px){.script-page{flex-direction:column;height:auto;min-height:0}.mobile-pane-switch{border-bottom:1px solid var(--border);background:var(--panel);flex:none;grid-template-columns:1fr 1fr;padding:8px 12px;display:grid}.mobile-pane-switch button{border:1px solid var(--border-strong);min-height:36px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;padding:6px 12px;font-weight:600}.mobile-pane-switch button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.mobile-pane-switch button:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-left:-1px}.mobile-pane-switch button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);position:relative}.mobile-pane-switch button:disabled{opacity:.45;cursor:default}.script-tree,.script-editor{border-right:0;flex:auto;width:100%;min-width:0}.mobile-pane-tree>.script-editor,.mobile-pane-editor>.script-tree{display:none}.script-tree-scroll{padding-inline:10px}.tree-scene{min-height:42px;padding-left:10px}.editor-head{padding:10px 12px 8px}.editor-head-row{gap:7px}.editor-head-row .scene-title-input{flex-basis:calc(100% - 150px);font-size:17px}.status-select{max-width:132px}.view-toggle{order:3}.view-toggle button{padding-inline:10px}.editor-body{max-width:none;padding:12px 12px calc(36px + env(safe-area-inset-bottom))}.editor-meta{gap:5px}.node-row>.select,.node-row>.input,.node-row .speaker-input,.node-row .flag-input,.node-row .label-input,.node-row .flags-input{max-width:100%}.node-menu{width:min(320px,100vw - 28px)}.versions-layout{flex-direction:column;max-height:64vh}.versions-list{border-right:0;border-bottom:1px solid var(--border);width:100%;max-height:180px;padding:0 0 10px}body.nf-focus .script-page{height:100dvh}}@media (width<=480px){.editor-head-row .scene-title-input{flex-basis:100%}.status-select{flex:1;order:2}.view-toggle{width:100%}.view-toggle button{flex:1;min-width:0;padding-inline:7px}.node-card{padding-inline:9px}.node-head{flex-wrap:wrap}.node-actions{margin-left:auto}.text-view-area{padding:13px 12px}.text-view-footer{flex-direction:column;align-items:flex-start}}@media (hover:none),(pointer:coarse){.tree-actions{display:inline-flex}.tree-scene .scene-count{display:none}.tree-actions .icon-btn,.node-actions .icon-btn{width:32px;min-width:32px;height:32px;min-height:32px}.node-actions,.script-table .row-actions,.insert-btn{opacity:1}.insert-btn{width:30px;height:30px}.node-insert:not(.prominent){height:30px}}.doc-icon{flex-shrink:0;font-size:13px}.doc-tree-select{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:0;display:flex}.doc-tree-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.doc-editor-body{flex-direction:column;gap:8px;display:flex}.doc-area{min-height:420px}.md-preview{padding:4px 2px;font-size:15px;line-height:1.65}.md-preview h1{margin:18px 0 8px;font-size:24px}.md-preview h2{margin:16px 0 6px;font-size:20px}.md-preview h3{margin:14px 0 4px;font-size:17px}.md-preview h4{margin:12px 0 4px;font-size:15px}.md-preview p{margin:0 0 10px}.md-preview ul,.md-preview ol{margin:0 0 10px;padding-left:22px}.md-preview li{margin:2px 0}.md-preview blockquote{border-left:3px solid var(--accent);background:var(--panel);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--muted);margin:0 0 10px;padding:6px 12px}.md-preview pre{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 10px;padding:10px 12px;font-size:13px;overflow-x:auto}.md-preview code{background:var(--panel-2);border-radius:4px;padding:1px 5px;font-size:.9em}.md-preview pre code{background:0 0;padding:0}.md-preview a{color:var(--accent)}.md-preview hr{border:none;border-top:1px solid var(--border);margin:14px 0}@media (width<=800px){.doc-area{min-height:max(360px,52dvh)}.doc-editor-body{gap:6px}}@media (width<=480px){.md-preview{font-size:14px}.md-preview h1{font-size:21px}.md-preview h2{font-size:18px}}.char-card{cursor:pointer;text-align:left;font:inherit;color:var(--text);width:100%;padding:10px;display:block}.char-thumb{object-fit:contain;aspect-ratio:4/3}.char-placeholder{aspect-ratio:4/3;border-radius:var(--radius-sm);border:1px solid var(--border);color:#ffffffeb;text-shadow:0 1px 3px #00000059;justify-content:center;align-items:center;width:100%;font-size:40px;font-weight:700;display:flex}.char-name{margin-top:10px;font-size:15px;font-weight:650}.char-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;display:-webkit-box;overflow:hidden}.color-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.color-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;width:46px;height:30px;padding:2px}.color-swatches{flex-wrap:wrap;gap:6px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0}.color-swatch:hover{transform:scale(1.12)}.color-swatch.active{border-color:var(--text);box-shadow:0 0 0 2px var(--accent)}.sprite-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.sprite-tile{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px}.sprite-img{aspect-ratio:3/4;object-fit:contain;background:var(--bg);border:1px solid var(--border);border-radius:6px;width:100%;display:block}.sprite-name-input{margin-top:6px;padding:3px 7px;font-size:12px}.sprite-actions{align-items:center;gap:2px;margin-top:4px;display:flex}.sprite-actions .spacer{flex:1}.assets-page{position:relative}.assets-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.assets-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-strong);color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:99px;padding:4px 11px;font-size:13px;font-weight:550;transition:background .12s,color .12s,border-color .12s}.chip:hover{background:var(--panel-2);color:var(--text)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.assets-search{width:220px}.assets-upload{align-items:center;gap:8px;margin-left:auto;display:flex}.assets-upload .select{width:150px}.assets-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.asset-card{cursor:pointer;text-align:left;flex-direction:column;gap:8px;padding:10px;display:flex}.asset-card-open{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:8px;padding:0;display:flex}.asset-card-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.asset-card .asset-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.asset-card .asset-meta{align-items:center;gap:8px;display:flex}.asset-card .asset-meta .asset-size{margin-left:auto}.asset-used-badge{white-space:nowrap}.asset-audio{aspect-ratio:16/10;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;padding:8px;display:flex}.asset-audio .asset-audio-icon{color:var(--muted);font-size:26px}.asset-audio audio{width:100%;height:32px}.assets-drop-overlay{z-index:90;pointer-events:none;background:#0f1115bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.assets-drop-inner{border:2px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft);text-align:center;padding:42px 64px;font-size:16px;font-weight:650}.assets-drop-inner .small{margin-top:6px}.asset-preview{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-height:120px;margin-bottom:16px;padding:10px;display:flex}.asset-preview img{object-fit:contain;max-width:100%;max-height:320px;display:block}.asset-preview audio{width:100%}.asset-preview .asset-preview-icon{color:var(--muted);padding:20px 0;font-size:56px}.asset-actions{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.asset-actions .spacer{flex:1}.asset-info{border-top:1px solid var(--border);grid-template-columns:auto 1fr;gap:4px 14px;margin-bottom:16px;padding-top:12px;font-size:13px;display:grid}.asset-info dt{color:var(--muted);margin:0}.asset-info dd{word-break:break-all;margin:0}.asset-usage{border-top:1px solid var(--border);margin-bottom:16px;padding-top:12px}.asset-usage-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.asset-usage-list li:before{content:"·";color:var(--muted);margin-right:7px}@media (width<=720px){.assets-toolbar{align-items:stretch}.assets-chips{overscroll-behavior-x:contain;flex-wrap:nowrap;width:100%;padding-bottom:4px;overflow-x:auto}.chip{flex:none;min-height:38px}.assets-search{width:100%}.assets-upload{width:100%;margin-left:0}.assets-upload .select{flex:1;width:auto;min-width:0}.assets-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-card .asset-meta{flex-wrap:wrap;align-items:flex-start;gap:5px}.asset-card .asset-meta .asset-size{width:100%;margin-left:0}.assets-drop-inner{max-width:calc(100vw - 28px);padding:28px 22px}}@media (width<=360px){.assets-grid{grid-template-columns:minmax(0,1fr)}}.board-page{max-width:none}.board-filter{width:auto;min-width:160px}.board{align-items:stretch;gap:14px;min-height:calc(100vh - 240px);padding-bottom:8px;display:flex;overflow-x:auto}.board-col{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:1 0 240px;min-width:240px;max-width:340px;transition:border-color .12s,background .12s;display:flex}.board-col.drag-over{border-color:var(--accent);background:var(--accent-soft)}.board-col-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.board-col-title{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:650;overflow:hidden}.board-col-body{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.board-col-empty{color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:14px 0;font-size:12px}.task-card{background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:inherit;font:inherit;text-align:left;cursor:grab;padding:9px 11px;transition:border-color .12s,transform .12s;display:block}.task-card:hover{border-top-color:var(--border-strong);border-right-color:var(--border-strong);border-bottom-color:var(--border-strong)}.task-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-card:active{cursor:grabbing}.task-card.prio-1{border-left-color:var(--red)}.task-card.prio-2{border-left-color:var(--border-strong)}.task-card.prio-3{border-left-color:#565d69}.task-card-title{word-break:break-word;margin-bottom:7px;font-weight:600;display:block}.task-card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.task-modal-comments{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.task-source{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2);align-items:center;gap:7px;margin-bottom:16px;padding:9px 10px;font-size:13px;display:flex}.task-source-link{color:var(--accent-hover);align-items:center;gap:7px;text-decoration:none;display:inline-flex}.task-source-link:hover{text-decoration:underline}.task-source-missing{color:var(--muted)}@media (width<=720px){.board-page .page-header .spacer{display:none}.board-page .page-header h1,.board-filter,.board-page .page-header .btn{width:100%}.board{scroll-snap-type:x proximity;gap:10px;min-height:calc(100dvh - 300px);margin-inline:-14px;padding-inline:14px;scroll-padding-inline:14px}.board-col{scroll-snap-align:start;flex-basis:calc(100vw - 48px);min-width:calc(100vw - 48px);max-width:calc(100vw - 48px)}.board-col-body{overflow-y:visible}}.export-page{max-width:1040px}.export-header,.export-summary-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.export-header{margin-bottom:18px}.export-header h2,.export-summary h3,.export-format h3,.preflight h3{margin:0}.preflight{border-bottom:1px solid var(--border);margin-bottom:4px;padding:0 0 22px}.preflight-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.preflight-heading .icon-btn:disabled{opacity:.65}.preflight .icon-spin{animation:.8s linear infinite spin}.preflight-overview{border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(92px,1fr)) minmax(150px,auto);display:grid}.preflight-overview>div{border-right:1px solid var(--border);flex-direction:column;justify-content:center;min-height:64px;padding:9px 14px;display:flex}.preflight-overview>div:first-child{padding-left:0}.preflight-overview>div:last-child{border-right:0}.preflight-overview strong{font-variant-numeric:tabular-nums;font-size:17px}.preflight-overview span{color:var(--muted);font-size:12px}.preflight-overview .preflight-ready,.preflight-overview .preflight-blocked{flex-direction:row;align-items:center;gap:7px}.preflight-overview .preflight-ready{color:var(--green)}.preflight-overview .preflight-blocked{color:var(--red)}.preflight-overview .preflight-ready span,.preflight-overview .preflight-blocked span{color:currentColor;font-weight:600}.preflight-filters{border:1px solid var(--border-strong);border-radius:var(--radius-sm);scrollbar-width:thin;max-width:100%;margin:14px 0 10px;display:inline-flex;overflow-x:auto}.preflight-filters button{border:0;border-right:1px solid var(--border-strong);min-height:32px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.preflight-filters button:last-child{border-right:0}.preflight-filters button:hover{color:var(--text);background:var(--panel-2)}.preflight-filters button.active{color:var(--text);background:var(--accent-soft)}.preflight-filters button span{min-width:18px;color:inherit;font-variant-numeric:tabular-nums;text-align:center}.preflight-issues{border-top:1px solid var(--border)}.preflight-issue{border-bottom:1px solid var(--border);min-height:50px;color:var(--text);grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:8px 6px;display:grid}.preflight-issue:hover{background:#ffffff06;text-decoration:none}.preflight-issue-error>svg:first-child{color:var(--red)}.preflight-issue-warning>svg:first-child{color:var(--yellow)}.preflight-issue-info>svg:first-child{color:var(--blue)}.preflight-issue>svg:last-child{color:var(--muted)}.preflight-issue-copy{flex-direction:column;min-width:0;display:flex}.preflight-issue-copy strong{font-size:13px;font-weight:600}.preflight-issue-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.preflight-ok{min-height:48px;color:var(--green);align-items:center;gap:8px;font-weight:600;display:flex}.preflight-filter-empty{min-height:48px;padding:12px 2px}.preflight>.spinner{margin:24px auto 8px}.preflight>.query-error{margin-top:12px}.export-formats{border-top:1px solid var(--border)}.export-format{border-bottom:1px solid var(--border);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:92px;padding:14px 0;display:grid}.export-format-icon{width:36px;height:36px;color:var(--accent-hover);background:var(--accent-soft);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:flex}.export-format-copy{min-width:0}.export-format-copy h3{margin-bottom:2px}.export-format-copy code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:12px;display:block;overflow:hidden}.export-format .btn:hover,.export-assets-link:hover{text-decoration:none}.export-summary{border-bottom:1px solid var(--border);padding:18px 0}.export-assets-link{align-items:center;gap:6px;font-size:13px;display:inline-flex}.export-file-groups{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin-top:14px;display:grid}.export-file-group{border-bottom:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:9px 12px 9px 0;display:flex}.export-file-group strong{color:var(--text)}.export-summary>.btn{margin-top:14px}.export-summary .spinner{margin:20px auto 4px}@media (width<=640px){.export-header{align-items:flex-start}.export-header>.btn{flex:none}.export-format{grid-template-columns:36px minmax(0,1fr)}.export-format>.btn{grid-column:1/-1;width:100%}.export-summary-heading{align-items:flex-start}.export-assets-link{flex:none}.preflight-overview{grid-template-columns:repeat(2,1fr)}.preflight-overview>div,.preflight-overview>div:first-child{border-bottom:1px solid var(--border);padding-left:10px}.preflight-overview>div:nth-child(2n){border-right:0}.preflight-overview>div:nth-last-child(-n+2){border-bottom:0}.preflight-filters{display:flex}.preflight-filters button{flex:1 0 auto}}
