/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.block{display:block}.contents{display:contents}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}}:root{--font-size-small:12px;--font-size-body:14px;--font-size-title:16px;--canvas:#f4f5f4;--surface:#fff;--surface-subtle:#f7f8f7;--line:#e1e4e2;--line-strong:#cbd1cd;--ink:#18231f;--muted:#66726d;--brand:#245b6d;--brand-strong:#174957;--brand-soft:#eaf1f2;--success:#247553;--warning:#9a641b;--danger:#c13b3b;--radius:10px}*{box-sizing:border-box}html{min-width:1180px}body,html{background:var(--canvas)}body{min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{grid-template-rows:64px minmax(0,1fr);min-height:100vh}.app-header{z-index:10;border-bottom:1px solid var(--line);color:var(--ink);background:#fffffff5;justify-content:space-between;padding:0 24px;position:relative;box-shadow:0 1px 10px #142d240a}.app-header,.brand-block,.header-actions,.museum-switcher,.user-pill{align-items:center;display:flex}.brand-block{gap:12px}.brand-name{font-size:var(--font-size-title);letter-spacing:-.02em;margin:0;font-weight:680}.brand-description{color:var(--muted);font-size:var(--font-size-small);margin:2px 0 0}.workspace-shell-state{text-align:center;place-items:center;min-height:100vh;padding:32px;display:grid}.workspace-shell-state h1{font-size:var(--font-size-title);margin:0 0 12px}.workspace-shell-state p{color:var(--muted);font-size:var(--font-size-body);margin:0 0 16px}.primary-link{color:#fff;background:var(--brand);min-height:38px;font-size:var(--font-size-small);border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-weight:620;text-decoration:none;display:inline-flex}.header-actions{gap:12px}.museum-switcher{border:1px solid var(--line);background:var(--surface-subtle);min-width:210px;max-width:300px;font-size:var(--font-size-body);border-radius:8px;gap:8px;padding:7px 11px}.museum-switcher small{color:var(--muted)}.museum-switcher span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:620;overflow:hidden}.user-pill{color:var(--ink);font-size:var(--font-size-small);gap:8px;text-decoration:none}.user-pill-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;min-height:38px;padding:4px 9px 4px 4px}.user-pill-button small{color:var(--muted)}.user-avatar{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.workspace{background:var(--line);grid-template-columns:260px minmax(640px,1fr) 360px;gap:1px;min-height:0;display:grid;overflow:hidden}.panel{background:var(--surface);min-width:0}.preview-panel,.tree-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;min-height:68px;padding:15px 16px 13px;display:flex}.panel-heading h2{font-size:var(--font-size-body);margin:0;font-weight:680}.panel-heading p{color:var(--muted);font-size:var(--font-size-small);margin:5px 0 0}.tree-scope-label{border:1px solid var(--line);color:var(--brand-strong);background:var(--brand-soft);font-size:var(--font-size-small);border-radius:7px;padding:6px 8px}.primary-button,.quiet-button,.secondary-button,.tree-item{cursor:pointer;border:0}.quiet-button{border:1px solid var(--line);background:var(--surface);color:var(--brand);font-size:var(--font-size-small);border-radius:7px;padding:6px 9px}.primary-button:focus-visible,.quiet-button:focus-visible,.secondary-button:focus-visible,.tree-item:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;outline:3px solid #245b6d38}.tree-tools{padding:12px 12px 8px}.tree-action-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.tree-action-button,.tree-form-close,.tree-form-submit,.tree-mutation-error button{border:1px solid var(--line-strong);cursor:pointer;min-height:36px;font-size:var(--font-size-small);border-radius:7px;font-weight:620}.tree-action-button{color:#45534d;background:var(--surface);padding:0 7px}.tree-action-button:hover:not(:disabled){background:var(--brand-soft);border-color:#95a9a2}.tree-action-button:first-child{border-color:var(--brand);color:#fff;background:var(--brand);grid-column:1/-1}.tree-action-button:first-child:hover:not(:disabled){border-color:var(--brand-strong);background:var(--brand-strong)}.tree-action-button-compact{grid-column:auto/span 1}.tree-action-button:disabled,.tree-form-close:disabled,.tree-form-submit:disabled,.tree-mutation-error button:disabled{cursor:not-allowed;opacity:.46}.tree-lock-note{color:var(--warning);font-size:var(--font-size-small);margin:8px 0 0;line-height:1.5}.tree-mutation-form{background:#f7fbff;border:1px solid #cbdced;border-radius:8px;gap:7px;margin-top:10px;padding:10px;display:grid}.tree-mutation-heading{color:var(--ink);font-size:var(--font-size-small);justify-content:space-between;align-items:center;gap:8px;line-height:1.45;display:flex}.tree-mutation-form label{color:var(--muted);font-size:var(--font-size-small);font-weight:620}.tree-mutation-form input,.tree-mutation-form select{border:1px solid var(--line-strong);width:100%;min-height:38px;color:var(--ink);background:var(--surface);font-size:var(--font-size-small);border-radius:7px;padding:7px 9px}.tree-mutation-form small{color:var(--muted);font-size:var(--font-size-small);line-height:1.5}.tree-form-close{min-height:30px;color:var(--muted);background:0 0;border-color:#0000;padding:0 8px}.tree-form-submit{border-color:var(--brand);color:#fff;background:var(--brand);margin-top:2px;padding:0 10px}.tree-form-submit:hover:not(:disabled){background:var(--brand-strong)}.tree-action-button:focus-visible,.tree-form-close:focus-visible,.tree-form-submit:focus-visible,.tree-mutation-error button:focus-visible{outline-offset:1px;outline:3px solid #245b6d38}.tree-mutation-error{gap:8px;display:grid}.tree-mutation-error button{color:#8d2f2f;background:#fff;border-color:#dfaaaa;justify-self:start;min-height:32px;padding:0 9px}.search-box{border:1px solid var(--line);width:100%;color:var(--ink);font-size:var(--font-size-small);background:#fff;border-radius:8px;padding:9px 10px}.tree-progress{border:1px solid var(--line);background:var(--surface-subtle);border-radius:9px;gap:7px;margin:2px 12px 10px;padding:11px;display:grid}.tree-progress-row{justify-content:space-between;align-items:center}.tree-progress-meta,.tree-progress-row{font-size:var(--font-size-small);display:flex}.tree-progress-meta{color:var(--muted);flex-wrap:wrap;gap:6px 10px}.tree-progress-note{color:#7c7468;font-size:var(--font-size-small)}.panel-error,.panel-note{font-size:var(--font-size-small);border-radius:8px;margin:0 14px 10px;padding:10px 12px;line-height:1.55}.panel-error{color:#8d2f2f;background:#fff5f5;border:1px solid #efc8c8}.panel-note{color:#52606b;background:#f7fafc;border:1px solid #d5e1ed}.tree-list{flex:1;align-content:start;gap:2px;min-height:0;margin:0;padding:3px 10px 20px;list-style:none;display:grid;overflow:auto}.tree-item{width:100%;padding:8px 8px 8px calc(8px + var(--tree-depth) * 16px);text-align:left;background:0 0;border-radius:7px;grid-template-columns:16px minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.tree-item:hover{background:var(--surface-subtle)}.tree-item[aria-current=true]{background:var(--brand-soft);color:var(--brand-strong)}.node-symbol{border:1px solid var(--line-strong);width:16px;height:16px;color:var(--muted);font-size:var(--font-size-small);border-radius:4px;place-items:center;font-weight:700;display:grid}.tree-item[aria-current=true] .node-symbol{color:var(--brand);background:#fff;border-color:#8eb0b9}.node-name{min-width:0;text-overflow:ellipsis;overflow:hidden}.node-error-count,.node-name{font-size:var(--font-size-small);white-space:nowrap}.node-error-count{color:var(--danger);font-weight:700}.node-status{background:var(--line-strong);border-radius:50%;width:7px;height:7px}.node-status.complete{background:var(--success)}.node-status.pending{background:#e0a23e}.editor-panel{background:var(--canvas);min-width:0;overflow:auto}.editor-wrap{max-width:840px;margin:0 auto;padding:20px 24px 84px}.breadcrumb{color:var(--muted);font-size:var(--font-size-small);margin-bottom:10px}.editor-title-row{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.editor-title-row h1{font-size:var(--font-size-title);letter-spacing:-.025em;margin:0;font-weight:720}.editor-title-row p{color:var(--muted);font-size:var(--font-size-small);margin:6px 0 0}.status-chip{color:var(--warning);font-size:var(--font-size-small);background:#faf7ef;border:1px solid #d8d0bb;border-radius:99px;padding:6px 9px}.form-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:12px;padding:20px;box-shadow:0 1px 1px #1a263205}.section-title{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.section-title h2{font-size:var(--font-size-body);margin:0;font-weight:680}.section-note{color:var(--muted);font-size:var(--font-size-small)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}.field label{color:#3b4650;font-size:var(--font-size-small);font-weight:620}.required{color:var(--danger);margin-left:3px}.field input,.field select,.field textarea{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fff;border-radius:8px}.field input,.field select{height:39px;padding:0 10px}.field textarea{resize:vertical;min-height:104px;padding:10px;line-height:1.65}.field.full>.panel-note{margin:0}.readonly-value{border:1px solid var(--line);color:#52606b;background:var(--surface-subtle);min-height:39px;font-size:var(--font-size-small);border-radius:8px;align-items:center;padding:8px 10px;display:flex}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.checkbox-item{border:1px solid var(--line);background:var(--surface-subtle);min-height:39px;font-size:var(--font-size-small);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.ai-card{background:#f5f8f7;border:1px solid #cfdcda;border-radius:9px;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px;display:grid}.ai-mark{color:#fff;background:var(--brand);width:32px;height:32px;border-radius:8px;place-items:center;font-weight:750;display:grid}.ai-card strong,.ai-mark{font-size:var(--font-size-small)}.ai-card strong{margin-bottom:4px;display:block}.ai-card p{color:var(--muted);margin:0;line-height:1.55}.ai-card p,.candidate-box{font-size:var(--font-size-small)}.candidate-box{background:#fff;border:1px solid #d7e0dd;border-radius:8px;margin-top:10px;padding:10px;line-height:1.6}.candidate-list{gap:8px;margin-top:10px;display:grid}.candidate-list-button{min-height:36px;color:var(--muted);font-size:var(--font-size-small);background:#fff;border:1px solid #d7e0dd;border-radius:8px;justify-content:space-between;align-items:center;padding:0 10px;display:flex}.candidate-list-button.active{background:var(--brand-soft);color:var(--brand);border-color:#8eb0b9}.candidate-status{color:var(--brand);font-size:var(--font-size-small);margin:0 0 6px;font-weight:650}.primary-button,.secondary-button{min-height:36px;font-size:var(--font-size-small);border-radius:8px;padding:0 13px;font-weight:620}.secondary-button{border:1px solid var(--line-strong);background:#fff}.primary-button{color:#fff;background:var(--brand)}.primary-button:hover{background:var(--brand-strong)}.upload-zone{width:100%;min-height:86px;color:var(--muted);background:var(--surface-subtle);font-size:var(--font-size-small);text-align:center;border:1px dashed #b8c4ce;border-radius:9px;place-items:center;display:grid}.upload-zone strong{color:var(--brand);margin-bottom:4px;display:block}.editor-actions{z-index:3;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f5f4f0;justify-content:space-between;align-items:center;min-height:60px;margin:0;padding:12px 24px;display:flex;position:fixed;bottom:0;left:261px;right:361px}.save-state{color:var(--muted);font-size:var(--font-size-small)}.action-group{gap:8px;display:flex}.action-group-column{flex-direction:column}.sr-only-input{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.media-list{gap:10px;margin-top:12px;display:grid}.media-item{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.media-item p{color:var(--muted);font-size:var(--font-size-small);margin:4px 0 0}.preview-body{flex:1;order:2;min-height:0;padding:18px;overflow:auto}.preview-cover{color:#58716b;height:150px;background:linear-gradient(145deg,#ffffffb8,#0000 46%),linear-gradient(135deg,#d9e2df,#c9d8d5);border-radius:10px;place-items:center;display:grid}.preview-cover,.preview-kicker{font-size:var(--font-size-small)}.preview-kicker{color:var(--brand);letter-spacing:.12em;margin:18px 0 7px;font-weight:700}.preview-body h2{font-size:var(--font-size-title);margin:0;line-height:1.35}.preview-summary{color:#52606b;font-size:var(--font-size-small);margin:12px 0 0;line-height:1.75}.preview-meta{border-top:1px solid var(--line);gap:9px;margin-top:18px;padding-top:15px;display:grid}.preview-meta-row{color:var(--muted);font-size:var(--font-size-small);justify-content:space-between;gap:12px;display:flex}.preview-meta-row strong{color:var(--ink);text-align:right;font-weight:600}.check-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.check-item{border:1px solid var(--line);border-radius:8px;grid-template-columns:18px 1fr;align-items:start;gap:8px;padding:10px;display:grid}.check-icon,.check-item{font-size:var(--font-size-small)}.check-icon{color:#fff;background:var(--success);width:18px;height:18px;border-radius:50%;place-items:center;display:grid}.check-icon.pending{background:var(--warning)}.editor-context{color:var(--muted);font-size:var(--font-size-small);align-items:center;gap:7px;margin-bottom:12px;display:flex}.editor-context strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:620;overflow:hidden}.editor-context-state{color:var(--brand-strong);background:var(--brand-soft);border-radius:99px;margin-left:auto;padding:4px 7px}.submission-card{box-shadow:none;border-width:1px 0 0;border-radius:0;order:4;margin:0;padding:15px 16px 16px}.submission-card .section-title{margin-bottom:10px}.submission-card .section-note{text-align:right}.submission-card textarea{min-height:58px}.submission-card>.panel-error,.submission-card>.panel-note{margin:9px 0}.identity-page{color:#333;background:#f3f5f8 url(/identity/login-background.png) 50%/cover no-repeat;place-items:center;width:100%;min-width:0;min-height:100dvh;padding:24px;font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;display:grid;overflow:hidden auto}.identity-card{box-sizing:border-box;background:#fffc;border:0;border-radius:12px;width:500px;max-width:100%;box-shadow:0 10px 20px #0000001a}.identity-card-login{width:470px;height:352px;position:relative;transform:translateY(-51px)}.identity-card-profile{min-height:561px;padding:51px 40px 40px}.identity-card-pending{text-align:center;min-height:324px;padding:51px 40px 40px;transform:translateY(-52px)}.identity-card-scope{min-height:360px;padding:51px 40px 40px}.identity-scope-list{gap:12px;margin-top:24px;display:grid}.identity-scope-option{color:#333;cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e5e5;border-radius:8px;gap:5px;width:100%;padding:14px 16px;display:grid}.identity-scope-option:focus-visible,.identity-scope-option:hover{border-color:#2467ce;outline:0;box-shadow:0 0 0 3px #2467ce1f}.identity-scope-option span{color:#777;font-size:var(--font-size-small)}.identity-brand{width:246px;height:31px;margin-bottom:34px}.identity-card-login .identity-brand{margin:0;position:absolute;top:51px;left:35px}.identity-brand-centered{margin-bottom:39px;margin-left:auto;margin-right:auto}.identity-brand img{width:100%;height:auto;display:block}.identity-card h1{color:#333;font-size:var(--font-size-title);letter-spacing:0;margin:0;font-weight:600;line-height:31px}.identity-description{color:#999;font-size:var(--font-size-body);margin:8px 0 25px;font-weight:400;line-height:20px}.identity-field{gap:7px;margin-bottom:15px;display:grid}.identity-field label{color:#333;font-size:var(--font-size-body);font-weight:400;line-height:18px}.identity-field input,.identity-inline-row{width:100%;height:40px}.identity-field input{color:#333;font-size:var(--font-size-body);background:#fff;border:1px solid #e5e5e5;border-radius:8px;outline:0;padding:0 12px}.identity-field input::placeholder{color:#c4c4c4}.identity-field input:focus,.identity-inline-row:focus-within{border-color:#2467ce;box-shadow:0 0 0 3px #2467ce1f}.identity-login-form{grid-template-rows:40px 40px 40px;row-gap:16px;width:400px;display:grid;position:absolute;top:124px;left:35px}.identity-inline-row{background:#fff;border:1px solid #e5e5e5;border-radius:8px;display:grid;overflow:hidden}.identity-phone-input{grid-template-columns:70px 1fr}.identity-inline-row span{color:#3d3d3d;font-size:var(--font-size-body);place-items:center;font-weight:400;display:grid;position:relative}.identity-inline-row span:after{content:"";background:#e5e5e5;width:1px;position:absolute;top:0;bottom:0;right:0}.identity-inline-row input{height:38px;box-shadow:none;font-size:var(--font-size-body);border:0;border-radius:0;padding-left:12px}.identity-inline-row input::placeholder{color:#999}.identity-inline-row input:focus{box-shadow:none}.identity-code-row{grid-template-columns:70px 1fr 104px}.identity-code-row input{border:0;border-radius:0;height:38px;padding:0 12px}.identity-code-button{color:#2467ce;background:#fff;position:relative}.identity-code-button,.identity-primary{cursor:pointer;font-size:var(--font-size-body);border:0}.identity-primary{color:#fff;width:100%;height:40px;background:#333;border-radius:8px;margin-top:5px;font-weight:500}.identity-card-login .identity-primary{margin-top:23px}.identity-primary:hover:not(:disabled){background:#1f1f1f}.identity-code-button:focus-visible,.identity-primary:focus-visible{outline-offset:2px;outline:3px solid #2467ce33}.identity-code-button:disabled,.identity-primary:disabled{cursor:not-allowed;opacity:.56}.identity-profile-fields{gap:0;display:grid}.identity-card-profile .identity-brand{margin-bottom:29px}.identity-card-profile .identity-field{margin-bottom:5px}.identity-card-profile .identity-primary{margin-top:4px}.identity-card-pending h1{text-align:center}.identity-card-pending .identity-description{text-align:center;margin:9px 0 32px}.identity-card-pending .identity-primary{width:420px;margin-top:0}.identity-notice{color:#bc3333;font-size:var(--font-size-small);text-align:left;margin:10px 0 0;line-height:18px}.identity-login-notice{margin:0;position:absolute;top:307px;left:35px;right:35px}.identity-login-notice-success{color:#247553}html:has(.identity-page){min-width:0;overflow-x:hidden}@media (max-width:1280px){.workspace{grid-template-columns:244px minmax(540px,1fr) 320px}.editor-wrap{padding-left:20px;padding-right:20px}.editor-actions{left:245px;right:321px}}@media (max-width:560px){.identity-page{padding:16px}.identity-card,.identity-card-login{width:calc(100vw - 32px)}.identity-card-login,.identity-card-pending{transform:none}.identity-card-pending,.identity-card-profile,.identity-card-scope{padding:36px 24px 30px}.identity-card-login .identity-brand{width:min(246px,100% - 48px);left:24px}.identity-login-form{width:auto;left:24px;right:24px}.identity-phone-input{grid-template-columns:64px 1fr}.identity-code-row{grid-template-columns:64px minmax(0,1fr) 88px}.identity-code-button{font-size:var(--font-size-small);padding:0 6px}.identity-card-pending .identity-primary{width:100%}.identity-login-notice{left:24px;right:24px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.local-debug-capture{z-index:2147483647;color:#1f2937;width:min(340px,100vw - 36px);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-size-body);position:fixed;bottom:18px;right:18px}.local-debug-capture-bar,.local-debug-feedback{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #0f172a1f;border-radius:12px;box-shadow:0 8px 30px #0f172a29}.local-debug-capture-bar{justify-content:space-between;align-items:center;width:fit-content;min-width:172px;margin-left:auto;padding:7px 8px 7px 12px;display:flex}.local-debug-capture-status{color:#246b4e;align-items:center;gap:7px;font-weight:600;display:inline-flex}.local-debug-capture-status>span{background:#2e9c6a;border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 3px #2e9c6a24}.local-debug-capture button{color:#245c46;cursor:pointer;font:inherit;background:#eef3f0;border:0;border-radius:7px;padding:5px 9px;font-weight:600}.local-debug-capture button:disabled{cursor:not-allowed;opacity:.5}.local-debug-feedback{gap:8px;margin-top:8px;padding:13px;display:grid}.local-debug-feedback label{font-weight:650}.local-debug-feedback textarea{resize:vertical;color:#1f2937;width:100%;font:inherit;border:1px solid #ccd5d0;border-radius:8px;outline:none;padding:9px 10px;line-height:1.5}.local-debug-feedback textarea:focus{border-color:#3b8665;box-shadow:0 0 0 3px #3b86651f}.local-debug-feedback>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.local-debug-feedback small{color:#69736e;font-size:var(--font-size-small)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}html:has(.app-shell){min-width:1080px;overflow:hidden;background:#f5f5f5}body:has(.app-shell){min-width:1080px;overflow:hidden;color:#333;background:#f5f5f5}.app-shell{--canvas:#f5f5f5;--surface:#fff;--surface-subtle:#fafafa;--line:#e5e5e5;--line-strong:#d4d4d4;--ink:#333;--muted:#666;--brand:#333;--brand-strong:#262626;--brand-soft:#f5f5f5;--success:#247553;--warning:#a36a15;--danger:#c13b3b;--radius:12px;width:100%;min-width:1080px;height:100vh;height:100dvh;grid-template-rows:minmax(0,1fr);padding:10px;color:var(--ink);background:var(--canvas);font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.app-shell,.app-shell .workspace{display:grid;min-height:0;overflow:hidden}.app-shell .workspace{--tree-panel-width:clamp(250px,14.6vw,280px);--preview-panel-width:clamp(380px,29.7vw,760px);grid-template-columns:var(--tree-panel-width) minmax(680px,1fr) var(--preview-panel-width);gap:10px;background:transparent}.app-shell .compact-panel-backdrop,.app-shell .compact-panel-heading,.app-shell .compact-preview-trigger,.app-shell .compact-workbench-controls{display:none}.app-shell .editor-header-end{display:flex;flex:0 0 auto;align-items:center;gap:16px}.app-shell .panel{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.app-shell .preview-panel,.app-shell .tree-panel{position:relative;display:flex;min-height:0;flex-direction:column}.app-shell .structure-brand{display:flex;height:64px;flex:0 0 auto;align-items:center;margin:0 26px;padding-top:10px}.app-shell .structure-brand img{display:block;width:220px;max-width:100%;height:auto;flex:0 0 auto;object-fit:contain;object-position:left center}.app-shell .structure-account-wrap{position:relative;width:calc(100% - 40px);margin:0 20px}.app-shell .structure-account{display:grid;width:100%;min-height:84px;grid-template-columns:38px minmax(0,1fr) 16px;gap:12px;align-items:center;padding:8px 6px 14px;border:0;border-bottom:1px solid var(--line);border-radius:8px 8px 0 0;background:transparent;cursor:pointer;text-align:left;transition:background .16s ease,box-shadow .16s ease}.app-shell .structure-account:hover,.app-shell .structure-account[aria-expanded=true]{background:var(--surface-subtle);box-shadow:inset 0 0 0 1px var(--line)}.app-shell .structure-account:focus-visible{outline:3px solid rgb(51 51 51/16%);outline-offset:2px}.app-shell .structure-avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:999px;color:#ad3847;background:#faecee;font-size:var(--font-size-body);font-weight:500}.app-shell .structure-account-copy{min-width:0}.app-shell .structure-account-chevron{display:block;width:16px;height:16px;justify-self:center;color:var(--muted);transform-origin:center;transition:transform .18s ease}.app-shell .structure-account[aria-expanded=true] .structure-account-chevron{transform:rotate(180deg)}.app-shell .structure-account-menu{position:absolute;top:calc(100% + 8px);right:0;width:188px;z-index:20;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 12px 32px rgb(29 36 42/12%),0 2px 8px rgb(29 36 42/6%)}.app-shell .structure-account-menu-label{display:block;padding:5px 9px 7px;border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--font-size-small);font-weight:500;line-height:16px}.app-shell .structure-account-menu button{display:grid;width:100%;min-height:40px;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:center;margin-top:4px;padding:0 10px;border:0;border-radius:7px;color:var(--ink);background:transparent;cursor:pointer;font-size:var(--font-size-body);font-weight:500;text-align:left;transition:color .16s ease,background-color .16s ease}.app-shell .structure-account-menu button:focus-visible,.app-shell .structure-account-menu button:hover{color:var(--danger);background:#fff3f3;outline:2px solid rgb(169 55 65/12%);outline-offset:-2px}.app-shell .structure-account-copy small,.app-shell .structure-account-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .structure-account-copy strong{font-size:var(--font-size-body);font-weight:500;line-height:22px}.app-shell .structure-account-copy small{margin-top:2px;color:var(--muted);font-size:var(--font-size-small);font-weight:400;line-height:18px;letter-spacing:.1px}.app-shell .tree-panel>.panel-heading{min-height:48px;flex:0 0 auto;align-items:center;padding:14px 28px 8px;border:0}.app-shell .tree-panel>.panel-heading h2{color:#4d5359;font-size:var(--font-size-body);font-weight:600;line-height:20px;letter-spacing:.1px}.app-shell .tree-tools{flex:0 0 auto;padding:0 22px 10px}.app-shell .search-box{height:36px;padding:0 10px;border-color:var(--line);border-radius:8px;color:var(--ink);background:var(--surface);font-size:var(--font-size-small);line-height:18px}.app-shell .tree-action-toolbar{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:6px}.app-shell .tree-action-button,.app-shell .tree-form-close,.app-shell .tree-form-submit,.app-shell .tree-mutation-error button{min-height:30px;padding:0 5px;border-color:var(--line);border-radius:6px;color:var(--muted);background:var(--surface);font-size:var(--font-size-small);font-weight:400}.app-shell .tree-action-button:first-child{grid-column:span 2;border-color:#333;color:#fff;background:#333}.app-shell .tree-action-button:nth-child(2),.app-shell .tree-action-button:nth-child(3){grid-column:span 1}.app-shell .tree-action-button:first-child:hover:not(:disabled),.app-shell .tree-action-button:hover:not(:disabled){border-color:#262626;color:#fff;background:#262626}.app-shell .tree-progress{display:none}.admin-museum-tree-surface .tree-list,.app-shell .tree-list{gap:4px;padding:0 22px 68px}.admin-museum-tree-surface .tree-item-row,.app-shell .tree-item-row{position:relative}.admin-museum-tree-surface .tree-item-row:before,.app-shell .tree-item-row:before{position:absolute;top:-4px;bottom:-4px;left:calc(10px + var(--tree-depth) * 20px);z-index:0;width:1px;background:var(--line-strong);content:"";opacity:.78}.admin-museum-tree-surface .tree-item-row[data-depth="0"]:before,.app-shell .tree-item-row[data-depth="0"]:before{display:none}.admin-museum-tree-surface .tree-item,.app-shell .tree-item{position:relative;z-index:1;display:grid;width:100%;min-height:34px;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:center;padding:7px 64px 7px calc(20px + var(--tree-depth) * 20px);border-radius:6px;color:var(--ink);cursor:pointer;touch-action:none;user-select:none}.app-shell .tree-item mark{padding:0 1px;color:inherit;background:#fff0a8}.admin-museum-tree-surface .tree-node-toggle,.app-shell .tree-node-toggle{position:absolute;top:0;left:calc(-10px + var(--tree-depth) * 20px);z-index:3;display:grid;width:20px;height:34px;place-items:center;padding:0;border:0;border-radius:5px;color:#66727b;background:transparent;cursor:pointer}.admin-museum-tree-surface .tree-node-toggle:focus-visible,.admin-museum-tree-surface .tree-node-toggle:hover,.app-shell .tree-node-toggle:focus-visible,.app-shell .tree-node-toggle:hover{color:#35434d;background:#f1f4f5}.admin-museum-tree-surface .tree-node-toggle:focus-visible,.app-shell .tree-node-toggle:focus-visible{outline:2px solid rgb(72 84 93/18%);outline-offset:0}.admin-museum-tree-surface .tree-node-toggle-icon,.app-shell .tree-node-toggle-icon{display:block;width:14px;height:14px;transition:transform .16s ease}.admin-museum-tree-surface .tree-node-toggle[aria-expanded=false] .tree-node-toggle-icon,.app-shell .tree-node-toggle[aria-expanded=false] .tree-node-toggle-icon{transform:rotate(-90deg)}.app-shell .tree-item-actions{position:absolute;top:6px;right:8px;z-index:3;display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .16s ease}.app-shell .tree-item-action{display:grid;width:22px;height:22px;place-items:center;padding:0;color:var(--muted);background:transparent;cursor:pointer;border:1px solid transparent;border-radius:6px;line-height:22px;transition:color .16s ease,background-color .16s ease}.app-shell .tree-item-row:focus-within .tree-item-actions,.app-shell .tree-item-row:has(.tree-add-menu) .tree-item-actions,.app-shell .tree-item-row:hover .tree-item-actions{opacity:1}.app-shell .tree-item-action:focus-visible,.app-shell .tree-item-action:hover{border-color:#d7dde1;color:#48545d;background:#f5f7f8;outline:2px solid rgb(72 84 93/10%);outline-offset:0}.app-shell .tree-item-delete{color:var(--muted)}.app-shell .tree-item-delete:focus-visible,.app-shell .tree-item-delete:hover{border-color:#efd6d9;color:#a93741;background:#fff3f4}.app-shell .tree-branch-action-icon{display:block;width:16px;height:16px}.app-shell .tree-item-row:has(.tree-add-menu){z-index:12}.app-shell .tree-add-menu{position:absolute;top:26px;right:0;z-index:30;display:grid;width:124px;gap:2px;padding:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 10px 24px rgb(0 0 0/12%)}.app-shell .tree-add-option{display:grid;min-height:34px;grid-template-columns:12px minmax(0,1fr);gap:8px;align-items:center;padding:0 9px;border:0;border-radius:6px;color:var(--ink);background:transparent;cursor:pointer;font-size:var(--font-size-small);line-height:18px;text-align:left}.app-shell .tree-add-option:focus-visible,.app-shell .tree-add-option:hover{background:var(--surface-subtle)}.app-shell .tree-add-radio{width:10px;height:10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface)}.admin-museum-tree-surface .tree-item:hover,.app-shell .tree-item:hover{background:var(--surface-subtle)}.admin-museum-tree-surface .tree-item[aria-current=true],.app-shell .tree-item[aria-current=true]{color:var(--ink);background:#e9edf0}.admin-museum-tree-surface .node-symbol,.app-shell .node-symbol{display:grid;width:20px;height:20px;place-items:center;border:1px solid;border-radius:5px;font-size:var(--font-size-small);font-weight:600;line-height:1;opacity:1}.admin-museum-tree-surface .node-name,.app-shell .node-name{color:#363d43;font-size:var(--font-size-body);font-weight:400;line-height:20px;letter-spacing:.1px}.admin-museum-tree-surface .node-kind-museum,.app-shell .node-kind-museum{color:#a13f4b}.admin-museum-tree-surface .node-kind-museum .node-name,.app-shell .node-kind-museum .node-name{color:#30363b;font-weight:600}.admin-museum-tree-surface .node-kind-space,.app-shell .node-kind-space{color:#536b79}.admin-museum-tree-surface .node-kind-space .node-name,.app-shell .node-kind-space .node-name{color:#343b41;font-weight:550}.admin-museum-tree-surface .node-kind-exhibit,.app-shell .node-kind-exhibit{color:#746756}.admin-museum-tree-surface .node-kind-exhibit .node-name,.app-shell .node-kind-exhibit .node-name{color:#394047;font-weight:500}.admin-museum-tree-surface .node-kind-artifact,.app-shell .node-kind-artifact{color:#6b6875}.admin-museum-tree-surface .node-kind-artifact .node-name,.app-shell .node-kind-artifact .node-name{color:#42474d;font-weight:400}.admin-museum-tree-surface .tree-item.node-kind-museum .node-symbol,.app-shell .tree-item.node-kind-museum .node-symbol{color:#a13f4b;background:#faeef0}.admin-museum-tree-surface .tree-item.node-kind-space .node-symbol,.app-shell .tree-item.node-kind-space .node-symbol{color:#536b79;background:#eef3f5}.admin-museum-tree-surface .tree-item.node-kind-exhibit .node-symbol,.app-shell .tree-item.node-kind-exhibit .node-symbol{color:#746756;background:#f5f2ed}.admin-museum-tree-surface .tree-item.node-kind-artifact .node-symbol,.app-shell .tree-item.node-kind-artifact .node-symbol{color:#6b6875;background:#f2f1f4}.app-shell .tree-item-row.drag-source .tree-item{cursor:grabbing;opacity:.5}.app-shell .tree-item[draggable=true]{cursor:grab}.app-shell .tree-item-row.drag-target .tree-item{background:#eff3f5;box-shadow:inset 0 0 0 2px #657984,0 4px 14px rgb(52 65 73/12%)}.app-shell .tree-item-row.drag-target.drop-reorder-after:after,.app-shell .tree-item-row.drag-target.drop-reorder-before:after{position:absolute;right:8px;left:calc(10px + var(--tree-depth) * 20px);z-index:5;height:2px;border-radius:999px;background:#657984;content:""}.app-shell .tree-item-row.drag-target.drop-reorder-before:after{top:-3px}.app-shell .tree-item-row.drag-target.drop-reorder-after:after{bottom:-3px}.app-shell .tree-item-row.drag-target.drop-reorder-after .tree-item,.app-shell .tree-item-row.drag-target.drop-reorder-before .tree-item{background:var(--surface-subtle);box-shadow:none}.admin-museum-tree-surface .node-status,.app-shell .node-status{position:absolute;top:14px;right:16px;width:6px;height:6px;transition:opacity .16s ease}.app-shell .tree-item-row.drag-source .node-status,.app-shell .tree-item-row:focus-within .node-status,.app-shell .tree-item-row:hover .node-status{opacity:0}.app-shell .structure-submit{position:absolute;right:26px;bottom:28px;left:26px;min-height:40px;border:0;border-radius:8px;color:#fff;background:#333;cursor:pointer;font-size:var(--font-size-body);font-weight:500;line-height:20px}.app-shell .structure-submit:hover:not(:disabled){background:#262626}.app-shell .editor-panel{display:flex;min-height:0;flex-direction:column;overflow:hidden;background:var(--canvas)}.app-shell .editor-header{display:flex;min-height:80px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:24px;padding:14px 30px;border-bottom:1px solid var(--line);background:var(--surface)}.app-shell .editor-header-copy{min-width:0}.app-shell .editor-header h1{margin:0;font-size:var(--font-size-title);font-weight:700;line-height:24px}.app-shell .editor-header h1,.app-shell .editor-header p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .editor-header p{margin:2px 0 0;color:var(--muted);font-size:var(--font-size-small);font-weight:400;line-height:18px;letter-spacing:.1px}.app-shell .editor-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:16px}.app-shell .save-feedback{display:flex;align-items:center;gap:8px}.app-shell .save-feedback[data-error=true] .save-state{color:var(--danger)}.app-shell .save-retry-button{min-height:30px;padding:0 10px;border:1px solid var(--line-strong);border-radius:7px;color:var(--ink);background:var(--surface)}.app-shell .save-state{color:var(--muted);font-size:var(--font-size-small);font-weight:400;line-height:18px;letter-spacing:.1px}.app-shell .editor-wrap{--side-card-width:320px;--card-padding:24px;display:grid;flex:1 1 auto;width:100%;max-width:none;min-height:0;grid-template-columns:minmax(0,1fr) var(--side-card-width);grid-template-areas:"core media" "narrative narrative";grid-template-rows:max-content minmax(560px,1fr);gap:28px 22px;margin:0;padding:30px 30px 24px;overflow:auto}.app-shell .editor-wrap:has(>.panel-error,>.panel-note){grid-template-areas:"notice notice" "core media" "narrative narrative";grid-template-rows:auto max-content minmax(560px,1fr)}.app-shell .editor-wrap>.panel-error,.app-shell .editor-wrap>.panel-note{grid-area:notice;margin:0}.app-shell .core-fields-card{grid-area:core}.app-shell .media-card{grid-area:media}.app-shell .narrative-card{grid-area:narrative}.app-shell .form-card{min-width:0;margin:0;padding:24px;border-color:var(--line);border-radius:12px;box-shadow:none}.app-shell .core-fields-card{height:auto;min-height:320px;overflow:visible}.app-shell .media-card{height:320px;min-height:320px;overflow:hidden}.app-shell .core-fields-card>.section-title,.app-shell .media-card>.section-title{min-height:44px;grid-template-rows:24px 18px;gap:2px;margin-bottom:20px}.app-shell .core-fields-card>.section-title .section-note,.app-shell .media-card>.section-title .section-note{height:18px;-webkit-line-clamp:1}.app-shell .core-fields-card{align-self:stretch}.app-shell .core-fields-card-exhibit{position:relative;z-index:6;overflow:visible}.app-shell .section-title{position:relative;display:grid;min-height:64px;align-content:start;grid-template-rows:24px 36px;gap:4px;margin-bottom:20px}.app-shell .section-title h2{margin:0;font-size:var(--font-size-title);font-weight:700;line-height:24px}.app-shell .section-note{display:-webkit-box;height:36px;color:var(--muted);font-size:var(--font-size-small);font-weight:400;line-height:18px;letter-spacing:.1px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.app-shell .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 25px}.app-shell .core-fields-card-museum .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 12px}.app-shell .core-fields-card-museum .form-grid>.field{min-width:0;align-self:start}.app-shell .core-fields-card-museum .radio-field{height:70px;min-height:70px}.app-shell .core-fields-card-museum .radio-options{position:relative;top:6px;height:44px;min-height:44px;grid-template-rows:44px}.app-shell .core-fields-card-museum .radio-option{height:44px;min-height:44px}.app-shell .form-grid:not(.introduction-form)>.field{align-items:start;align-content:start;grid-template-rows:20px 44px}.app-shell .field{gap:6px}.app-shell .field.full{grid-column:1/-1}.app-shell .field label{color:var(--ink);font-size:var(--font-size-body);font-weight:500;line-height:20px;letter-spacing:.1px}.app-shell .radio-field{min-width:0;margin:0;padding:0;border:0}.app-shell .radio-field legend{margin:0;padding:0;color:var(--ink);font-size:var(--font-size-body);font-weight:500;line-height:20px;letter-spacing:.1px}.app-shell .radio-options{display:grid;min-height:44px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell .radio-option{display:flex;min-width:0;min-height:44px;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.app-shell .radio-option:hover{border-color:var(--line-strong)}.app-shell .radio-option:has(input:checked){border-color:#777;background:var(--surface-subtle)}.app-shell .radio-option:has(input:focus-visible){border-color:#6f6f6f;outline:3px solid rgb(51 51 51/10%)}.app-shell .radio-option:has(input:disabled){cursor:not-allowed;opacity:.46}.app-shell .radio-option input{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--brand)}.app-shell .field input,.app-shell .field select,.app-shell .readonly-value{height:44px;min-height:44px;padding:0 12px;border-radius:8px;color:var(--ink);font-size:var(--font-size-body);font-weight:400;line-height:24px}.app-shell .input-with-unit{position:relative;width:100%;height:44px}.app-shell .input-with-unit input{appearance:textfield;padding-right:42px}.app-shell .input-with-unit input::-webkit-inner-spin-button,.app-shell .input-with-unit input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.app-shell .input-with-unit>span{position:absolute;top:50%;right:14px;color:var(--muted);font-size:var(--font-size-body);line-height:20px;pointer-events:none;transform:translateY(-50%)}.app-shell .select-control{position:relative;width:100%;height:44px}.app-shell .select-control select{appearance:none;padding-right:42px}.app-shell .select-chevron{position:absolute;top:50%;right:14px;width:16px;height:16px;color:var(--muted);pointer-events:none;transform:translateY(-50%);transform-origin:center;transition:transform .18s ease}.app-shell .select-chevron.is-up{transform:translateY(-50%) rotate(180deg)}.app-shell .tree-select-control{height:38px}.app-shell .tree-select-control select{height:38px;min-height:38px}.app-shell .readonly-value{border-color:var(--line);color:#666;background:#f6f6f6}.app-shell .field input:hover:not(:disabled),.app-shell .field select:hover:not(:disabled){border-color:var(--line-strong)}.app-shell .field input:focus-visible,.app-shell .field select:focus-visible{border-color:#6f6f6f;outline:3px solid rgb(51 51 51/10%);outline-offset:0}.app-shell .multi-select-field{position:relative;z-index:5}.app-shell .multi-select-trigger{display:grid;width:100%;min-height:44px;grid-template-columns:minmax(0,1fr) 20px;gap:12px;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface);cursor:pointer;font:inherit;font-size:var(--font-size-body);line-height:24px;text-align:left}.app-shell .multi-select-trigger:hover:not(:disabled){border-color:var(--line-strong)}.app-shell .multi-select-trigger:focus-visible{border-color:#6f6f6f;outline:3px solid rgb(51 51 51/10%);outline-offset:0}.app-shell .multi-select-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .multi-select-trigger .placeholder{color:var(--muted)}.app-shell .multi-select-chevron{display:block;width:16px;height:16px;justify-self:center;color:var(--muted);transform-origin:center;transition:transform .18s ease}.app-shell .multi-select-trigger[aria-expanded=true] .multi-select-chevron{transform:rotate(180deg)}.app-shell .multi-select-popover{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 6px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 10px 24px rgb(0 0 0/10%)}.app-shell .multi-select-option{display:flex;min-width:0;min-height:34px;align-items:center;gap:8px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;font-size:var(--font-size-small);line-height:18px;transition:border-color .14s ease,background-color .14s ease}.app-shell .multi-select-option:focus-within,.app-shell .multi-select-option:hover{border-color:transparent;background:var(--surface-subtle)}.app-shell .multi-select-option.selected{border-color:var(--line);background:#f3f3f3}.app-shell .multi-select-option input[type=checkbox]{width:14px;min-width:14px;height:14px;min-height:14px;flex:0 0 14px;margin:0;padding:0;accent-color:#333}.app-shell .multi-select-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .media-upload-button{width:100%;padding:10px 18px;cursor:pointer;font-size:var(--font-size-body);font-weight:500;line-height:20px}.app-shell .media-card .media-upload-button{height:44px;min-height:44px;margin-top:26px}.app-shell .media-card .media-list{margin-top:20px}.app-shell .media-card .media-item{width:100%;min-width:0;height:70px;min-height:70px;padding:8px 10px;border:0;border-radius:8px;background:var(--surface-subtle)}.app-shell .media-card .media-actions{gap:4px;margin-top:0;padding-top:0;border-top:0}.app-shell .media-list{gap:8px;margin-top:24px;max-height:246px;overflow-y:auto;overscroll-behavior:contain}.app-shell .media-empty{display:flex;min-height:112px;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:18px;border:1px dashed var(--line-strong);border-radius:10px;color:var(--muted);background:var(--surface-subtle)}.app-shell .media-empty strong{color:var(--ink);font-size:var(--font-size-body);font-weight:600;line-height:20px}.app-shell .media-empty span{font-size:var(--font-size-small);line-height:18px}.app-shell .media-item{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px;border-color:var(--line);background:var(--surface-subtle)}.app-shell .media-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.app-shell .media-file-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.app-shell .media-file-heading strong{min-width:0;flex:1 1 auto;color:var(--ink);font-size:var(--font-size-body);font-weight:600;line-height:20px}.app-shell .media-file-heading .media-actions{flex:0 0 auto}.app-shell .media-text-action{min-height:30px;padding:4px 10px;border:0;border-radius:6px;color:var(--muted);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;font-size:var(--font-size-small);font-weight:500;line-height:20px;text-align:center;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease}.app-shell .media-text-action:hover:not(:disabled){color:var(--ink);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--line-strong)}.app-shell .media-text-action:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.app-shell .media-text-action:disabled{cursor:not-allowed;opacity:.45}.app-shell .media-text-action.destructive{color:var(--danger)}.app-shell .media-text-action.destructive:hover:not(:disabled){color:var(--danger);background:#fff5f5;box-shadow:inset 0 0 0 1px #efcaca}.app-shell .media-file-meta{width:100%;min-width:0}.app-shell .media-file-meta p{margin-top:4px;line-height:16px}.app-shell .media-file-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .narrative-card{--narrative-body-font-size:var(--font-size-body);display:grid;height:100%;min-height:560px;grid-template-columns:minmax(0,1fr);gap:22px;padding:0;border:0;background:transparent;box-shadow:none}.app-shell .narrative-ai{display:flex;width:100%;min-width:0;min-height:0;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.app-shell .narrative-ai>.section-title{flex:0 0 auto;margin-bottom:18px}.app-shell .scroll-fade-region{--scroll-fade-height:32px;position:relative;min-height:0}.app-shell .scroll-fade-content{mask-repeat:no-repeat;mask-size:100% 100%;mask-mode:alpha;-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%}.app-shell .scroll-fade-region[data-scroll-fade-top=true]>.scroll-fade-content{mask-image:linear-gradient(to bottom,transparent 0,#000 var(--scroll-fade-height),#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--scroll-fade-height),#000 100%)}.app-shell .scroll-fade-region[data-scroll-fade-bottom=true]>.scroll-fade-content{mask-image:linear-gradient(to top,transparent 0,#000 var(--scroll-fade-height),#000 100%);-webkit-mask-image:linear-gradient(to top,transparent 0,#000 var(--scroll-fade-height),#000 100%)}.app-shell .scroll-fade-region[data-scroll-fade-top=true][data-scroll-fade-bottom=true]>.scroll-fade-content{mask-image:linear-gradient(to bottom,transparent 0,#000 var(--scroll-fade-height),#000 calc(100% - var(--scroll-fade-height)),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--scroll-fade-height),#000 calc(100% - var(--scroll-fade-height)),transparent 100%)}.app-shell .ai-card{display:flex;height:auto;min-height:0;flex:1 1 auto;flex-direction:column;align-items:stretch;justify-content:space-between;gap:14px;padding:0;border:0;border-radius:0;background:transparent;overflow:hidden}.app-shell .ai-composer button:focus-visible{outline:3px solid rgb(51 51 51/14%);outline-offset:2px}.app-shell .ai-message-wrap{flex:1 1 auto;overflow:hidden}.app-shell .ai-message,.app-shell .ai-message-wrap{min-height:0;border-radius:0;background:transparent}.app-shell .ai-message{height:100%;padding:0;color:var(--ink);font-size:var(--narrative-body-font-size);font-weight:400;line-height:24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.app-shell .ai-chat-transcript{display:flex;min-height:100%;flex-direction:column;align-items:stretch;gap:18px}.app-shell .ai-chat-turn{max-width:100%}.app-shell .ai-chat-turn p{margin:0;color:#232323;font-size:var(--narrative-body-font-size);line-height:24px;letter-spacing:.1px;overflow-wrap:anywhere;white-space:pre-wrap}.app-shell .ai-chat-turn-assistant{align-self:stretch}.app-shell .ai-chat-turn-user{align-self:flex-end;max-width:82%;padding:10px 14px;border-radius:8px;background:#f3f3f4}.app-shell .ai-request-trace{display:grid;gap:7px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-subtle)}.app-shell .ai-request-trace-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.app-shell .ai-request-trace-heading strong{color:var(--ink);font-size:var(--font-size-small);font-weight:650;line-height:18px}.app-shell .ai-request-trace-heading span,.app-shell .ai-request-trace-note{color:var(--muted);font-size:var(--font-size-small);line-height:17px}.app-shell .ai-current-stage-viewport{height:46px;overflow:hidden}.app-shell .ai-current-stage-track{display:grid;grid-auto-rows:46px}.app-shell .ai-current-stage-track[data-has-previous=true]{transform:translateY(-46px);animation:ai-stage-roll-up .22s ease-out both}.app-shell .ai-current-stage{display:grid;min-width:0;align-content:center;gap:1px}.app-shell .ai-current-stage-title strong,.app-shell .ai-current-stage>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .ai-current-stage-title{display:flex;min-width:0;align-items:center;gap:7px}.app-shell .ai-current-stage-title strong{min-width:0;color:var(--ink);font-size:var(--font-size-small);font-weight:650;line-height:18px;font-variant-numeric:tabular-nums}.app-shell .ai-current-stage-title small{margin-left:auto;flex:none;color:#416b58;font-size:var(--font-size-small);font-weight:550;line-height:16px;font-variant-numeric:tabular-nums}.app-shell .ai-current-stage>span{color:var(--muted);font-size:var(--font-size-small);line-height:18px}.app-shell .ai-stage-live-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#416b58;box-shadow:0 0 0 0 rgb(65 107 88/28%);animation:ai-stage-live-pulse 1.35s ease-out infinite}.app-shell .ai-current-stage[data-muted=true]{opacity:.58}.app-shell .ai-stage-progress{position:relative;height:4px;border-radius:999px;background:#dedede;overflow:hidden}.app-shell .ai-stage-progress>span{display:block;width:var(--ai-stage-progress);height:100%;border-radius:inherit;background:#416b58;transition:width .22s ease-out}.app-shell .ai-stage-progress[data-active=true]:after{position:absolute;inset:0 auto 0 -28%;width:24%;border-radius:inherit;background:linear-gradient(90deg,transparent,rgb(255 255 255/82%),transparent);content:"";animation:ai-stage-progress-scan 1.2s ease-in-out infinite}.app-shell .ai-stage-activity{display:flex;min-width:0;margin:-2px 0 5px;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:var(--font-size-small);line-height:16px;font-variant-numeric:tabular-nums}.app-shell .ai-request-trace-details{min-width:0}.app-shell .ai-request-trace-details summary{width:fit-content;min-height:28px;padding:5px 2px;color:var(--muted);cursor:pointer;font-size:var(--font-size-small);line-height:18px}.app-shell .ai-request-trace-details summary:hover{color:var(--ink)}.app-shell .ai-request-trace-details summary:focus-visible{border-radius:4px;outline:3px solid rgb(51 51 51/14%);outline-offset:2px}.app-shell .ai-request-trace-note{margin:5px 0 8px}.app-shell .ai-request-trace-details ol{display:grid;gap:7px;margin:0;padding:0;list-style:none}.app-shell .ai-request-trace-details li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:8px;align-items:start;color:var(--muted)}.app-shell .ai-stage-marker{width:8px;height:8px;margin-top:5px;border:2px solid #8b8b8b;border-radius:50%;background:var(--surface)}.app-shell .ai-request-trace-details li[data-stage-status=complete] .ai-stage-marker{border-color:#416b58;background:#416b58}.app-shell .ai-request-trace-details li[data-stage-status=active] .ai-stage-marker{border-color:var(--brand);box-shadow:0 0 0 3px rgb(51 51 51/9%)}.app-shell .ai-request-trace-details li>span:last-child{display:grid;gap:1px}.app-shell .ai-request-trace-details li small,.app-shell .ai-request-trace-details li strong{font-size:var(--font-size-small);line-height:17px}.app-shell .ai-request-trace-details li strong{color:var(--ink);font-weight:550}.app-shell .ai-request-trace-details li small{color:var(--muted)}@keyframes ai-stage-roll-up{0%{transform:translateY(0)}to{transform:translateY(-46px)}}@keyframes ai-stage-live-pulse{0%{box-shadow:0 0 0 0 rgb(65 107 88/28%);opacity:.72}55%{box-shadow:0 0 0 5px rgb(65 107 88/0);opacity:1}to{box-shadow:0 0 0 0 rgb(65 107 88/0);opacity:.72}}@keyframes ai-stage-progress-scan{0%{transform:translateX(0)}to{transform:translateX(540%)}}.app-shell .ai-summary-turn{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfb}.app-shell .ai-summary-turn-label{display:flex;margin-bottom:10px;align-items:center;justify-content:space-between;gap:12px;color:var(--ink);font-size:var(--font-size-small);font-weight:650;line-height:18px}.app-shell .ai-candidate-status{flex:0 0 auto;padding:2px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:var(--font-size-small);font-weight:500}.app-shell .ai-candidate-diff{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:10px;align-items:stretch}.app-shell .ai-candidate-diff-column{min-width:0;padding:10px;border-radius:8px;background:#f3f3f4}.app-shell .ai-candidate-after{background:#eef7f2}.app-shell .ai-candidate-diff[data-candidate-status=REJECTED] .ai-candidate-after,.app-shell .ai-candidate-diff[data-candidate-status=STALE] .ai-candidate-after{background:#f7f3f3}.app-shell .ai-candidate-diff-column>strong{display:block;margin-bottom:5px;color:var(--muted);font-size:var(--font-size-small);font-weight:650;line-height:16px}.app-shell .ai-candidate-diff-column p{margin:0;color:var(--ink);font-size:var(--narrative-body-font-size);line-height:22px;white-space:pre-wrap}.app-shell .ai-candidate-diff-arrow{display:grid;place-items:center;color:var(--muted);font-size:var(--font-size-title)}.app-shell .ai-candidate-audit-meta{margin:8px 0 0!important;color:var(--muted)!important;font-size:var(--font-size-small);line-height:17px!important}.app-shell .ai-summary-turn-content{color:var(--ink);white-space:pre-wrap}.app-shell .ai-summary-turn-guidance{margin-top:8px!important;color:var(--muted)!important;font-size:var(--font-size-small);line-height:18px!important}.app-shell .ai-candidate-actions{display:flex;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);align-items:center;justify-content:space-between;gap:12px}.app-shell .ai-candidate-actions>p{margin:0;color:var(--muted);font-size:var(--font-size-small);line-height:18px}.app-shell .ai-candidate-actions>div{display:flex;flex:0 0 auto;gap:8px}.app-shell .ai-candidate-actions button{min-height:44px;padding:10px 16px;border-radius:8px;cursor:pointer;font:inherit;font-size:var(--font-size-small);font-weight:650;line-height:20px;transition:background-color .18s ease-out,border-color .18s ease-out}.app-shell .ai-candidate-confirm{border:1px solid #333;color:#fff;background:#333}.app-shell .ai-candidate-confirm:hover:not(:disabled){border-color:#1f1f1f;background:#1f1f1f}.app-shell .ai-candidate-reject{border:1px solid #b34a4a;color:#8f2929;background:var(--surface)}.app-shell .ai-candidate-reject:hover:not(:disabled){background:#fbefef}.app-shell .ai-candidate-actions button:focus-visible{outline:3px solid rgb(51 51 51/16%);outline-offset:2px}.app-shell .ai-candidate-actions button:disabled{cursor:not-allowed;opacity:.48}.app-shell .ai-message-empty{color:var(--muted)}.app-shell .ai-empty-guidance{display:grid;gap:8px;padding:16px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--surface-subtle)}.app-shell .ai-empty-guidance strong{color:var(--ink);font-size:var(--font-size-small);font-weight:650;line-height:18px}.app-shell .ai-empty-guidance p{margin:0;color:var(--muted);line-height:22px}.app-shell .ai-search-sources{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;margin-top:8px;padding:0;border:0;background:transparent;color:var(--muted);font-size:var(--font-size-small);line-height:18px}.app-shell .ai-search-sources-heading{display:flex;flex:0 0 auto;align-items:baseline;justify-content:flex-start;gap:8px;color:var(--muted)}.app-shell .ai-search-sources-heading>strong{font-weight:500}.app-shell .ai-search-sources-heading>span{color:var(--muted);white-space:nowrap}.app-shell .ai-search-sources ul{display:flex;min-width:0;max-height:54px;flex:1 1 320px;flex-wrap:wrap;align-content:flex-start;gap:0 12px;margin:0;padding:0;list-style:none;overflow-y:auto;scrollbar-width:thin}.app-shell .ai-search-sources li{height:18px;max-width:100%;flex:0 1 auto;min-width:0}.app-shell .ai-search-sources a{display:inline-flex;max-width:100%;min-width:0;align-items:baseline;gap:4px;padding:0;color:var(--muted);background:transparent;text-decoration:none;white-space:nowrap}.app-shell .ai-search-sources a:hover{color:var(--ink);background:transparent}.app-shell .ai-source-host,.app-shell .ai-source-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .ai-source-title{max-width:180px;color:inherit;font-weight:400}.app-shell .ai-source-host{display:inline;flex:0 0 auto;color:inherit;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:2px}.app-shell .ai-search-sources a:hover .ai-source-host{text-decoration-color:currentcolor}.app-shell .ai-search-sources-standalone{margin-top:0}.app-shell .ai-search-sources-standalone>span,.app-shell .ai-search-sources-standalone>strong{color:var(--muted);font-weight:400}.app-shell .ai-inline-feedback{margin:0;color:#315c47;font-size:var(--font-size-small);line-height:18px}.app-shell .ai-inline-error{color:var(--danger)}.app-shell .ai-composer{display:flex;position:relative;width:100%;min-width:0;min-height:88px;flex:0 0 auto;align-items:flex-start;gap:8px;padding:10px 50px 10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:0 0 12px rgb(0 0 0/10%);margin-top:auto}.app-shell .ai-composer-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell .ai-composer textarea{width:100%;min-width:0;height:66px;min-height:66px;max-height:112px;flex:1 1 auto;resize:none;padding:0;border:0;color:var(--ink);background:transparent;font-family:inherit;font-size:var(--font-size-body);line-height:22px;outline:none}.app-shell .ai-composer textarea:disabled{color:var(--muted)}.app-shell .ai-composer textarea::placeholder{color:#666;opacity:1}.app-shell .ai-composer button{min-height:22px;flex:0 0 auto;padding:6px 9px;border:0;border-radius:8px;cursor:pointer;font-size:var(--font-size-small);font-weight:600;line-height:20px}.app-shell .ai-composer button.ai-composer-submit{position:absolute;right:10px;bottom:10px;display:grid;width:30px;height:30px;place-items:center;padding:0;border-radius:50%;background:#333}.app-shell .ai-composer-submit img{display:block;width:16px;height:16px}.app-shell .ai-composer-submit:hover:not(:disabled){background:#262626}.app-shell .ai-composer-submit:active:not(:disabled){background:#1f1f1f}.app-shell .ai-composer button.ai-composer-submit:disabled{cursor:not-allowed;background:#8e8f90}.app-shell .primary-button,.app-shell .secondary-button{min-height:40px;border-radius:8px;font-size:var(--font-size-body);font-weight:500;line-height:20px}.app-shell .primary-button{border:0;color:#fff;background:#333}.app-shell .primary-button:hover:not(:disabled){background:#262626}.app-shell .secondary-button{border-color:var(--line-strong);color:var(--ink);background:var(--surface)}.app-shell button:disabled{cursor:not-allowed;opacity:.46}.app-shell .preview-panel>.panel-heading{order:1;min-height:80px;flex:0 0 auto;padding:16px 30px;border-bottom:1px solid var(--line)}.app-shell .preview-panel>.panel-heading h2{font-size:var(--font-size-title);font-weight:700;line-height:24px}.app-shell .preview-panel>.panel-heading p{margin-top:2px;font-size:var(--font-size-small);line-height:18px;letter-spacing:.1px}.app-shell .preview-body{height:100%;min-height:0;padding:30px;overflow:auto}.app-shell .preview-scroll-wrap{order:4;min-height:0;flex:1 1 auto;background:var(--surface);overflow:hidden;--scroll-fade-height:40px}.app-shell .preview-scroll-wrap .preview-body{flex:none;padding:30px}.app-shell .preview-cover{position:relative;display:grid;height:auto;aspect-ratio:510/286;place-items:center;overflow:hidden;border-radius:12px;color:var(--muted);background:var(--surface-subtle);font-size:var(--font-size-small);line-height:18px}.app-shell .preview-cover img{object-fit:cover}.app-shell .preview-body h2{margin-top:20px;font-size:var(--font-size-title);font-weight:700;line-height:28px;letter-spacing:-.2px}.app-shell .preview-narrative,.app-shell .technical-indicators{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.app-shell .technical-indicators-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.app-shell .technical-indicators-heading h3{margin:0;color:var(--ink);font-size:var(--font-size-body);font-weight:700;line-height:22px}.app-shell .technical-indicators-heading p{margin:4px 0 0;color:var(--muted);font-size:var(--font-size-small);line-height:18px}.app-shell .technical-indicators-count{flex:0 0 auto;padding:3px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface-subtle);font-size:var(--font-size-small);line-height:18px}.app-shell .technical-indicators-empty,.app-shell .technical-indicators-loading{margin-top:14px;padding:14px;border:1px dashed var(--line-strong);border-radius:10px;color:var(--muted);background:var(--surface-subtle);font-size:var(--font-size-small);line-height:18px}.app-shell .technical-indicators-empty strong{display:block;color:var(--ink);font-size:var(--font-size-body);line-height:22px}.app-shell .technical-indicators-empty p{margin:5px 0 0}.app-shell .technical-indicators-loading{display:flex;align-items:center;gap:9px}.app-shell .technical-indicators-loading>span{width:14px;height:14px;border:2px solid var(--line-strong);border-top-color:var(--brand);border-radius:50%;animation:technical-indicator-spin .8s linear infinite}.app-shell .technical-indicators-review-note{margin:14px 0 0;padding:9px 11px;border-left:2px solid var(--warning);color:var(--muted);background:#faf6ed;font-size:var(--font-size-small);line-height:18px}.app-shell .technical-indicator-list{display:grid;gap:0;margin:14px 0 0}.app-shell .technical-indicator-item{padding:13px 0;border-top:1px solid var(--line)}.app-shell .technical-indicator-item:first-child{padding-top:0;border-top:0}.app-shell .technical-indicator-value{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;align-items:baseline}.app-shell .technical-indicator-value dt{color:var(--muted);font-size:var(--font-size-small);line-height:18px}.app-shell .technical-indicator-value dd{margin:0;color:var(--ink);font-size:var(--font-size-body);font-weight:650;line-height:22px;overflow-wrap:anywhere;text-align:right}.app-shell .technical-indicator-unit{color:var(--muted);font-size:var(--font-size-small);font-weight:400}.app-shell .technical-indicator-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:7px;color:var(--muted);font-size:var(--font-size-small);line-height:18px}.app-shell .technical-indicator-meta>span{padding:2px 7px;border-radius:999px;background:var(--surface-subtle)}.app-shell .technical-indicator-verification.pending{color:var(--warning);background:#faf6ed}.app-shell .technical-indicator-verification.verified{color:var(--success);background:#eef7f2}.app-shell .technical-indicator-sources{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 8px;margin-top:7px;color:var(--muted);font-size:var(--font-size-small);line-height:18px}.app-shell .technical-indicator-sources a{color:var(--brand);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.app-shell .technical-indicator-sources a:focus-visible{border-radius:3px;outline:3px solid rgb(36 91 109/16%);outline-offset:2px}@keyframes technical-indicator-spin{to{transform:rotate(1turn)}}.app-shell .preview-detail,.app-shell .preview-summary{margin:0}.app-shell .preview-detail{margin-top:18px}.app-shell .preview-detail>span,.app-shell .preview-summary>span{display:block;color:var(--muted);font-size:var(--font-size-small);font-weight:400;line-height:18px;letter-spacing:.1px}.app-shell .preview-detail>p,.app-shell .preview-summary>p{margin:11px 0 0;color:var(--ink);font-size:var(--font-size-body);line-height:24px;white-space:pre-wrap}.app-shell .preview-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin-top:17px;padding:0;border:0}.app-shell .preview-meta-row{display:flex;align-items:baseline;justify-content:flex-start;min-width:0;gap:0;font-size:var(--font-size-small);line-height:18px;white-space:nowrap}.app-shell .preview-meta-row span{flex:0 0 auto;color:var(--muted)}.app-shell .preview-meta-row strong{min-width:0;overflow:hidden;color:var(--ink);font-weight:600;text-align:left;text-overflow:ellipsis;white-space:nowrap}.app-shell .preview-meta-row[data-wide=true]{grid-column:1/-1;align-items:flex-start;white-space:normal}.app-shell .preview-meta-row[data-wide=true] strong{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.app-shell .cursor-tooltip{position:fixed;z-index:120;width:max-content;max-width:180px;padding:6px 9px;border:1px solid var(--line);border-radius:6px;color:#4a4a4a;background:#fff;box-shadow:0 8px 20px rgb(24 24 27/12%);font-size:var(--font-size-small);line-height:16px;pointer-events:none}.app-shell .workbench-dialog-backdrop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:rgb(24 24 27/42%)}.app-shell .workbench-dialog{width:min(440px,calc(100vw - 48px));padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 24px 64px rgb(0 0 0/20%)}.app-shell .workbench-dialog-copy{display:grid;gap:8px}.app-shell .workbench-dialog-kicker{color:#617486;font-size:var(--font-size-small);font-weight:600;line-height:18px}.app-shell .workbench-dialog-kicker.destructive{color:var(--danger)}.app-shell .workbench-dialog h2{margin:0;color:var(--ink);font-size:var(--font-size-title);font-weight:650;line-height:28px}.app-shell .workbench-dialog p{margin:0;color:var(--muted);font-size:var(--font-size-body);line-height:21px}.app-shell .workbench-dialog .workbench-dialog-error{margin-top:14px;padding:9px 11px;border-radius:7px;color:#9b3333;background:#fff2f2}.app-shell .workbench-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.app-shell .dialog-destructive-button,.app-shell .dialog-primary-button,.app-shell .dialog-secondary-button{min-width:88px;min-height:40px;padding:0 16px;border:1px solid var(--line-strong);border-radius:8px;cursor:pointer;font-size:var(--font-size-body);font-weight:500}.app-shell .dialog-secondary-button{color:var(--ink);background:var(--surface)}.app-shell .dialog-primary-button{border-color:var(--brand);color:#fff;background:var(--brand)}.app-shell .dialog-destructive-button{border-color:var(--danger);color:#fff;background:var(--danger)}.app-shell .dialog-secondary-button:focus-visible,.app-shell .dialog-secondary-button:hover:not(:disabled){background:var(--surface-subtle)}.app-shell .dialog-primary-button:focus-visible,.app-shell .dialog-primary-button:hover:not(:disabled){background:var(--brand-strong)}.app-shell .dialog-destructive-button:focus-visible,.app-shell .dialog-destructive-button:hover:not(:disabled){background:#a62f2f}.app-shell .dialog-destructive-button:focus-visible,.app-shell .dialog-primary-button:focus-visible,.app-shell .dialog-secondary-button:focus-visible{outline:3px solid rgb(51 51 51/14%);outline-offset:2px}.app-shell .dialog-destructive-button:disabled,.app-shell .dialog-primary-button:disabled,.app-shell .dialog-secondary-button:disabled{cursor:not-allowed;opacity:.48}@media (max-width:1540px){.app-shell .workspace{--tree-panel-width:250px;--preview-panel-width:clamp(330px,27vw,520px)}.app-shell .structure-account-wrap,.app-shell .structure-brand{margin-right:20px;margin-left:20px}.app-shell .structure-account-wrap{width:calc(100% - 40px)}.app-shell .structure-submit{right:20px;left:20px}.app-shell .tree-list,.app-shell .tree-tools{padding-right:16px;padding-left:16px}.app-shell .editor-wrap{--side-card-width:280px;--card-padding:20px;grid-template-columns:minmax(0,1fr) var(--side-card-width);gap:22px 18px;padding:24px}.app-shell .form-card{padding:20px}.app-shell .narrative-card{grid-template-columns:minmax(0,1fr);padding:0}.app-shell .preview-body{padding:24px}}@media (max-width:1439px){.app-shell .workspace{position:relative;display:block}.app-shell .editor-panel{width:100%;height:100%}.app-shell .editor-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px}.app-shell .compact-workbench-controls{display:flex;align-items:center;gap:8px}.app-shell .compact-panel-heading button,.app-shell .compact-preview-trigger,.app-shell .compact-workbench-controls button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;color:var(--ink);background:var(--surface);cursor:pointer;font-size:var(--font-size-body);font-weight:500;line-height:20px;transition:border-color .16s ease,background-color .16s ease}.app-shell .compact-panel-heading button:hover,.app-shell .compact-preview-trigger:hover,.app-shell .compact-workbench-controls button:hover{border-color:#999;background:var(--surface-subtle)}.app-shell .compact-panel-backdrop:focus-visible,.app-shell .compact-panel-heading button:focus-visible,.app-shell .compact-preview-trigger:focus-visible,.app-shell .compact-workbench-controls button:focus-visible{outline:3px solid rgb(51 51 51/16%);outline-offset:2px}.app-shell .compact-panel-backdrop{position:absolute;z-index:40;inset:0;display:block;width:100%;height:100%;padding:0;border:0;border-radius:12px;background:rgb(20 20 20/32%);cursor:pointer;animation:compact-backdrop-in .14s ease-out both}.app-shell .preview-panel,.app-shell .tree-panel{position:absolute;z-index:50;top:0;bottom:0;height:100%;visibility:hidden;pointer-events:none;contain:paint;will-change:transform;box-shadow:0 20px 48px rgb(20 20 20/18%),0 4px 16px rgb(20 20 20/10%);transition:transform .2s cubic-bezier(.2,0,0,1),visibility 0s linear .2s}.app-shell .tree-panel{left:0;width:min(360px,calc(100% - 72px));transform:translateX(calc(-100% - 12px))}.app-shell .preview-panel{right:0;width:min(560px,calc(100% - 72px));transform:translateX(calc(100% + 12px))}.app-shell .preview-panel.compact-panel-open,.app-shell .tree-panel.compact-panel-open{visibility:visible;pointer-events:auto;transform:translateX(0);transition-delay:0s}.app-shell .compact-panel-heading{display:flex;min-height:52px;flex:0 0 auto;align-items:center;justify-content:space-between;order:0;padding:6px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.app-shell .compact-panel-heading strong{font-size:var(--font-size-body);font-weight:600;line-height:20px}}@keyframes compact-backdrop-in{0%{opacity:0}to{opacity:1}}@media (max-width:1280px){.app-shell{padding:8px}.app-shell .workspace{--tree-panel-width:220px;--preview-panel-width:clamp(300px,27vw,420px)}.app-shell .structure-account-wrap,.app-shell .structure-brand{margin-right:16px;margin-left:16px}.app-shell .structure-account-wrap{width:calc(100% - 32px)}.app-shell .tree-list,.app-shell .tree-tools{padding-right:12px;padding-left:12px}.app-shell .structure-submit{right:16px;left:16px}.app-shell .editor-wrap{--side-card-width:240px;--card-padding:20px;grid-template-columns:minmax(0,1fr) var(--side-card-width);gap:18px 14px;padding:20px}.app-shell .ai-candidate-actions{align-items:stretch;flex-direction:column}.app-shell .ai-candidate-actions>div{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){.app-shell .preview-panel,.app-shell .tree-panel{transition:none}.app-shell .ai-current-stage-track[data-has-previous=true],.app-shell .ai-stage-live-dot,.app-shell .ai-stage-progress[data-active=true]:after,.app-shell .compact-panel-backdrop,.app-shell .technical-indicators-loading>span{animation:none}.app-shell .ai-candidate-actions button,.app-shell .ai-stage-progress>span{transition:none}}