:root{--bg:#fff;--panel:#fff;--panel-2:#f6f7f9;--panel-3:#eceff3;--line:#d6dbe3;--text:#23344a;--muted:#718096;--accent:#5979a4;--accent-2:#7f9abc;--accent-3:#a0b6cf;--shadow:#48629224;--surface-hover:#f3f5f7;--surface-strong:#fff;--viewport-bg:#fff;--status-bg:#f6f7f9;--overlay-bg:#2c3a5c2e;--warn-text:#9d6b19;--ok-text:#2f7b62;--panel-toggle-width:32px;--safe-top:0px;--safe-right:0px;--safe-bottom:0px;--safe-left:0px}body[data-tone=dark]{--bg:#000;--panel:#000;--panel-2:#101010;--panel-3:#181818;--line:#2c2c2c;--text:#fff;--muted:#a8a8a8;--accent:#fff;--accent-2:#fff;--accent-3:#fff;--shadow:#00000057;--surface-hover:#171717;--surface-strong:#0a0a0a;--viewport-bg:#000;--status-bg:#111;--overlay-bg:#0000008f;--warn-text:#ffd166;--ok-text:#88e0a8}body[data-tone=dark] .editor-toolbar,body[data-tone=dark] .frame-panel{background:#0a0a0ad6;border-color:#ffffff1f}body[data-tone=dark] .tool-btn:hover{background:#ffffff0f;border-color:#ffffff1f}body[data-tone=dark] .frame-preset-btn,body[data-tone=dark] .frame-panel-kicker,body[data-tone=dark] .frame-title,body[data-tone=dark] .frame-ratio{background:#0c0c0cdb;border-color:#ffffff1f}body[data-tone=dark] .frame-surface{box-shadow:none;background:#ffffff0f;border-color:#0000}body[data-tone=dark] .text-box{box-shadow:none;background:0 0;border-color:#0000}body[data-tone=dark] .frame-tool-target,body[data-tone=dark] .presentation-track-chip,body[data-tone=dark] .presentation-nav{box-shadow:none;background:#0a0a0ad6;border-color:#ffffff1f}body[data-tone=dark] .presentation-track-chip.active{color:#000;background:#fff}*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;height:100%;color:var(--text);background:var(--bg);-webkit-user-select:none;user-select:none;margin:0;font-family:Trebuchet MS,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}input,textarea,[contenteditable=true],.text-box.editing{-webkit-user-select:text;user-select:text}body.dragging-canvas,body.dragging-canvas :not(input):not(textarea):not([contenteditable=true]){-webkit-user-select:none!important;user-select:none!important}button,input{font:inherit}#app{width:100%;height:100%;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);flex-direction:column;display:flex}body.standalone-app{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:8px 12px;display:flex}.topbar-left,.topbar-right{align-items:center;gap:8px;min-width:0;display:flex}.topbar-right{justify-content:flex-end}.title{white-space:nowrap;letter-spacing:.3px;font-size:14px}.title-input{border:1px solid var(--line);width:min(320px,36vw);min-width:150px;color:var(--text);background:var(--panel-2);border-radius:0;outline:none;padding:6px 10px}.title-input:focus{border-color:var(--text);box-shadow:0 0 0 2px var(--line)}.title-input:disabled{opacity:.6;cursor:not-allowed}.mode-switcher,.tone-switcher{border:1px solid var(--line);background:var(--panel-2);border-radius:0;align-items:center;gap:4px;padding:3px;display:flex}.mode-btn,.tone-btn{min-width:50px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:0;padding:6px 12px;font-size:13px;line-height:1.1;transition:background .14s,color .14s,transform .14s,box-shadow .14s}.tone-btn{min-width:36px;padding-inline:10px}.mode-btn:hover,.tone-btn:hover{color:var(--text);background:var(--surface-hover)}.mode-btn.active,.tone-btn.active{color:#fff;background:var(--accent);box-shadow:0 8px 18px #5979a438}.story-panel-toggle,.library-toggle,.ghost-btn,.primary-btn,.add-btn{cursor:pointer}.badge{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:var(--status-bg);border-radius:0;padding:5px 9px;font-size:11px}.workspace{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.story-panel{border-right:1px solid var(--line);z-index:3;background:#fffffff5;flex:0 0 286px;width:286px;transition:width .16s;display:flex;position:relative;overflow:visible}.story-panel.collapsed{border-right-color:#0000;flex-basis:0;width:0}.story-panel-toggle{width:var(--panel-toggle-width);height:var(--panel-toggle-width);border:1px solid var(--line);color:var(--muted);background:var(--surface-strong);box-shadow:0 8px 20px var(--shadow);z-index:8;border-radius:0;justify-content:center;align-items:center;padding:0;transition:background .14s,color .14s,border-color .14s;display:flex;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.story-panel-toggle:hover,.library-toggle:hover{color:var(--text);background:var(--surface-hover)}.story-panel-toggle:focus-visible,.library-toggle:focus-visible{border-color:var(--text);outline:none}.panel-toggle-icon{width:11px;height:11px;transition:transform .16s;display:block}.panel-toggle-icon path{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:butt;stroke-linejoin:miter}.story-panel-toggle .panel-toggle-icon{transform:rotate(180deg)}.story-panel.collapsed .story-panel-toggle .panel-toggle-icon{transform:rotate(0)}.story-panel-content{flex-direction:column;flex:1;min-width:0;transition:opacity .14s;display:flex;overflow:hidden}.story-panel.collapsed .story-panel-content{opacity:0;pointer-events:none}body[data-story-stage=chooser] .story-panel,body[data-story-stage=chooser] .story-panel.collapsed{width:100%;box-shadow:none;z-index:16;background:linear-gradient(#fffffffc 0%,#f8fbfff5 100%);border-right-color:#0000;flex-basis:100%;position:absolute;inset:0}body[data-story-stage=chooser] .story-panel-toggle{opacity:0;pointer-events:none}body[data-story-stage=chooser] .story-panel .story-panel-content,body[data-story-stage=chooser] .story-panel.collapsed .story-panel-content{opacity:1;pointer-events:auto}body[data-story-stage=chooser] .story-panel-head{background:#fbfdfff5;border-bottom-color:#d5dfedb8;height:72px;padding:0 28px;font-size:18px}body[data-story-stage=chooser] .narrative-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-auto-rows:minmax(0,auto);align-content:start;gap:18px;padding:24px 28px 34px;display:grid}body[data-story-stage=chooser] .narrative-row{height:100%;min-height:116px;padding:20px 24px}body[data-story-stage=chooser] .narrative-name{font-size:20px;line-height:1.28}body[data-story-stage=chooser] .narrative-meta{margin-top:14px;font-size:15px}body[data-story-stage=chooser] .narrative-copy-btn{min-width:112px;min-height:50px;padding:0 18px;font-size:15px}body[data-story-stage=chooser] .editor-dock,body[data-story-stage=chooser] .library,body[data-story-stage=chooser] .empty-state,body[data-story-stage=chooser] .empty-hint,body[data-story-stage=chooser] .guide-layer{display:none}body[data-story-stage=chooser] .viewport{background:linear-gradient(#f7fafe 0%,#eef4fa 100%)}.story-panel-head,.library-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;height:52px;padding:0 12px;font-size:14px;display:flex}.library-tabs{align-items:center;gap:6px;min-width:0;display:flex}.library-head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.library-tab{border:1px solid var(--line);color:var(--muted);font:inherit;background:var(--panel);cursor:pointer;border-radius:0;padding:7px 11px;transition:color .14s,border-color .14s,background .14s}.library-tab:hover{color:var(--text);border-color:var(--accent);background:var(--surface-hover)}.library-tab.active{color:#fff;border-color:var(--accent);background:var(--accent)}.library-panel{flex:1;min-height:0;overflow:hidden}.narrative-list,.svg-list,.frame-list{flex-direction:column;gap:8px;padding:12px;display:flex;overflow:auto}.ghost-btn,.primary-btn,.add-btn{border:1px solid #0000;border-radius:0;padding:7px 11px}.ghost-btn{color:var(--muted);background:var(--panel);border-color:var(--line)}.ghost-btn:hover{color:var(--text);border-color:var(--accent);background:var(--surface-hover)}.ghost-btn:disabled,.primary-btn:disabled,.mode-btn:disabled,.tone-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.ghost-btn:disabled:hover,.primary-btn:disabled:hover,.mode-btn:disabled:hover,.tone-btn:disabled:hover{color:inherit;border-color:inherit;background:inherit}.primary-btn{color:#fff;background:var(--accent);box-shadow:0 10px 20px #5979a42e}.narrative-row,.svg-row{border:1px solid var(--line);background:var(--panel);border-radius:0}.svg-folder{border:1px solid var(--line);background:var(--panel);border-radius:0;overflow:hidden}.svg-folder-toggle{width:100%;color:var(--text);text-align:left;background:var(--panel);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 12px;display:flex}.svg-folder-toggle:hover{background:var(--surface-hover)}.svg-folder-icon{width:12px;color:var(--muted);flex:0 0 12px;font-size:16px;line-height:1;transition:transform .14s}.svg-folder.expanded .svg-folder-icon{transform:rotate(90deg)}.svg-folder-name{word-break:break-word;flex:1;min-width:0;font-size:13px;font-weight:600}.svg-folder-count{color:var(--muted);flex-shrink:0;font-size:11px}.svg-folder-body{padding:0 8px calc(20px + env(safe-area-inset-bottom,0px));touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;min-height:0;max-height:clamp(180px,42dvh,420px);display:block;overflow:hidden auto}.svg-folder-body>*+*{margin-top:8px}.svg-folder-body:after{content:"";height:16px;display:block}.narrative-row{cursor:pointer;padding:10px 11px;transition:transform .12s,border-color .12s,background .12s}.narrative-row-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.narrative-actions{flex:none;align-items:center;gap:6px;display:flex}.narrative-row:hover{border-color:var(--accent);background:var(--surface-hover);transform:translate(2px)}.narrative-row.active{border-color:var(--accent);background:var(--panel-2);box-shadow:0 10px 22px #7e95bc24}.narrative-name{min-width:0;color:var(--text);word-break:break-word;flex:1;font-size:13px;line-height:1.35}.narrative-name-input{border:1px solid var(--accent);width:100%;min-width:0;font:inherit;color:var(--text);background:var(--panel-2);border-radius:0;outline:none;flex:1;padding:4px 6px;line-height:1.35}.narrative-name-input:focus{box-shadow:0 0 0 2px var(--line)}.narrative-copy-btn,.narrative-delete-btn,.narrative-restore-btn{flex:none;min-width:48px;padding:4px 8px;font-size:11px;line-height:1.2}.narrative-meta{color:var(--muted);margin-top:6px;font-size:11px}.narrative-trash-section{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:2px;padding-top:8px;display:flex}.narrative-trash-head{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:10px;padding:0 2px;display:flex}.narrative-trash-title-wrap{align-items:baseline;gap:6px;display:flex}.narrative-trash-caret{width:10px;color:var(--muted);justify-content:center;align-items:center;font-size:16px;line-height:1;transition:transform .14s;display:inline-flex}.narrative-trash-section.expanded .narrative-trash-caret{transform:rotate(90deg)}.narrative-trash-title{color:var(--text);font-size:12px;font-weight:700}.narrative-trash-caption{color:var(--muted);font-size:11px}.narrative-trash-list{flex-direction:column;gap:8px;display:flex}.narrative-row-trash{cursor:default;background:var(--panel)}.narrative-row-trash:hover{border-color:var(--line);background:var(--panel);transform:none}.narrative-row-trash .narrative-name{color:var(--muted)}.story-empty,.svg-empty{color:var(--muted);padding:10px 4px;font-size:13px}.viewport{touch-action:none;overscroll-behavior:none;background:var(--viewport-bg);cursor:grab;flex:1;position:relative;overflow:hidden}.viewport.panning{cursor:grabbing}.viewport.selection-mode,.viewport.selection-mode .canvas-item,.viewport.selection-mode .svg-item,.viewport.selection-mode .image-item,.viewport.selection-mode .frame-item,.viewport.selection-mode .text-item,.viewport.selection-mode .canvas-item:active,.viewport.selection-mode .svg-item:active,.viewport.selection-mode .image-item:active,.viewport.selection-mode .frame-item:active,.viewport.selection-mode .text-item:active{cursor:crosshair}.viewport.selection-mode .canvas-item.selected,.viewport.selection-mode .svg-item.selected,.viewport.selection-mode .image-item.selected,.viewport.selection-mode .frame-item.selected,.viewport.selection-mode .text-item.selected,.viewport.selection-mode .canvas-item.selected:active,.viewport.selection-mode .svg-item.selected:active,.viewport.selection-mode .image-item.selected:active,.viewport.selection-mode .frame-item.selected:active,.viewport.selection-mode .text-item.selected:active{cursor:move}.viewport.selection-mode .item-label-close{cursor:pointer}.viewport.no-narrative{cursor:default}body[data-mode=browse] .workspace{height:100%}body[data-mode=browse] .topbar,body[data-mode=browse] .story-panel,body[data-mode=browse] .library,body[data-mode=browse] .editor-dock,body[data-mode=browse] .item-menu,body[data-mode=browse] .presentation-hud,body[data-mode=browse] .preview-modal,body[data-mode=browse] .empty-state,body[data-mode=browse] .empty-hint,body[data-mode=browse] .guide-layer,body[data-mode=present] .presentation-hud{display:none!important}body[data-mode=browse] .viewport{background:var(--viewport-bg)}body[data-mode=present] .frame-item,body[data-mode=browse] .frame-item{display:none}body[data-mode=present] .frame-item.presentation-current,body[data-mode=browse] .frame-item.presentation-current{display:block}body[data-mode=present] .frame-item.presentation-current .frame-surface,body[data-mode=browse] .frame-item.presentation-current .frame-surface{box-shadow:none;background:#fff;border-width:0;border-color:#0000}body[data-mode=present] .frame-item.presentation-current .frame-title,body[data-mode=present] .frame-item.presentation-current .frame-ratio,body[data-mode=present] .frame-item.presentation-current .frame-guide,body[data-mode=browse] .frame-item.presentation-current .frame-title,body[data-mode=browse] .frame-item.presentation-current .frame-ratio,body[data-mode=browse] .frame-item.presentation-current .frame-guide{display:none}.editor-dock{z-index:12;flex-direction:column;align-items:flex-start;gap:8px;width:min(420px,100% - 48px);display:flex;position:absolute;top:22px;left:24px}.editor-toolbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border:1px solid #d5dfede6;border-radius:0;align-items:center;gap:6px;padding:6px;display:flex;box-shadow:0 16px 32px #48629224}.tool-btn{width:42px;height:42px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;padding:0;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s;display:flex}.tool-btn:hover{background:#5979a414;border-color:#5979a43d;transform:translateY(-1px)}.tool-btn.active{color:#fff;background:linear-gradient(135deg,#5d7da8 0%,#3d587d 100%);box-shadow:0 12px 24px #3d587d3d}.tool-btn-icon{width:18px;height:18px;display:block}.tool-btn-icon *{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:square;stroke-linejoin:miter}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tool-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;transform:none}.frame-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid #d5dfede6;border-radius:0;padding:14px;box-shadow:0 20px 34px #4862921f}.frame-panel[hidden]{display:none}.tool-panel{width:min(420px,100vw - 64px)}.frame-panel-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.frame-panel-title{color:var(--text);font-size:15px;font-weight:700}.frame-panel-subtitle,.frame-panel-note,.frame-panel-kicker{color:var(--muted)}.frame-panel-subtitle,.frame-panel-note{font-size:12px;line-height:1.55}.frame-panel-kicker{border:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;background:#ffffffb8;border-radius:0;padding:4px 8px;font-size:11px}.tool-panel-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tool-action-btn{min-width:104px}.tool-panel-caption{color:var(--muted);font-size:12px;line-height:1.55}.frame-tool-target{color:var(--text);background:#5979a414;border:1px solid #5979a42e;margin-bottom:10px;padding:10px 12px;font-size:12px;line-height:1.6}.frame-preset-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.frame-preset-btn{border:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer;background:#fffffff5;border-radius:0;flex-direction:column;gap:6px;padding:14px 12px;transition:transform .14s,border-color .14s,box-shadow .14s;display:flex}.frame-preset-btn:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 14px 24px #5979a429}.frame-preset-ratio{letter-spacing:.04em;font-size:20px;font-weight:700}.frame-preset-desc{color:var(--muted);font-size:12px;line-height:1.45}.world{transform-origin:0 0;position:absolute;inset:0}.deck-link-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.deck-link{transform-origin:0;background:linear-gradient(90deg,#5979a429 0%,#5979a49e 100%);height:2px;position:absolute}.deck-link-arrow{border-top:2px solid #5979a4b8;border-right:2px solid #5979a4b8;width:12px;height:12px;position:absolute;top:50%;right:-2px;transform:translateY(-50%)rotate(45deg)}.guide-layer{pointer-events:none;z-index:3;position:absolute;inset:0}.align-guide{background:var(--text);box-shadow:none;border-radius:0;position:absolute}.align-guide.vertical{width:2px;transform:translate(-1px)}.align-guide.horizontal{height:2px;transform:translateY(-1px)}.selection-marquee{border:1px solid var(--accent);pointer-events:none;background:#5979a41f;position:absolute}.empty-state{z-index:2;justify-content:center;align-items:center;padding:24px;display:none;position:absolute;inset:0}.empty-card{border:1px solid var(--line);text-align:center;background:var(--surface-strong);width:min(460px,100%);box-shadow:0 12px 28px var(--shadow);border-radius:0;padding:28px}.empty-card-title{color:var(--text);font-size:22px}.empty-card-text{color:var(--muted);margin:12px 0 20px;line-height:1.6}.empty-hint{letter-spacing:.4px;color:var(--muted);pointer-events:none;z-index:1;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ios-install-hint{left:50%;bottom:calc(18px + var(--safe-bottom));border:1px solid var(--line);width:min(88vw,420px);color:var(--text);letter-spacing:.2px;text-align:center;background:var(--surface-strong);box-shadow:0 12px 28px var(--shadow);z-index:30;border-radius:0;padding:12px 14px;font-size:13px;line-height:1.5;position:fixed;transform:translate(-50%)}.library{border-left:1px solid var(--line);z-index:5;width:362px;box-shadow:-8px 0 24px var(--shadow);background:#fffffff5;flex-direction:row;transition:width .16s;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:visible}.library.collapsed{width:0;box-shadow:none;border-left-color:#0000}.library-toggle{width:var(--panel-toggle-width);height:var(--panel-toggle-width);border:1px solid var(--line);color:var(--muted);background:var(--surface-strong);box-shadow:0 8px 20px var(--shadow);z-index:8;border-radius:0;justify-content:center;align-items:center;padding:0;transition:background .14s,color .14s,border-color .14s;display:flex;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}.library.collapsed .library-toggle .panel-toggle-icon{transform:rotate(180deg)}.library-content{flex-direction:column;flex:1;min-width:0;transition:opacity .14s;display:flex;overflow:hidden}.library.collapsed .library-content{opacity:0;pointer-events:none}.svg-row{justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.svg-name{color:var(--text);word-break:break-all;flex:1;font-size:12px;line-height:1.35}.svg-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.preview-btn{min-width:58px}.add-btn{color:#fff;background:var(--accent)}.add-btn:hover{border-color:var(--accent)}.add-btn:disabled{color:var(--muted);border-color:var(--line);background:var(--panel-2);cursor:not-allowed}.frame-list{gap:12px}.frame-card{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;text-align:left;background:var(--panel);cursor:pointer;border-radius:0;flex-direction:column;gap:10px;padding:10px;transition:transform .12s,border-color .12s,box-shadow .12s,background .12s;display:flex}.frame-card:hover{border-color:var(--accent);background:var(--surface-hover);transform:translate(-1px)}.frame-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.frame-card-preview{aspect-ratio:16/9;background:#fff;border:1px solid #5979a42e;width:100%;position:relative;overflow:hidden}.frame-card-preview-stage{position:absolute;inset:0}.frame-preview-surface{background:#fff;border:1px solid #142c5424;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 12px 24px #142c5414}.frame-preview-world{transform-origin:0 0;position:absolute;top:0;left:0}.frame-preview-empty{color:#142c545c;letter-spacing:.08em;text-transform:uppercase;font-size:24px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.frame-card-info{flex-direction:column;gap:4px;display:flex}.frame-card-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.frame-card-title{word-break:break-word;min-width:0;font-size:13px;font-weight:700;line-height:1.35}.frame-card-badge{color:var(--muted);background:#5979a414;border:1px solid #5979a447;flex-shrink:0;padding:2px 6px;font-size:11px;line-height:1.3}.frame-card-caption,.frame-card-status{color:var(--muted);font-size:12px;line-height:1.5}.canvas-item{transform-origin:0 0;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute}.canvas-item.readonly,.canvas-item.readonly:active{cursor:default}.canvas-item.selected{z-index:20!important}.selection-bounds{box-sizing:border-box;border:1px dashed var(--accent);pointer-events:none;z-index:21;position:absolute}.selection-bounds-handle{border:2px solid var(--accent);background:var(--surface-strong);pointer-events:auto;cursor:nwse-resize;border-radius:0;width:15px;height:15px;position:absolute;bottom:-8px;right:-8px}.svg-item,.image-item{cursor:grab;border:1px solid #0000;border-radius:0}.svg-item:active,.image-item:active,.frame-item:active,.text-item:active{cursor:grabbing}.svg-item.selected,.image-item.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 10px 24px #5979a41f}.canvas-item.crop-editing{overflow:visible}.canvas-item.crop-editing.selected{box-shadow:none;border-color:#0000}.media-viewport{background:var(--surface-strong);width:100%;height:100%;position:relative;overflow:hidden}.media-content,.media-crop-stage,.crop-box-content-inner{transform-origin:0 0;position:absolute;top:0;left:0}.media-image{pointer-events:none;background:var(--surface-strong);width:100%;max-width:none;height:100%;display:block}.media-crop-stage{pointer-events:none;overflow:visible}.media-crop-stage .media-image{opacity:.28}.crop-box{border:1px solid var(--accent);cursor:move;pointer-events:auto;background:0 0;border-radius:0;position:absolute;overflow:hidden;box-shadow:0 0 0 1px #5979a429}.crop-box-content{background:var(--surface-strong);position:absolute;inset:0;overflow:hidden}.crop-handle{border:2px solid var(--accent);background:var(--surface-strong);pointer-events:auto;border-radius:0;width:14px;height:14px;position:absolute}.crop-handle[data-crop-handle=nw]{cursor:nwse-resize;top:-8px;left:-8px}.crop-handle[data-crop-handle=n]{cursor:ns-resize;top:-8px;left:calc(50% - 7px)}.crop-handle[data-crop-handle=ne]{cursor:nesw-resize;top:-8px;right:-8px}.crop-handle[data-crop-handle=e]{cursor:ew-resize;top:calc(50% - 7px);right:-8px}.crop-handle[data-crop-handle=se]{cursor:nwse-resize;bottom:-8px;right:-8px}.crop-handle[data-crop-handle=s]{cursor:ns-resize;bottom:-8px;left:calc(50% - 7px)}.crop-handle[data-crop-handle=sw]{cursor:nesw-resize;bottom:-8px;left:-8px}.crop-handle[data-crop-handle=w]{cursor:ew-resize;top:calc(50% - 7px);left:-8px}.frame-item{cursor:grab;border-radius:0}.frame-item.locked-frame,.frame-item.locked-frame:active{cursor:default}.frame-surface{width:100%;height:100%;box-shadow:none;background:linear-gradient(#5979a414 0%,#5979a408 100%),#ffffff14;border:2px solid #0000;border-radius:0;position:relative;overflow:hidden}.frame-item.outlined .frame-surface{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.frame-item.locked-frame .frame-surface{background:#ffffff0a;border-color:#0000}.frame-title,.frame-ratio{background:#ffffffeb;border:1px solid #5979a429;border-radius:0;padding:6px 10px;font-size:12px;line-height:1;position:absolute;box-shadow:0 8px 18px #4862921a}.frame-title{letter-spacing:.03em;font-weight:700;top:14px;left:16px}.frame-ratio{color:var(--muted);bottom:14px;right:16px}.frame-guide{background:#5979a433;position:absolute}.frame-guide.vertical{width:1px;top:18px;bottom:18px;left:50%;transform:translate(-50%)}.frame-guide.horizontal{height:1px;top:50%;left:18px;right:18px;transform:translateY(-50%)}.presentation-hud{z-index:11;pointer-events:none;justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:absolute;bottom:22px;left:24px;right:24px}.presentation-track-list,.presentation-nav{pointer-events:auto}.presentation-track-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.presentation-track-chip{min-width:86px;color:var(--muted);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd6;border:1px solid #23344a24;padding:9px 12px;box-shadow:0 12px 28px #23344a14}.presentation-track-chip.active{color:#fff;background:var(--accent);border-color:#0000;box-shadow:0 16px 28px #23344a2e}.presentation-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border:1px solid #23344a24;justify-content:space-between;align-items:center;gap:10px;min-width:280px;padding:8px;display:flex;box-shadow:0 16px 28px #23344a1a}.presentation-btn{min-width:72px}.presentation-status{flex-direction:column;flex:1;align-items:center;gap:3px;min-width:0;display:flex}.presentation-title{max-width:100%;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.presentation-slide{color:var(--muted);font-size:11px}.text-item{cursor:grab}.text-box{min-width:0;max-width:none;color:var(--text);letter-spacing:.02em;text-align:left;white-space:pre-wrap;word-break:break-word;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:0;outline:none;padding:10px 0;line-height:1.08}.text-item.selected .text-box{border-color:var(--accent);box-shadow:none}.text-box.editing{cursor:text;-webkit-user-select:text;user-select:text}.item-label{border:1px solid var(--line);max-width:250px;color:var(--text);background:var(--surface-strong);box-shadow:0 8px 18px var(--shadow);border-radius:0;align-items:center;gap:8px;padding:4px 7px 4px 10px;font-size:12px;display:flex;position:absolute;top:-34px;left:0}.item-label-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.item-label-close{border:1px solid var(--line);width:18px;height:18px;color:var(--muted);background:0 0;border-radius:0;padding:0;font-size:12px;line-height:1}.item-label-close:hover{border-color:var(--accent);color:var(--accent)}.item-label-close,.menu-chip,.menu-btn,.danger-btn{cursor:pointer}.resize-handle{border:2px solid var(--accent);background:var(--surface-strong);cursor:nwse-resize;border-radius:0;width:15px;height:15px;position:absolute;bottom:-8px;right:-8px}.text-width-handle{cursor:ew-resize;top:50%;bottom:auto;transform:translateY(-50%)}.text-size-handle{cursor:nwse-resize;top:auto;bottom:-8px;transform:none}.item-menu{border:1px solid var(--line);width:290px;color:var(--text);background:var(--surface-strong);box-shadow:0 18px 36px var(--shadow);z-index:30;border-radius:0;padding:14px;position:fixed}.item-menu[hidden]{display:none}.item-menu-head{color:var(--text);margin-bottom:12px;font-size:14px}.menu-note{color:var(--muted);margin-bottom:14px;font-size:12px;line-height:1.55}.menu-field{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.menu-label{color:var(--muted);font-size:12px}.menu-input{border:1px solid var(--line);width:100%;color:var(--text);background:var(--panel);border-radius:0;outline:none;padding:9px 11px}.menu-input:focus{border-color:var(--text);box-shadow:0 0 0 2px var(--line)}.menu-inline{justify-content:space-between;align-items:center;gap:10px;display:flex}.menu-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.menu-btn,.menu-chip{min-width:0;padding:7px 10px}.menu-wide{width:100%;margin-bottom:12px}.menu-chip{min-width:48px}.menu-chip.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface-strong))}.menu-value{color:var(--text);font-size:12px}.menu-range{width:100%;accent-color:var(--accent)}.menu-divider{background:var(--line);height:1px;margin:12px 0}.danger-btn{color:#a03030;background:0 0;border:1px solid #cc5c5c;border-radius:0;width:100%;padding:10px 12px}.danger-btn:hover{background:#a030300f;border-color:#a03030}.preview-modal{z-index:18;background:var(--overlay-bg);justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.preview-dialog{border:1px solid var(--line);background:var(--surface-strong);width:min(1040px,100%);max-height:min(860px,100vh - 56px);box-shadow:0 24px 56px var(--shadow);border-radius:0;flex-direction:column;display:flex;overflow:hidden}.preview-head,.preview-actions{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.preview-head{border-bottom:1px solid var(--line)}.preview-heading{min-width:0}.preview-kicker{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:12px}.preview-title{color:var(--text);word-break:break-all;font-size:16px;line-height:1.35}.preview-close{flex-shrink:0}.preview-stage{background:var(--panel-2);flex:1;justify-content:center;align-items:center;min-height:320px;padding:22px;display:flex;overflow:auto}.preview-image{background:var(--surface-strong);width:auto;max-width:100%;height:auto;max-height:min(72vh,760px);box-shadow:0 12px 28px var(--shadow);border-radius:0;display:block}.preview-empty{color:#a03030;background:0 0;border:1px solid #cc5c5c;border-radius:0;padding:18px 20px}.preview-actions{border-top:1px solid var(--line)}.preview-hint{color:var(--muted);font-size:12px;line-height:1.5}.preview-action-group{align-items:center;gap:8px;display:flex}.preview-add{flex-shrink:0}.svg-chat-drawer{z-index:22;position:fixed;inset:0}.svg-chat-backdrop{background:#131e302e;position:absolute;inset:0}.svg-chat-panel{border-left:1px solid var(--line);background:var(--surface-strong);flex-direction:column;width:min(760px,100vw);height:100%;display:flex;position:absolute;top:0;right:0;box-shadow:-18px 0 42px #23344a29}.svg-chat-head,.svg-chat-meta{padding:16px 18px}.svg-chat-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.svg-chat-heading{min-width:0}.svg-chat-kicker,.svg-chat-section-head,.svg-chat-preview-head{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.svg-chat-file{word-break:break-all;margin-top:6px;font-size:16px;line-height:1.4}.svg-chat-mode-switch{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.svg-chat-mode-btn.active{border-color:var(--text);background:var(--panel);color:var(--text)}.svg-chat-meta{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.svg-chat-status{color:var(--text)}.svg-chat-counts{color:var(--muted)}.svg-chat-error{color:#a03030;background:#a030300a;border:1px solid #cc5c5c;margin:16px 18px 0;padding:12px 14px;font-size:12px;line-height:1.55}.svg-chat-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px 18px;display:flex;overflow:auto}.svg-chat-pane{flex-direction:column;flex:1;min-height:0;display:flex}.svg-chat-section,.svg-chat-messages,.svg-chat-events,.svg-chat-revisions{flex-direction:column;gap:10px;display:flex}.svg-chat-message,.svg-chat-event,.svg-chat-revision-card,.svg-chat-preview-panel{border:1px solid var(--line);background:var(--panel)}.svg-chat-message{padding:12px 14px}.svg-chat-message--assistant{background:var(--panel-2)}.svg-chat-message--system{background:#5979a414;border-color:#5979a447}.svg-chat-message-meta,.svg-chat-revision-meta,.svg-chat-revision-prompt{color:var(--muted);font-size:11px;line-height:1.5}.svg-chat-message-body,.svg-chat-revision-summary{white-space:pre-wrap;word-break:break-word;margin-top:6px;line-height:1.65}.svg-chat-message-attachments,.svg-chat-draft-attachments{flex-wrap:wrap;gap:10px;display:flex}.svg-chat-message-attachments{margin-top:10px}.svg-chat-attachment,.svg-chat-draft-attachment{border:1px solid var(--line);background:var(--panel-2);width:132px;color:inherit;text-decoration:none;overflow:hidden}.svg-chat-draft-attachment{flex-direction:column;display:flex}.svg-chat-attachment-thumb{aspect-ratio:1;object-fit:cover;background:#5979a40f;width:100%;display:block}.svg-chat-attachment-label{color:var(--muted);word-break:break-word;padding:8px 9px;font-size:11px;line-height:1.45}.svg-chat-draft-attachment .ghost-btn{margin:0 8px 8px}.svg-chat-event{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;display:grid}.svg-chat-event-seq{color:var(--muted);font-size:11px}.svg-chat-event-content{word-break:break-word;min-width:0;font-size:12px;line-height:1.6}.svg-chat-event-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.svg-chat-event-title{min-width:0;color:var(--text);flex:1;font-size:13px;font-weight:700}.svg-chat-event-detail{color:var(--muted);white-space:pre-wrap;word-break:break-word;margin-top:6px;font-size:11px;line-height:1.65}.svg-chat-event-badge{border:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;background:var(--panel-2);color:var(--muted);flex:none;padding:3px 7px;font-size:10px;line-height:1}.svg-chat-event--running{background:#5979a40f;border-color:#5979a457}.svg-chat-event--success{background:#5d88680f;border-color:#5d886857}.svg-chat-event--failure{background:#b048480d;border-color:#b0484847}.svg-chat-event-badge--running{color:#3f5f89;background:#5979a414;border-color:#5979a457}.svg-chat-event-badge--success{color:#4d7357;background:#5d886814;border-color:#5d886857}.svg-chat-event-badge--failure{color:#9c4747;background:#b0484814;border-color:#b0484847}.svg-chat-history{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:12px;display:grid}.svg-chat-revision-card{padding:12px 14px}.svg-chat-revision-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.svg-chat-revision-head,.svg-chat-revision-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.svg-chat-revision-title{font-size:14px;font-weight:700}.svg-chat-revision-badge{border:1px solid var(--line);color:var(--muted);background:var(--panel-2);padding:3px 7px;font-size:11px}.svg-chat-revision-meta{margin-top:4px}.svg-chat-revision-prompt,.svg-chat-revision-summary{margin-top:8px}.svg-chat-revision-actions{margin-top:12px}.svg-chat-preview-panel{flex-direction:column;gap:10px;min-height:280px;padding:12px;display:flex}.svg-chat-preview{object-fit:contain;border:1px solid var(--line);background:var(--surface-strong);width:100%;max-height:420px;display:block}.svg-chat-preview-empty,.svg-chat-empty{border:1px dashed var(--line);color:var(--muted);background:var(--panel-2);padding:14px;font-size:12px;line-height:1.55}.svg-chat-form{border-top:1px solid var(--line);background:var(--panel);flex-direction:column;gap:10px;padding:16px 18px 18px;display:flex}.svg-chat-upload-row{align-items:center;gap:10px;display:flex}.svg-chat-label{color:var(--muted);font-size:12px}.svg-chat-textarea{border:1px solid var(--line);width:100%;min-height:120px;color:var(--text);background:var(--surface-strong);resize:vertical;border-radius:0;outline:none;padding:12px 14px}.svg-chat-textarea:focus{border-color:var(--text);box-shadow:0 0 0 2px var(--line)}.svg-chat-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.svg-chat-tip{color:var(--muted);font-size:12px;line-height:1.5}.svg-group-select{border:1px solid var(--line);background:var(--surface-strong);width:180px;max-width:100%;color:var(--text);border-radius:0;outline:none;padding:10px 12px}.svg-group-select:focus{border-color:var(--text);box-shadow:0 0 0 2px var(--line)}.svg-group-draft-attachments{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.svg-group-draft-attachment{border:1px solid var(--line);background:var(--panel);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.svg-group-draft-label{word-break:break-word;font-size:13px;font-weight:700}.svg-group-draft-meta,.svg-group-item-meta,.svg-group-item-path,.svg-group-item-objective,.svg-group-item-error,.svg-group-summary-text,.svg-group-summary-path{word-break:break-word;font-size:12px;line-height:1.6}.svg-group-draft-meta,.svg-group-item-meta,.svg-group-item-path,.svg-group-summary-path{color:var(--muted)}.svg-group-summary{border:1px solid var(--line);background:var(--panel);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.svg-group-summary-title{font-size:15px;font-weight:700}.svg-group-summary-stats{flex-wrap:wrap;gap:8px;display:flex}.svg-group-summary-stat,.svg-group-item-status{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);padding:3px 8px;font-size:11px;line-height:1.4}.svg-group-items{flex-direction:column;gap:10px;display:flex}.svg-group-item{border:1px solid var(--line);background:var(--panel);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.svg-group-item--running{background:#5979a40f;border-color:#5979a457}.svg-group-item--queued{border-color:#5979a43d}.svg-group-item--succeeded{background:#5d88680d;border-color:#5d886857}.svg-group-item--failed{background:#b048480d;border-color:#b048484d}.svg-group-item-head,.svg-group-item-actions,.svg-group-footer,.svg-group-footer-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.svg-group-item-selector{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;min-width:0;display:grid}.svg-group-item-title-wrap{min-width:0}.svg-group-item-title{font-size:14px;font-weight:700}.svg-group-item-objective{color:var(--text)}.svg-group-item-error{color:#9c4747}.meeting-stream-drawer{z-index:23;position:fixed;inset:0}.meeting-stream-backdrop{background:#131e302e;position:absolute;inset:0}.meeting-stream-panel{border-left:1px solid var(--line);background:var(--surface-strong);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(320px,360px) minmax(0,1fr);width:min(980px,100vw);height:100%;display:grid;position:absolute;top:0;right:0;box-shadow:-18px 0 42px #23344a29}.meeting-stream-head{border-bottom:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.meeting-stream-kicker,.meeting-stream-section-head{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.meeting-stream-title{margin-top:6px;font-size:18px;line-height:1.3}.meeting-stream-grid,.meeting-stream-detail{min-height:0;overflow:auto}.meeting-stream-grid{border-right:1px solid var(--line);flex-direction:column;display:flex}.meeting-stream-detail{background:linear-gradient(#f6f7f966,#fff0);flex-direction:column;gap:14px;padding:16px 18px 22px;display:flex}.meeting-stream-section{border-bottom:1px solid var(--line);flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex}.meeting-stream-grid>.meeting-stream-section:last-child{border-bottom:none}.meeting-stream-section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.meeting-stream-form{flex-direction:column;gap:10px;display:flex}.meeting-stream-label{color:var(--muted);font-size:12px}.meeting-stream-input,.meeting-stream-select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);background:var(--surface-strong);border-radius:0;outline:none;padding:10px 12px}.meeting-stream-input:focus,.meeting-stream-select:focus{border-color:var(--text);box-shadow:0 0 0 2px var(--line)}.meeting-stream-checkbox{border:1px solid var(--line);background:var(--panel);align-items:center;gap:10px;min-height:42px;padding:0 12px;display:flex}.meeting-stream-tip,.meeting-stream-status,.meeting-stream-row-meta,.meeting-stream-card-meta,.meeting-stream-summary-meta{color:var(--muted);font-size:12px;line-height:1.55}.meeting-stream-status{text-transform:none;letter-spacing:normal}.meeting-stream-error{color:#a03030;background:#a030300a;border:1px solid #cc5c5c;padding:12px 14px;font-size:12px;line-height:1.55}.meeting-stream-list,.meeting-stream-topics,.meeting-stream-candidates,.meeting-stream-segments{flex-direction:column;gap:10px;display:flex}.meeting-stream-list{min-height:0;overflow:auto}.meeting-stream-row,.meeting-stream-card,.meeting-stream-summary{border:1px solid var(--line);background:var(--panel);border-radius:0}.meeting-stream-row{width:100%;color:inherit;text-align:left;cursor:pointer;padding:12px 14px;transition:transform .12s,border-color .12s,background .12s}.meeting-stream-row:hover{border-color:var(--accent);background:var(--surface-hover);transform:translate(2px)}.meeting-stream-row.active{border-color:var(--accent);background:var(--panel-2);box-shadow:0 10px 22px #7e95bc24}.meeting-stream-row-head,.meeting-stream-card-head,.meeting-stream-actions{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.meeting-stream-row-title,.meeting-stream-card-title{word-break:break-word;min-width:0;font-size:14px;font-weight:700;line-height:1.45}.meeting-stream-row-summary,.meeting-stream-card-copy,.meeting-stream-summary-copy,.meeting-stream-bullet{word-break:break-word;margin-top:8px;line-height:1.65}.meeting-stream-summary{min-height:120px;padding:14px 16px}.meeting-stream-actions{flex-wrap:wrap}.meeting-stream-badge,.meeting-stream-chip{border:1px solid var(--line);color:var(--muted);background:var(--panel-2);white-space:nowrap;padding:3px 8px;font-size:11px;line-height:1.4}.meeting-stream-badge--queued,.meeting-stream-badge--running,.meeting-stream-badge--active,.meeting-stream-badge--ready,.meeting-stream-badge--succeeded,.meeting-stream-badge--partial{color:#3f5f89;background:#5979a414;border-color:#5979a447}.meeting-stream-badge--imported,.meeting-stream-badge--completed{color:#4d7357;background:#5d886814;border-color:#5d886857}.meeting-stream-badge--failed,.meeting-stream-badge--frozen{color:#9c4747;background:#b0484814;border-color:#b0484847}.meeting-stream-tag-list,.meeting-stream-bullet-list{flex-wrap:wrap;gap:8px;display:flex}.meeting-stream-bullet-list{flex-direction:column;margin-top:12px}.meeting-stream-bullet{border:1px solid var(--line);background:var(--panel-2);margin-top:0;padding:10px 12px}.meeting-stream-card{padding:12px 14px}.meeting-stream-card--queued,.meeting-stream-card--running{background:#5979a40d;border-color:#5979a44d}.meeting-stream-card--imported,.meeting-stream-card--succeeded{background:#5d88680a;border-color:#5d886857}.meeting-stream-card--failed,.meeting-stream-card-error{color:#9c4747}.meeting-stream-empty{border:1px dashed var(--line);color:var(--muted);background:var(--panel-2);padding:14px;font-size:12px;line-height:1.55}@media (width<=1280px){.meeting-stream-panel{width:min(920px,100vw)}}@media (width<=980px){.meeting-stream-panel{grid-template-rows:auto minmax(0,auto) minmax(0,1fr);grid-template-columns:1fr;width:100%}.meeting-stream-grid{border-right:none;border-bottom:1px solid var(--line)}.meeting-stream-detail{grid-column:1}.meeting-stream-section{border-bottom:1px solid var(--line)}.title{display:none}.title-input{width:min(220px,40vw)}}@media (width<=760px){.svg-folder-body{max-height:clamp(180px,38dvh,360px)}.topbar{flex-wrap:wrap;align-content:center;height:auto;min-height:50px;padding:8px 10px 6px}.topbar-right .badge:first-child{display:none}.topbar-left{order:1}.topbar-right{order:2;margin-left:auto}.mode-switcher{order:3;justify-content:flex-start;width:auto}.tone-switcher{order:4;justify-content:flex-start;width:auto}.mode-btn,.tone-btn{flex:none;min-width:0;padding:5px 10px}#mode-edit{display:none}.story-panel{z-index:6;flex-basis:min(280px,88vw);width:min(280px,88vw);position:absolute;top:0;bottom:0;left:0;box-shadow:16px 0 36px #00000042}.story-panel.collapsed{flex-basis:0;width:0}body[data-story-stage=chooser] .story-panel,body[data-story-stage=chooser] .story-panel.collapsed{flex-basis:100%;width:100%}body[data-story-stage=chooser] .narrative-list{grid-template-columns:1fr;padding:16px 16px 24px}.library{width:min(362px,88vw)}.library.collapsed{width:0}.preview-modal{padding:12px}.preview-head,.preview-actions{padding:14px}.preview-actions{flex-direction:column;align-items:stretch}.preview-action-group{flex-direction:column;width:100%}.preview-add,.preview-chat,.svg-chat-panel{width:100%}.svg-chat-history{grid-template-columns:1fr}.meeting-stream-head,.meeting-stream-detail,.meeting-stream-section{padding-left:14px;padding-right:14px}.meeting-stream-actions,.meeting-stream-row-head,.meeting-stream-card-head,.meeting-stream-section-head{flex-direction:column;align-items:stretch}.meeting-stream-actions .ghost-btn,.meeting-stream-actions .primary-btn{width:100%}.svg-chat-actions,.svg-group-footer,.svg-group-item-head,.svg-group-item-actions{flex-direction:column;align-items:stretch}.svg-group-footer-actions{flex-direction:column;align-items:stretch;width:100%}.presentation-hud{flex-direction:column;align-items:stretch;bottom:12px;left:12px;right:12px}.presentation-nav{min-width:0}.presentation-track-list{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}}.app-shell{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.auth-page{background:linear-gradient(135deg,#5979a414,#5979a400 48%),linear-gradient(#fff 0%,#eef2f7 100%);grid-template-columns:minmax(0,1.2fr) minmax(360px,460px);width:100%;min-height:100%;display:grid}.auth-splash{border-right:1px solid var(--line);flex-direction:column;justify-content:center;gap:20px;padding:56px;display:flex}.auth-card{background:#fffffff0;flex-direction:column;justify-content:center;padding:48px 40px;display:flex}.auth-card--status{border:1px solid var(--line);max-width:520px;margin:auto;box-shadow:0 16px 40px #4862921f}.auth-kicker{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:11px}.auth-title{letter-spacing:-.02em;margin:0;font-size:clamp(28px,4vw,48px);line-height:1}.auth-copy{max-width:560px;color:var(--muted);margin:0;line-height:1.7}.auth-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.auth-meta-card{border:1px solid var(--line);background:#ffffffb8;padding:16px}.auth-meta-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px}.auth-meta-value{font-size:18px;line-height:1.2}.auth-tabs{gap:6px;margin-bottom:24px;display:flex}.auth-tab{border:1px solid var(--line);color:var(--muted);background:var(--panel);cursor:pointer;flex:1;padding:10px 12px}.auth-tab.active{color:#fff;border-color:var(--accent);background:var(--accent)}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:8px;display:flex}.auth-field--actions{justify-content:flex-end}.auth-label{color:var(--muted);font-size:12px}.auth-input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);background:var(--panel);outline:none;padding:10px 12px}.auth-input:focus{border-color:var(--text);box-shadow:0 0 0 2px var(--line)}.auth-inline{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.auth-inline-btn{min-width:116px;height:42px}.auth-submit{min-height:42px}.auth-note{border:1px solid var(--line);color:var(--muted);background:var(--panel-2);padding:10px 12px;line-height:1.5}.auth-note--warn,.auth-note--error{color:#a03030;background:#a030300a;border-color:#cc5c5c}.modal-backdrop{z-index:40;background:#131e3038;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:var(--panel);width:min(720px,100%);max-height:calc(100vh - 48px);padding:24px;overflow:auto;box-shadow:0 18px 42px #23344a2e}.modal-head,.modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-head{margin-bottom:18px}.modal-title{margin:6px 0 0;font-size:24px}.modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.auth-checkbox{border:1px solid var(--line);background:var(--panel);align-items:center;gap:10px;min-height:42px;padding:0 12px;display:flex}.topbar-action{min-height:32px;padding:6px 10px;font-size:12px}.account-badge{text-overflow:ellipsis;max-width:180px;overflow:hidden}.usage-badge{text-overflow:ellipsis;max-width:220px;overflow:hidden}@media (width<=980px){.auth-page{grid-template-columns:1fr}.auth-splash{border-right:none;border-bottom:1px solid var(--line);padding:32px 24px 12px}.auth-card{padding:24px}}@media (width<=760px){.auth-meta-grid,.modal-grid,.auth-inline{grid-template-columns:1fr}.topbar-right{flex-wrap:wrap;width:100%}.account-badge,.usage-badge{max-width:100%}}.membership-page{background:linear-gradient(135deg,#5979a41f,#5979a400 48%),linear-gradient(#fff 0%,#eef2f7 100%);flex:1;grid-template-columns:minmax(0,1.15fr) minmax(360px,.95fr);gap:20px;min-height:100%;padding:32px;display:grid}.membership-hero,.membership-card,.membership-history,.membership-admin-stat,.membership-admin-code{border:1px solid var(--line);background:#ffffffeb;box-shadow:0 18px 42px #4862921a}.membership-hero,.membership-card,.membership-history{padding:24px}.membership-hero{flex-direction:column;gap:18px;display:flex}.membership-title{letter-spacing:-.03em;margin:0;font-size:clamp(34px,4vw,58px);line-height:.96}.membership-copy{max-width:720px;color:var(--muted);margin:0;line-height:1.75}.membership-matrix{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.membership-metric{border:1px solid var(--line);background:#f6f7f9b8;padding:16px}.membership-metric-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px}.membership-metric-value{word-break:break-word;font-size:18px;line-height:1.25}.membership-status{border:1px solid var(--line);background:linear-gradient(90deg,#5979a41f,#5979a405);align-items:center;gap:14px;padding:18px;display:flex}.membership-status-tag,.membership-order-badge{border:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;background:var(--panel);white-space:nowrap;padding:4px 10px;font-size:11px}.membership-status-tag--active,.membership-order-badge--paid{color:#4d7357;background:#5d886814;border-color:#5d886857}.membership-status-tag--expired,.membership-order-badge--failed,.membership-order-badge--expired{color:#9c4747;background:#b0484814;border-color:#b0484847}.membership-status-tag--inactive,.membership-order-badge--pending{color:#3f5f89;background:#5979a414;border-color:#5979a447}.membership-status-copy{color:var(--text);line-height:1.6}.membership-card{flex-direction:column;gap:18px;display:flex}.membership-card-head,.membership-history-head,.membership-price-row,.membership-quote-head,.membership-admin-form-head,.membership-admin-code-head,.membership-order-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.membership-card-title,.membership-history-title,.membership-admin-section-title{margin:6px 0 0;font-size:26px;line-height:1.1}.membership-price-row{border:1px solid var(--line);background:#f6f7f9b8;padding:18px}.membership-price-block{min-width:0}.membership-price{letter-spacing:-.05em;font-size:clamp(38px,4vw,64px);line-height:.92}.membership-price-caption,.membership-price-note,.membership-quote-copy,.membership-quote-desc,.membership-step-copy,.membership-order-copy,.membership-admin-code-desc,.membership-admin-code-time{color:var(--muted);line-height:1.6}.membership-price-caption{margin-top:8px;font-size:13px}.membership-price-note{max-width:260px;font-size:12px}.membership-form,.membership-history{flex-direction:column;gap:16px;display:flex}.membership-quote,.membership-step,.membership-order-card,.membership-admin-stat{border:1px solid var(--line);background:var(--panel);padding:16px}.membership-quote-title,.membership-step-title,.membership-order-title,.membership-admin-code-title{font-size:15px;font-weight:700}.membership-quote-desc{font-size:12px}.membership-clear-btn{min-height:30px;padding:4px 10px}.membership-steps,.membership-order-list,.membership-admin-codes{flex-direction:column;gap:12px;display:flex}.membership-step{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;display:grid}.membership-step-index{min-width:48px;color:var(--muted);letter-spacing:.18em;padding-top:3px;font-size:12px}.membership-step-body,.membership-admin-code{min-width:0}.membership-actions{flex-wrap:wrap;gap:10px;display:flex}.membership-history{grid-column:1/-1}.membership-order-meta,.membership-admin-code-meta{color:var(--muted);flex-wrap:wrap;gap:8px 12px;font-size:12px;display:flex}.membership-admin-modal{width:min(1120px,100%)}.membership-admin-grid{flex-direction:column;gap:16px;display:flex}.membership-admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.membership-admin-stat{padding:18px}.membership-admin-stat-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px}.membership-admin-stat-value{font-size:28px;line-height:1}.membership-admin-form,.membership-admin-list{border:1px solid var(--line);background:var(--panel);padding:18px}.membership-admin-textarea{min-height:96px}.membership-admin-code-code{color:var(--muted);letter-spacing:.08em;margin-top:4px;font-size:12px}@media (width<=980px){.membership-page{grid-template-columns:1fr;padding:20px}.membership-matrix,.membership-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-history{grid-column:auto}}@media (width<=760px){.membership-page{gap:12px;padding:12px}.membership-hero,.membership-card,.membership-history{padding:16px}.membership-matrix,.membership-admin-stats{grid-template-columns:1fr}.membership-status,.membership-price-row,.membership-card-head,.membership-history-head,.membership-admin-form-head,.membership-admin-code-head,.membership-order-head{flex-direction:column}.membership-actions .ghost-btn,.membership-actions .primary-btn{width:100%}}
