:root{color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#f6f5f3;--border:#e7e4df;--text:#1d1b19;--muted:#6e6a64;--accent:#de6a2b;--accent-soft:#fdeee4;--accent-strong:#b2480f;--accent-text:#fff;--gold:#d9a22c;--ok:#3f8a58;--bad:#b8483f;--warn:#94700f;--shadow:0 1px 2px #1d1b190d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#131211;--surface:#1b1a18;--surface-2:#252320;--border:#34312d;--text:#ece9e4;--muted:#a39e96;--accent:#f08a50;--accent-soft:#3a2619;--accent-strong:#f7aa7c;--accent-text:#2a1507;--gold:#e5b84d;--ok:#86c49c;--bad:#e69a92;--warn:#dcbc72;--shadow:none}}:root[data-theme=dark]{color-scheme:dark;--bg:#131211;--surface:#1b1a18;--surface-2:#252320;--border:#34312d;--text:#ece9e4;--muted:#a39e96;--accent:#f08a50;--accent-soft:#3a2619;--accent-strong:#f7aa7c;--accent-text:#2a1507;--gold:#e5b84d;--ok:#86c49c;--bad:#e69a92;--warn:#dcbc72;--shadow:none}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.6 Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent-strong)}code,pre,textarea.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace}code{background:var(--surface-2);border-radius:5px;padding:1px 6px;font-size:.86em}[hidden]{display:none!important}.top{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;height:60px;padding:0 24px;display:flex}.brand{color:var(--text);align-items:center;gap:12px;font-size:1.05rem;font-weight:800;text-decoration:none;display:flex}.brand img{width:auto;height:34px;display:block}.brand span{color:var(--muted);border-left:1px solid var(--border);padding-left:12px;font-weight:700}.version{color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700}.top nav{align-items:center;gap:18px;margin-left:auto;font-size:.9rem;display:flex}.top nav a{color:var(--muted);font-weight:600;text-decoration:none}.top nav a:hover{color:var(--accent-strong)}.app{flex-direction:column;gap:14px;max-width:1080px;min-height:calc(100vh - 60px);margin:0 auto;padding:18px 24px 24px;display:flex}.stepper-wrap{flex:none;align-items:center;gap:6px;display:flex}.arrow{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text);font:inherit;cursor:pointer;border-radius:50%;flex:none;font-weight:800}.arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.arrow:disabled{opacity:.35;cursor:default}.stepper{--fade-left:0px;--fade-right:0px;scrollbar-width:none;min-width:0;mask-image:linear-gradient(to right, transparent, #000 var(--fade-left), #000 calc(100% - var(--fade-right)), transparent);flex:1;gap:4px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.stepper::-webkit-scrollbar{display:none}.stepper-wrap.more-left .stepper{--fade-left:36px}.stepper-wrap.more-right .stepper{--fade-right:36px}.stepper li{flex:1 0 auto;align-items:center;display:flex}.stepper li+li:before{content:"";background:var(--border);flex:10px;min-width:6px;max-width:28px;height:2px;margin:0 4px}.tab{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:.88rem;font-weight:700;display:flex}.tab b{border:1.5px solid var(--border);background:var(--surface);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.78rem;display:inline-grid}.tab:hover{color:var(--text);background:var(--surface-2)}.tab.done b{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.tab.current{background:var(--accent-soft);color:var(--accent-strong)}.tab.current b{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.stage{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;flex:1;padding:24px 28px}.step-head{margin:0 0 18px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 2px;font-size:.75rem;font-weight:800}.step-head h2{margin:0;font-size:1.5rem;line-height:1.3}.opt{background:var(--surface-2);color:var(--muted);vertical-align:middle;letter-spacing:0;text-transform:none;border-radius:999px;margin-left:8px;padding:1px 9px;font-size:.72rem;font-weight:700}.lead{color:var(--muted);max-width:75ch;margin:6px 0 0;font-size:.92rem}.hint{color:var(--muted);margin:8px 0 0;font-size:.82rem}.subcard{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;margin-top:22px;padding:16px}.subcard h3{margin:0 0 8px;font-size:1rem}.footer{z-index:10;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;flex-wrap:wrap;flex:none;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;bottom:12px}.site-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:6px;padding:18px 4px 0;font-size:.85rem}.site-footer p{margin:0 0 6px}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:6px 18px;display:flex}.site-footer a{font-weight:600;text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer .count{color:var(--muted);font-size:.85rem;font-weight:700}.footer .spacer{flex:1}.chip-status{cursor:pointer;font:inherit;border:0;border-radius:999px;padding:4px 12px;font-size:.82rem;font-weight:800}.chip-status.ok{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.chip-status.bad{background:color-mix(in srgb, var(--bad) 18%, transparent);color:var(--bad)}.grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px 14px;display:grid}label{color:var(--muted);font-size:.82rem;font-weight:700;display:block}label.inline{white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:flex}label.check{color:var(--text);align-items:center;gap:8px;padding-top:20px;font-size:.92rem;display:flex}input,select,textarea{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:10px;margin-top:4px;padding:8px 10px;font-weight:400}select[data-dd]{display:none}.dd{min-width:120px;margin-top:4px;position:relative}.dd-button{text-align:left;background:var(--bg);width:100%;min-height:38px;color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:10px;padding:8px 30px 8px 10px;font-weight:400;overflow:hidden}.dd-button:hover:not(:disabled){border-color:var(--accent)}.dd-button:disabled{opacity:.55;cursor:not-allowed}.dd:after,.combo:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);pointer-events:none;width:6px;height:6px;margin-top:-5px;position:absolute;top:50%;right:13px;transform:rotate(45deg)}.combo input{padding-right:30px}.combo-list li.selected{color:var(--accent-strong);font-weight:700}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);margin:0}input[readonly]{color:var(--muted);background:var(--surface-2)}textarea{resize:vertical;min-height:70px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,.drop:focus-within{outline:2px solid var(--accent);outline-offset:1px}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:7px;padding:8px 14px;font-size:.9rem;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent);background:var(--surface-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}.btn.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.btn.big{padding:10px 22px;font-size:.95rem}.btn.small{padding:5px 10px;font-size:.82rem}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--bad)}.actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.file-btn{display:inline-block;position:relative;overflow:hidden}.file-btn input{opacity:0;cursor:pointer;width:100%;margin:0;position:absolute;inset:0}.combo{min-width:160px;position:relative}.combo input{margin-top:0}.combo-list{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:220px;max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #1d1b1929}.combo-list li{cursor:pointer;border-radius:6px;justify-content:space-between;gap:12px;padding:6px 8px;font-size:.88rem;display:flex}.combo-list li small{color:var(--muted);white-space:nowrap}.combo-list li.active,.combo-list li:hover{background:var(--surface-2)}.combo-list li.empty{color:var(--muted);cursor:default}.tastes{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.taste{background:var(--surface-2);border-top:3px solid var(--border);border-radius:12px;padding:12px}.taste-love{border-top-color:#d6648a}.taste-like{border-top-color:var(--ok)}.taste-neutral{border-top-color:var(--gold)}.taste-dislike{border-top-color:#c98a4a}.taste-hate{border-top-color:var(--bad)}.taste h3{margin:0 0 8px;font-size:.92rem}.chips{flex-wrap:wrap;gap:6px;min-height:8px;margin-top:8px;display:flex}.chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:.82rem;display:inline-flex}.chip button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;width:20px;height:20px;font-size:.8rem}.chip button:hover{background:var(--accent);color:var(--accent-text)}.row-card{border:1px solid var(--border);background:var(--bg);border-radius:12px;margin-bottom:10px;padding:12px}.row-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.row-top input,.row-top .combo,.row-top .dd{width:auto;margin-top:0}.row-top>.dd{min-width:190px}.params{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.params input,.params .dd{width:auto;margin-top:0}.row-card textarea{min-height:56px}.row-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:800}.adders-label{color:var(--muted);margin:14px 0 6px;font-size:.82rem;font-weight:700}.group-title{border-bottom:1px solid var(--border);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:22px 0 8px;padding-bottom:6px;font-size:.8rem}.group-title:first-of-type{margin-top:0}.roadmap{counter-reset:road;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 14px;padding:0;list-style:none;display:grid}.roadmap li{counter-increment:road;background:var(--surface-2);border-radius:12px;padding:14px 16px}.roadmap li:before{content:counter(road);background:var(--accent);width:24px;height:24px;color:var(--accent-text);border-radius:50%;place-items:center;margin-bottom:8px;font-size:.78rem;font-weight:800;display:inline-grid}.roadmap strong,.roadmap span{display:block}.roadmap span{color:var(--muted);font-size:.86rem}.start-bottom{border-top:1px dashed var(--border);margin-top:32px;padding-top:16px}.start-label{color:var(--muted);margin:0 0 6px;font-size:.85rem}.start-actions{flex-wrap:wrap;gap:6px 22px;display:flex}.text-btn{color:var(--accent-strong);cursor:pointer;text-underline-offset:4px;padding:6px 2px;font-weight:700;text-decoration:underline}.text-btn:hover,.text-btn:focus-within{color:var(--accent)}.text-btn.file-btn input{cursor:pointer}.import-status{margin:10px 0 0;font-size:.88rem}.import-status:empty{display:none}.import-status.bad{color:var(--bad)}#importNotes{color:var(--warn)}.key-list .row-top .combo{flex:1;min-width:240px;max-width:420px}.step-row .combo{flex:none;width:140px;min-width:0}.step-row .combo input,.key-list .row-top .combo input{width:100%;margin-top:0}dialog.notice-dialog{border:2px solid var(--accent);background:var(--surface);width:min(520px,92vw);color:var(--text);border-radius:16px;padding:22px 24px}dialog.notice-dialog::backdrop{background:#0a0a0aa6}dialog.notice-dialog h2{margin:0 0 10px;font-size:1.2rem}.notice-body p{margin:0 0 10px}.notice-body ul{margin:0 0 10px;padding-left:20px}.notice-body li{word-break:break-word;margin-bottom:4px}dialog.notice-dialog .actions{justify-content:flex-end}.event-card{border:1px solid var(--border);background:var(--bg);border-radius:12px;margin-bottom:12px}.event-card>summary{cursor:pointer;padding:12px 14px;font-weight:700}.event-body{padding:0 14px 14px}.event-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px;font-size:.78rem}.day-row{flex-wrap:wrap;align-items:center;gap:6px 14px;margin:12px 0;display:flex}.check-inline{align-items:center;gap:6px;font-weight:600;display:inline-flex}.spot{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:6px;display:flex}.spot label{min-width:0}.spot input{width:84px}.steps-list{gap:8px;margin-bottom:8px;display:grid}.step-row{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.step-row .dd{min-width:150px;margin-top:0}.step-row .params{flex:1;min-width:240px}.step-row .params .dd{min-width:110px}.step-row .params input[type=number]{width:84px}input.grow,label.grow{flex:1;min-width:160px}.unit{color:var(--muted);font-size:.85rem}.mode-toggle{padding-top:8px;font-size:.88rem}.command-box{margin:8px 0}.festival-check{padding-top:0;font-size:1rem;font-weight:700}.festival-body{gap:10px;margin-top:10px;display:grid}.more-options{margin-top:20px}.more-options>summary{cursor:pointer;margin-bottom:8px;font-weight:700}.translate-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:6px 0;display:grid}.translate-row .original{background:var(--surface-2);color:var(--muted);white-space:pre-wrap;border-radius:10px;margin:0;padding:8px 10px;font-size:.86rem}.translate-row textarea{margin-top:0}.translate-section,#translationsAdder{margin-bottom:14px}.notice>div p{margin:0 0 8px}.notice{background:var(--accent-soft);border:1px solid var(--border);border-radius:12px;gap:12px;margin:16px 0 0;padding:12px 14px;font-size:.88rem;display:flex}.notice i{color:var(--accent-strong);margin-top:3px}.notice p{margin:0}#dialogueRows:empty:before,#scheduleRows:empty:before{content:"Nothing here yet. Add one below.";border:1px dashed var(--border);color:var(--muted);border-radius:12px;padding:14px;font-size:.88rem;display:block}.adders{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.routine-head{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:10px}.stops{gap:10px;margin:0 0 10px;display:grid;position:relative}.stops:before{content:"";background:var(--border);width:2px;position:absolute;top:14px;bottom:14px;left:74px}.stop{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:14px;display:grid;position:relative}.stop-time{padding-top:2px}.time-group{z-index:1;align-items:center;gap:4px;display:flex;position:relative}.time-group .dd{min-width:60px;margin-top:0}.time-group .dd:first-child{min-width:84px}.time-group .dd-button{padding:8px 22px 8px 9px}.time-group .dd:after{right:9px}.stop-time{flex-direction:column;display:flex}.stop-time .time-group{background:var(--bg)}.stop-body{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;padding:10px 12px}.stop-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stop-main .combo{flex:200px}.stop-tools{gap:6px;display:flex}.stop-summary{color:var(--muted);margin-top:6px;font-size:.8rem;display:block}.stop-detail{border-top:1px dashed var(--border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 12px;margin-top:10px;padding-top:10px;display:grid}.stop-detail .wide{grid-column:1/-1}.stop-detail label.check{padding-top:0;font-size:.85rem}.stop-detail .combo{min-width:0;margin-top:4px}.add-stop{border-style:dashed;margin-left:164px}.row-top .row-label{min-width:0}.slots{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.slot{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:12px}.slot-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.badge{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.badge.mine{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.drop{border:2px dashed var(--border);cursor:pointer;text-align:center;min-height:110px;color:var(--muted);background:var(--surface);border-radius:12px;place-items:center;margin-top:8px;padding:10px;font-weight:400;display:grid}.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-soft)}.slot-preview{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:240px;image-rendering:pixelated;background:repeating-conic-gradient(var(--surface-2) 0 25%, var(--surface) 0 50%) 0 0 / 12px 12px}.msgs{margin:8px 0 0;padding:0;font-size:.82rem;list-style:none}.msgs li{padding-left:14px;position:relative}.msgs li:before{content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:.5em;left:0}.msgs li.error{color:var(--bad)}.msgs li.error:before{background:var(--bad)}.msgs li.warning{color:var(--warn)}.msgs li.warning:before{background:var(--warn)}.filename{color:var(--muted);margin-bottom:8px;font-size:.8rem;display:block}.slot.compact .drop{min-height:80px}.preview{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-top:10px;padding:10px}.preview-caption{color:var(--muted);margin-bottom:8px;font-size:.78rem;font-weight:700}.scene{width:100%;max-width:240px;height:auto;image-rendering:pixelated;border:1px solid var(--border);border-radius:8px;display:block}.preview-buttons{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.preview-buttons .btn.on,.face.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.dialog-box{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-items:stretch;gap:10px;padding:10px;display:flex}.dialog-portrait{width:96px;height:96px;image-rendering:pixelated;background:var(--bg);border:1px solid var(--border);border-radius:6px;flex:none}.dialog-text{min-width:0}.dialog-text strong{color:var(--accent-strong);font-size:.85rem}.dialog-text p{margin:4px 0 0;font-size:.85rem}.faces{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.face{border:1px solid var(--border);background:var(--bg);cursor:pointer;color:var(--muted);border-radius:8px;justify-items:center;gap:2px;padding:4px;display:grid}.face canvas{width:48px;height:48px;image-rendering:pixelated}.face small{font-size:.7rem}.review{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:20px;display:grid}.review h3{margin:0 0 8px;font-size:1rem}.summary{border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:800;display:inline-block}.summary.ok{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.summary.bad{background:color-mix(in srgb, var(--bad) 18%, transparent);color:var(--bad)}.issues{margin:10px 0 0;padding-left:18px;font-size:.85rem}.issues:empty{display:none}#problems{color:var(--bad)}#warnings{color:var(--warn)}.filelist{margin:0;padding:0;font-size:.82rem;list-style:none}.filelist li{justify-content:space-between;align-items:center;gap:8px;display:flex}.filelist button{color:var(--text);cursor:pointer;text-align:left;font:inherit;word-break:break-all;background:0 0;border:0;border-radius:6px;padding:3px 6px;font-family:ui-monospace,Consolas,monospace;font-size:.8rem}.filelist button:hover{background:var(--surface-2)}.filelist button.active{background:var(--accent);color:var(--accent-text)}.filelist small{color:var(--muted);white-space:nowrap}#filePreview{background:var(--surface-2);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:10px;max-height:300px;margin:10px 0 0;padding:10px;font-size:.78rem;overflow:auto}.root{color:var(--muted);word-break:break-all;margin:0 0 6px;font-size:.78rem}#filesMessages{color:var(--bad);margin:8px 0 0;padding-left:18px;font-size:.85rem}#filesMessages:empty{display:none}#filesStatus{margin:12px 0 0;font-size:.88rem}dialog.picker{border:2px solid var(--accent);background:var(--surface);width:min(1100px,96vw);height:min(780px,92vh);color:var(--text);border-radius:16px;padding:0}dialog.picker[open]{flex-direction:column;display:flex}dialog.picker::backdrop{background:#0a0a0aa6}.picker-head,.picker-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.picker-head{border-bottom:1px solid var(--border)}.picker-foot{border-top:1px solid var(--border)}.picker-note{color:var(--muted);font-size:.82rem}.picker-zoom{align-items:center;gap:8px;display:flex}.picker-zoom input{width:120px;margin:0}.picker-stage{background:#0e0d0c;flex:1;overflow:auto}.picker-layers{width:max-content;position:relative}.picker-layers canvas{image-rendering:pixelated;display:block}.picker-marks{cursor:crosshair;position:absolute;inset:0}.picker-status{font-family:ui-monospace,Consolas,monospace;font-size:.85rem}.picker-actions{gap:8px;display:flex}@media (width<=860px){.review{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.translate-row{grid-template-columns:minmax(0,1fr)}.top{padding:0 16px}.top nav a{display:none}.app{padding:12px 12px 16px}.stage{padding:18px 16px}.stop{grid-template-columns:minmax(0,1fr);gap:6px}.stops:before{display:none}.add-stop{margin-left:0}.tab:not(.current) span{display:none}.tab:not(.current){padding-right:6px}.footer{bottom:8px}}
