:root{--bg:#0f1117;--panel:#171a22;--panel2:#1d2130;--line:#2d3345;--text:#eef2ff;--muted:#9aa4bb;--accent:#7c9cff;--accent2:#9b7cff;--danger:#ff6b7a;--ok:#57d19b;--warn:#f6c85f;--shadow:0 18px 50px rgba(0,0,0,.28);--radius:14px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;color:var(--text);background:radial-gradient(circle at 20% 0%,rgba(124,156,255,.12),transparent 28%),radial-gradient(circle at 90% 5%,rgba(155,124,255,.1),transparent 25%),var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.app{height:100%;display:grid;grid-template-rows:auto auto 1fr}.topbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line);background:#0f1117e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:5}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.2px;margin-right:4px}.brand-emblem{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 auto;border:1px solid rgba(153,173,214,.42);background:#0c1119b8;box-shadow:0 0 20px #6989c90f}.brand-emblem:after{content:"";position:absolute;inset:4px;border-radius:50%;border:1px dashed rgba(164,182,220,.17)}.brand-emblem span{position:relative;z-index:1;font-family:serif;font-size:15px;color:#e5ebfa;line-height:1}.topbar-action{height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;align-self:center;box-sizing:border-box;margin:0;padding:9px 11px;border-radius:10px;font:inherit;font-size:13px;line-height:18px;white-space:nowrap;vertical-align:middle}.topbar-import-btn{cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--text);transition:.15s ease}.topbar-import-btn:hover{border-color:#4a5575;background:#202536}.topbar-import-btn input{display:none}.topbar>button.topbar-action,.topbar>label.topbar-action{height:38px;min-height:38px;margin-top:0;margin-bottom:0}.topbar button,.file-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:9px 11px;border-radius:10px;transition:.15s ease}.topbar button:hover,.file-btn:hover{border-color:#4a5575;background:#202536}.topbar .primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;color:#fff;font-weight:700}.topbar .danger{color:#ffb0b8}.file-btn{display:inline-flex;align-items:center}.file-btn input{display:none}.status{font-size:12px;color:var(--muted);margin-left:auto;white-space:nowrap}.workspace{min-height:0;display:grid;grid-template-columns:300px minmax(560px,1fr) 300px;gap:0;position:relative}.no-active-work-notice{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at 50% 35%,rgba(124,156,255,.08),transparent 32%),#0c0f15f5;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.no-active-work-card{width:min(480px,100%);text-align:center;border:1px solid #364159;border-radius:18px;background:linear-gradient(180deg,#181e2a,#121720);padding:28px 24px;box-shadow:0 24px 70px #00000057}.no-active-work-emblem{width:50px;height:50px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;font-family:serif;font-size:21px;color:#e5ebfa;border:1px solid rgba(153,173,214,.42);background:#0c1119b8;box-shadow:inset 0 0 0 5px #a4b6dc09}.no-active-work-card h2{margin:0 0 9px;font-size:21px}.no-active-work-card p{margin:0 0 17px;color:var(--muted);font-size:13px;line-height:1.7}.no-active-work-card button{border:0;border-radius:10px;padding:10px 15px;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2))}.sidebar,.editor,.preview,.asset-sidebar{min-height:0;overflow:auto}.preview-page{padding:22px;overflow:auto;background:linear-gradient(180deg,#0d1118f5,#0a0d13fa)}.preview-page-inner{max-width:1180px;margin:0 auto}.preview-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.preview-page-head h2{margin:0 0 5px;font-size:22px}.preview-page-head p{margin:0;color:var(--muted);font-size:12px}.preview-page-actions{display:flex;gap:8px;flex-wrap:wrap}.preview-page-actions button{border:1px solid var(--line);background:#1b2130;color:var(--text);padding:8px 10px;border-radius:9px}.preview-page .preview-shell{max-width:none}.preview-play-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:start}.preview-main-column{min-width:0}.preview-status-column{display:grid;gap:12px;position:sticky;top:12px;min-width:0}.preview-status-card{border:1px solid #303a50;border-radius:14px;background:linear-gradient(180deg,#171d28fa,#11161ffa);padding:12px;box-shadow:0 10px 28px #0000002e}.preview-status-title{font-size:13px;font-weight:800;margin-bottom:10px;color:#e8edff}.preview-status-column .game-stats{border:0;padding:0;background:transparent}.preview-status-column .inventory-items{display:flex;flex-wrap:wrap;gap:7px}@media(max-width:900px){.preview-play-layout{grid-template-columns:1fr}.preview-status-column{position:static;grid-template-columns:1fr 1fr}}@media(max-width:620px){.preview-status-column{grid-template-columns:1fr}}.sidebar{border-right:1px solid var(--line);background:#11141be0;padding:12px;display:flex;flex-direction:column;gap:12px}.asset-sidebar{border-left:1px solid var(--line);background:#11141be6;padding:12px;display:flex;flex-direction:column;gap:12px}.asset-sidebar .sidebar-module{background:linear-gradient(180deg,#1d222efa,#151922f5)}.asset-sidebar .scene-list,.asset-sidebar .item-list{max-height:none}.project-info-editor{display:grid;gap:10px}.project-info-editor input,.project-info-editor textarea{width:100%;background:#111720;border:1px solid #38445d;color:#fff;border-radius:9px;padding:8px 9px;outline:none}.project-info-editor input:focus,.project-info-editor textarea:focus{border-color:#667dbb;box-shadow:0 0 0 2px #667dbb17}.project-info-editor textarea{min-height:94px;resize:vertical;line-height:1.55}.sidebar-module{border:1px solid #30394d;background:linear-gradient(180deg,#1b202bf5,#141821f0);border-radius:13px;padding:11px;box-shadow:0 6px 18px #00000024,inset 0 1px #ffffff05}.sidebar-module:hover{border-color:#3b4862}.sidebar-module .section-title{margin:0 0 9px}.sidebar-module .section-title h3{display:flex;align-items:center;gap:7px;font-size:13px;letter-spacing:.2px}.sidebar-module .section-title h3:before{content:"";width:3px;height:13px;border-radius:4px;background:#708bd6;opacity:.78}.sidebar-module-items .section-title h3:before{background:#8d7dd0}.sidebar-module-stats .section-title h3:before{background:#6d9cae}.sidebar-module-rules .section-title h3:before{background:#c49562}.sidebar-module-media .section-title h3:before{background:#7b8fae}.asset-sidebar .sidebar-module-project .section-title h3:before{background:#c49562}.asset-sidebar .sidebar-module-scenes .section-title h3:before{background:#718bd5}.asset-sidebar .sidebar-module-items .section-title h3:before{background:#8d7dd0}.sidebar-module .stat-panel,.sidebar-module .media-panel{border:0;background:transparent;padding:0;border-radius:0}.sidebar-module-rules .entry-rule-card{background:#121722}.sidebar-module-rules .entry-rule-grid,.sidebar-module-rules .rule-effect-items{grid-template-columns:1fr}.sidebar-module-rules .rule-row{grid-template-columns:1fr 72px 82px auto}.sidebar-module-rules .effect-row{grid-template-columns:1fr 82px auto}.rule-effect-items{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.node-media-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px;align-items:start}.node-media-grid .media-subsection{height:100%;margin:0}.node-media-grid .media-thumb{min-height:180px}.visual-layout-settings{display:grid;gap:9px;margin-top:10px;padding:10px;border:1px solid #344057;border-radius:10px;background:#121823}.embedded-visual-settings{display:grid;gap:9px;padding-top:9px;border-top:1px solid rgba(90,105,135,.28)}.visual-setting-note{min-height:100%;display:flex;align-items:center;color:var(--muted);font-size:11px;line-height:1.55;padding:7px 9px;border:1px dashed #354159;border-radius:8px}.visual-layout-settings input{color:#fff!important;background:#111720!important;border-color:#38445d!important}.overlay-opacity-setting{display:grid;gap:6px;padding:9px;border:1px solid #344057;border-radius:9px;background:#101620}.overlay-opacity-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.overlay-opacity-head label{margin:0}.overlay-opacity-head output{font-size:12px;font-weight:800;color:#fff}.overlay-opacity-setting input[type=range]{width:100%!important;padding:0!important;border:0!important;background:transparent!important;accent-color:#7c9cff}.game-visual-stage{position:relative;width:100%;height:clamp(360px,56vw,560px);overflow:hidden;border-radius:14px;background:#080a0f;margin:0 0 14px;border:1px solid #2f394e}.game-visual-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.game-visual-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#04060a0d,#04060a29)}.game-overlay-panel{position:absolute;z-index:2;overflow:auto;box-sizing:border-box;padding:15px 17px;color:#f4f6ff;background:#080b11b8;border:1px solid rgba(174,190,220,.26);border-radius:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 10px 30px #00000047}.game-overlay-panel .game-text{margin:0}.game-overlay-panel .choices{margin-top:14px}.game-overlay-panel .choice-btn{background:#141a26db}@media(max-width:720px){.game-visual-stage{height:420px}}.editor{padding:18px}.preview{border-left:1px solid var(--line);padding:16px;background:#0a0c1157}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 10px}.section-title h3{font-size:14px;margin:0}.section-title button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:6px 9px}.scene-list,.item-list{display:flex;flex-direction:column;gap:7px}.scene-row,.item-row{width:100%;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:9px 10px;text-align:left;display:flex;gap:8px;align-items:center;justify-content:space-between}.scene-row:hover,.item-row:hover{border-color:#4d5978}.scene-row.active{border-color:var(--accent);box-shadow:0 0 0 2px #7c9cff1f}.scene-row .title,.item-row .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{font-size:10px;color:#d8e0ff;background:#323a58;border:1px solid #465176;padding:2px 6px;border-radius:999px;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12px}.divider{height:1px;background:var(--line);margin:16px 0}.card{background:#171a22d6;border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);margin-bottom:14px}.editor{background:linear-gradient(180deg,#12161edb,#0e1118eb);padding:14px}#editorBody{display:grid;gap:13px}#editorBody>.card{position:relative;margin:0;border:1px solid #364159;background:linear-gradient(180deg,#1d232ff7,#151a24f5);border-radius:14px;padding:14px;box-shadow:0 8px 22px #00000029,inset 0 1px #ffffff05;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;overflow:visible}#editorBody>.card:hover{border-color:#465775;box-shadow:0 10px 26px #0003,inset 0 1px #ffffff07}#editorBody>.card:before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:3px;border-radius:0 4px 4px 0;background:#718bd5;opacity:.82}#editorBody>.card:nth-child(2):before{background:#8f7fd1}#editorBody>.card:nth-child(3):before{background:#6f9ead}#editorBody>.card:nth-child(4):before{background:#c39263}#editorBody>.card:nth-child(5):before{background:#7b8ead}#editorBody>.card:nth-child(6):before{background:#719382}#editorBody>.card:nth-child(7):before{background:#a87a8d}#editorBody>.card h2,#editorBody>.card h3{color:#e3e9f8;letter-spacing:.15px}#editorBody>.card>h3,#editorBody>.card .row>h2,#editorBody>.card .row h3{position:relative}#editorBody>.card>h3{margin-bottom:11px;padding-bottom:8px;border-bottom:1px solid rgba(90,105,135,.28)}#editorBody>.card .hint{color:#9da9c1}#editorBody>.card input,#editorBody>.card textarea,#editorBody>.card select{border-color:#38445d;background:#111720}#editorBody>.card input:focus,#editorBody>.card textarea:focus,#editorBody>.card select:focus{border-color:#667dbb;box-shadow:0 0 0 2px #667dbb17;outline:none}#editorBody>.card .multi-rule-box,#editorBody>.card .entry-rule-card{border-color:#303a50;background:#121823}.rich-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:7px}.rich-reveal-control{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.rich-reveal-control label{font-size:11px;color:var(--muted);margin:0}.rich-reveal-control select{width:auto;min-width:178px;padding:7px 9px}.reveal-interval-control{display:flex;align-items:center;gap:5px}.reveal-interval-control input{width:82px!important;padding:7px 8px!important;text-align:right;color:#fff!important;background:#111720!important;border:1px solid #38445d!important;caret-color:#fff}.reveal-interval-control input::-webkit-inner-spin-button,.reveal-interval-control input::-webkit-outer-spin-button{opacity:1}.reveal-interval-control span{font-size:10px;color:var(--muted)}.rich-text-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px;border:1px solid #354158;border-bottom:0;background:#151b27;border-radius:10px 10px 0 0}.rich-text-toolbar button{border:1px solid #3a4660;background:#1d2432;color:var(--text);border-radius:7px;padding:6px 9px;min-height:31px}.rich-text-toolbar button:hover{border-color:#657cb7;background:#242e42}.rich-text-toolbar button.format-painter-active{border-color:#7c9cff;background:linear-gradient(135deg,#7c9cff47,#9b7cff38);color:#fff;box-shadow:0 0 0 2px #7c9cff1a}.rich-text-toolbar select{width:auto;min-width:105px;padding:6px 8px}.rich-tool-color{display:flex;align-items:center;gap:6px;border:1px solid #3a4660;background:#1d2432;border-radius:7px;padding:4px 7px;margin:0;color:#cbd4e7;font-size:11px}.rich-tool-color input{width:25px!important;height:22px!important;padding:0!important;border:0!important;background:transparent!important}.rich-text-editor{min-height:220px;max-height:520px;overflow:auto;padding:13px 14px;border:1px solid #38445d;border-radius:0 0 10px 10px;background:#111720;color:#e7eafd;line-height:1.75;outline:none;white-space:normal;word-break:break-word}.rich-text-editor:focus{border-color:#667dbb;box-shadow:0 0 0 2px #667dbb17}.rich-text-editor:empty:before{content:attr(data-placeholder);color:#6f7b91;pointer-events:none}.rich-text-editor p,.rich-text-editor div{margin:.2em 0 .85em}.rich-text-editor br{line-height:1.75}.game-text{white-space:normal}.story-paragraph{white-space:pre-wrap;line-height:1.8;margin:0 0 .9em;animation:storyReveal .22s ease both}.story-paragraph:last-of-type{margin-bottom:0}.game-text.progressive{cursor:pointer;border-radius:9px;padding:4px 6px;margin-left:-6px;margin-right:-6px}.game-text.progressive:hover{background:#7c9cff09}.story-more-hint{font-size:11px;color:#8796b5;margin-top:10px;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.story-type-caret{display:inline-block;width:1px;height:1.05em;margin-left:2px;vertical-align:-.12em;background:currentColor;opacity:.72;animation:typeCaretBlink .8s steps(1,end) infinite}.game-text.typewriting,.game-text.manual-character{cursor:pointer}.story-manual-hint{font-size:11px;color:#8796b5;margin-top:10px;-webkit-user-select:none;user-select:none}@keyframes typeCaretBlink{0%,48%{opacity:.75}49%,to{opacity:0}}@keyframes storyReveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}#editorBody>.card>.row:first-child{padding-bottom:9px;margin-bottom:10px;border-bottom:1px solid rgba(90,105,135,.25)}.editor>.empty{border:1px dashed #3a465f;border-radius:14px;background:#141923b8;padding:28px}.card h2,.card h3{margin:0 0 12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}input[type=text],textarea,select{width:100%;background:#11141b;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 11px;outline:none}input[type=text]:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7c9cff1a}textarea{min-height:165px;resize:vertical;line-height:1.62}select option{background:#11141b}.btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:8px 10px;border-radius:9px}.btn:hover{border-color:#536083}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent}.btn.danger{color:#ff9ca7}.btn.ok{color:#8de6bd}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row.end{justify-content:flex-end}.image-box{border:1px dashed #3b455f;border-radius:12px;padding:10px;background:#11141b;min-height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-box img{display:block;max-width:100%;max-height:260px;border-radius:8px}.image-placeholder{color:var(--muted);font-size:13px;text-align:center;padding:22px}.choice-card{border:1px solid var(--line);border-radius:12px;background:#131720;padding:12px;margin-top:10px}.choice-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.choice-num{font-weight:800;color:#dfe5ff}.choice-actions{display:flex;gap:6px}.choice-actions button{border:1px solid var(--line);background:#1e2331;color:var(--text);border-radius:8px;padding:5px 8px}.choice-jump-box{display:grid;gap:9px;margin-top:9px;padding:10px;border:1px solid #303a50;border-radius:10px;background:#111620}.choice-random-toggle{display:flex;align-items:center;gap:8px;margin:0;padding:7px 9px;border:1px solid #354159;border-radius:9px;background:#171d29;color:#e4e9f8;font-size:12px;font-weight:700;cursor:pointer}.choice-random-toggle input{width:auto;margin:0;accent-color:#7c9cff}.choice-random-targets{display:grid;gap:7px}.random-target-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#aeb8ce}.random-target-list{max-height:190px;overflow-y:auto;overflow-x:hidden;border:1px solid #354159;border-radius:9px;background:#0d121a;scrollbar-width:thin}.random-target-row{display:flex;align-items:center;gap:8px;width:100%;margin:0;min-height:36px;padding:8px 9px;border-bottom:1px solid rgba(70,82,110,.35);color:#dce3f5;font-size:12px;cursor:pointer}.random-target-row:last-child{border-bottom:0}.random-target-row:hover{background:#171e2b}.random-target-row input{width:auto;flex:0 0 auto;margin:0;accent-color:#7c9cff}.random-target-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.random-target-tag{margin-left:auto;flex:0 0 auto;font-size:10px;color:#bfcaf0;border:1px solid #46547a;border-radius:999px;padding:2px 6px}.random-target-empty{padding:13px;text-align:center;color:var(--muted);font-size:11px}.logic{margin-top:10px;padding:10px;border-radius:10px;background:#0f1219;border:1px solid #293043}.logic-title{font-size:12px;font-weight:800;color:#cbd5f7;margin-bottom:8px}.logic-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.empty{padding:22px 12px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.preview-shell{max-width:760px;margin:0 auto;background:#0c0f15;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 22px 70px #00000059}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:#141821}.preview-toolbar strong{font-size:13px}.preview-toolbar button{border:1px solid var(--line);background:#1b2030;color:var(--text);padding:7px 9px;border-radius:9px}.game{padding:18px}.game-scene{animation:fade .18s ease}@keyframes fade{0%{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}.game h2{font-size:21px;margin:0 0 12px}.game-text{white-space:pre-wrap;line-height:1.75;color:#e7eafd;margin:12px 0 16px}.game-image{width:100%;max-height:350px;object-fit:contain;border-radius:12px;background:#080a0f;margin-bottom:13px}.choices{display:flex;flex-direction:column;gap:9px;margin-top:16px}.choice-btn{width:100%;text-align:left;border:1px solid #38425d;background:#171d2a;color:#f3f5ff;padding:11px 12px;border-radius:11px;transition:.14s ease}.choice-btn:hover{border-color:var(--accent);transform:translateY(-1px);background:#1c2435}.choice-btn:disabled{opacity:.46;cursor:not-allowed}.inventory{border-top:1px solid var(--line);padding:12px;background:#11151d}.inventory-title{font-size:12px;color:var(--muted);margin-bottom:8px}.inventory-items{display:flex;flex-wrap:wrap;gap:7px}.inventory-chip{font-size:12px;padding:5px 8px;border-radius:999px;background:#263047;border:1px solid #3e4c6e;color:#e8edff;transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease}.inventory-chip.item-change-add{animation:itemGainHighlight .48s ease both;border-color:#7c9cff}.inventory-chip.item-change-remove{animation:itemRemoveHighlight .48s ease both;border-color:#d47b91}@keyframes itemGainHighlight{0%{opacity:.35;transform:scale(.94);box-shadow:0 0 #7c9cff00}45%{opacity:1;transform:scale(1.08);box-shadow:0 0 18px #7c9cff73}to{opacity:1;transform:scale(1);box-shadow:0 0 #7c9cff00}}@keyframes itemRemoveHighlight{0%{opacity:1;transform:scale(1);box-shadow:0 0 #d47b9100}45%{opacity:1;transform:scale(1.08);box-shadow:0 0 18px #d47b9175}to{opacity:.5;transform:scale(.96);box-shadow:0 0 #d47b9100}}.site-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--line);background:#121620;position:relative;z-index:4}.site-nav button{border:1px solid var(--line);background:#1a1f2b;color:var(--text);padding:8px 11px;border-radius:9px}.site-nav button.active{border-color:var(--accent);background:#263252}#navEditorBtn{opacity:.82;max-width:260px;display:inline-flex;align-items:center;gap:4px}#navEditorBtn #currentCreationLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#navEditorBtn.active{opacity:1}.save-work-group{display:inline-flex;align-items:center;gap:7px;padding:4px 6px;border:1px solid #2d3548;border-radius:10px;background:#10151e}.save-work-group #saveCompletedBtn{margin:0}.autosave-toggle,.autosave-interval{display:inline-flex;align-items:center;gap:5px;margin:0;color:#aeb8ce;font-size:11px;white-space:nowrap}.autosave-toggle input{accent-color:#7c9cff}.autosave-interval input{width:54px;background:#0d121a;border:1px solid #343d52;color:#fff;border-radius:7px;padding:5px 6px;text-align:right}.autosave-interval input:disabled{opacity:.45}.site-user{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.site-user strong{color:var(--text)}.portal-view{display:none;min-height:0;overflow:auto;padding:22px;background:#0a0c114d}.portal-view.active{display:block}.portal-inner{max-width:1180px;margin:0 auto}.portal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}.portal-head h2{margin:0 0 6px;font-size:24px}.portal-head p{margin:0;color:var(--muted);line-height:1.6}.portal-actions{display:flex;gap:8px;flex-wrap:wrap}.portal-actions button,.work-card button,.community-card button{border:1px solid var(--line);background:#1b2130;color:var(--text);padding:8px 10px;border-radius:9px}.portal-actions .primary,.work-card .primary,.community-card .primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent}.portal-search{display:flex;gap:8px;margin-bottom:14px}.portal-search input{max-width:420px}.works-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:13px}.work-card,.community-card{border:1px solid var(--line);background:#151a24;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.work-card h3,.community-card h3{margin:0;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-meta{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:11px}.work-desc{font-size:12px;color:#c4cce0;line-height:1.55;min-height:38px}.work-actions{display:flex;gap:6px;flex-wrap:nowrap;align-items:stretch;margin-top:auto}.work-card .work-actions button,.community-card .work-actions button{flex:1 1 0;min-width:0;white-space:nowrap;padding:8px 6px;border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:12px;font-weight:700;line-height:1.2;text-align:center}.work-card .work-actions button:hover,.community-card .work-actions button:hover{border-color:transparent;filter:brightness(1.07)}.community-card .favorite-btn,.community-card .like-btn{flex:1 1 0}.community-card.favorite{border-color:#596a96;box-shadow:0 0 0 1px #7c9cff14,0 10px 28px #00000029}.community-card .favorite-btn.active{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.community-card .like-btn{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:2px;font-size:12px;font-weight:700}.community-card .like-btn.active{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.community-card .like-count{display:inline-block;min-width:1.2em;text-align:right;font-variant-numeric:tabular-nums;transition:font-size .15s ease}.community-card .like-count.compact{font-size:10px}.community-card .like-count.tiny{font-size:9px;letter-spacing:-.35px}.favorite-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;border:1px solid #56688f;background:#26334e;color:#e8edff;font-size:10px}.work-badge{font-size:10px;border:1px solid #41506f;background:#242d42;color:#d9e2ff;padding:3px 7px;border-radius:999px}.work-badge.published{border-color:#35745d;background:#173b30;color:#a9eccf}.portal-empty{border:1px dashed var(--line);border-radius:14px;padding:34px;text-align:center;color:var(--muted)}.player-wrap{max-width:1180px;margin:0 auto}.player-frame-shell{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0d1016;min-height:620px}.player-frame{width:100%;height:760px;border:0;display:block;background:#0d1016}.player-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.player-head h2{margin:0 0 5px;font-size:22px}.player-head p{margin:0;color:var(--muted);font-size:12px}.player-actions{display:flex;gap:8px;flex-wrap:wrap}.player-actions button{border:1px solid var(--line);background:#1b2130;color:var(--text);padding:8px 10px;border-radius:9px}@media(max-width:720px){.player-frame{height:680px}}.auth-overlay{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 20% 0%,rgba(124,156,255,.16),transparent 30%),radial-gradient(circle at 90% 10%,rgba(155,124,255,.13),transparent 27%),#0d1016;display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto}.auth-overlay.hidden{display:none}.auth-shell{width:min(460px,100%);border:1px solid var(--line);background:#151a24;border-radius:18px;padding:22px;box-shadow:0 28px 80px #0000006b}.auth-brand{font-size:21px;font-weight:900;margin-bottom:5px}.auth-sub{color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:17px}.auth-screen{display:none}.auth-screen.active{display:block}.auth-screen h2{font-size:20px;margin:0 0 14px}.auth-field{margin-bottom:11px}.auth-field label{font-size:12px}.auth-field input{width:100%;background:#0f131b;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px}.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.auth-code-row input{min-width:0}.auth-code-btn{height:42px;min-width:104px;border:1px solid #465273;background:#20283a;color:#eef2ff;border-radius:10px;padding:0 11px;font-size:12px;font-weight:700;white-space:nowrap}.auth-code-btn:hover{border-color:#62739f;background:#263149}.auth-code-btn:disabled{opacity:.55;cursor:not-allowed}.auth-code-hint{font-size:11px;color:var(--muted);line-height:1.5;margin-top:6px}.auth-code-hint.demo{color:#cdd7f3}@media(max-width:420px){.auth-code-row{grid-template-columns:1fr}.auth-code-btn{width:100%}}.auth-submit{width:100%;border:0;border-radius:10px;padding:11px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:800}.auth-links{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:13px}.auth-links button{border:0;background:transparent;color:#aebfff;padding:3px;cursor:pointer}.auth-message{min-height:20px;font-size:12px;margin:9px 0;color:#ffb7bf}.auth-message.ok{color:#8de6bd}.auth-note{font-size:11px;color:var(--muted);line-height:1.55;border-top:1px solid var(--line);margin-top:15px;padding-top:12px}.auth-overlay{overflow:hidden;padding:28px}.auth-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.78}.auth-stage{position:relative;z-index:2;width:min(1040px,100%);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,460px);gap:56px;align-items:center}.auth-showcase{padding:22px 10px;color:var(--text);animation:authRise .8s cubic-bezier(.2,.8,.2,1) both}.auth-showcase h1{font-size:clamp(34px,5vw,64px);line-height:1.08;letter-spacing:-1.5px;margin:10px 0 20px;max-width:650px}.auth-showcase p{max-width:610px;color:#c3ccdf;font-size:15px;line-height:1.8}.auth-kicker{font-size:11px;letter-spacing:4px;color:#95a9df;font-weight:800;margin-top:17px}.auth-feature-row{display:flex;gap:14px;flex-wrap:wrap;margin:23px 0;color:#aab7d7;font-size:12px}.auth-showcase blockquote{margin:28px 0 0;padding:16px 18px;border-left:2px solid rgba(124,156,255,.5);background:#12172273;color:#9eabc8;line-height:1.8;font-size:12px;max-width:590px}.auth-sigil{position:relative;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(151,168,213,.38);background:#141924a3;box-shadow:inset 0 0 25px #7c9cff14}.auth-sigil span{font-family:serif;font-size:26px;color:#e7ecff;animation:sigilPulse 3.8s ease-in-out infinite}.auth-sigil i{position:absolute;inset:-7px;border:1px dashed rgba(151,168,213,.25);border-radius:50%;animation:sigilSpin 22s linear infinite}.auth-shell{position:relative;z-index:3;width:100%;background:#151a24e0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:authCardIn .7s .08s cubic-bezier(.2,.8,.2,1) both}.auth-shell:before{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;background:linear-gradient(135deg,rgba(124,156,255,.08),transparent 32%,rgba(155,124,255,.05))}.auth-screen,.auth-brand,.auth-sub,.auth-note{position:relative;z-index:1}.auth-field input{transition:border-color .18s,box-shadow .18s,transform .18s}.auth-field input:focus{border-color:#708bdd;box-shadow:0 0 0 3px #7c9cff1a;transform:translateY(-1px);outline:none}.auth-submit{position:relative;overflow:hidden;transition:transform .18s,filter .18s}.auth-submit:hover{transform:translateY(-1px);filter:brightness(1.07)}.auth-submit:after{content:"";position:absolute;top:-50%;left:-35%;width:28%;height:200%;transform:rotate(24deg);background:#ffffff29;animation:buttonShine 5s ease-in-out infinite}.auth-orb{position:absolute;border-radius:50%;filter:blur(4px);pointer-events:none;opacity:.2}.auth-orb-a{width:220px;height:220px;left:7%;top:12%;background:radial-gradient(circle,rgba(124,156,255,.7),transparent 68%);animation:orbFloatA 11s ease-in-out infinite}.auth-orb-b{width:280px;height:280px;right:5%;bottom:4%;background:radial-gradient(circle,rgba(155,124,255,.6),transparent 68%);animation:orbFloatB 13s ease-in-out infinite}@keyframes authRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes authCardIn{0%{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}@keyframes sigilSpin{to{transform:rotate(360deg)}}@keyframes sigilPulse{0%,to{opacity:.72;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}@keyframes buttonShine{0%,68%{left:-35%}82%,to{left:125%}}@keyframes orbFloatA{0%,to{transform:translate(0) scale(1)}50%{transform:translate(35px,28px) scale(1.08)}}@keyframes orbFloatB{0%,to{transform:translate(0)}50%{transform:translate(-36px,-24px)}}@media(max-width:880px){.auth-overlay{overflow:auto}.auth-stage{grid-template-columns:1fr;gap:18px;max-width:500px}.auth-showcase{padding:8px 4px}.auth-showcase h1{font-size:32px;margin:8px 0 12px}.auth-showcase p,.auth-showcase blockquote{display:none}.auth-sigil{width:52px;height:52px}.auth-feature-row{margin:12px 0 4px}}@media(prefers-reduced-motion:reduce){.auth-showcase,.auth-shell,.auth-sigil span,.auth-sigil i,.auth-submit:after,.auth-orb{animation:none!important}}.auth-overlay{background:radial-gradient(circle at 48% 36%,rgba(100,128,185,.1),transparent 30%),linear-gradient(180deg,#0c1017,#101721 62%,#0b151b);padding:22px}.auth-stage-simple{width:min(440px,100%);display:block;position:relative;z-index:5}.auth-shell-simple{width:100%;padding:24px 25px 22px;background:#121720db;border:1px solid rgba(133,153,194,.26);box-shadow:0 24px 70px #00000061,inset 0 1px #ffffff06;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.auth-shell-simple:before{background:linear-gradient(135deg,rgba(123,151,210,.055),transparent 38%,rgba(90,140,160,.035))}.auth-emblem{width:52px;height:52px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;position:relative;border:1px solid rgba(153,173,214,.34);background:#0c111994;box-shadow:0 0 35px #6989c912;animation:authEmblemFloat 5s ease-in-out infinite}.auth-emblem:after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px dashed rgba(164,182,220,.13);animation:authEmblemTurn 24s linear infinite}.auth-emblem span{font-family:serif;font-size:22px;color:#e5ebfa}.auth-brand{text-align:center;font-size:23px;letter-spacing:3px;margin:0 0 22px}.auth-screen h2{font-size:17px;text-align:center;font-weight:700;color:#cbd5e9;margin-bottom:15px}.auth-particles{opacity:.9}.auth-wind{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.auth-wind i{position:absolute;left:-28%;height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(188,207,238,.28),rgba(188,207,238,.05),transparent);filter:blur(.15px);animation:windDrift linear infinite}.auth-wind i:nth-child(1){top:18%;width:250px;animation-duration:13s;animation-delay:-4s}.auth-wind i:nth-child(2){top:31%;width:330px;animation-duration:17s;animation-delay:-10s;opacity:.65}.auth-wind i:nth-child(3){top:48%;width:190px;animation-duration:11s;animation-delay:-7s;opacity:.5}.auth-wind i:nth-child(4){top:13%;width:150px;animation-duration:20s;animation-delay:-2s;opacity:.42}.auth-wind i:nth-child(5){top:57%;width:290px;animation-duration:15s;animation-delay:-12s;opacity:.38}.auth-water{position:absolute;left:-5%;right:-5%;bottom:-12px;height:34%;overflow:hidden;pointer-events:none;z-index:1;opacity:.48}.auth-water:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(43,90,112,.08) 34%,rgba(24,74,94,.16))}.auth-water span{position:absolute;left:-20%;width:140%;height:46px;border-radius:50%;border-top:1px solid rgba(114,179,199,.18);animation:waterFlow 8s ease-in-out infinite alternate}.auth-water span:nth-child(1){top:22%;animation-duration:8s}.auth-water span:nth-child(2){top:48%;opacity:.65;animation-duration:11s;animation-delay:-3s}.auth-water span:nth-child(3){top:70%;opacity:.42;animation-duration:14s;animation-delay:-7s}@keyframes windDrift{0%{transform:translate(0) translateY(0) scaleX(.75);opacity:0}12%{opacity:.7}60%{transform:translate(92vw) translateY(-14px) scaleX(1);opacity:.5}to{transform:translate(145vw) translateY(4px) scaleX(.85);opacity:0}}@keyframes waterFlow{0%{transform:translate(-3%) translateY(0) scaleY(.92)}to{transform:translate(3%) translateY(-8px) scaleY(1.08)}}@keyframes authEmblemFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes authEmblemTurn{to{transform:rotate(360deg)}}@media(max-width:600px){.auth-shell-simple{padding:21px 18px}.auth-water{height:28%}}@media(prefers-reduced-motion:reduce){.auth-wind i,.auth-water span,.auth-emblem,.auth-emblem:after{animation:none!important}}.profile-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:#151a24;margin-bottom:16px}.profile-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#29324a;font-weight:900;font-size:18px}@media(max-width:720px){.site-user{width:100%;margin-left:0;justify-content:space-between}.portal-view{padding:15px}.profile-card{grid-template-columns:1fr}}.account-modal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px;background:#05080db8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.account-modal.hidden{display:none}.account-modal-card{width:min(430px,100%);border:1px solid #364158;background:#151b25;border-radius:16px;padding:18px;box-shadow:0 28px 80px #0000006b}.account-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.account-modal-head h2{margin:0 0 4px;font-size:20px}.account-modal-head>button{border:1px solid #343e52;background:#1a2130;color:#dfe6f7;border-radius:8px;width:32px;height:32px;padding:0;font-size:20px}.account-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.account-modal-actions button{border:1px solid #364158;background:#1b2230;color:#eef2ff;border-radius:9px;padding:8px 12px}.account-modal-actions .primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent}.toast{position:fixed;right:18px;bottom:18px;z-index:20;max-width:380px;background:#202638;border:1px solid #465273;color:#fff;border-radius:12px;padding:10px 12px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s ease}.toast.show{opacity:1;transform:none}.item-editor{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#11141b;margin-bottom:8px}.item-editor .row{justify-content:space-between}.stat-panel{display:grid;gap:9px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#11141b}.stat-switch{display:flex;align-items:center;gap:8px;color:var(--text);font-size:13px}.media-panel{display:grid;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#11141b}.media-subsection{border:1px solid var(--line);background:#0f131b;border-radius:10px;padding:9px}.media-subsection h4{margin:0 0 8px;font-size:12px;color:#dbe3ff}.media-file-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.media-file-name{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.audio-preview{width:100%;margin-top:8px}.audio-mode-row{display:grid;grid-template-columns:1fr;gap:7px;margin-top:8px}.audio-status{font-size:11px;color:var(--muted);line-height:1.45}.media-thumb{border:1px dashed #3b455f;border-radius:10px;padding:8px;background:#0d1118;min-height:86px;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-thumb img{display:block;max-width:100%;max-height:180px;border-radius:8px}.media-empty{font-size:12px;color:var(--muted);text-align:center;padding:18px}.stat-switch input{accent-color:var(--accent)}.stats-list{display:grid;gap:9px}.stat-editor{border:1px solid var(--line);border-radius:10px;background:#0f131b;padding:9px}.stat-editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.stat-editor-title{font-size:12px;font-weight:800;color:#dbe3ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr .8fr;gap:8px}.stat-preview{padding:9px;border:1px solid var(--line);border-radius:10px;background:#10141d;margin-top:8px}.stat-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:7px}.stat-track{height:9px;border-radius:999px;background:#252c3b;overflow:hidden}.stat-fill{height:100%;width:100%;background:linear-gradient(90deg,var(--accent2),var(--accent))}.game-stats{display:grid;gap:9px;border-bottom:1px solid var(--line);padding:10px 12px;background:#121722}.game-stat-row{min-width:0}.game-stat-head{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:6px}.game-stat-track{height:8px;background:#293044;border-radius:999px;overflow:hidden}.game-stat-fill{height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));transition:width .72s cubic-bezier(.22,.75,.25,1)}.game-stat-row.stat-change-up .game-stat-head strong{animation:statValueGain .72s ease}.game-stat-row.stat-change-down .game-stat-head strong{animation:statValueLoss .72s ease}@keyframes statValueGain{0%{transform:scale(1);text-shadow:none}45%{transform:scale(1.12);text-shadow:0 0 12px rgba(124,156,255,.55)}to{transform:scale(1);text-shadow:none}}@keyframes statValueLoss{0%{transform:scale(1);opacity:1}45%{transform:scale(.94);opacity:.65}to{transform:scale(1);opacity:1}}.choice-stat-effect{font-size:11px;color:#b8c4e8;margin-top:5px;display:block}.multi-rule-box{margin-top:10px;padding:10px;border-radius:10px;background:#0d1118;border:1px solid #273044}.multi-rule-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:800;color:#cbd5f7;margin-bottom:8px}.multi-rule-title button{border:1px solid var(--line);background:#1d2330;color:var(--text);border-radius:8px;padding:5px 8px}.rule-row{display:grid;grid-template-columns:minmax(120px,1fr) 90px minmax(90px,.7fr) auto;gap:7px;align-items:end;margin-top:7px}.effect-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(100px,.7fr) auto;gap:7px;align-items:end;margin-top:7px}.rule-row button,.effect-row button{border:1px solid var(--line);background:#1d2330;color:#ff9ca7;border-radius:8px;padding:9px 10px}.rule-empty{font-size:12px;color:var(--muted);padding:7px 0}.entry-rule-card{border:1px solid var(--line);border-radius:12px;background:#10141c;padding:10px;margin-top:9px}.entry-rule-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.entry-rule-head strong{font-size:12px}.entry-rule-actions{display:flex;gap:6px}.entry-rule-actions button{border:1px solid var(--line);background:#1d2330;color:var(--text);border-radius:8px;padding:5px 8px}.entry-rule-actions .danger{color:#ff9ca7}.entry-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.entry-target{margin-top:9px;padding-top:9px;border-top:1px solid #283044}.hint{font-size:12px;color:var(--muted);line-height:1.5}.pill{display:inline-block;font-size:11px;border:1px solid #3c4662;background:#202638;color:#cdd6f8;padding:3px 7px;border-radius:999px;margin-right:4px}.flow-overlay{position:fixed;inset:0;z-index:40;background:#080a0ff5;display:none;grid-template-rows:auto 1fr;min-width:0}.flow-overlay.open{display:grid}.flow-topbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line);background:#121620}.flow-topbar strong{margin-right:4px}.flow-topbar button{border:1px solid var(--line);background:#1b2030;color:var(--text);border-radius:9px;padding:8px 10px}.flow-topbar button:hover{border-color:#526080}.flow-topbar button.active{border-color:var(--accent);background:#263252;color:#fff}.flow-topbar .flow-close{margin-left:auto}.flow-tip{font-size:12px;color:var(--muted);min-width:180px}.flow-viewport{position:relative;overflow:auto;min-width:0;min-height:0;background-color:#0b0e14;background-image:linear-gradient(rgba(110,125,160,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(110,125,160,.08) 1px,transparent 1px),linear-gradient(rgba(110,125,160,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(110,125,160,.035) 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px}.flow-stage{position:relative;width:2400px;height:1600px;transform-origin:0 0}.flow-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.flow-edge{fill:none;stroke:#55617d;stroke-width:2.2}.flow-edge.special{stroke:#8e7bd8;stroke-dasharray:7 5}.flow-edge.entry-redirect{stroke:#d4a85f;stroke-dasharray:3 5;stroke-width:2.4}.flow-edge-hit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:pointer}.flow-edge-label{position:absolute;transform:translate(-50%,-50%);max-width:180px;padding:3px 7px;border-radius:999px;background:#151a24;border:1px solid #343d55;color:#bfc7dc;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.flow-node{position:absolute;width:210px;min-height:94px;border:1px solid #3a435c;background:#171c27;color:var(--text);border-radius:13px;box-shadow:0 12px 30px #00000047;-webkit-user-select:none;user-select:none;touch-action:none}.flow-node:hover{border-color:#596784}.flow-node.selected{border-color:var(--accent);box-shadow:0 0 0 3px #7c9cff21,0 12px 30px #00000047}.flow-node.connect-source{border-color:var(--warn);box-shadow:0 0 0 3px #f6c85f1f}.flow-node-head{display:flex;align-items:center;gap:7px;padding:9px 10px;border-bottom:1px solid #2c3346;cursor:grab}.flow-node-head:active{cursor:grabbing}.flow-node-title{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.flow-node-body{padding:9px 10px;color:var(--muted);font-size:12px;line-height:1.45}.flow-node-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.flow-node .node-open{width:100%;border:0;border-top:1px solid #2c3346;background:#1d2330;color:#cfd7ee;padding:7px 9px;border-radius:0 0 12px 12px;text-align:left}.flow-node .node-open:hover{background:#232b3b}.flow-start{font-size:11px;color:#ffe69c}.flow-badge{font-size:10px;border:1px solid #3b4661;background:#202638;padding:2px 6px;border-radius:999px}.flow-empty{position:absolute;left:40px;top:40px;color:var(--muted);border:1px dashed var(--line);border-radius:12px;padding:18px}.flow-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted)}.flow-line-key{display:inline-block;width:24px;border-top:2px solid #55617d;vertical-align:middle}.flow-line-key.special{border-top-color:#8e7bd8;border-top-style:dashed}@media(max-width:1100px){.workspace{grid-template-columns:250px minmax(500px,1fr) 260px}.node-media-grid{grid-template-columns:1fr}}@media(max-width:720px){.workspace{display:block}.sidebar,.editor,.preview,.asset-sidebar{border:0;border-bottom:1px solid var(--line)}.grid2,.logic-grid,.stat-grid,.entry-rule-grid{grid-template-columns:1fr}.status{width:100%;margin-left:0}}
