html{background:#f7f7f2;min-width:320px}body{color:#171717;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f7f2;min-width:320px;min-height:100svh;margin:0;font-family:Inter,Microsoft YaHei UI,PingFang SC,Hiragino Sans GB,Arial,sans-serif;overflow:hidden}#root{height:100svh;min-height:100svh;overflow:hidden}:root{--paper:#f7f7f2;--paper-soft:#eeeeea;--ink:#171717;--muted:#868982;--editor:#1f232a;--editor-deep:#1f232a;--editor-line:#34414d;--editor-text:#e2e8ed;--editor-muted:#8fa0ad;--accent:#e33b24;--accent-dark:#b92b1a;--teal:#54a08e;--rule:#1717171f;--shadow:0 24px 70px #151b1f29;--panel-shadow-soft:0 10px 26px #1f252a14;--card-shadow-soft:0 6px 18px #1f252a12;--radius:8px}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.writer-shell{background:linear-gradient(90deg, #1717170a 1px, transparent 1px) 88px 0 / 1px 100% no-repeat, var(--paper);height:100svh;min-height:100svh;color:var(--ink);grid-template-columns:132px minmax(0,1fr);padding-top:52px;display:grid;overflow:hidden}.project-shell{height:100svh;min-height:100svh;color:var(--ink);background:#fef8f2;padding:8px 10px;overflow:auto}.project-home{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;gap:10px;margin:0;padding:0;display:grid}.project-home.project-home-dashboard{grid-auto-rows:max-content;align-content:start}.project-home-header{gap:8px;display:grid}.project-home-header-top{-webkit-app-region:drag;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.project-home-header p{color:#565b55;max-width:980px;margin:0;font-size:14px;line-height:1.45}.project-home-brand{border-radius:10px;align-items:center;gap:14px;padding:6px 10px 6px 8px;display:flex}.project-home-brand .brand-logo{width:44px;height:44px}.project-home-brand-copy{gap:2px;display:grid}.project-home-brand strong{font-size:20px;line-height:1.2;display:block}.project-home-brand span{color:var(--muted);font-size:12px}.project-home-version{color:#8f9791;white-space:nowrap;align-items:center;gap:10px;margin-left:6px;font-size:12px;line-height:1;display:inline-flex}.project-home-version:before{content:"";background:#17171724;width:1px;height:24px;display:inline-block}.activation-chip{color:#b63327;white-space:nowrap;-webkit-app-region:no-drag;background:#fff1ef;border:1px solid #d64d3f99;border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:3px 10px;font-size:12px;line-height:1.1;display:inline-flex}.activation-chip:hover{background:#ffe9e5;border-color:#c33a2ceb}.activation-chip.is-active{color:#1f7b4f;background:#e9fff2;border-color:#2c865899}.activation-chip.is-compact{min-height:20px;padding:2px 9px;font-size:11px}.project-create-row{-webkit-app-region:no-drag;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-create-row input{border-radius:var(--radius);min-height:40px;color:var(--ink);background:#fff;border:1px solid #17171729;outline:none;flex:280px;padding:8px 10px}.project-create-row-inline .primary-button{min-height:40px}.project-dashboard-grid{grid-template-columns:minmax(360px,1fr) minmax(420px,1.1fr);gap:14px;display:grid}.project-dashboard-left{align-content:start;gap:0;display:grid}.project-greeting-panel{background:0 0;border:0;border-radius:12px;padding:0;display:block;overflow:visible}.project-mascot-scene{background:#f7f2ec;border:0;border-radius:10px;min-height:430px;display:grid;position:relative;overflow:hidden}.project-mascot-image{object-fit:cover;width:100%;height:100%;display:block}.project-greeting-copy{z-index:2;text-shadow:0 1px #fff6;gap:8px;display:grid;position:absolute;top:86px;left:36px;right:22px}.project-greeting-copy h2{color:#1f252a;margin:0;font-size:24px;font-weight:700;line-height:1.05}.project-greeting-copy p{color:#6d746d;margin:0;font-size:14px;line-height:1.25}.project-quick-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-quick-cards-overlay{z-index:3;margin:-66px 14px 0;position:relative}.project-quick-card{box-shadow:var(--card-shadow-soft);background:#fff;border:1px solid #1717171a;border-radius:10px;gap:8px;padding:12px;display:grid}.project-quick-card-title{align-items:center;gap:8px;display:flex}.project-quick-card-icon{object-fit:contain;flex:none;width:26px;height:26px}.project-quick-card h3{margin:0;font-size:18px;line-height:1.2}.project-quick-card p{color:#68706a;min-height:36px;margin:0;font-size:13px;line-height:1.45}.project-quick-card.is-primary{background:#fff3eb;border-color:#e33b2433}.project-recent-panel{min-height:0;box-shadow:var(--panel-shadow-soft);background:#fff;border:1px solid #17171714;border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto;align-content:start;gap:10px;padding:12px;display:grid}.project-recent-body{flex-direction:column;min-height:0;display:flex}.project-recent-body.is-empty{justify-content:center;align-items:center;padding:10px 8px}.project-recent-body.is-empty .project-recent-list{display:none}.project-import-button{color:#8c938d;border-color:#17171724;width:100%;min-height:42px;margin-top:6px}.project-recent-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.project-all-link{color:#707a73;background:0 0;border:0;padding:4px 2px;font-size:13px;line-height:1}.project-all-link:hover{color:#444d46}.project-recent-header strong{font-size:18px;line-height:1.2}.project-recent-header span{color:#7a837d;font-size:12px}.project-recent-list{align-content:start;gap:8px;margin:0;padding:0;list-style:none;display:grid}.project-recent-panel .project-recent-list{gap:6px;min-height:100%;padding-right:2px;overflow:auto}.project-recent-panel .project-recent-list li{grid-template-columns:52px minmax(0,1fr) auto;gap:9px;min-height:66px;padding:6px 9px}.project-recent-panel .project-cover{width:52px;height:52px}.project-recent-list li{background:#fff;border:1px solid #1717171a;border-radius:10px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid;box-shadow:0 3px 10px #1f252a0d}.project-cover{border:1px solid #ffffff73;border-radius:10px;width:58px;height:58px}.project-cover-1{background:linear-gradient(145deg,#0f4f91,#7bb7f4)}.project-cover-2{background:linear-gradient(145deg,#8cc5ff,#dceeff)}.project-cover-3{background:linear-gradient(145deg,#ffb78f,#ffe0cd)}.project-cover-4{background:linear-gradient(145deg,#26524f,#7db7a9)}.project-cover-5{background:linear-gradient(145deg,#4d3f90,#a9a2db)}.project-cover-6{background:linear-gradient(145deg,#70422d,#d2a37c)}.project-recent-meta{min-width:0}.project-recent-meta strong{white-space:nowrap;text-overflow:ellipsis;font-size:17px;line-height:1.25;display:block;overflow:hidden}.project-recent-meta small{color:#7c847f;font-size:12px}.project-all-projects-page{align-content:start;gap:12px;display:grid}.project-all-header{place-items:start center;min-height:44px;padding-top:2px;display:grid;position:relative}.project-all-title{text-align:center}.project-all-header strong{font-size:22px;line-height:1.2;display:block}.project-all-header p{color:#7b847e;margin:2px 0 0;font-size:13px}.project-all-back{white-space:nowrap;position:absolute;top:0;left:0}.project-recent-list-all li{grid-template-columns:58px minmax(0,1fr) auto}.project-data-strip{box-shadow:var(--panel-shadow-soft);background:#fdfdfd;border:1px solid #17171714;border-radius:12px;gap:10px;padding:12px 14px;display:grid}.project-data-header strong{color:#222a31;font-size:12px;line-height:1.2;display:block}.project-data-grid{grid-template-columns:repeat(4,minmax(136px,152px)) minmax(240px,1fr);align-items:stretch;gap:6px;display:grid}.project-data-grid>div{border-right:1px solid #17171714;align-items:center;gap:8px;min-height:116px;padding:0 6px;display:flex}.project-data-grid>div:last-child{border-right:0;padding:0}.project-stat-item{justify-content:center}.project-stat-icon{object-fit:contain;flex:none;width:26px;height:26px}.project-stat-text{gap:3px;min-width:0;display:grid}.project-stat-text strong{color:#1f252a;font-size:24px;line-height:1}.project-data-strip span{color:#77817a;font-size:12px}.project-data-title-banner{background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:6px;min-height:116px;border-right:0!important;padding-right:0!important;display:block!important}.project-settings-entry{color:#4f5750;-webkit-app-region:no-drag;background:#ffffffe6;border:1px solid #1717172e;border-radius:8px;place-items:center;width:36px;height:36px;padding:0;font-size:18px;line-height:1;display:inline-grid}.project-settings-entry:hover{border-color:var(--accent);color:var(--accent-dark)}.project-home-header-actions{-webkit-app-region:no-drag;align-items:flex-start;gap:8px;display:inline-flex}.project-close-entry{color:#bf2f1d;-webkit-app-region:no-drag;background:#ffffffe6;border:1px solid #e33b2459;border-radius:8px;place-items:center;width:36px;height:36px;padding:0;font-size:16px;line-height:1;display:inline-grid}.project-close-entry:hover{color:#992515;border-color:#e33b24bf}.project-settings-page{width:min(1120px,100%);margin:0 auto}.project-settings-page-header{-webkit-app-region:drag;justify-content:center;align-items:center;min-height:42px;display:flex;position:relative}.project-settings-page-header strong{text-align:center;font-size:24px;line-height:1.1;display:inline-block}.project-settings-back{-webkit-app-region:no-drag;position:absolute;top:0;left:0}.project-settings{gap:10px;display:grid}.project-settings-toggle{justify-self:start}.project-settings-panel{border-radius:var(--radius);background:#ffffffc7;border:1px solid #1717171a;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;display:grid}.project-settings-group{background:#ffffffb3;border:1px solid #1717171f;border-radius:10px;align-content:start;gap:12px;padding:12px;display:grid}.project-settings-group.is-wide{grid-column:1/-1}.project-settings-group-header{border-bottom:1px dashed #17171724;gap:4px;padding-bottom:8px;display:grid}.project-settings-group-header h3{color:#252d35;margin:0;font-size:15px;line-height:1.2}.project-settings-group-header p{color:#7a837d;margin:0;font-size:12px;line-height:1.4}.project-settings-group-body{gap:10px;display:grid}.project-settings-field{color:#4b504a;gap:6px;display:grid}.project-settings-field span{color:var(--muted);font-size:13px}.project-settings-field.is-full{grid-column:1/-1}.project-settings-panel input:not([type=checkbox]),.project-settings-panel select{border-radius:var(--radius);width:100%;min-height:38px;color:var(--ink);background:#fff;border:1px solid #17171729;outline:none;padding:8px 10px}.project-storage-row{align-items:center;gap:8px;display:flex}.project-storage-row input{flex:auto;min-width:0}.project-storage-pick-button{flex:none;place-items:center;width:42px;min-height:38px;padding:0;display:inline-grid}.project-storage-pick-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.project-settings-note,.project-settings-note-inline{margin:0}.project-settings-version{color:#1f252a;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:700;line-height:1.2;display:inline-flex}.project-upgrade-button{justify-self:start;min-height:38px;padding:8px 16px}.project-activation-box{background:#ffffffa3;border:1px solid #17171724;border-radius:8px;gap:8px;margin-top:10px;padding:8px 10px;display:grid}.project-activation-row{color:#59615b;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.project-activation-row code{color:#2f363f;background:#1717170d;border-radius:6px;padding:3px 7px;font-family:Consolas,Courier New,monospace;font-size:12px}.project-activation-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-activation-actions small{color:var(--muted);font-size:12px}.project-settings-switch{align-items:center;gap:8px;display:inline-flex}.project-settings-switch input[type=checkbox]{width:16px;height:16px;margin:0}.project-settings-switch span{color:#373d45;font-size:13px}.project-settings-switch-card{background:#ffffffb8;border:1px solid #1717171f;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:inline-flex}.project-settings-switch-card input[type=checkbox]{width:16px;height:16px;margin:0}.project-settings-switch-card span{color:#373d45;font-size:13px}.project-settings-actions{border-top:1px solid #1717171a;grid-column:1/-1;gap:10px;padding-top:12px;display:grid}.project-settings-save{width:100%}.project-settings-notice{border:1px solid #0000;border-radius:8px;min-height:36px;margin:0;padding:8px 10px;font-size:13px;line-height:1.35}.project-settings-notice.is-success{color:#2f7f57;background:#3b94661f;border-color:#3b94665c}.project-settings-notice.is-error{color:#aa3221;background:#ce4c381f;border-color:#ce4c3859}.project-list{align-content:start;gap:10px;margin:0;padding:0;list-style:none;display:grid}.project-list li{border-radius:var(--radius);background:#ffffffdb;border:1px solid #1717171a;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.project-list strong{white-space:nowrap;text-overflow:ellipsis;font-size:16px;line-height:1.3;display:block;overflow:hidden}.project-list small{color:var(--muted);font-size:12px}.project-item-actions{align-items:center;gap:8px;display:flex;position:relative}.project-item-actions .text-button.project-resume-button{border-color:var(--accent);color:var(--accent)}.project-item-menu{position:relative}.project-item-menu-trigger{min-width:40px;min-height:36px;padding:0 10px;font-size:20px;line-height:1}.project-item-menu-dropdown{z-index:22;background:#fff;border:1px solid #17171724;border-radius:8px;gap:6px;min-width:122px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 24px #0910182e}.project-item-menu-dropdown .text-button{text-align:left;width:100%;min-height:34px;padding:7px 10px}.project-create-modal-backdrop{z-index:101;background:#090c1059;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.project-create-modal{background:#fff;border:1px solid #1717171f;border-radius:8px;gap:10px;width:min(460px,100%);padding:14px;display:grid;box-shadow:0 18px 42px #0a121a47}.project-create-modal h3{margin:0;font-size:20px}.project-create-modal p{color:#4f5550;margin:0;font-size:14px;line-height:1.45}.project-create-modal input{border-radius:var(--radius);width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #17171729;padding:8px 10px}.project-create-modal-actions{justify-content:flex-end;gap:8px;display:flex}.project-delete-modal-backdrop{z-index:100;background:#090c1059;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.project-delete-modal{background:#fff;border:1px solid #1717171f;border-radius:8px;gap:10px;width:min(460px,100%);padding:14px;display:grid;box-shadow:0 18px 42px #0a121a47}.project-delete-modal h3{margin:0;font-size:20px}.project-delete-modal p{color:#4f5550;margin:0;font-size:14px;line-height:1.45}.project-delete-modal input{border-radius:var(--radius);width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #17171729;padding:8px 10px}.project-delete-modal input.is-error{border-color:#ce4c38b3;box-shadow:0 0 0 1px #ce4c382e}.project-delete-modal input.is-success{border-color:#3b9466b3;box-shadow:0 0 0 1px #3b94662e}.project-delete-feedback{color:#6a716b;margin:-2px 0 2px;font-size:12px;line-height:1.35}.project-delete-feedback.is-error{color:#b03b2d}.project-delete-feedback.is-success{color:#2f7f57}.project-delete-modal-actions{justify-content:flex-end;gap:8px;display:flex}.quick-rail{background:#ffffff6b;border-right:1px solid #17171714;flex-direction:column;align-items:center;gap:8px;height:100%;padding:14px 18px;display:flex;position:sticky;top:0}.rail-back-button{border-radius:var(--radius);color:#4e565e;background:#ffffffe0;border:1px solid #17171733;width:108px;min-height:34px;margin-bottom:10px;padding:7px 8px;font-size:13px;line-height:1}.rail-back-button:hover{border-color:var(--accent);color:var(--accent-dark);background:#fff}.rail-button{cursor:grab;border-radius:var(--radius);color:#62707b;background:#ffffffdb;border:1px solid #17171733;place-items:center;width:108px;height:40px;transition:transform .16s,background .16s,color .16s,box-shadow .16s,border-color .16s,opacity .12s;display:grid;position:relative}.rail-button:not(.active):hover{color:#535f69;background:#fff;border-color:#17171757;transform:translate(4px)}.rail-button.active{border-color:var(--accent);background:var(--accent);color:#fff;transform:none}.rail-button.dragging{opacity:.72;transform:scale(.97);box-shadow:0 6px 16px #0a121a38}.rail-button.drag-over{border-color:#e85a45;box-shadow:inset 0 0 0 2px #e33b2433,0 0 0 2px #e33b241f}.rail-button.drag-over-before,.rail-button.drag-over-after{overflow:visible}.rail-button.drag-over-before:before,.rail-button.drag-over-after:after{content:"";background:#e33b24;border-radius:999px;height:3px;position:absolute;left:-8px;right:-8px;box-shadow:0 0 0 1px #1717170d}.rail-button.drag-over-before:before{top:-7px}.rail-button.drag-over-after:after{bottom:-7px}.rail-button.drag-over-before{transform:translateY(2px)}.rail-button.drag-over-after{transform:translateY(-2px)}.rail-index{text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;max-width:100%;padding:0 8px;font-family:Noto Serif SC,Georgia,Times New Roman,serif;font-size:17px;font-weight:600;line-height:1.1;display:block;overflow:hidden}.rail-button-plus .rail-index{font-size:34px;transform:translateY(-2px)}.rail-button-plus{cursor:pointer;border-color:var(--accent);color:var(--accent);background:#fffffff2}.rail-button-plus:hover{border-color:var(--accent);color:var(--accent);background:#e33b2414}.rail-add-row{grid-template-columns:minmax(0,1fr) 22px;gap:4px;width:108px;display:grid;position:relative}.rail-add-row .rail-button-plus{width:auto}.rail-add-trigger{border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);background:#fffffff2;padding:0;font-size:12px;line-height:1}.rail-add-trigger:hover,.rail-add-trigger.open{background:var(--accent);color:#fff}.rail-add-menu{z-index:35;background:#fbfbf8;border:1px solid #17171724;border-radius:8px;width:142px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 6px);right:-18px;box-shadow:0 10px 22px #0a121a33}.rail-add-menu button{color:#434a51;text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:8px 9px}.rail-add-menu button:hover{color:#ba321f;background:#e33b241a}.rail-close{color:currentColor;opacity:.8;border-radius:4px;place-items:center;width:14px;height:14px;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1;display:grid;position:absolute;top:2px;right:6px}.rail-close:hover{opacity:1;background:#0000002e}.app-frame{flex-direction:column;min-width:0;height:100%;min-height:0;padding:0;display:flex}.menu-bar{z-index:60;border-bottom:1px solid var(--rule);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-app-region:drag;background:#f7f7f2db;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;min-height:40px;padding:6px 14px 6px 146px;display:grid;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:10px;min-width:0;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.brand-logo{object-fit:contain;width:20px;height:20px;display:block}.brand-copy{min-width:0}.brand strong{font-size:14px;line-height:1;display:block}.brand span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.brand-meta-row{color:#7e8780;-webkit-app-region:no-drag;align-items:center;gap:8px;margin-top:2px;font-size:11px;display:inline-flex}.menu-project-name{color:#3e423e;white-space:nowrap;text-overflow:ellipsis;text-align:center;pointer-events:none;min-width:0;max-width:min(52vw,100vw - 620px);font-size:14px;font-weight:600;line-height:1.1;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.menu-bar nav{justify-self:start;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.menu-bar nav button{color:#3e423e;white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:4px 9px}.menu-bar nav button:hover{background:#17171712}.window-status{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:360px;font-size:12px;overflow:hidden}.menu-bar-right{-webkit-app-region:no-drag;justify-self:end;align-items:center;gap:10px;min-width:0;margin-left:auto;display:inline-flex}.window-controls{align-items:center;gap:4px;display:inline-flex}.window-control-button{color:#4f5750;background:#ffffffe0;border:1px solid #1717172e;border-radius:6px;place-items:center;width:30px;height:24px;padding:0;line-height:1;display:inline-grid}.window-control-button:hover{border-color:var(--accent);color:var(--accent-dark)}.window-control-button.is-close{color:#b63221;border-color:#e33b2459}.window-control-button.is-close:hover{color:#962516;border-color:#e33b24c7}.tab-row{color:#e8ecef;z-index:8;background:#737b82;align-items:stretch;height:36px;display:flex;position:relative;overflow:visible}.tab{min-width:148px;color:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;border-right:1px solid #00000024;align-items:center;gap:8px;padding:0 28px 0 16px;display:flex;position:relative}.tab.active{background:var(--editor)}.version-tabs-viewport{flex:auto;align-items:stretch;min-width:0;display:flex;overflow:hidden}.version-tab{flex:none}.tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tab-title-input{color:#eef3f7;background:#0f151b73;border:1px solid #ffffff47;border-radius:4px;width:100%;min-width:0;padding:2px 6px;font-size:13px}.tab-title-input:focus{border-color:var(--accent);outline:none}.tab-close{color:#ffffffb8;border-radius:4px;place-items:center;width:14px;height:14px;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.tab-close:hover{color:#fff;background:#00000038}.tab-actions{z-index:9;flex:none;align-items:stretch;margin-left:auto;display:flex;position:relative}.tab-add-version{min-width:104px}.tab-overflow{flex:none;position:relative}.tab-overflow-trigger{justify-content:center;min-width:42px;padding:0 10px}.tab-overflow-menu{z-index:40;background:#3f474e;border:1px solid #ffffff24;border-radius:6px;width:220px;max-height:300px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 5px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.tab-overflow-item{color:#e8ecef;text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:8px 10px}.tab-overflow-item:hover{background:#ffffff14}.tab-overflow-item.active{background:var(--editor)}.tab-measure-row{visibility:hidden;pointer-events:none;white-space:nowrap;position:absolute;top:-9999px;left:-9999px}.tab-measure{display:inline-flex}.tab.ghost{color:#ffffffb8}.workspace{min-height:0;box-shadow:var(--shadow);background:#1b242c;flex:1;grid-template-columns:minmax(520px,1fr) minmax(330px,430px);gap:1px;display:grid;overflow:hidden}.editor-pane{background:var(--editor);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;height:100%;min-height:0;display:grid;position:relative}.editor-toolbar{background:var(--editor);min-height:58px;color:var(--editor-muted);border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:18px;padding:10px 18px 10px 24px;display:flex}.editor-toolbar-main{min-width:0}.editor-toolbar span{font-size:12px;display:block}.editor-version-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:3px;display:flex}.editor-version-divider{background:#fff3;width:1px;height:24px}.editor-version-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.writing-mode-switch{border:1px solid #ffffff29;border-radius:8px;display:inline-flex;overflow:hidden}.writing-mode-switch button{color:#c8d2d9;background:#323d49d1;border:0;border-right:1px solid #ffffff1f;min-width:80px;padding:5px 10px;font-size:12px}.writing-mode-switch button:last-child{border-right:0}.writing-mode-switch button:hover{color:#ffe3cc;background:#e33b2433}.writing-mode-switch button.active{color:#fff;background:#e33b24e6}.editor-toolbar strong{color:#f3f6f7;font-size:15px;font-weight:600;display:inline}.version-updated-at{display:none}.version-inline-time{color:var(--editor-muted);margin-left:8px;font-size:12px;font-weight:500}.script-mode-tip{color:#9db0bf;margin-top:6px;font-size:11px}.version-history-button{color:#cfd8df;background:#2d3843d9;border:1px solid #ffffff2e;border-radius:8px;place-items:center;width:28px;height:28px;padding:0;display:inline-grid}.version-history-button:hover,.version-history-button.active{color:#ffe1c6;background:#e33b2433;border-color:#f08b35}.version-history-overlay{z-index:95;background:#05090c6b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.version-history-panel{background:#f5f5f1;border:1px solid #1717172e;border-radius:8px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;width:min(860px,100%);max-height:min(76vh,760px);padding:12px;display:grid}.version-history-panel header{justify-content:space-between;align-items:center;gap:10px;display:flex}.version-history-panel header strong{color:#20242a;font-size:15px}.version-history-panel>p{color:#65707a;margin:0;font-size:12px}.version-history-list{gap:8px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.version-history-list button{color:#303741;text-align:left;background:#ffffffe0;border:1px solid #17171729;border-radius:8px;gap:4px;width:100%;padding:8px 10px;display:grid}.version-history-list button:hover{border-color:#e36a3c}.version-history-list button.active{background:#e33b2414;border-color:#e33b24}.version-history-list button strong{color:#2a3139;font-size:13px}.version-history-list button span{color:#5f6973;font-size:12px}.version-history-preview{resize:vertical;color:#2a3139;background:#fff;border:1px solid #17171729;border-radius:8px;width:100%;min-height:150px;padding:10px;line-height:1.5}.editor-toolbar dl{gap:14px;margin:0;display:flex}.editor-toolbar dl div{text-align:right;min-width:56px}.editor-toolbar dt,.editor-toolbar dd{margin:0}.editor-toolbar dt{color:var(--editor-muted);font-size:11px}.editor-toolbar dd{color:#f4f7f8;font-size:15px}.code-editor{background:var(--editor);box-sizing:border-box;min-height:0;padding:12px 14px 14px}.code-editor .monaco-editor,.code-editor .overflow-guard{border-radius:0}.code-editor .monaco-editor,.code-editor .monaco-editor .margin,.code-editor .monaco-editor .monaco-editor-background,.code-editor .monaco-editor .monaco-editor-background+.decorations-layer{background:var(--editor)!important}.code-editor .monaco-editor .view-lines{padding-top:6px}.code-editor .monaco-editor .view-line .script-line-prefix{color:#d7ecff;cursor:pointer;background:#437db66b;border:1px solid #79b0eb70;border-radius:6px;padding:1px 6px;font-weight:600}.code-editor .monaco-editor .view-line .script-line-prefix--narrator{color:#e4f2ff;background:#4383c280;border-color:#70b1f68c}.code-editor .monaco-editor .view-line .script-line-prefix--untracked{color:#ecf0f6;background:#6a72817a;border-color:#919aaa9e}.code-editor .monaco-editor .view-line .script-line-prefix--untracked:hover{background:#767e8e9e}.code-editor .monaco-editor .view-line .script-line-prefix-color-0{background:#3e79ba80}.code-editor .monaco-editor .view-line .script-line-prefix-color-1{background:#3982ac85}.code-editor .monaco-editor .view-line .script-line-prefix-color-2{background:#5672bd80}.code-editor .monaco-editor .view-line .script-line-prefix-color-3{background:#347da785}.code-editor .monaco-editor .view-line .script-line-prefix-color-4{background:#4a6dc180}.code-editor .monaco-editor .view-line .script-line-prefix-color-5{background:#447eb685}.code-editor .monaco-editor .view-line .script-line-prefix-color-6{background:#5874b280}.code-editor .monaco-editor .view-line .script-line-prefix-color-7{background:#3d79ae85}.code-editor .monaco-editor .view-line .script-line-prefix-color-8{background:#4a83c680}.code-editor .monaco-editor .view-line .script-line-prefix-color-9{background:#3f6eb280}.code-editor .monaco-editor .view-line .script-line-prefix-color-10{background:#3d81b985}.code-editor .monaco-editor .view-line .script-line-prefix-color-11{background:#4d76b180}.script-role-picker{z-index:91;background:#2c3238;border:1px solid #ffffff24;border-radius:8px;flex-direction:column;gap:8px;width:640px;max-width:calc(100vw - 16px);min-height:260px;max-height:min(420px,100vh - 16px);padding:8px;display:flex;position:fixed;box-shadow:0 16px 34px #00000070}.script-role-picker header{justify-content:space-between;align-items:center;gap:10px;display:flex}.script-role-picker-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.script-role-picker header strong{color:#ecf2f8;font-size:14px}.script-role-picker header .text-button{color:#d8e4ee;background:#ffffff0f;border-color:#ffffff2e;min-height:26px;padding:4px 8px}.script-role-picker-role-meta{gap:2px;padding:0 2px;display:grid}.script-role-picker-role-meta span{color:#c8d4de;font-size:12px}.script-role-picker-role-meta small{color:#98a9b8;font-size:11px}.script-role-picker-body{flex:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;min-height:0;display:grid}.script-role-picker-left{grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0;display:grid}.script-role-picker-detail{background:#0f121775;border:1px solid #ffffff1a;border-radius:8px;align-content:start;gap:8px;min-height:0;padding:8px;display:grid;overflow:auto}.script-role-picker-detail h5{color:#d6e1eb;margin:0;font-size:12px}.script-role-picker-detail label{gap:6px;display:grid}.script-role-picker-detail label>span{color:#b8c8d7;font-size:12px}.script-role-picker-detail textarea{resize:vertical;color:#f0f4f7;min-height:60px;max-height:120px;font:inherit;background:#13161bb3;border:1px solid #ffffff2e;border-radius:8px;padding:6px 8px}.script-role-picker-detail-empty{color:#9bb0c2;margin:0;font-size:12px;line-height:1.45}.script-role-picker input[type=text],.script-role-picker input[type=search],.script-role-picker input[type=number]{color:#f0f4f7;background:#13161bb3;border:1px solid #ffffff2e;border-radius:8px;min-height:34px;padding:6px 8px}.script-role-picker-search{position:relative}.script-role-picker-search input{width:100%;padding-right:30px}.script-role-picker-clear{color:#f0f4f7cc;cursor:pointer;background:#ffffff24;border:0;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.script-role-picker-clear:hover{color:#f0f4f7;background:#ffffff3d}.script-role-picker input[type=text]:focus,.script-role-picker input[type=search]:focus,.script-role-picker input[type=number]:focus,.script-role-picker textarea:focus{border-color:#f08b35b8;outline:none}.script-role-picker ul{flex:auto;gap:5px;min-height:0;margin:0;padding:2px 0 0;list-style:none;display:grid;overflow-y:auto}.script-role-picker li button{color:#dbe7f0;text-align:left;background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;width:100%;min-height:32px;padding:4px 8px}.script-role-picker li button:hover{border-color:#f08b35b8}.script-role-picker li button.active{background:#e33b2424;border-color:#f08b35d6}.script-role-picker-tag{color:#e4f1ff;background:#427db685;border:1px solid #7eb9f57a;border-radius:6px;align-items:center;min-height:22px;padding:2px 8px;display:inline-flex}.script-role-picker-tag--narrator{background:#4383c280}.script-role-picker-tag--color-0{background:#3e79ba80}.script-role-picker-tag--color-1{background:#3982ac85}.script-role-picker-tag--color-2{background:#5672bd80}.script-role-picker-tag--color-3{background:#347da785}.script-role-picker-tag--color-4{background:#4a6dc180}.script-role-picker-tag--color-5{background:#447eb685}.script-role-picker-tag--color-6{background:#5874b280}.script-role-picker-tag--color-7{background:#3d79ae85}.script-role-picker-tag--color-8{background:#4a83c680}.script-role-picker-tag--color-9{background:#3f6eb280}.script-role-picker-tag--color-10{background:#3d81b985}.script-role-picker-tag--color-11{background:#4d76b180}.script-role-picker-empty{color:#aebdcc;padding:8px 2px;font-size:12px}@media (width<=820px){.script-role-picker{width:min(520px,100vw - 16px)}.script-role-picker-body{grid-template-columns:1fr}}.command-strip{background:var(--editor-deep);gap:1px;padding:1px 0 0;display:flex;overflow-x:auto}.command-strip-status{color:#ffd0a9;white-space:nowrap;text-overflow:ellipsis;background:#2d3843;width:100%;padding:12px 16px;font-size:14px;line-height:1.4;overflow:hidden}.command-strip button{color:#dce4e8;text-align:left;background:#303b45;border:0;border-radius:0;min-width:126px;padding:12px 14px;transition:background .16s,color .16s}.command-strip button:hover{color:#fff;background:#3b4853}.page-rename-modal-backdrop{z-index:92;background:#0c131b5c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.page-rename-modal{background:#f4f5f7;border:1px solid #1717172e;border-radius:8px;gap:10px;width:min(420px,100vw - 24px);padding:14px;display:grid}.page-rename-modal h3{color:#1e252c;margin:0;font-size:20px;line-height:1.2}.page-rename-modal p{color:#65707b;margin:0;font-size:13px}.page-rename-modal input{color:#1f232a;background:#fff;border:1px solid #17171729;border-radius:8px;outline:none;min-height:40px;padding:8px 10px}.page-rename-modal input:focus{border-color:#e33b249e}.page-rename-modal-actions{justify-content:flex-end;gap:8px;display:flex}.editor-context-menu{z-index:90;background:#2f3338;border:1px solid #ffffff1f;border-radius:8px;width:248px;max-width:calc(100vw - 16px);padding:6px 0;position:fixed;box-shadow:0 14px 34px #00000073}.editor-context-item{color:#e7eaee;text-align:left;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:34px;padding:8px 12px;display:flex}.editor-context-item:hover:not(:disabled){background:#ffffff14}.editor-context-item:disabled{color:#e7eaee6b}.editor-context-item kbd{color:#e7eaeeb8;background:0 0;border-radius:0;min-width:0;height:auto;margin-right:0;padding:0;font-size:12px}.editor-context-divider{background:#ffffff1f;height:1px;margin:5px 0}.assistant-entry-button{z-index:18;background:0 0;border:0;border-radius:0;width:52px;height:52px;padding:0;display:block;position:absolute;bottom:0;right:10px}.assistant-entry-button img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.assistant-chat-panel{z-index:26;background:#f5f5f2;border:1px solid #17171733;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(440px,100% - 16px);max-width:440px;height:min(420px,100% - 16px);display:grid;position:absolute;overflow:hidden;box-shadow:0 18px 40px #070c1259}.assistant-chat-header{cursor:move;border-bottom:1px solid #1717171f;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.assistant-chat-header strong{color:#262b30;font-size:14px;line-height:1.2}.assistant-chat-close{color:#555f69;background:#fff;border:1px solid #17171733;border-radius:50%;place-items:center;width:24px;height:24px;padding:0;font-size:16px;line-height:1;display:inline-grid}.assistant-chat-close:hover{color:#e33b24;border-color:#e33b2473}.assistant-chat-messages{align-content:start;gap:8px;min-height:0;padding:10px;display:grid;overflow-y:auto}.assistant-chat-empty{color:#69737d;margin:0;font-size:13px;line-height:1.45}.assistant-chat-bubble{background:#fff;border:1px solid #1717171f;border-radius:8px;gap:6px;width:fit-content;max-width:100%;padding:8px 10px;display:grid}.assistant-chat-bubble.is-user{background:#e33b2417;border-color:#e33b2447;justify-self:end}.assistant-chat-bubble.is-assistant{justify-self:start}.assistant-chat-bubble.is-thinking{min-width:220px}.assistant-chat-bubble p{color:#2a3138;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.45}.assistant-thinking-steps{color:#55616d;gap:3px;margin:0;padding-left:16px;font-size:12px;line-height:1.35;display:grid}.assistant-thinking-steps li{margin:0}.assistant-chat-bubble small{color:#7b848d;font-size:11px}.assistant-chat-input-row{border-top:1px solid #1717171f;align-items:stretch;gap:8px;padding:10px;display:flex}.assistant-chat-input-row textarea{color:#222a31;resize:vertical;background:#fff;border:1px solid #1717172e;border-radius:8px;flex:auto;width:auto;min-height:70px;padding:9px 10px;line-height:1.4}.assistant-chat-send{flex:0 0 76px;align-self:stretch;min-height:70px;padding:0}kbd{color:#fff;background:#ffffff1a;border-radius:5px;place-items:center;min-width:22px;height:22px;margin-right:8px;font-family:inherit;display:inline-grid}.side-pane{background:radial-gradient(circle at 70% 45%, #17171709, transparent 32%), var(--paper);grid-template-rows:auto minmax(0,1fr);min-width:0;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.side-pane:after{content:"NW";color:#17171709;pointer-events:none;font-family:Georgia,Times New Roman,serif;font-size:108px;line-height:1;position:absolute;bottom:34px;right:30px}.panel-tabs{border-bottom:1px solid var(--rule);height:44px;display:flex}.panel-tabs button{border:0;border-right:1px solid var(--rule);color:#4d555e;background:#5a656f2e;flex:1;min-width:72px;transition:background .14s,color .14s}.panel-tabs button:hover{background:#5a656f3d}.panel-tabs button.active{color:var(--ink);background:#ffffffc7}.panel-section{overscroll-behavior:contain;z-index:1;min-height:0;padding:34px 30px 30px;position:relative;overflow:hidden auto}.paper-heading{border-left:1px solid #1717171f;padding-left:18px}.paper-heading p{color:var(--muted);margin:0 0 6px;font-family:Georgia,Times New Roman,serif;font-size:13px}.paper-heading h2{margin:0;font-family:Georgia,Noto Serif SC,SimSun,serif;font-size:27px;font-weight:600;line-height:1.2}.panel-note-tip{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.45}.settings-note-tip{margin:0}.memory-module-tabs{border:1px solid #17171724;border-radius:8px;margin-top:12px;display:inline-flex;overflow:hidden}.memory-module-tabs button{color:#555d66;background:#ffffffb8;border:0;border-right:1px solid #1717171f;min-width:88px;padding:6px 10px;font-size:13px}.memory-module-tabs button:last-child{border-right:0}.memory-module-tabs button:hover{color:#b23323;background:#e33b241f}.memory-module-tabs button.active{color:#fff;background:#e33b24eb}.memory-view-tabs{border:1px solid #17171724;border-radius:8px;margin-top:10px;display:inline-flex;overflow:hidden}.memory-view-row{align-items:center;gap:8px;margin-top:10px;display:flex}.memory-view-row .memory-view-tabs{margin-top:0}.memory-view-tabs button{color:#4f5760;background:#ffffffad;border:0;border-right:1px solid #1717171f;min-width:72px;padding:6px 10px;font-size:12px}.memory-view-tabs button:last-child{border-right:0}.memory-view-tabs button.active{color:#fff;background:#2460a0e6}.memory-list{gap:12px;margin:30px 0 18px;padding:0;list-style:none;display:grid}.memory-search-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:18px;display:grid}.memory-search-input{width:100%;color:var(--ink);background:#fffc;border:1px solid #17171724;border-radius:8px;outline:none;padding:8px 10px}.memory-search-input:focus{border-color:#e33b2485}.memory-search-input-wrap{position:relative}.memory-search-input-wrap .memory-search-input{padding-right:34px}.memory-search-clear{color:#1c232cb8;cursor:pointer;background:#6e768329;border:0;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.memory-search-clear:hover{color:#1c232ceb;background:#6e768342}.memory-list li{border-bottom:1px solid #17171714;grid-template-columns:26px minmax(0,1fr) 28px;align-items:start;gap:8px;padding-bottom:12px;display:grid}.memory-list span{color:var(--accent-dark);font-family:Georgia,Times New Roman,serif;font-size:18px}.memory-content{gap:8px;display:grid}.memory-jump{color:var(--ink);background:#fff;border:1px solid #17171729;border-radius:5px;justify-self:start;align-items:center;gap:8px;padding:4px 8px;font-size:12px;display:inline-flex}.memory-jump em{color:#6f7780;border-left:1px solid #1717171f;padding-left:8px;font-style:normal}.memory-jump:hover{border-color:var(--accent);color:var(--accent-dark)}.memory-list textarea,.result-panel textarea,.settings textarea,.settings input,.settings select{border-radius:var(--radius);width:100%;color:var(--ink);background:#ffffffb8;border:1px solid #17171724;outline:none}.memory-list textarea{resize:vertical;min-height:48px;padding:8px 10px;line-height:1.45}.memory-list .memory-delete{width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:5px}.memory-list .memory-delete:hover{color:var(--accent-dark);background:#e33b241a}.role-memory-fields{gap:8px;display:grid}.role-memory-fields label{gap:4px;display:grid}.role-memory-fields label span{color:#596069;font-size:12px}.role-memory-fields input[type=text],.role-memory-fields textarea{width:100%;color:var(--ink);background:#ffffffbf;border:1px solid #17171724;border-radius:8px;padding:8px 10px}.role-memory-fields textarea{resize:vertical;min-height:64px}.role-memory-fields input[type=range]{width:100%;accent-color:var(--accent)}.role-memory-card{gap:8px;display:grid}.role-memory-card--jumpable{cursor:pointer}.role-memory-card--jumpable .role-memory-card-name{text-underline-offset:3px;-webkit-text-decoration:underline #225a923d;text-decoration:underline #225a923d}.role-memory-card--jumpable:hover .role-memory-card-name{color:#1f4f82;text-decoration-color:#225a9273}.role-memory-card-name{color:#1f252a;font-size:18px;font-weight:700;line-height:1.2;display:block}.role-memory-first-appearance{text-align:left;justify-content:flex-start}.role-graph-board{background:linear-gradient(90deg, #17171705 1px, transparent 1px) var(--role-graph-grid-offset-x,0) var(--role-graph-grid-offset-y,0) / var(--role-graph-grid-size,24px) var(--role-graph-grid-size,24px), linear-gradient(#17171705 1px, transparent 1px) var(--role-graph-grid-offset-x,0) var(--role-graph-grid-offset-y,0) / var(--role-graph-grid-size,24px) var(--role-graph-grid-size,24px), var(--role-graph-bg-color,#ffffffd1);border:1px solid #1717171f;border-radius:8px;height:340px;min-height:340px;margin:16px 0 12px;position:relative;overflow:hidden}.role-graph-board.is-space{cursor:grab;-webkit-user-select:none;user-select:none}.role-graph-board.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.role-graph-board.is-space .role-graph-node{cursor:inherit}.role-graph-viewport{transform-origin:0 0;will-change:transform;position:absolute;inset:0;overflow:visible}.role-graph-selection-box{pointer-events:none;z-index:3;background:#e33b241f;border:1px dashed #e33b24e6;border-radius:6px;position:absolute}.role-graph-corner-fullscreen{color:#2e5e8f;z-index:8;background:#ffffffeb;border:1px solid #2460a08c;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;font-size:16px;line-height:1;display:grid;position:absolute;bottom:12px;right:12px}.role-graph-corner-fullscreen:hover{color:#1c4f84;border-color:#2460a0d9}.role-graph-exit-button{z-index:9;min-height:34px;padding:6px 12px;position:absolute;top:12px;left:12px}.role-graph-board:fullscreen{border:0;border-radius:0;width:100vw;height:100vh;min-height:100vh;margin:0}.role-graph-lines{pointer-events:none;position:absolute;inset:0;overflow:visible}.role-graph-edge path,.role-graph-preview-line{stroke:#2460a0e0;stroke-width:2px;fill:none;pointer-events:stroke}.role-graph-edge-path{cursor:pointer}.role-graph-edge.is-hovered .role-graph-edge-path,.role-graph-edge.is-dragging .role-graph-edge-path{stroke-width:2.6px}.role-graph-preview-line{pointer-events:none}.role-graph-edge text{fill:#35506d;font-size:calc(var(--role-graph-font-size,12px) - 1px);text-anchor:middle;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none}.role-graph-edge-handle{fill:#fffffff5;stroke:#2460a0c7;stroke-width:1.5px;pointer-events:auto;cursor:grab;opacity:0;transition:opacity .12s}.role-graph-edge.is-hovered .role-graph-edge-handle,.role-graph-edge.is-dragging .role-graph-edge-handle{opacity:1}.role-graph-edge.is-dimmed,.role-graph-node.is-dimmed{opacity:var(--role-graph-dim-opacity,.3)}.role-graph-edge.is-dragging .role-graph-edge-handle{cursor:grabbing}.role-edge-delete{fill:#e33b2438;stroke:#e33b24e6;stroke-width:1px;pointer-events:auto;cursor:pointer}.role-graph-node{cursor:grab;z-index:2;background:#fff;border:4px solid #2460a057;border-top-width:20px;border-radius:8px;gap:4px;width:188px;min-height:94px;padding:8px 12px 10px;display:grid;position:absolute;box-shadow:0 6px 18px #1f252a1c}.role-node-stance-emoji{pointer-events:none;font-size:14px;line-height:1;position:absolute;top:7px;right:10px}.role-graph-node.dragging{cursor:grabbing;box-shadow:0 10px 24px #1f252a2e}.role-graph-node.selected{box-shadow:0 0 0 2px #e33b2466,0 10px 24px #1f252a2e}.role-graph-node h4{font-size:calc(var(--role-graph-font-size,12px) + 3px);color:#20354a;margin:0;padding-right:22px;line-height:1.2}.role-graph-node p{font-size:var(--role-graph-font-size,12px);color:#5c6470;min-height:30px;margin:0;line-height:1.35}.role-graph-node small{color:#637185;font-size:calc(var(--role-graph-font-size,12px) - 1px)}.role-link-handle{color:#2f6daa;cursor:crosshair;opacity:0;pointer-events:none;background:#fff;border:1px solid #2460a0bf;border-radius:50%;place-items:center;width:18px;height:18px;padding:0;font-size:10px;line-height:1;transition:opacity .12s;display:grid;position:absolute}.role-graph-node.show-handles .role-link-handle{opacity:1;pointer-events:auto}.role-link-mode-picker,.backup-link-mode-picker{z-index:7;opacity:0;pointer-events:none;background:#fffffff0;border:1px solid #2460a04d;border-radius:8px;gap:4px;padding:3px;transition:opacity .12s,transform .12s;display:inline-flex;position:absolute;bottom:8px;right:8px;transform:translateY(4px);box-shadow:0 4px 14px #1e262e1f}.role-graph-node.show-handles .role-link-mode-picker,.backup-graph-node.show-handles .backup-link-mode-picker{opacity:1;pointer-events:auto;transform:translateY(0)}.role-link-mode-option{color:#2f5e8f;background:#fff;border:1px solid #2460a03d;border-radius:6px;place-items:center;min-width:24px;height:22px;padding:0 4px;font-size:12px;line-height:1;display:inline-grid}.role-link-mode-option:hover{border-color:#2460a08c}.role-link-mode-option.active{color:#cf3b28;background:#e33b2414;border-color:#e33b248c}.relation-color-control{justify-content:center;align-items:center;display:inline-flex}.relation-color-input{cursor:pointer;background:#fff;border:1px solid #2460a03d;border-radius:6px;width:24px;height:22px;padding:0}.relation-color-input::-webkit-color-swatch-wrapper{padding:2px}.relation-color-input::-webkit-color-swatch{border:none;border-radius:4px}.role-link-handle.side-top{top:-9px;left:calc(50% - 9px)}.role-link-handle.side-right{top:calc(50% - 9px);right:-9px}.role-link-handle.side-bottom{bottom:-9px;left:calc(50% - 9px)}.role-link-handle.side-left{top:calc(50% - 9px);left:-9px}.role-link-target-indicator{color:#2e6aa4;pointer-events:none;background:#fff;border:1px solid #2460a0cc;border-radius:50%;place-items:center;width:18px;height:18px;padding:0;font-size:10px;line-height:1;display:grid;position:absolute}.role-link-target-indicator.side-top{top:-9px;left:calc(50% - 9px)}.role-link-target-indicator.side-right{top:calc(50% - 9px);right:-9px}.role-link-target-indicator.side-bottom{bottom:-9px;left:calc(50% - 9px)}.role-link-target-indicator.side-left{top:calc(50% - 9px);left:-9px}.role-relation-menu{z-index:210;width:160px;max-width:calc(100vw - 16px)}.role-node-menu{z-index:210;width:220px;max-width:calc(100vw - 16px)}.role-editor-modal-backdrop{z-index:220;background:#0000006b;place-items:center;display:grid;position:fixed;inset:0}.role-editor-modal-backdrop.role-editor-modal-backdrop--inside-graph{z-index:230;position:absolute;inset:0}.role-editor-modal{background:#fff;border:1px solid #17171729;border-radius:8px;gap:10px;width:min(420px,100vw - 40px);padding:14px;display:grid}.role-editor-modal h3{margin:0;font-size:22px;line-height:1.2}.role-editor-modal label{gap:6px;display:grid}.role-editor-modal label span{color:#515961;font-size:13px}.role-editor-modal input[type=text],.role-editor-modal textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #17171729;border-radius:8px;padding:8px 10px}.role-editor-modal textarea{resize:vertical;min-height:90px}.role-editor-modal input[type=range]{width:100%;accent-color:var(--accent)}.role-relation-tag-suggestions{flex-wrap:wrap;gap:6px;display:flex}.role-relation-tag-suggestions .text-button{min-height:26px;padding:4px 8px;font-size:12px}.role-editor-actions{justify-content:flex-end;gap:8px;display:flex}.role-graph-help{color:#e6eff8eb;z-index:12;pointer-events:none;background:#181f288f;border:1px solid #ffffff2e;border-radius:8px;align-items:center;min-height:28px;padding:5px 9px;font-size:12px;line-height:1.35;display:inline-flex;position:absolute;bottom:12px;left:12px;right:320px}.role-graph-visual-button{z-index:9;border-radius:8px;place-items:center;width:34px;height:34px;min-height:34px;padding:0;display:inline-grid;position:absolute;bottom:12px;right:56px}.graph-visual-panel{z-index:14;background:#fffffff5;border:1px solid #17171729;border-radius:8px;gap:8px;width:220px;max-width:calc(100% - 24px);padding:10px;display:grid;position:absolute;bottom:52px;right:12px;box-shadow:0 10px 28px #1f252a2e}.graph-visual-panel h4{color:#27384b;margin:0;font-size:13px}.graph-visual-panel label{gap:6px;display:grid}.graph-visual-panel label>span{color:#5b6674;font-size:12px}.graph-visual-panel input[type=color]{background:#fff;border:1px solid #17171729;border-radius:6px;width:100%;height:32px;padding:2px 4px}.graph-visual-size-row{grid-template-columns:minmax(0,1fr) 56px;align-items:center;gap:8px;display:grid}.graph-visual-size-row input[type=number]{color:#223246;background:#fff;border:1px solid #17171729;border-radius:6px;width:100%;height:30px;padding:0 6px;font-size:12px}.graph-visual-actions{justify-content:flex-end;gap:6px;display:flex}.graph-visual-actions .text-button{min-height:28px;padding:4px 10px;font-size:12px}.role-graph-board:fullscreen .role-graph-help{left:56px}:is(.role-graph-board:not(:fullscreen) .role-graph-help,.role-graph-board:not(:fullscreen) .role-graph-ai-preview){display:none}.role-graph-ai-preview{color:#e9eff5f2;z-index:11;background:#181f28b8;border:1px solid #fff3;border-radius:8px;grid-template-rows:auto minmax(0,1fr);gap:6px;width:290px;max-width:calc(100% - 24px);max-height:calc(100% - 56px);padding:8px;display:grid;position:absolute;top:12px;right:12px;overflow:hidden}.role-graph-ai-preview h4{color:#f3f7fb;margin:0;font-size:13px}.role-graph-ai-preview ul{gap:6px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.role-graph-ai-preview li{color:#dbe6efeb;background:#ffffff08;border:1px solid #ffffff1f;border-radius:6px;padding:6px 7px;font-size:12px;line-height:1.45}.role-graph-ai-preview p{color:#d0dce8d1;margin:0;font-size:12px}.backup-graph-board{background:linear-gradient(90deg, #17171705 1px, transparent 1px) var(--backup-graph-grid-offset-x,0) var(--backup-graph-grid-offset-y,0) / var(--backup-graph-grid-size,24px) var(--backup-graph-grid-size,24px), linear-gradient(#17171705 1px, transparent 1px) var(--backup-graph-grid-offset-x,0) var(--backup-graph-grid-offset-y,0) / var(--backup-graph-grid-size,24px) var(--backup-graph-grid-size,24px), var(--backup-graph-bg-color,#ffffffd1);border:1px solid #1717171f;border-radius:8px;height:340px;min-height:340px;margin:16px 0 12px;position:relative;overflow:hidden}.backup-graph-board.is-space{cursor:grab;-webkit-user-select:none;user-select:none}.backup-graph-board.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.backup-graph-board.is-space .backup-graph-node{cursor:inherit}.backup-graph-viewport{transform-origin:0 0;will-change:transform;position:absolute;inset:0;overflow:visible}.backup-graph-board:fullscreen{border:0;border-radius:0;width:100vw;height:100vh;min-height:100vh;margin:0}.backup-graph-lines{pointer-events:none;position:absolute;inset:0;overflow:visible}.backup-graph-edge path,.backup-graph-preview-line{stroke:#2460a0e0;stroke-width:2px;fill:none;pointer-events:stroke}.backup-graph-edge-path{cursor:pointer}.backup-graph-edge.is-hovered .backup-graph-edge-path,.backup-graph-edge.is-dragging .backup-graph-edge-path{stroke-width:2.6px}.backup-graph-preview-line{pointer-events:none}.backup-graph-edge text{fill:#35506d;font-size:calc(var(--backup-graph-font-size,12px) - 1px);text-anchor:middle;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none}.backup-graph-edge-handle{fill:#fffffff5;stroke:#2460a0c7;stroke-width:1.5px;pointer-events:auto;cursor:grab;opacity:0;transition:opacity .12s}.backup-graph-edge.is-hovered .backup-graph-edge-handle,.backup-graph-edge.is-dragging .backup-graph-edge-handle{opacity:1}.backup-graph-edge.is-dimmed,.backup-graph-node.is-dimmed{opacity:var(--backup-graph-dim-opacity,.3)}.backup-graph-edge.is-dragging .backup-graph-edge-handle{cursor:grabbing}.backup-graph-selection-box{pointer-events:none;z-index:3;background:#e33b241f;border:1px dashed #e33b24e6;border-radius:6px;position:absolute}.backup-graph-node{cursor:grab;z-index:2;background:#fff;border:1px solid #2460a04d;border-radius:8px;gap:6px;width:228px;min-height:124px;padding:10px 12px;display:grid;position:absolute;box-shadow:0 6px 18px #1f252a1c}.backup-graph-node.dragging{cursor:grabbing;box-shadow:0 10px 24px #1f252a2e}.backup-graph-node.selected{box-shadow:0 0 0 2px #e33b2466,0 10px 24px #1f252a2e}.backup-graph-node h4{font-size:calc(var(--backup-graph-font-size,12px) + 3px);color:#20354a;margin:0;line-height:1.2}.backup-graph-node p{font-size:var(--backup-graph-font-size,12px);color:#5c6470;min-height:48px;max-height:48px;margin:0;line-height:1.4;overflow:hidden}.backup-graph-node small{color:#637185;font-size:calc(var(--backup-graph-font-size,12px) - 1px)}.backup-link-handle{color:#2f6daa;cursor:crosshair;opacity:0;pointer-events:none;background:#fff;border:1px solid #2460a0bf;border-radius:50%;place-items:center;width:18px;height:18px;padding:0;font-size:10px;line-height:1;transition:opacity .12s;display:grid;position:absolute}.backup-graph-node.show-handles .backup-link-handle{opacity:1;pointer-events:auto}.backup-link-handle.side-top{top:-9px;left:calc(50% - 9px)}.backup-link-handle.side-right{top:calc(50% - 9px);right:-9px}.backup-link-handle.side-bottom{bottom:-9px;left:calc(50% - 9px)}.backup-link-handle.side-left{top:calc(50% - 9px);left:-9px}.backup-link-target-indicator{color:#2e6aa4;pointer-events:none;background:#fff;border:1px solid #2460a0cc;border-radius:50%;place-items:center;width:18px;height:18px;padding:0;font-size:10px;line-height:1;display:grid;position:absolute}.backup-link-target-indicator.side-top{top:-9px;left:calc(50% - 9px)}.backup-link-target-indicator.side-right{top:calc(50% - 9px);right:-9px}.backup-link-target-indicator.side-bottom{bottom:-9px;left:calc(50% - 9px)}.backup-link-target-indicator.side-left{top:calc(50% - 9px);left:-9px}.backup-relation-menu{z-index:210;width:160px;max-width:calc(100vw - 16px)}.backup-graph-help{color:#e6eff8eb;z-index:12;pointer-events:none;background:#181f288f;border:1px solid #ffffff2e;border-radius:8px;align-items:center;min-height:28px;padding:5px 9px;font-size:12px;line-height:1.35;display:inline-flex;position:absolute;bottom:12px;left:12px;right:12px}.backup-graph-board:fullscreen .backup-graph-help{left:56px}.text-button,.primary-button,.result-actions button{border-radius:var(--radius);color:var(--ink);background:#fff;border:1px solid #17171729;padding:9px 13px}.text-button:hover,.result-actions button:hover{border-color:var(--accent);color:var(--accent-dark)}.settings{align-content:start;gap:16px;display:grid}.settings label{color:#4b504a;gap:7px;display:grid}.settings label span{color:var(--muted);font-size:13px}.settings input,.settings select{min-height:38px;padding:8px 10px}.settings-model-row{align-items:center;gap:8px;display:flex}.settings-model-row input{flex:auto;min-width:0}.settings-model-row .text-button{flex:none;min-height:38px;padding:8px 10px}.settings-inline-tip{color:var(--muted);font-size:12px}.settings-checkbox-row{color:#5b635d;align-items:center;gap:8px;margin-top:8px;font-size:13px;display:inline-flex}.settings-checkbox-row input{width:14px;height:14px;margin:0}.settings-activation-warning{border-radius:var(--radius);color:#8f3428;background:#e33b2414;border:1px solid #e33b244d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;font-size:12px;display:flex}.settings input[type=range]{accent-color:var(--accent);padding:0}.settings .custom-prompt{resize:vertical;min-height:90px;padding:10px;line-height:1.45}.settings-connection-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.settings-connection-state{border-radius:var(--radius);color:#57605a;background:#fff9;border:1px solid #1717171f;align-items:center;gap:7px;min-height:38px;padding:0 10px;font-size:13px;display:inline-flex}.settings-connection-dot{background:#9aa0a6;border-radius:50%;width:8px;height:8px}.settings-connection-state.is-connected .settings-connection-dot{background:#26a269}.settings-connection-state.is-failed .settings-connection-dot{background:#d84a34}.settings-runtime-card{background:#ffffff9e;border:1px solid #1717171f;border-radius:6px;gap:10px;padding:10px;display:grid}.settings-runtime-card-header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.settings-runtime-card-header strong{font-size:14px}.settings-runtime-card-header small{color:var(--muted);font-size:12px}.settings-runtime-status-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-runtime-pill{color:#62706b;background:#ffffffb3;border:1px solid #17171729;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 9px;font-size:12px;display:inline-flex}.settings-runtime-pill.is-on{color:#1f7752;background:#279e6824;border-color:#279e6870}.settings-runtime-tip{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.settings-runtime-hash-row{gap:2px;display:grid}.settings-runtime-hash-row small{color:#6b736d;font-size:12px}.settings-runtime-preview{gap:6px;display:grid}.settings-runtime-preview-head{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.settings-runtime-preview textarea{resize:vertical;color:#44504a;min-height:116px;padding:10px;font-size:12px;line-height:1.4}.settings-runtime-log{gap:6px;display:grid}.settings-runtime-log-head{color:var(--muted);font-size:12px}.settings-runtime-log-list{gap:5px;max-height:160px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.settings-runtime-log-list li{background:#ffffff80;border:1px solid #1717171a;border-radius:4px;gap:1px;padding:6px 8px;display:grid}.settings-runtime-log-list li strong{font-size:12px;font-weight:600}.settings-runtime-log-list li small{color:#64706a;font-size:12px}.settings-advanced{gap:10px;display:grid}.settings-advanced-toggle{border-radius:var(--radius);color:var(--ink);background:#fff;border:1px solid #17171729;justify-self:start;padding:8px 12px}.settings-advanced-toggle:hover{border-color:var(--accent);color:var(--accent-dark)}.settings-advanced-content{border-radius:var(--radius);background:#ffffff73;border:1px solid #1717171a;gap:12px;padding:10px;display:grid}.settings-session-id{margin:2px 0 0}.settings-skills-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.settings-skills-list li{background:#ffffffa6;border:1px solid #1717171a;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.skills-center-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:22px 0 10px;display:flex}.skills-upload-button{cursor:pointer;align-items:center;display:inline-flex}.skills-upload-input{display:none}.skills-center-summary{color:var(--muted);margin:0 0 14px;font-size:13px}.skills-group{gap:10px;margin-top:14px;display:grid}.skills-group h3{color:#3c403b;margin:0;font-size:14px}.skills-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.skills-list li{background:#ffffffa6;border:1px solid #1717171a;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.skills-item-main{gap:3px;min-width:0;display:grid}.skills-item-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.skills-item-main small{color:var(--muted);font-size:12px}.skills-source-tag{color:#4a4e48;background:#17171714;border-radius:6px;width:fit-content;padding:1px 6px;display:inline-flex}.skills-item-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.skills-item-actions .text-button{padding:6px 10px}.skills-rename-input{min-height:32px;color:var(--ink);background:#fff;border:1px solid #17171729;border-radius:6px;padding:6px 8px}.text-button.danger{color:#aa3221;border-color:#e33b2459}.text-button.danger:hover{color:#c03d2a;border-color:#d84a34}.primary-button{background:var(--accent);border-color:var(--accent);color:#fff;min-height:42px}.primary-button:hover{background:var(--accent-dark)}.result-panel{grid-template-rows:auto auto auto minmax(240px,1fr) auto;gap:16px;display:grid}.loading-line{color:var(--teal)}.error-text{border-radius:var(--radius);color:var(--accent-dark);background:#e33b2414;border:1px solid #e33b243d;margin:0;padding:10px 12px}.result-panel textarea{resize:vertical;min-height:310px;padding:13px;line-height:1.55}.result-actions{flex-wrap:wrap;gap:8px;display:flex}.result-actions-main{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:8px;display:grid}.result-actions-main .result-action-btn{white-space:nowrap;justify-content:center;align-items:center;gap:6px;width:100%;min-width:0;height:42px;min-height:42px;padding:0 8px;font-size:13px;display:inline-flex}.result-action-icon{width:18px;height:18px;color:var(--accent-dark);background:#f04d2e1a;border-radius:6px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.result-action-label{font-size:13px;font-weight:600}.result-action-btn:disabled .result-action-icon{opacity:.65}@media (width<=860px){.result-actions-main{grid-template-columns:repeat(2,minmax(0,1fr))}}.session-reset-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.session-reset-tip{color:var(--muted);font-size:12px;line-height:1.35}.backup-list{gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.backup-list li{border-radius:var(--radius);background:#ffffffa8;border:1px solid #1717171a;gap:8px;padding:10px;display:grid}.backup-list header{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.backup-title-input{min-width:0;min-height:34px;color:var(--ink);background:#ffffffdb;border:1px solid #17171729;border-radius:6px;flex:auto;padding:6px 9px}.backup-list strong{color:var(--ink);font-size:13px}.backup-list textarea{resize:vertical;border-radius:var(--radius);width:100%;min-height:110px;color:var(--ink);background:#ffffffbf;border:1px solid #17171724;padding:9px;line-height:1.45}.backup-actions{gap:8px;display:flex}.backup-list button{border-radius:var(--radius);color:var(--ink);background:#fff;border:1px solid #17171729;justify-self:start;padding:7px 11px}.backup-list button:hover{border-color:var(--accent);color:var(--accent-dark)}.backup-list .backup-delete{color:#b83a2a;border-color:#e33b2447}.backup-list .backup-delete:hover{color:#9d2f21;border-color:#d34b39}.backup-note-tip{color:var(--muted);margin:12px 0 0;font-size:12px}.empty-tip{color:var(--muted);margin:24px 0 0}.project-recent-empty-tip{color:#8e968f;text-align:center;margin:0;font-size:18px;line-height:1.5}@media (width<=1100px){.project-shell{padding:10px}.project-home{width:100%;padding:12px}.project-dashboard-grid{grid-template-columns:1fr}.project-data-strip{gap:8px}.project-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-data-grid>div{border-bottom:1px solid #17171714;border-right:0;padding-bottom:8px}.project-data-grid>div:last-child{border-bottom:0;justify-content:center;padding-bottom:0}.writer-shell{grid-template-columns:1fr}.menu-bar{grid-template-columns:minmax(220px,auto) 1fr auto;padding-left:14px}.brand{position:static;transform:none}.quick-rail{border-bottom:1px solid #17171714;border-right:0;flex-direction:row;justify-content:center;height:auto;padding:10px;position:static}.rail-button{width:70px}.rail-add-row{grid-template-columns:minmax(0,1fr) 18px;gap:3px;width:70px}.workspace{grid-template-columns:1fr}.side-pane,.editor-pane{min-height:auto}}@media (width<=720px){.project-home{border-radius:10px}.project-home-header-top{align-items:flex-start}.project-settings-page{width:100%}.project-settings-page-header{align-items:flex-end;min-height:74px}.project-settings-back{top:0}.project-settings-page-header strong{text-align:center;width:100%;font-size:22px}.project-settings-panel{grid-template-columns:1fr}.project-mascot-scene{min-height:300px}.project-greeting-copy{top:56px;left:22px;right:14px}.project-greeting-copy h2{font-size:22px}.project-greeting-copy p{font-size:15px}.project-quick-cards{grid-template-columns:1fr}.project-quick-cards-overlay{margin:-42px 8px 0}.project-create-row-inline{flex-direction:column;align-items:stretch}.project-create-row-inline .primary-button{width:100%}.project-recent-list li{grid-template-columns:48px minmax(0,1fr);align-items:start}.project-cover{width:48px;height:48px}.project-item-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start;width:100%}.project-data-strip{gap:8px}.project-data-grid{grid-template-columns:1fr}.project-data-grid>div{border-bottom:1px solid #17171714;padding-bottom:8px}.project-data-grid>div:last-child{border-bottom:0;padding-bottom:0}.quick-rail{justify-content:flex-start;gap:7px;overflow-x:auto}.rail-button,.rail-add-row{flex:1 1 0;min-width:58px;max-width:70px}.menu-bar{grid-template-columns:1fr;gap:8px}.window-status{display:none}.tab{min-width:130px}.editor-toolbar{flex-direction:column;align-items:flex-start}.editor-toolbar dl{justify-content:space-between;width:100%}.code-editor{min-height:520px}.command-strip{padding-left:0}.panel-section{padding:26px 18px}}.brand-meta-row-inline{flex:none;margin-top:0}.result-actions-main{grid-auto-rows:42px;align-content:start}.result-actions-main .result-action-btn{height:42px;min-height:42px}.result-panel textarea{min-height:160px}.result-actions-main{height:auto;min-height:0}.editor-context-status-tip{background:#ffffff0a;border-bottom:1px solid #ffffff14;padding:7px 10px;font-size:12px;line-height:1.4}.editor-context-status-tip.is-busy{color:#9ac7ff}.editor-context-status-tip.is-checking{color:#ffd38e}.editor-context-status-tip.is-failed{color:#ff9b94}.assistant-chat-send{justify-content:center;align-items:center;gap:8px;min-width:110px;display:inline-flex}.assistant-chat-send-content{justify-content:center;align-items:center;gap:6px;display:inline-flex}.assistant-chat-send-spinner{border:2px solid #ffffff6b;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite assistant-send-spin}.assistant-chat-send:disabled,.assistant-chat-send.is-unavailable{opacity:1;color:#fff!important;background:#8f97a3!important;border-color:#8f97a3!important}.assistant-chat-send.is-unavailable .assistant-chat-send-spinner{border-color:#fff #fff6 #fff6}@keyframes assistant-send-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-online-account-card{background:#ffffff9e;border:1px solid #1717171f;border-radius:8px;gap:10px;padding:10px;display:grid}.settings-online-account-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-online-account-head strong{color:#2b3239;font-size:14px}.settings-online-account-pill{color:#5d6760;background:#fffc;border:1px solid #17171729;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 10px;font-size:12px;display:inline-flex}.settings-online-account-pill-button{cursor:pointer}.settings-online-account-pill-button.is-on{color:#b8372a;background:#d84a3414;border-color:#d84a3496}.settings-online-account-pill-button.is-on:hover{color:#992b20;background:#d84a3420;border-color:#cf3f2f}.settings-online-account-pill.is-on{color:#1f7752;background:#2f9a6b1f;border-color:#2f9a6b80}.settings-online-account-pill.is-off{color:#a44335;background:#d4554517;border-color:#d4554594}.settings-online-account-body{gap:6px;display:grid}.settings-online-account-body p{color:#505b54;margin:0;font-size:13px;line-height:1.35}.settings-online-account-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-membership-upgrade-button{min-height:30px;padding:6px 10px;font-size:12px}.settings-online-auth-form{gap:8px;display:grid}.settings-online-auth-entry{gap:10px;display:grid}.settings-online-login-center{justify-content:center;display:flex}.settings-online-login-center .primary-button{min-width:220px}.settings-online-auth-form input{min-height:38px;padding:8px 10px}.settings-online-auth-links{color:#657169;justify-content:center;align-items:center;gap:7px;margin:0;font-size:13px;line-height:1.4;display:flex}.settings-inline-link{color:#e33b24;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.settings-inline-link:hover{text-decoration:underline}.settings-online-account-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-online-quota-progress{background:#2f9a6b1a;border:1px solid #2f9a6b4a;border-radius:999px;width:100%;height:8px;overflow:hidden}.settings-online-quota-progress-fill{background:linear-gradient(90deg,#26b36c,#36c77a);border-radius:999px;height:100%;transition:width .2s;display:block}.settings-membership-warning{color:#b03829;background:#e33b2414;border:1px solid #e33b2452;border-radius:8px;margin:0;padding:8px 10px;font-size:12px}.settings-online-model-card{background:#ffffff9e;border:1px solid #1717171f;border-radius:8px;gap:10px;padding:10px;display:grid}.settings-online-model-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-online-model-head strong{color:#2b3239;font-size:14px}.settings-online-model-edit-button{min-height:32px;padding:6px 12px}.settings-online-model-current-row{background:#fff;border:1px solid #1717171f;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:8px 10px;display:flex}.settings-online-model-current-label{color:#5f6a63;border:1px solid #17171726;border-radius:999px;flex:none;align-items:center;min-height:22px;padding:2px 10px;font-size:12px;display:inline-flex}.settings-online-model-current-value{color:#2f3841;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:15px;overflow:hidden}.settings-online-model-picker-head{color:#657169;justify-content:space-between;align-items:center;font-size:12px;display:flex}.settings-online-model-head small{color:#6a756d;font-size:12px}.settings-online-model-list{grid-template-columns:1fr;gap:6px;max-height:198px;display:grid;overflow:auto}.settings-online-model-option{color:#374049;text-align:left;background:#fff;border:1px solid #17171726;border-radius:8px;align-items:center;width:100%;min-height:36px;padding:7px 10px;display:flex}.settings-online-model-option span{white-space:nowrap;text-overflow:ellipsis;width:100%;overflow:hidden}.settings-online-model-option:hover{color:#b92b1a;border-color:#e33b24}.settings-online-model-option.is-selected{color:#b92b1a;background:#fff4f1;border-color:#e33b24}.settings-online-model-picker-actions{justify-content:flex-end;gap:8px;display:flex}.settings-online-model-picker-actions .primary-button{min-height:36px;padding:7px 14px}.settings-online-model-empty{color:#707b73;margin:0;font-size:13px}.settings-online-model-spec-card{background:#fff;border:1px solid #17171720;border-radius:10px;gap:10px;padding:10px;display:grid}.settings-online-model-spec-card h4{color:#28313a;margin:0;font-size:14px}.settings-online-model-spec-meta{gap:6px;display:grid}.settings-online-model-spec-meta p{color:#55625d;gap:3px;margin:0;font-size:12px;display:grid}.settings-online-model-spec-meta code{color:#24303b;word-break:break-all;background:#f7f7f5;border:1px solid #1717171a;border-radius:6px;padding:4px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.settings-online-model-spec-meta strong{color:#24303b;font-size:13px;font-weight:600}.settings-online-model-spec-table-wrap{border:1px solid #17171718;border-radius:8px;overflow:auto}.settings-online-model-spec-table{border-collapse:collapse;width:100%;min-width:640px}.settings-online-model-spec-table th,.settings-online-model-spec-table td{text-align:left;color:#39434d;white-space:nowrap;border-bottom:1px solid #17171712;padding:8px 10px;font-size:12px}.settings-online-model-spec-table th{color:#28313a;background:#f7f7f4;font-weight:700}.settings-online-token-hints{background:#ffffffc7;border:1px solid #1717171f;border-radius:8px;gap:4px;margin-top:2px;padding:8px 10px;display:grid}.settings-online-token-hints p{color:#505b54;margin:0;font-size:12px;line-height:1.45}.model-auth-modal{gap:16px;width:min(560px,100% - 36px);padding:24px 24px 20px}.membership-modal{width:min(680px,100% - 36px)}.auth-success-modal{width:min(420px,100% - 36px)}.membership-plan-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.membership-plan-card{background:#fff;border:1px solid #17171726;border-radius:10px;align-content:start;gap:8px;padding:12px;display:grid}.membership-plan-card.is-normal{background:#f7f7f4}.membership-plan-card h4{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.membership-current-tag{color:#b53728;background:#e33b2414;border:1px solid #e33b2496;border-radius:999px;justify-content:center;align-items:center;min-height:20px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.membership-plan-card p{color:#657169;margin:0;font-size:12px;line-height:1.4}.membership-plan-card .membership-plan-meta{color:#2e3630;font-size:12px;font-weight:600;line-height:1.3}.membership-plan-card .primary-button{min-height:34px;padding:7px 10px}.membership-redeem-box{border-top:1px dashed #17171724;gap:8px;padding-top:10px;display:grid}.membership-redeem-box label{gap:6px;display:grid}.membership-redeem-box label span{color:#5f6b64;font-size:13px}.membership-redeem-box input{border:1px solid #17171729;border-radius:8px;min-height:38px;padding:8px 10px}@media (width<=860px){.membership-plan-list{grid-template-columns:1fr}}.model-auth-modal-actions{justify-content:center;gap:8px;margin-top:6px;display:flex}.settings-online-account-note{color:#62706a;margin:0;font-size:12px;line-height:1.4}.model-auth-modal .settings-online-auth-form{gap:12px}.model-auth-modal .settings-online-auth-links{margin-top:2px}.panel-section.result-panel{height:100%;min-height:0;padding-bottom:18px;overflow:hidden!important}.result-panel{grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;height:100%;min-height:0;overflow:hidden}.result-status-stack{gap:8px;min-height:0;display:grid}.result-panel textarea{resize:none;grid-row:3;width:100%;height:100%;max-height:none;overflow:auto;min-height:0!important}.result-panel .result-actions-main{grid-row:4;margin:0}.project-recent-body,.project-recent-panel .project-recent-list{overflow:visible!important}.project-item-menu-dropdown{z-index:40;min-width:132px;padding:6px}.project-item-menu-floating{z-index:2100;top:0;left:0;position:fixed!important;bottom:auto!important;right:auto!important}.project-menu-item{color:#3f4953;text-align:left;border-radius:8px;align-items:center;gap:8px;width:100%;min-height:36px;padding:7px 8px;display:flex;background:0 0!important;border:0!important}.project-menu-item:hover{color:#232b33;background:#1717170a!important}.project-menu-item.danger{color:#b03728}.project-menu-item.danger:hover{color:#9a2d20;background:#e33b2412!important}.project-menu-item:disabled{opacity:.55}.project-menu-item-icon{width:18px;height:18px;color:inherit;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.model-guide-modal{gap:16px;width:min(700px,100% - 36px);padding:24px 24px 20px}.model-guide-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.model-guide-option{text-align:left;color:#2d333a;background:#fff;border:1px solid #1717171f;border-radius:10px;gap:8px;padding:12px;display:grid}.model-guide-option-title{align-items:center;gap:8px;display:flex}.model-guide-option-title input[type=checkbox]{accent-color:#e33b24;width:16px;height:16px;margin:0}.model-guide-option strong{font-size:15px;line-height:1.3}.model-guide-option small{color:#5f6861;font-size:12px;line-height:1.45}.model-guide-option-online{background:#fff5f2;border-color:#e33b2454}.model-guide-option-online:hover{background:#ffece6}.model-guide-option-online.is-selected{border-color:#e33b24;box-shadow:inset 0 0 0 1px #e33b2435}.model-guide-option-local{background:#effaf4;border-color:#2f7f5747}.model-guide-option-local:hover{background:#e7f6ee}.model-guide-option-local.is-selected{border-color:#2f7f57b3;box-shadow:inset 0 0 0 1px #2f7f5738}.model-guide-step-panel{background:#fafaf8;border:1px solid #17171720;border-radius:10px;gap:10px;padding:12px;display:grid}.model-guide-step-panel h4{color:#222b33;margin:0;font-size:18px}.model-guide-step-panel p{color:#4f5750;margin:0;font-size:14px;line-height:1.5}.model-guide-step-actions{align-items:center;gap:8px;display:flex}.model-guide-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:2px;display:flex}.model-guide-later-button{margin-right:auto}.model-guide-footer-right{align-items:center;gap:8px;display:flex}.model-settings-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.model-settings-heading .paper-heading{margin:0}.model-guide-help-row{justify-content:flex-end;margin-top:-6px;margin-bottom:2px;display:flex}.model-guide-help-button{align-items:center;gap:6px;min-height:34px;margin-top:2px;padding:6px 10px;display:inline-flex}.model-guide-help-icon{border:1px solid #17171745;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}@media (width<=860px){.model-guide-options{grid-template-columns:1fr}.model-guide-footer{flex-direction:column;align-items:stretch}.model-guide-later-button{margin-right:0}.model-guide-footer-right{justify-content:flex-end}}.panel-tab-model-label{align-items:center;gap:6px;display:inline-flex}.panel-tab-model-dot{background:#9ba3ae;border-radius:50%;flex:none;width:9px;height:9px;transition:background-color .2s}.panel-tab-model-dot.is-running{background:#19b35b}.panel-tab-model-dot.is-error{background:#e33b24}.panel-tab-model-dot.is-idle{background:#9ba3ae}.panel-tab-model-dot.is-starting{animation:.9s linear infinite panel-tab-model-starting}@keyframes panel-tab-model-starting{0%,to{background:#9ba3ae}50%{background:#19b35b}}.issue-page{background:#ffffffd4;border:1px solid #1717171f;border-radius:12px;gap:12px;width:100%;min-height:calc(100svh - 92px);margin:0;padding:14px;display:grid;box-shadow:0 12px 28px #151b1f14}.issue-workspace{height:100%;min-height:0;padding:14px;overflow:auto}.issue-page-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.issue-page-header strong{color:#212b35;font-size:20px}.issue-page-grid{grid-template-columns:minmax(300px,.95fr) minmax(320px,1fr) minmax(380px,1.25fr);gap:12px;min-height:72svh;display:grid}.issue-compose-card,.issue-list-card,.issue-detail-card{background:#fff;border:1px solid #1717171f;border-radius:10px;align-content:start;gap:10px;min-height:0;padding:12px;display:grid}.issue-compose-card h3,.issue-list-card h3,.issue-detail-card h3{color:#212933;margin:0;font-size:18px}.issue-list-card header{justify-content:space-between;align-items:center;gap:8px;display:flex}.issue-compose-card input,.issue-compose-card textarea,.issue-reply-box textarea{background:#fff;border:1px solid #17171729;border-radius:8px;width:100%;min-height:38px;padding:8px 10px}.issue-compose-card textarea{resize:vertical;min-height:180px}.issue-image-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.issue-image-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.issue-image-grid img{object-fit:cover;background:#f5f6f8;border:1px solid #17171726;border-radius:8px;width:100%;height:88px}.issue-compose-actions{justify-content:flex-end;display:flex}.issue-list{gap:8px;max-height:calc(72svh - 80px);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.issue-item{cursor:pointer;background:#fff;border:1px solid #1717171f;border-radius:9px;gap:6px;padding:9px 10px;display:grid}.issue-item:hover{background:#fafaf8;border-color:#17171745}.issue-item.is-active{background:#fff9f8;border-color:#e33b2494;box-shadow:inset 0 0 0 1px #e33b2430}.issue-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.issue-item-head strong{color:#1f2731;font-size:14px}.issue-item p{color:#4f5963;margin:0;font-size:13px;line-height:1.45}.issue-item small{color:#7b848e;font-size:12px}.issue-visibility{color:#56616c;white-space:nowrap;border:1px solid #1717172e;border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:2px 8px;font-size:11px;display:inline-flex}.issue-public{color:#1f7752;background:#2f9a6b17;border-color:#2f9a6b80}.issue-private{color:#9c483c;background:#ce4c3814;border-color:#ce4c3875}.issue-detail-card{grid-template-rows:auto auto auto auto minmax(0,1fr) auto;overflow:hidden}.issue-detail-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.issue-detail-meta{color:#6f7883;margin:0;font-size:12px}.issue-detail-content{color:#2a333d;white-space:pre-wrap;word-break:break-word;background:#fafaf8;border:1px solid #1717171f;border-radius:8px;padding:9px 10px;font-size:13px;line-height:1.55}.issue-comment-list{gap:8px;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.issue-comment-list li{background:#fff;border:1px solid #1717171a;border-radius:8px;gap:6px;padding:8px 9px;display:grid}.issue-comment-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.issue-comment-meta strong{color:#24303b;font-size:13px}.issue-comment-meta span{color:#7a848e;font-size:12px}.issue-comment-list p{color:#414b57;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}.issue-reply-box{border-top:1px dashed #17171724;gap:8px;padding-top:10px;display:grid}.issue-reply-box textarea{resize:vertical;min-height:92px}.issue-reply-box .primary-button{justify-self:end;min-width:110px}.rail-bug-button{color:#bd3523;background:#fff2ef;border:1px solid #e33b24;border-radius:8px;width:108px;min-height:34px;margin-top:auto;font-size:13px;font-weight:600}.rail-bug-button:hover{color:#a92c1c;background:#ffe6e0}@media (width<=1100px){.issue-page-grid{grid-template-columns:1fr;min-height:auto}.issue-list{max-height:300px}.issue-comment-list{max-height:280px}}@media (width<=720px){.rail-bug-button{width:auto;min-width:88px;margin-top:0}.issue-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-console{color:#1f252a;background:linear-gradient(160deg,#f5f4f1 0%,#f9f8f6 45%,#f2f0ec 100%);align-content:start;gap:16px;min-height:100svh;padding:22px;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei UI,Segoe UI,sans-serif;display:grid;overflow:auto}.admin-console.is-login{grid-template-rows:auto 1fr;place-items:start center}.admin-console-header{justify-content:space-between;align-items:center;gap:12px;width:min(1100px,100%);display:flex}.admin-console-header h1{letter-spacing:.03em;color:#171a1f;text-shadow:0 1px #ffffffa6;margin:0;padding-bottom:8px;font-size:38px;font-weight:900;line-height:1.08;position:relative}.admin-console-header h1:after{content:"";background:linear-gradient(90deg,#eb3f28,#f2963a 78%,#0000);border-radius:999px;width:56%;min-width:160px;height:6px;position:absolute;bottom:0;left:0}.admin-console-header-actions{align-items:center;gap:8px;display:flex}.admin-link{color:#4b5763;background:#fff;border:1px solid #17171724;border-radius:8px;padding:7px 10px;text-decoration:none}.admin-btn{color:#24303b;background:#fff;border:1px solid #17171729;border-radius:8px;min-height:36px;padding:7px 12px}.admin-btn-primary{color:#fff;background:#e33b24;border-color:#e33b24}.admin-login-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border:1px solid #1717171f;border-radius:16px;gap:12px;width:min(420px,100%);margin-top:8svh;padding:20px;display:grid;box-shadow:0 18px 42px #171c231f}.admin-login-card h2{letter-spacing:.02em;margin:0;font-size:34px;line-height:1.15}.admin-login-card p{color:#5f6773;margin:0;font-size:16px}.admin-login-card input{border:1px solid #17171729;border-radius:10px;min-height:46px;padding:10px 12px}.admin-console.is-login .admin-login-card .admin-btn{min-height:44px;font-size:18px;font-weight:700}.admin-toolbar{background:#fff;border:1px solid #1717171f;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.admin-toolbar label{color:#4f5a65;align-items:center;gap:8px;font-size:14px;display:flex}.admin-toolbar select{background:#fff;border:1px solid #17171729;border-radius:8px;min-height:34px;padding:6px 8px}.admin-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.admin-summary-grid article{background:#fff;border:1px solid #1717171c;border-radius:10px;gap:4px;padding:10px;display:grid}.admin-summary-grid strong{font-size:22px;line-height:1}.admin-summary-grid span{color:#67736d;font-size:12px}.admin-issues-head{justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 0;display:flex}.admin-issues-head h3{color:#1f2933;margin:0;font-size:16px}.admin-issues-head span{color:#68746f;font-size:12px}.admin-table-wrap{background:#fff;border:1px solid #1717171f;border-radius:12px;overflow:auto}.admin-table-wrap table{border-collapse:collapse;width:100%;min-width:1360px}.admin-table-wrap th,.admin-table-wrap td{text-align:left;white-space:nowrap;border-bottom:1px solid #17171714;padding:8px 10px;font-size:13px}.admin-user-link{color:#1f7752;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.admin-user-link:hover{color:#15563a}.admin-redeem-tag{color:#1f7752;background:#2f9a6b14;border:1px solid #2f9a6b66;border-radius:999px;align-items:center;min-height:20px;margin-top:4px;padding:0 8px;font-size:12px;line-height:1;display:inline-flex}.admin-table-wrap th{color:#4f5a65;background:#fafaf8;font-weight:600}.admin-error{color:#ab3221;background:#e33b2412;border:1px solid #e33b2454;border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.admin-empty{color:#69746e;margin:0;padding:14px}.admin-detail-backdrop{z-index:2200;background:#090c1059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.admin-detail-modal{background:#fff;border:1px solid #1717171f;border-radius:12px;gap:10px;width:min(1200px,100%);max-height:90svh;padding:14px;display:grid;overflow:auto}.admin-detail-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-detail-head h3{margin:0;font-size:20px}.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-issue-detail-grid{gap:10px;display:grid}.admin-detail-card{background:#fafaf8;border:1px solid #1717171f;border-radius:10px;gap:8px;padding:10px;display:grid}.admin-detail-card h4{margin:0;font-size:15px}.admin-detail-card p{color:#4f5a65;margin:0;font-size:13px}.admin-detail-wide{grid-column:1/-1}.admin-block-toggle{color:#2e3944;align-items:center;gap:8px;font-size:13px;display:flex}.admin-detail-card textarea{resize:vertical;border:1px solid #17171729;border-radius:8px;min-height:84px;padding:8px 10px}.admin-detail-actions{justify-content:flex-end;display:flex}.admin-mini-table-wrap{background:#fff;border:1px solid #1717171c;border-radius:8px;overflow:auto}.admin-mini-table-wrap table{border-collapse:collapse;width:100%;min-width:820px}.admin-mini-table-wrap th,.admin-mini-table-wrap td{text-align:left;white-space:nowrap;border-bottom:1px solid #17171714;padding:6px 8px;font-size:12px}.admin-issue-image-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.admin-issue-image-grid img{object-fit:cover;background:#f6f7f9;border:1px solid #17171724;border-radius:8px;width:100%;height:90px}.admin-issue-comment-list{gap:8px;margin-top:10px;display:grid}.admin-issue-comment-list article{background:#fff;border:1px solid #1717171f;border-radius:8px;gap:6px;padding:8px 9px;display:grid}.admin-issue-comment-list article header{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-issue-comment-list article header strong{color:#24303b;font-size:13px}.admin-issue-comment-list article header span{color:#798590;font-size:12px}.admin-issue-comment-list article p{color:#424d58;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}@media (width<=1200px){.admin-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.admin-console{padding:14px}.admin-console-header h1{font-size:30px}.admin-login-card{margin-top:4svh;padding:16px}.admin-login-card h2{font-size:28px}.admin-summary-grid,.admin-issue-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
