:root{color-scheme:light;--ink: #1c2b3a;--ink-soft: #3d4c5e;--muted: #66788c;--line: rgba(28, 49, 78, .1);--line-strong: rgba(28, 49, 78, .17);--bg: #ffffff;--bg-soft: rgba(255, 255, 255, .55);--bg-tint: rgba(111, 159, 220, .1);--glass: rgba(255, 255, 255, .5);--glass-strong: rgba(255, 255, 255, .74);--glass-border: rgba(255, 255, 255, .7);--glass-blur: saturate(160%) blur(18px);--panel-glass: linear-gradient(180deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .3));--accent: #2f6bff;--accent-dark: #1e4fd8;--accent-tint: rgba(47, 107, 255, .12);--accent-glow: rgba(47, 107, 255, .42);--sky: #b9d8f5;--lime: var(--sky);--sun: #ffd21e;--sun-strong: #f5b301;--sun-ink: #6b4e00;--sun-on: #4a3600;--sun-tint: rgba(255, 210, 30, .18);--sun-line: rgba(245, 179, 1, .55);--mint: #11b886;--mint-ink: #0a6e51;--mint-tint: rgba(17, 184, 134, .14);--mint-line: rgba(17, 184, 134, .45);--rail-bg: rgba(18, 30, 47, .72);--danger: #a04038;--danger-strong: #c0392b;--danger-bg: #fdf0ef;--danger-bg-strong: #fdecec;--danger-line: #f2d4d1;--warn: #8a6d1a;--warn-deep: #8a5a1a;--warn-bg: #fdf3e0;--warn-bg-soft: #fdf6e0;--warn-line: #f0e2b2;--violet: #6b4ea8;--violet-bg: #f3effc;--violet-line: #ddd0f5;--fx-a: 47, 107, 255;--fx-b: 255, 210, 30;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Space Grotesk", "Inter", sans-serif;--font-serif: var(--font-display);--rail-w: 60px;--panel-w: 208px;--tabbar-h: 56px;--radius: 0;--radius-sm: 0;--radius-lg: 0;--outline: rgba(28, 43, 58, .3);--edge: #1c2b3a;--shadow-pop: 3px 3px 0 var(--edge);--shadow-pop-raised: 4px 4px 0 var(--edge);--shadow-pop-pressed: 1px 1px 0 var(--edge);--shadow: 4px 4px 0 rgba(28, 43, 58, .16);--shadow-glass: 5px 5px 0 rgba(28, 43, 58, .12)}:root[data-theme=dark]{color-scheme:dark;--ink: #e9eef6;--ink-soft: #c6d1e0;--muted: #8da0b8;--line: rgba(158, 186, 222, .14);--line-strong: rgba(158, 186, 222, .24);--bg: #101b2c;--bg-soft: rgba(255, 255, 255, .09);--bg-tint: rgba(111, 159, 220, .16);--glass: rgba(17, 28, 44, .55);--glass-strong: rgba(22, 35, 54, .78);--glass-border: rgba(255, 255, 255, .09);--panel-glass: linear-gradient(180deg, rgba(22, 35, 54, .6), rgba(14, 24, 39, .38));--accent: #4c82ff;--accent-dark: #8fb4ff;--accent-tint: rgba(76, 130, 255, .24);--accent-glow: rgba(76, 130, 255, .4);--sun: #ffd84d;--sun-strong: #ffc21e;--sun-ink: #ffe08a;--sun-tint: rgba(255, 210, 30, .16);--sun-line: rgba(255, 200, 40, .4);--mint: #2fd39c;--mint-ink: #7ff0cc;--mint-tint: rgba(47, 211, 156, .18);--mint-line: rgba(47, 211, 156, .4);--rail-bg: rgba(9, 16, 27, .8);--danger: #f0938a;--danger-strong: #f2a59d;--danger-bg: rgba(192, 57, 43, .16);--danger-bg-strong: rgba(192, 57, 43, .24);--danger-line: rgba(230, 112, 100, .35);--warn: #e4c36a;--warn-deep: #e0b25c;--warn-bg: rgba(196, 148, 42, .16);--warn-bg-soft: rgba(196, 148, 42, .12);--warn-line: rgba(214, 170, 70, .35);--violet: #b39df0;--violet-bg: rgba(124, 92, 255, .18);--violet-line: rgba(160, 130, 245, .35);--fx-a: 76, 130, 255;--fx-b: 255, 210, 30;--outline: rgba(158, 186, 222, .28);--edge: rgba(126, 166, 224, .6);--shadow: 4px 4px 0 rgba(126, 166, 224, .32);--shadow-glass: 5px 5px 0 rgba(126, 166, 224, .28)}*,*:before,*:after{box-sizing:border-box}html{font-size:14px}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--ink);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;background-color:#fff;background-image:linear-gradient(rgba(28,49,78,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(28,49,78,.045) 1px,transparent 1px),radial-gradient(1000px 620px at 88% -10%,rgba(255,210,30,.16),transparent 60%),radial-gradient(820px 520px at -10% 110%,rgba(47,107,255,.14),transparent 55%);background-size:26px 26px,26px 26px,100% 100%,100% 100%;background-attachment:fixed}:root[data-theme=dark] body{background-color:#0b1420;background-image:linear-gradient(rgba(158,186,222,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(158,186,222,.05) 1px,transparent 1px),radial-gradient(1000px 620px at 88% -10%,rgba(111,159,220,.14),transparent 60%),radial-gradient(820px 520px at -10% 110%,rgba(62,108,174,.18),transparent 55%)}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;color:var(--ink);margin:0 0 .5em}a{color:var(--accent-dark);text-decoration:none}.shell{display:flex;min-height:100vh;position:relative;z-index:1}.bg-fx{position:fixed;inset:0;z-index:0;pointer-events:none;width:100%;height:100%}.rail{width:var(--rail-w);flex-shrink:0;background:var(--rail-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;padding:.9rem 0;position:sticky;top:0;height:100vh}.rail-logo{width:36px;height:36px;border-radius:0;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.05rem;margin-bottom:1.4rem;border:2px solid rgba(255,255,255,.25);box-shadow:3px 3px #7ea6e066}.rail-items{display:flex;flex-direction:column;gap:.4rem;flex:1}.rail-item{width:100%;display:flex;flex-direction:column;align-items:center;gap:.32rem;color:#ffffff8c;font-size:.6rem;font-weight:500;letter-spacing:.01em;text-align:center}.rail-ico{width:42px;height:42px;border-radius:0;display:grid;place-items:center;color:#ffffffb3;background:transparent;transition:background .16s ease,box-shadow .2s ease,color .16s ease}.rail-ico svg{width:20px;height:20px}.rail-label{line-height:1;transition:color .16s ease}.rail-item:hover .rail-ico{color:#fff;background:#ffffff0f;box-shadow:0 0 16px 2px #ffffff1a}.rail-item:hover{color:#ffffffd1}.rail-item.active .rail-ico{color:#fff;background:#ffffff29;box-shadow:0 0 18px var(--accent-glow),inset 0 1px #ffffff38}.rail-item.active{color:#fff}.rail-user{width:38px;height:38px;border-radius:0;background:#ffffff24;color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:600}.theme-toggle{position:fixed;right:1rem;bottom:1rem;z-index:50;width:36px;height:36px;border-radius:0;border:2px solid var(--outline);background:var(--bg);color:var(--muted);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-pop);transition:transform .1s ease,box-shadow .1s ease}.theme-toggle:hover{color:var(--accent-dark);transform:translate(-1px,-1px);box-shadow:var(--shadow-pop-raised)}.theme-toggle:active{transform:translate(2px,2px);box-shadow:var(--shadow-pop-pressed)}.theme-toggle .theme-ico-sun,.theme-toggle .theme-ico-moon{display:none;line-height:0}:root[data-theme=dark] .theme-toggle .theme-ico-sun{display:block}:root:not([data-theme=dark]) .theme-toggle .theme-ico-moon{display:block}.subpanel{width:var(--panel-w);flex-shrink:0;background:var(--panel-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-border),8px 0 24px #18263a0d;padding:1rem .8rem;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.subpanel>*{min-width:calc(var(--panel-w) - 1.6rem)}.shell.collapsed .subpanel{width:0;padding-left:0;padding-right:0;border-right-width:0;overflow:hidden}.shell.anim .subpanel{transition:width .5s cubic-bezier(.61,1,.88,1),padding .5s cubic-bezier(.61,1,.88,1),border-right-width .5s cubic-bezier(.61,1,.88,1)}.shell.anim.collapsed .subpanel{transition:width .5s cubic-bezier(.12,0,.39,0),padding .5s cubic-bezier(.12,0,.39,0),border-right-width .5s cubic-bezier(.12,0,.39,0)}@media(prefers-reduced-motion:reduce){.shell.anim .subpanel,.shell.anim.collapsed .subpanel{transition:none}}.subpanel-head{display:flex;align-items:center;gap:.5rem;margin:.2rem .35rem 1rem}.subpanel-title{font-family:var(--font-serif);font-size:1.15rem;font-weight:600;display:flex;align-items:center;gap:.55rem}.subpanel-title svg{width:18px;height:18px}.subpanel-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.subpanel-menu a{display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem;border-radius:0;color:var(--ink-soft);font-weight:500;font-size:.92rem}.subpanel-menu a:hover{background:var(--bg-tint)}.subpanel-menu a.active{background:var(--accent-tint);color:var(--accent-dark);font-weight:600;box-shadow:inset 3px 0 0 var(--sun)}.pane-toggle{position:fixed;z-index:50;left:calc(var(--rail-w) + .8rem);bottom:1rem;width:36px;height:36px;border-radius:0;display:grid;place-items:center;cursor:pointer;border:2px solid var(--outline);background:var(--bg);color:var(--muted);box-shadow:var(--shadow-pop)}.pane-toggle.anim{transition:left .5s cubic-bezier(.61,1,.88,1),bottom .5s cubic-bezier(.12,0,.39,0),background .4s ease,border-color .4s ease,color .4s ease}.shell.collapsed~.pane-toggle.anim{transition:left .5s cubic-bezier(.12,0,.39,0),bottom .5s cubic-bezier(.61,1,.88,1),background .4s ease,border-color .4s ease,color .4s ease}.pane-toggle.anim svg{transition:transform .55s cubic-bezier(.65,0,.35,1)}.pane-toggle:hover{color:var(--accent);border-color:var(--accent)}.shell.collapsed~.pane-toggle{left:calc((var(--rail-w) - 36px) / 2);bottom:calc(1.6rem + 38px);border-color:#ffffff40;background:#ffffff14;color:#ffffffd1;box-shadow:3px 3px #7ea6e066}.shell.collapsed~.pane-toggle:hover{background:#ffffff29;color:#fff}.shell.collapsed~.pane-toggle svg{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.pane-toggle.anim,.pane-toggle.anim svg{transition:none}}.main{flex:1;min-width:0;padding:1.6rem 2rem 3rem}.main-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}.main-head h1{font-size:1.6rem;margin:0}.controls{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}select,.control{font:inherit;font-size:.9rem;padding:.45rem 2.1rem .45rem .85rem;border:2px solid var(--outline);border-radius:var(--radius-sm);background-color:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--ink);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7a73' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;cursor:pointer}select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.dd{position:relative;display:inline-block}.dd select{display:none}.dd-btn{font:inherit;font-size:.9rem;padding:.45rem 2.1rem .45rem .85rem;border:2px solid var(--outline);border-radius:var(--radius-sm);background-color:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--ink);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7a73' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;min-width:120px;text-align:left}.dd.open .dd-btn,.dd-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.dd-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:100%;background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:2px solid var(--outline);border-radius:0;box-shadow:var(--shadow-glass);padding:5px;z-index:60;max-height:280px;overflow-y:auto;white-space:nowrap}.dd.open .dd-menu{display:block}.dd-item{display:block;width:100%;text-align:left;padding:.5rem .75rem;border:0;background:none;border-radius:0;font:inherit;font-size:.9rem;color:var(--ink);cursor:pointer}.dd-item:hover{background:var(--bg-tint)}.dd-item.selected{background:var(--accent-tint);color:var(--accent-dark);font-weight:600}.chipfield{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;border:1.5px solid var(--outline);background:var(--bg);padding:.45rem .55rem;cursor:text}.chipfield:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.chipfield .chip{display:inline-flex;align-items:center;gap:.35rem;border:1.5px solid var(--outline);border-radius:999px;padding:.15rem .3rem .15rem .65rem;font-size:.82rem;font-weight:600;background:var(--glass);white-space:nowrap}.chipfield .chip-x{border:0;background:none;cursor:pointer;font-size:.75em;line-height:1;padding:.15rem;color:var(--muted)}.chipfield .chip-x:hover{color:var(--ink)}.chipfield .chip-in{border:0!important;outline:none!important;background:none!important;box-shadow:none!important;flex:1 0 100%;width:auto!important;font:inherit;font-size:.85rem;color:inherit;padding:.15rem 0!important}.card.rep-controls{position:relative;z-index:10}.chipfield .chip-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;display:flex;flex-direction:column;background:var(--bg);border:1.5px solid var(--outline);box-shadow:var(--shadow-pop);z-index:40}.chipfield .chip-suggest[hidden]{display:none}.chipfield .chip-opt{border:0;background:none;text-align:left;padding:.45rem .85rem;font:inherit;font-size:.85rem;color:inherit;cursor:pointer;white-space:nowrap}.chipfield .chip-opt:hover,.chipfield .chip-opt.active{background:var(--accent-tint)}.chipfield .chip-opt-note{color:var(--muted)}.tl-controls .tl-status{font-size:.8rem}.tl-custom{display:inline-flex;align-items:center;gap:.4rem}.tl-custom[hidden]{display:none}.tl-custom input[type=date]{width:150px;padding:.4rem .6rem!important;font-size:.85rem!important}.tl-custom .tl-apply{width:auto;padding:.45rem .9rem}.drp .drp-btn{white-space:nowrap}.drp .drp-menu{left:auto;right:0;width:304px;padding:.7rem .8rem .8rem;max-height:none;overflow:visible;white-space:normal}.drp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.drp-month{font-weight:700;font-size:.9rem}.drp-nav{border:1.5px solid var(--outline);background:var(--glass);color:var(--ink);font:inherit;font-size:1rem;line-height:1;width:28px;height:28px;cursor:pointer}.drp-nav:hover{background:var(--bg-tint)}.drp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.drp-dow{text-align:center;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.2rem 0 .35rem}.drp-pad{height:34px}.drp-day{height:34px;border:1.5px solid transparent;background:none;color:var(--ink);font:inherit;font-size:.85rem;cursor:pointer;border-radius:0}.drp-day:hover:not(:disabled){background:var(--bg-tint)}.drp-day.today{border-color:var(--outline)}.drp-day.mid{background:var(--accent-tint)}.drp-day.start,.drp-day.end{background:var(--accent);color:#fff;font-weight:700}.drp-day.future,.drp-day:disabled{color:var(--muted);opacity:.45;cursor:default}.drp-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--outline);font-size:.8rem}.drp-foot .btn{width:auto;padding:.4rem .9rem}.tzp .tzp-btn{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tzp .tzp-menu{left:auto;right:0;width:300px;padding:0;display:none;max-height:none;overflow:hidden}.tzp.open .tzp-menu{display:flex;flex-direction:column}.tzp .tzp-search{width:100%;box-sizing:border-box;border:0!important;border-bottom:2px solid var(--outline)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:.6rem .85rem!important;font:inherit;font-size:.9rem;color:var(--ink);outline:none!important}.tzp .tzp-list{max-height:280px;overflow-y:auto;padding:5px}.tzp .dd-item.active{background:var(--bg-tint)}.tzp .dd-item.selected{background:var(--accent-tint)}.tzp .tzp-empty{padding:.6rem .85rem;color:var(--muted);font-size:.9rem}.lgp{display:block}.lgp .lgp-btn{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lgp .lgp-menu{left:0;right:auto;width:min(340px,100%);padding:0;display:none;max-height:none;overflow:hidden}.lgp.open .lgp-menu{display:flex;flex-direction:column}.lgp .lgp-search{width:100%;box-sizing:border-box;border:0!important;border-bottom:2px solid var(--outline)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:.6rem .85rem!important;font:inherit;font-size:.9rem;color:var(--ink);outline:none!important}.lgp .lgp-list{max-height:260px;overflow-y:auto;padding:5px}.lgp .dd-item.active{background:var(--bg-tint)}.lgp .dd-item.selected{background:var(--accent-tint)}.lgp .lgp-empty{padding:.6rem .85rem;color:var(--muted);font-size:.9rem}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.6rem}.tile{position:relative;background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:2px solid var(--outline);border-radius:var(--radius);box-shadow:var(--shadow-glass);padding:1.05rem 1.2rem}.tile .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--muted);margin-bottom:.35rem}.tile .value{font-family:var(--font-serif);font-size:2rem;font-weight:600;line-height:1.1}.tile .sub{font-size:.82rem;color:var(--muted);margin-top:.3rem}.tile .sub strong{color:var(--accent-dark)}.card{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:2px solid var(--outline);border-radius:var(--radius);box-shadow:var(--shadow-glass);padding:1.15rem 1.3rem;margin-bottom:1.2rem}.card h2{font-size:1.15rem;margin-bottom:.9rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;padding:.5rem .75rem;border-bottom:1px solid var(--line)}td{padding:.55rem .75rem;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.empty{color:var(--muted);padding:1.5rem 0;text-align:center}.badge{display:inline-block;padding:.15rem .6rem;border-radius:0;background:var(--accent-tint);color:var(--accent-dark);border:1px solid currentColor;font-size:.78rem;font-weight:600}.notice{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:2px solid var(--outline);border-radius:var(--radius);box-shadow:var(--shadow-glass);padding:1.15rem 1.35rem;margin-bottom:1.2rem}.notice code{background:var(--glass-strong);border:1px solid var(--line-strong);border-radius:0;padding:.1rem .4rem;font-size:.85em}.notice-ok{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-dark)}.section-intro{color:var(--muted);max-width:720px;margin:0 0 1.4rem}.ptype-card{margin-bottom:1rem}.ptype-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ptype-card-head h2{margin:0 0 .2rem;display:flex;align-items:center;gap:.6rem}.ptype-card-hint{margin:0;color:var(--muted);font-size:.9rem}.type-badge--muted{background:var(--bg-soft);color:var(--muted)}.studio{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,1.2fr);gap:1.2rem;align-items:start}@media(max-width:900px){.studio{grid-template-columns:1fr}}.studio-h{margin:0 0 .3rem;font-size:1.05rem}.studio-sub{color:var(--muted);font-size:.85rem;margin:.6rem 0 .4rem}.schema-list{margin:.2rem 0 .4rem;padding-left:1.1rem;font-size:.85rem}.schema-list li{margin-bottom:.25rem}.schema-list--sys{color:var(--muted)}.chat-log{display:flex;flex-direction:column;gap:.5rem;max-height:240px;overflow-y:auto;margin:.6rem 0}.chat-log:empty{display:none}.chat-msg{padding:.5rem .75rem;border-radius:0;font-size:.85rem;max-width:90%}.chat-msg--user{align-self:flex-end;background:var(--accent);color:#fff}.chat-msg--bot{align-self:flex-start;background:var(--bg-tint);color:var(--ink)}.chat-form{display:flex;gap:.5rem;margin-bottom:1rem}.chat-form input{flex:1}.composer{display:flex;align-items:flex-end;gap:.5rem;border:2px solid var(--outline);border-radius:0;background:var(--bg);padding:.5rem .5rem .5rem .95rem;transition:border-color .15s ease,box-shadow .15s ease}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.composer-input{flex:1;border:0;outline:0;resize:none;background:transparent;font:inherit;font-size:.95rem;line-height:1.5;color:var(--ink);padding:.4rem 0;max-height:200px;overflow-y:auto}.composer-send{flex-shrink:0;width:36px;height:36px;border:2px solid var(--outline);border-radius:0;background:var(--accent);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:2px 2px 0 var(--edge);transition:background .15s ease,opacity .15s ease,transform .1s ease,box-shadow .1s ease}.composer-send:hover{filter:brightness(1.05)}.composer-send:active{transform:translate(2px,2px);box-shadow:none}.composer-send:disabled{opacity:.45;cursor:default}.studio-actions{display:flex;gap:.5rem;border-top:1px solid var(--line);padding-top:1rem}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.6rem}.preview-theme{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--muted)}.preview-devices{display:flex;gap:.4rem}.device-btn{width:32px;height:32px;border-radius:0;border:2px solid var(--outline);background:var(--bg);color:var(--muted);display:grid;place-items:center;cursor:pointer;box-shadow:2px 2px 0 var(--edge)}.device-btn:hover{color:var(--accent-dark)}.device-btn.active{background:var(--accent);color:#fff;box-shadow:none;transform:translate(2px,2px)}.preview-frame{border:2px solid var(--outline);border-radius:var(--radius);box-shadow:var(--shadow-glass);overflow:hidden;background:#fff;position:sticky;top:1rem}.preview-frame.mobile{background:var(--bg-tint);display:flex;justify-content:center;padding:1.2rem 0}.preview-frame.mobile iframe{width:375px!important;max-width:92%;border:1px solid var(--line-strong);border-radius:0;box-shadow:var(--shadow);background:#fff}.preview-frame iframe{width:100%;height:78vh;border:0;display:block}.controls .btn,.chat-form .btn,.modal-actions .btn{width:auto}.studio-stack{display:flex;flex-direction:column;gap:1.2rem}.studio-stack .preview-frame{position:static}.studio-stack .preview-frame iframe{height:72vh}.studio-chat{display:flex;flex-direction:column}.studio-chat .chat-log{flex:1;min-height:130px;max-height:42vh;overflow-y:auto}.chat-apply{display:block;margin-top:.6rem}.chat-apply .btn{width:auto;padding:.4rem .95rem;font-size:.85rem}.chat-apply .applied{color:var(--accent-dark);font-weight:600;font-size:.85rem}.modal-overlay{position:fixed;inset:0;background:#0c142294;backdrop-filter:blur(7px) saturate(115%);-webkit-backdrop-filter:blur(7px) saturate(115%);display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;z-index:100;overflow-y:auto}.modal-overlay[hidden]{display:none}.modal{background:var(--bg);border:2px solid var(--outline);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);width:100%;max-width:760px;padding:1.5rem 1.7rem 1.7rem}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0}.modal-x{border:0;background:none;font-size:1.1rem;cursor:pointer;color:var(--muted);line-height:1}.modal-intro{color:var(--muted);font-size:.88rem;margin:.4rem 0 1rem}.modal-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.5}.muted{color:var(--muted)}.click-table tr[data-href]{cursor:pointer}.click-table tbody tr[data-href]:hover{background:var(--bg-tint)}.repo-cell{background:var(--bg-soft);border:1px solid var(--line);border-radius:0;padding:.1rem .5rem;font-size:.82rem}.field-hint{margin:.45rem 0 0;font-size:.82rem;color:var(--muted)}.field-hint code{background:var(--bg-tint);border-radius:0;padding:.05rem .35rem;font-size:.9em}.link-list{margin:.4rem 0 0;padding-left:1.1rem}.link-list li{margin-bottom:.3rem}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(120% 120% at 0% 0%,var(--accent-tint) 0%,transparent 55%),var(--bg-soft);padding:1.5rem}.login-card{width:100%;max-width:380px;background:var(--bg);border:2px solid var(--outline);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem}.login-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-serif);font-weight:600;font-size:1.2rem;margin-bottom:1.4rem}.login-brand .mark{width:32px;height:32px;border-radius:0;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--font-sans);font-weight:800;font-size:.95rem}.field{margin-bottom:1rem}.field label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.35rem}.field input{width:100%;font:inherit;padding:.65rem .8rem;border:2px solid var(--outline);border-radius:var(--radius-sm)}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.field textarea{width:100%;font:inherit;padding:.65rem .8rem;border:2px solid var(--outline);border-radius:var(--radius-sm);resize:vertical}.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.field textarea.mono{min-height:340px;line-height:1.55;white-space:pre;overflow-wrap:normal;overflow-x:auto}input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]),textarea{font:inherit;padding:.5rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--glass-strong);color:var(--ink)}input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]):focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;gap:.5rem;font:inherit;font-weight:700;padding:.6rem 1.15rem;border-radius:0;border:2px solid var(--outline);background:var(--accent);color:#fff;cursor:pointer;box-shadow:var(--shadow-pop);transition:transform .1s ease,box-shadow .1s ease,filter .15s ease}.btn:hover{filter:brightness(1.05);transform:translate(-1px,-1px);box-shadow:var(--shadow-pop-raised)}.btn:active{transform:translate(2px,2px);box-shadow:var(--shadow-pop-pressed)}.error{background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger);border-radius:var(--radius-sm);padding:.6rem .9rem;font-size:.88rem;margin-bottom:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.9rem;padding:2.8rem 1rem;color:var(--muted)}.empty-state .empty-ico{width:64px;height:64px;display:grid;place-items:center;color:var(--accent);background:var(--accent-tint);border:2px solid var(--outline);box-shadow:var(--shadow-pop)}.empty-state .empty-ico.sun{color:var(--sun-ink);background:var(--sun-tint);border-color:var(--sun-line)}.empty-state p{margin:0;max-width:32rem}.tile-ico{position:absolute;top:.85rem;right:.85rem;width:40px;height:40px;display:grid;place-items:center;color:var(--accent);background:var(--accent-tint);border:2px solid var(--outline)}.tile-ico.sun{color:var(--sun-ink);background:var(--sun-tint);border-color:var(--sun-line)}.tile-ico.mint{color:var(--mint-ink);background:var(--mint-tint);border-color:var(--mint-line)}.btn-inline{width:auto;padding:.45rem 1rem;font-size:.9rem}.btn-ghost{width:auto;background:var(--bg);border:2px solid var(--outline);color:var(--ink);padding:.45rem 1rem;font-size:.9rem;box-shadow:var(--shadow-pop)}.btn-ghost:hover{color:var(--accent-dark);background:var(--bg);filter:none}.btn-sun{background:var(--sun);color:var(--sun-on);border-color:var(--sun-line)}.btn-sun:hover{filter:brightness(1.04);background:var(--sun)}.btn-danger{width:auto;background:#cd5c55;color:#fff;border:2px solid var(--outline);padding:.6rem 1.2rem;box-shadow:var(--shadow-pop)}.btn-danger:hover{background:var(--danger-strong);filter:none}:root[data-theme=dark] .btn-danger{background:#cd5c55;color:#fff}:root[data-theme=dark] .btn-danger:hover{background:#d96b64}.flow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;cursor:pointer;user-select:none}.flow-head h2{margin:0 0 .15rem}.flow-title{display:flex;align-items:flex-start;gap:.55rem}.flow-chevron{color:var(--muted);font-size:.8rem;line-height:1.9;transition:transform .2s ease}.flow-card.collapsed .flow-chevron{transform:rotate(-90deg)}.flow-card.collapsed .step-chain,.flow-card.collapsed .entry-chain{display:none}.flow-card.collapsed .flow-head{margin-bottom:0}.flow-actions{display:flex;gap:.5rem;flex-shrink:0}.flow-build[disabled]{opacity:.6;cursor:default}.step-status{display:inline-flex;width:15px;height:15px;flex-shrink:0}.step-status.is-building{border:2px solid var(--line);border-top-color:var(--accent);border-radius:0;animation:step-spin .7s linear infinite}.step-status.is-failed{align-items:center;justify-content:center;border-radius:0;background:var(--danger-bg-strong);cursor:help}.step-status.is-failed:before{content:"!";color:var(--danger-strong);font-size:.72rem;font-weight:800;line-height:1}@keyframes step-spin{to{transform:rotate(360deg)}}.icon-spin{display:inline-block;width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;vertical-align:middle;animation:step-spin .6s linear infinite}.icon-ok{color:var(--mint-ink);font-weight:800}.flow-status{display:inline-block;vertical-align:middle;margin-left:.55rem;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .45rem;border:1px solid var(--outline)}.flow-status.is-draft{color:var(--muted);background:var(--bg-soft)}.flow-status.is-ready{color:var(--sun-ink);background:var(--sun-tint);border-color:var(--sun-line)}.flow-status.is-live{color:var(--mint-ink);background:var(--mint-tint);border-color:var(--mint-line)}.flow-meta{color:var(--muted);font-size:.85rem}.step-chain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.step-node{display:flex;gap:.9rem;padding:.2rem 0 .9rem;position:relative}.step-node:not(:last-child) .step-index:after{content:"";position:absolute;left:13px;top:28px;bottom:-2px;width:2px;background:var(--line)}.step-index{flex-shrink:0;width:28px;height:28px;border-radius:0;background:var(--accent-tint);color:var(--accent-dark);display:grid;place-items:center;font-weight:700;font-size:.85rem;position:relative}.step-body{padding-top:.15rem}.step-slug-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.step-slug{display:inline-block;background:var(--bg-soft);border:1px solid var(--line);border-radius:0;padding:.15rem .55rem;font-size:.86rem;color:var(--ink)}.banner-badge{display:inline-block;padding:.1rem .5rem;border-radius:0;background:var(--warn-bg);color:var(--warn-deep);border:1px solid currentColor;font-size:.74rem;font-weight:600}.type-badge{display:inline-block;padding:.1rem .5rem;border-radius:0;background:var(--bg-tint);color:var(--accent-dark);border:1px solid currentColor;font-size:.74rem;font-weight:600}.inter-connector{margin:0 0 .9rem 2px;padding:.3rem 0 .9rem 26px;position:relative;color:var(--warn);font-size:.82rem;font-weight:600}.inter-connector:before{content:"";position:absolute;left:13px;top:-6px;bottom:-2px;width:2px;background:repeating-linear-gradient(to bottom,var(--line) 0 4px,transparent 4px 8px)}.rewarded-connector{color:var(--violet)}.step-prompt{margin:.35rem 0 0;color:var(--muted);font-size:.9rem;max-width:62ch}.static-field{padding:.55rem 0;color:var(--ink-soft);font-weight:500}.steps-label{display:block;font-weight:600;font-size:.85rem;margin:.5rem 0 .7rem}.steps-hint{font-weight:400;color:var(--muted)}.step-row{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-soft);margin-bottom:.6rem}.step-drag{color:var(--muted);padding-top:.55rem;cursor:default;user-select:none}.step-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.step-fields input,.step-fields textarea{width:100%;font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);resize:vertical}.slug-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem}.step-fields input:focus,.step-fields textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.step-remove{background:none;border:0;color:var(--muted);cursor:pointer;font-size:1rem;padding:.4rem;border-radius:0}.step-remove:hover{color:var(--danger);background:var(--danger-bg)}.node-row{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.6rem;padding:.75rem 2.5rem .75rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-soft);margin-bottom:.6rem}.node-drag{color:var(--muted);padding-top:.35rem;cursor:default;user-select:none}.node-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.node-fields .slug-input,.node-fields .prompt-input,.banners-input{font:inherit;padding:.5rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}.node-fields .slug-input,.node-fields .prompt-input{width:100%;resize:none;overflow:hidden;min-height:52px}.node-fields .prompt-input{resize:vertical}.node-fields .slug-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem}.node-fields input:focus,.node-fields textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.entry-node .pl-path{font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;padding:.5rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}.entry-node .pl-path:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.node-remove{position:absolute;top:.5rem;right:.5rem;margin:0;background:none;border:0;color:var(--muted);cursor:pointer;font-size:1rem;padding:.35rem;border-radius:0}.node-edit{position:absolute;top:.5rem;right:2.1rem;margin:0;background:none;border:0;color:var(--muted);cursor:pointer;font-size:.9rem;padding:.35rem;line-height:1}.node-edit:hover{color:var(--accent-dark)}.node-ping{position:absolute;top:.5rem;right:2.1rem;margin:0;background:none;border:0;color:var(--muted);cursor:pointer;font-size:.95rem;padding:.35rem;line-height:1}.node-ping:hover{color:var(--accent-dark)}.node-gate{position:absolute;top:.5rem;right:3.7rem;margin:0;background:none;border:0;color:var(--muted);cursor:pointer;font-size:.95rem;padding:.35rem;line-height:1}.node-gate:hover{color:var(--accent-dark)}.rewarded-node{padding-right:5.5rem}.scrollrwd-ctrl .scroll-gate-btn{position:static;padding:.1rem .3rem;font-size:.9rem}.gate-modal{max-width:560px}.gate-teaser-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.gate-teaser-label{font-size:.85rem;font-weight:600;color:var(--ink-soft)}.gate-teaser{display:flex;gap:1.2rem;font-size:.88rem}.gate-teaser label{white-space:nowrap}.gate-teaser label{display:flex;align-items:center;gap:.35rem;cursor:pointer}.gate-teaser input,.gate-fallback input{accent-color:var(--accent)}.gate-fallback{display:flex;align-items:center;gap:.45rem;font-size:.88rem;margin:.4rem 0 .2rem;cursor:pointer}.page-node .node-ping{right:5.3rem}.inter-node,.rewarded-node{padding-right:3.9rem}.node-gen{position:absolute;top:.5rem;right:3.7rem;margin:0;background:none;border:0;color:var(--muted);cursor:pointer;font-size:.9rem;padding:.35rem;line-height:1}.node-gen:hover{color:var(--sun-ink)}.page-node,.entry-node{padding-right:6.8rem}.pv-modal{width:min(1400px,96vw);max-width:min(1400px,96vw)}.pv-toolbar{display:flex;align-items:center;gap:.8rem;margin:0 0 .8rem}.pv-status{flex:1;min-width:0;font-size:.85rem}.pv-viewport{display:inline-flex;border:1px solid var(--outline);background:var(--glass)}.pv-vp{border:0;background:none;color:var(--muted);font:inherit;font-size:.82rem;font-weight:700;padding:.35rem .8rem;cursor:pointer}.pv-vp.active{background:var(--accent-tint);color:var(--accent-dark)}.pv-frame-wrap{border:1px solid var(--outline);background:var(--glass);padding:0;display:flex;justify-content:center}.pv-frame{width:100%;height:min(68vh,720px);border:0;background:#fff;transition:width .18s ease}.pv-frame-wrap.mobile .pv-frame{width:390px;max-width:100%}.pv-frame[hidden]{display:none}.pv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;min-height:16rem;padding:2rem;text-align:center;color:var(--muted);max-width:30rem;margin:0 auto}.pv-empty[hidden]{display:none}.pv-empty-ico{font-size:2rem}.pv-empty p{margin:0;font-size:.92rem}.pv-note{color:var(--muted);font-size:.85rem;margin:.8rem 0 0}.pv-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:16rem;padding:2rem;text-align:center;color:var(--muted);max-width:30rem;margin:0 auto}.pv-loading[hidden]{display:none}.pv-loading p{margin:0;font-size:.92rem}.pv-loading-ico{font-size:2rem;animation:pv-sparkle 1.6s ease-in-out infinite}@keyframes pv-sparkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.35) rotate(12deg);opacity:.65}}.pv-loading-bars{display:flex;flex-direction:column;gap:.55rem;width:min(20rem,70%)}.pv-loading-bars span{height:.7rem;background:linear-gradient(90deg,var(--bg-tint) 25%,var(--accent-tint) 50%,var(--bg-tint) 75%);background-size:200% 100%;animation:pv-shimmer 1.4s linear infinite}.pv-loading-bars span:nth-child(2){width:82%;animation-delay:.15s}.pv-loading-bars span:nth-child(3){width:58%;animation-delay:.3s}@keyframes pv-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.node-gen-busy{animation:gen-spin 1.2s linear infinite;pointer-events:none}@keyframes gen-spin{to{transform:rotate(360deg)}}.hub-hint{color:var(--muted);font-size:.82rem;margin:.6rem 0 .4rem}.hub-children{border:1.5px dashed var(--outline);background:var(--glass);padding:.5rem;min-height:3rem;display:flex;flex-direction:column;gap:.5rem}.hub-children:empty:after{content:attr(data-empty-label);display:block;text-align:center;color:var(--muted);font-size:.82rem;padding:.6rem 0}.hub-children .node-row{margin:0}.node-row[hidden]{display:none}.hub-tabs{display:flex;flex-wrap:nowrap;gap:.45rem;align-items:flex-end;margin:.4rem 0 calc(-.6rem - 1.5px);position:relative;z-index:1;overflow-x:auto;scrollbar-width:thin}.hub-tabs[hidden]{display:none}.hub-tab{flex:none;display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .9rem;border:2px solid var(--outline);border-bottom:0;background:var(--glass);color:var(--muted);font:inherit;font-weight:700;font-size:.82rem;cursor:pointer;box-shadow:var(--shadow-pop)}.hub-tab:last-child{margin-right:5px}.hub-tab .hub-tab-n{width:1.3rem;height:1.3rem;border-radius:50%;background:var(--outline);color:var(--bg);font-weight:800;font-size:.72rem;display:grid;place-items:center;flex:none}.hub-tab .hub-tab-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:11rem}.hub-tab:hover{color:var(--accent-dark)}.hub-tab.active{background:var(--bg);color:var(--ink, var(--fg));padding-top:.55rem;padding-bottom:calc(.4rem + 1.5px);box-shadow:var(--shadow-pop-raised);position:relative;z-index:1}.hub-tab.active .hub-tab-n{background:var(--accent);color:#fff}.hub-tab.dragging{opacity:.5}.hub-children:not(:empty){border-style:solid;background:var(--bg)}.hub-inter-slot:empty{display:none}.hub-inter-slot>.inter-node{margin:0}.hub-inter-slot>.inter-node:after,.hub-children>.inter-node:after,.hub-inter-slot>.rewarded-node:after,.hub-children>.rewarded-node:after{flex:1;min-width:0;color:var(--muted);font-size:.8rem;font-weight:400;text-align:right;padding-right:2.2rem}.hub-inter-slot>.inter-node:after,.hub-children>.inter-node:after{content:"Interstitial ad will load upon clickthrough."}.hub-inter-slot>.rewarded-node:after,.hub-children>.rewarded-node:after{content:'Rewarded ad gates the clickthrough — cards say "Watch ad to unlock".'}.path-edit[hidden]{display:none}.node-remove:hover{color:var(--danger);background:var(--danger-bg)}.node-tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted)}.ptype-ctrl{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--ink-soft);font-weight:500;margin-bottom:.15rem}.banner-ctrl{display:flex;align-items:center;gap:.7rem;font-size:.85rem;color:var(--ink-soft);font-weight:500;width:100%}.pt-scrollgate{display:flex;align-items:center;gap:.5rem;font-size:.88rem;cursor:pointer}.pt-scrollgate input{accent-color:var(--accent);width:.95rem;height:.95rem}.scrollrwd-ctrl{display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--ink-soft);font-weight:500;width:100%;cursor:pointer;margin-top:.15rem}.scrollrwd-ctrl[hidden]{display:none}.scrollrwd-ctrl .scrollrwd-input{accent-color:var(--accent);width:.95rem;height:.95rem;cursor:pointer}.banner-ctrl .banners-input{-webkit-appearance:none;appearance:none;flex:1;width:auto;height:18px;padding:0;border:0;background:transparent;cursor:pointer}.banner-ctrl .banners-input::-webkit-slider-runnable-track{height:6px;border-radius:0;background:var(--line)}.banner-ctrl .banners-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-5px;border-radius:0;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 3px #10201c40}.banner-ctrl .banners-input::-moz-range-track{height:6px;border-radius:0;background:var(--line)}.banner-ctrl .banners-input::-moz-range-thumb{width:14px;height:14px;border-radius:0;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 3px #10201c40}.banner-ctrl .banners-input:focus{outline:none}.banner-ctrl .banners-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-tint)}.banner-count{min-width:1.2em;text-align:center;font-weight:700;color:var(--accent-dark)}.inter-node{align-items:center;background:var(--warn-bg-soft);border-color:var(--warn-line)}.inter-badge{flex:1;text-align:left;font-weight:700;color:var(--warn);font-size:.9rem}.rewarded-node{align-items:center;background:var(--violet-bg);border-color:var(--violet-line)}.rewarded-badge{flex:1;text-align:left;font-weight:700;color:var(--violet);font-size:.9rem}.loading-node{align-items:center;background:var(--bg-tint);border-color:var(--line-strong)}.loading-badge{text-align:left;font-weight:700;color:var(--ink-soft);font-size:.9rem}.loading-secs{flex:1;display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted)}.loading-secs input{width:4.2rem}.entry-row{margin-bottom:.3rem}.entry-hint{color:var(--muted);font-size:.8rem;margin:0 0 1.1rem}.entry-hint a{color:var(--accent-dark)}.entry-chain{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .6rem;font-size:.8rem}.entry-chip{border:1px solid var(--outline);background:var(--bg-tint);color:var(--ink-soft);font-weight:600;padding:.14rem .5rem}.entry-arrow{color:var(--muted)}.node-row.dragging{opacity:.45}.node-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.node-add{position:relative;margin-top:.6rem}.add-menu{position:absolute;z-index:30;top:calc(100% + .4rem);left:0;min-width:200px;background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:2px solid var(--outline);box-shadow:var(--shadow-glass);padding:.3rem;display:flex;flex-direction:column}.add-menu[hidden]{display:none}.add-menu button{text-align:left;background:transparent;border:0;color:var(--ink);font:inherit;font-weight:600;padding:.5rem .7rem;cursor:pointer}.add-menu button:hover{background:var(--accent-tint);color:var(--accent-dark);box-shadow:inset 3px 0 0 var(--sun)}.entry-node{align-items:center;background:var(--sun-tint);border-color:var(--sun-line);flex-wrap:wrap;gap:.55rem .7rem}.entry-badge{font-weight:700;color:var(--sun-ink);font-size:.9rem;white-space:nowrap}.entry-field{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--muted);white-space:nowrap}.entry-field-grow{flex-basis:100%;margin-left:1.7rem}.entry-field-grow input{flex:1;min-width:0;font:inherit;font-size:.85rem;padding:.45rem .7rem;border:2px solid var(--outline);border-radius:var(--radius-sm)}.entry-field-grow input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.entry-field select,.entry-field input{font-size:.85rem}.flow-copy-btn{width:21px;height:21px;display:inline-grid;place-items:center;padding:0;margin-left:.45rem;border:1px solid var(--line-strong);background:var(--bg);color:var(--muted);line-height:0;vertical-align:middle;cursor:pointer;transition:color .14s ease,border-color .14s ease}.flow-copy-btn:hover,.flow-copy-btn.copied{color:var(--accent-dark);border-color:var(--accent)}.node-issue-hint{color:var(--muted)}.node-row.node-nudge{border-color:var(--outline)}.site-switch{position:relative;display:inline-flex}.site-switch-btn{display:inline-flex;align-items:center;gap:.45rem;border:0;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}.site-switch-chev{font-size:.55em;color:var(--muted);transition:transform .15s ease}.site-switch.open .site-switch-chev{transform:rotate(180deg)}.site-switch .site-switch-menu{top:calc(100% + .5rem);left:0;right:auto;min-width:240px;max-height:320px;overflow-y:auto;font-size:1rem;font-weight:600}.site-switch .site-switch-menu .dd-item{display:block;text-decoration:none;color:inherit}.token-wrap{display:flex;gap:.4rem;align-items:stretch}.token-wrap input{flex:1;min-width:0}.token-masked{-webkit-text-security:disc;text-security:disc}.token-eye{flex-shrink:0;padding:.3rem .6rem}.px-labels-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.5rem}.px-label-field{margin-bottom:0}.px-label-field label{font-size:.78rem;color:var(--muted)}@media(max-width:720px){.px-labels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.chip-opt-empty{display:block;padding:.55rem .8rem;font-size:.85rem}.sx-actions-wrap{margin:.4rem 0 1rem;display:flex;flex-direction:column;gap:.45rem}.sx-action-row .sx-ev-select,.sx-action-row .dd{min-width:0}.sx-rename-label{font-size:.85rem;font-weight:600;margin:0 0 .5rem}.px-modal{width:min(640px,94vw)}.px-pills{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.55rem}.px-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .35rem .28rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--bg);font-size:.85rem}.px-pill-plat{color:var(--muted);font-size:.75rem}.px-pill-x{border:0;background:none;color:var(--muted);cursor:pointer;font-size:.7rem;padding:.15rem .35rem;border-radius:999px}.px-pill-x:hover{color:var(--ink);background:var(--line)}.px-pill-empty{font-size:.85rem;align-self:center}.px-picker-plat{font-size:.75rem;margin-left:.5rem}.px-picker-empty{padding:.6rem .8rem;font-size:.85rem}.px-map{display:grid;grid-template-columns:150px 1fr;gap:.9rem;margin-top:.4rem}.px-tabs{display:flex;flex-direction:column;gap:.3rem}.px-tab{display:flex;align-items:center;gap:.5rem;border:1px solid transparent;background:none;color:var(--muted);font:inherit;font-size:.87rem;text-align:left;padding:.45rem .6rem;border-radius:var(--radius-sm);cursor:pointer}.px-tab:hover{color:var(--ink)}.px-tab.active{color:var(--ink);background:var(--bg);border-color:var(--line);font-weight:600}.px-tab-dot{width:6px;height:6px;border-radius:999px;background:var(--line);flex-shrink:0}.px-tab.has-pixel .px-tab-dot{background:var(--ok, #39a26c)}.px-tabpane{display:flex;flex-direction:column;gap:.45rem;min-width:0}.px-map-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:.6rem;align-items:center}.px-map-row input{font:inherit;font-size:.85rem;padding:.4rem .55rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);min-width:0}.px-map-head{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.px-map-our{font-size:.87rem;display:flex;flex-direction:column;gap:.1rem}.px-map-when{font-size:.72rem;color:var(--muted)}@media(max-width:560px){.px-map{grid-template-columns:1fr}.px-tabs{flex-direction:row;flex-wrap:wrap}}.node-note{flex-basis:100%;margin-left:1.7rem;font-size:.8rem;color:var(--muted)}.node-row.node-invalid{border-color:color-mix(in srgb,var(--sun-ink) 55%,#e5484d)}.node-issue{flex-basis:100%;margin-left:1.7rem;font-size:.8rem;color:color-mix(in srgb,var(--sun-ink) 35%,#e5484d)}.add-menu button:disabled{opacity:.45;cursor:not-allowed}.loading-seconds{width:4rem;font:inherit;font-size:.85rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);text-align:center}.loading-seconds:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.hub-fields{margin-top:.4rem;padding:.8rem;border:1px dashed var(--line);border-radius:0;background:var(--bg-soft);display:flex;flex-direction:column;gap:.6rem}.hub-fields[hidden]{display:none}.linkad-ctrl{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;color:var(--ink-soft)}.link-list{display:flex;flex-direction:column;gap:.5rem}.link-row{display:flex;align-items:flex-start;gap:.5rem;background:var(--bg);border:1px solid var(--line);border-radius:0;padding:.6rem}.link-bullet{color:var(--muted);padding-top:.4rem}.link-fields{flex:1;display:flex;flex-direction:column;gap:.4rem;min-width:0}.link-top{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.link-slug{flex:1;min-width:150px;font:inherit;padding:.4rem .6rem;border:1px solid var(--line);border-radius:0}.link-prompt{width:100%;font:inherit;padding:.4rem .6rem;border:1px solid var(--line);border-radius:0;resize:vertical}.link-remove{border:0;background:none;cursor:pointer;color:var(--muted);font-size:.9rem;line-height:1;padding:.3rem}.hub-branch{margin:.6rem 0 0 .1rem;padding-left:.9rem;border-left:2px solid var(--line)}.hub-linkad{font-size:.8rem;font-weight:600;color:var(--warn);margin-bottom:.45rem}.hub-linkad.rewarded-connector{color:var(--violet)}.hub-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.hub-link{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.form-actions{display:flex;gap:.6rem;margin-top:1.2rem}.build-status{margin:.7rem 0 0;font-size:.85rem;color:var(--muted)}.build-status.err{color:var(--danger)}.delete-row[hidden]{display:none}.delete-row{display:flex;justify-content:flex-end;align-items:center;gap:.4rem;margin-top:1.4rem;padding-top:.9rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.link-danger,.link-muted{background:none;border:none;padding:0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link-danger{color:var(--danger)}.link-strong{font-weight:700}.link-muted{color:var(--muted)}@media(max-width:800px){.shell{min-height:100dvh}.rail{position:fixed;inset:auto 0 0;width:100%;height:var(--tabbar-h);flex-direction:row;align-items:center;justify-content:space-between;padding:.25rem .9rem;border-right:none;border-top:1px solid rgba(255,255,255,.08);z-index:60}.rail-logo{width:30px;height:30px;border-radius:0;margin-bottom:0}.rail-logo svg{width:20px;height:20px}.rail-items{flex-direction:row;flex:1;justify-content:space-evenly;gap:0;margin:0 .4rem}.rail-item{width:auto;gap:.15rem}.rail-ico{width:36px;height:36px}.rail-user{width:32px;height:32px;font-size:.72rem}.shell .subpanel,.shell.collapsed .subpanel{position:fixed;top:0;bottom:0;left:0;height:100dvh;width:min(280px,82vw);padding:1rem .8rem calc(var(--tabbar-h) + 1rem);border-right:1px solid var(--glass-border);background:var(--glass-strong);transform:translate(-105%);overflow-y:auto;z-index:55}.shell.mobile-open .subpanel{transform:translate(0)}.shell.anim .subpanel,.shell.anim.collapsed .subpanel{transition:transform .5s cubic-bezier(.61,1,.88,1)}.shell.mobile-open:after{content:"";position:fixed;inset:0;background:#0a121e66;z-index:50}.pane-toggle,.shell.collapsed~.pane-toggle{left:1rem;bottom:calc(var(--tabbar-h) + .9rem);border-color:var(--line);background:var(--bg);color:var(--muted);z-index:56}.pane-toggle svg,.shell.collapsed~.pane-toggle svg{transform:rotate(180deg)}.shell.mobile-open~.pane-toggle svg{transform:rotate(0)}.theme-toggle{bottom:calc(var(--tabbar-h) + .9rem)}.main{padding:1.2rem 1rem calc(var(--tabbar-h) + 2.2rem)}.modal-row{grid-template-columns:1fr}table,tbody,tr,td{display:block;width:100%}thead{display:none}tbody tr{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--glass);padding:.45rem .8rem;margin-bottom:.7rem}tbody tr:last-child{margin-bottom:0}td{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.32rem 0;border-bottom:0}td:before{content:attr(data-label);color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;flex-shrink:0}td:not([data-label]):before{content:none}td.num{text-align:right}td .empty,td.empty{padding:.4rem 0}}
