:root{--paper: #F5F3FB;--dots: #DCD5EE;--surface: #FFFFFF;--ink: #221E33;--muted: #6A6480;--line: #E2DDF0;--line-strong: #D7D0EC;--accent: #6A4BD0;--accent-hover: #5A3CC0;--accent-soft: #F1EDFB;--accent-tint: #E8E1FB;--focus: #9B84EA;--danger-ink: #A52A2F;--font-display: "Bricolage Grotesque", "Avenir Next", system-ui, sans-serif;--font-body: "Atkinson Hyperlegible", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px}code,pre{font-family:ui-monospace,Menlo,monospace;font-size:.9em}.disp{font-family:var(--font-display)}.muted{color:var(--muted);font-size:13px;line-height:1.5;margin:0}.eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:700}.error{color:var(--danger-ink);margin:0;font-size:14px}.btn{font:inherit;font-size:14px;min-height:40px;padding:8px 14px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer}.btn:hover{background:var(--accent-soft)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{color:var(--danger-ink);border-color:#ebc5c7}.btn-danger:hover{background:#fbeded}.btn-small{min-height:32px;padding:4px 10px;font-size:13px;border-radius:10px}.btn-ghost{border-color:transparent;background:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.field{font:inherit;font-size:15px;padding:10px 12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);width:100%}.field.code{font-family:var(--font-display);font-size:24px;letter-spacing:3px;text-transform:uppercase}.page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:28px;width:100%;max-width:460px;display:flex;flex-direction:column;gap:14px;box-shadow:0 16px 40px #221e3314}.card h1{margin:0;font-size:26px;line-height:1.15}.card p{margin:0;line-height:1.5}.card label{font-weight:700;font-size:14px}.cmd{background:#1e1b2e;color:#ede9f8;border-radius:12px;padding:12px 14px;margin:0;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.root{height:100vh;height:100dvh;overflow:hidden;position:relative;background-color:var(--paper);background-image:radial-gradient(var(--dots) 1.2px,transparent 1.4px);background-size:24px 24px}.bob{animation:bob 4.6s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.fade{transition:opacity .2s ease}.stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:88px 24px 84px;transition:padding .3s ease}.board{position:relative;container-type:inline-size}.open .stage{padding-right:428px}.topbar{position:absolute;top:0;left:0;right:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding:16px;pointer-events:none;z-index:12}.topbar>*{pointer-events:auto}.float-card{background:#fffffff0;border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 20px #221e3314}.seg{display:flex;padding:4px;gap:4px;background:var(--accent-soft);border-radius:14px}.seg .btn{border-color:transparent;background:transparent;color:var(--muted)}.seg .btn[aria-pressed=true]{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 1px 3px #221e331f}.bottombar{position:absolute;left:16px;right:16px;bottom:16px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px;pointer-events:none;z-index:11;transition:right .3s ease}.open .bottombar{right:428px}.chipbar{background:#fffffff0;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;color:var(--muted)}.chipbar.hot{color:#4b2fb0;font-weight:700}.empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.empty>div{pointer-events:auto;text-align:center;max-width:360px;display:flex;flex-direction:column;gap:10px;align-items:center}.panel{position:absolute;top:84px;right:16px;bottom:16px;width:396px;max-width:calc(100% - 32px);overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:20px;box-shadow:0 16px 40px #221e3324;z-index:15;animation:slidein .25s ease-out}.panel h2{margin:0;font-size:24px}.panel h3{margin:0 0 6px;font-size:12px;letter-spacing:1.5px;color:var(--muted);font-weight:700;text-transform:uppercase}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.backbtn{font:inherit;font-size:13px;font-weight:700;background:none;border:0;color:var(--accent);cursor:pointer;padding:6px 8px;margin:-8px 0 -6px -8px;border-radius:8px;align-self:flex-start}.backbtn:hover{background:var(--accent-soft)}.ov-sec{background:#f8f6fc;border:1px solid #ECE8F5;border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:2px}.ov-head{display:flex;align-items:center;justify-content:space-between;padding:2px 6px 8px}.ov-count{font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:1px 9px}.row{font:inherit;display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;border-radius:12px;padding:8px 6px;cursor:pointer;text-align:left;color:var(--ink)}.row:hover{background:#fff}.row .sub{font-size:13px;color:var(--muted)}.chev{color:#a39db8;font-size:20px;line-height:1;flex:none}.member{display:flex;align-items:center;gap:10px;padding:6px 0}.namebtn{font:inherit;font-weight:700;flex:1;text-align:left;background:none;border:0;padding:4px 0;cursor:pointer;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis}.namebtn:hover{color:var(--accent);text-decoration:underline}.avatar{width:34px;height:34px;border-radius:50%;border:3px solid;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}.swatch{width:34px;height:34px;border-radius:11px;border:2px solid;display:flex;align-items:center;justify-content:center;flex:none}.device{border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:8px}.device-head{display:flex;align-items:center;gap:10px}.chips{display:flex;gap:8px;flex-wrap:wrap}.note{background:var(--accent-soft);border:1px solid var(--line-strong);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.45}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer;line-height:1.45}.check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent);flex:none}.log{list-style:none;margin:0;padding:0 6px;display:flex;flex-direction:column}.log li{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;padding:7px 0;font-size:14px;line-height:1.4}.log li i{width:8px;height:8px;border-radius:50%;background:#bba8f2;margin-top:6px;display:block}.coach{position:absolute;left:16px;bottom:68px;z-index:13;width:320px;max-width:calc(100% - 32px);background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 12px 32px #221e3324;display:flex;flex-direction:column;gap:10px}.tip{display:flex;gap:10px;font-size:14px;line-height:1.45}.tipn{width:22px;height:22px;border-radius:50%;background:var(--accent-tint);color:#4b2fb0;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none}.note.amber{background:#fbebd3;border-color:#ebc28a}.warn-box{margin:0;font-size:14px;line-height:1.5;background:#fbebd3;border-radius:12px;padding:10px 12px}.secret-note{font-size:13px;line-height:1.45;color:#8e1f27;background:#fbeded;border-radius:10px;padding:6px 10px}.pill{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;flex:none}.files{margin:0;padding-left:18px;font-family:ui-monospace,Menlo,monospace;font-size:13px}.legend{display:inline-flex;gap:14px;flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.dialog.wide{max-width:820px}.cmp{display:flex;flex-wrap:wrap;gap:12px}.cmp-col{flex:1 1 300px;min-width:0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.cmp-head{padding:10px 14px;background:var(--accent-soft);font-weight:700;font-size:14px}.cmp-body{padding:10px 14px;font-family:ui-monospace,Menlo,monospace;font-size:13px;line-height:1.7;overflow-x:auto;max-height:50vh;overflow-y:auto;white-space:pre}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#221e3361;display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}.dialog{background:#fff;border-radius:24px;padding:24px;width:100%;max-width:460px;display:flex;flex-direction:column;gap:14px;max-height:calc(100dvh - 32px);overflow-y:auto}.dialog h2{margin:0;font-size:22px}.dialog label.lbl{font-size:14px;font-weight:700}.actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.toast-wrap{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:30;width:max-content;max-width:calc(100% - 32px)}.toast{background:var(--ink);color:#fff;padding:10px 10px 10px 18px;border-radius:14px;font-size:14px;line-height:1.4;box-shadow:0 8px 24px #221e3340;display:flex;align-items:center;gap:12px}.undo{font:inherit;font-size:14px;font-weight:700;background:none;border:0;color:#c9b8ff;cursor:pointer;padding:6px 8px;border-radius:8px}.undo:hover{background:#ffffff1a}@keyframes slidein{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@keyframes slideup{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}@media (max-width: 720px){.stage{padding:136px 8px 64px}.open .stage{padding-right:8px;padding-bottom:58vh}.panel{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-width:none;height:56vh;animation-name:slideup}.open .bottombar{display:none}.coach{bottom:16px}.legend{display:none}}@media (prefers-reduced-motion: reduce){.bob,.panel{animation:none}.stage,.bottombar,.fade{transition:none}}.steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:14px}.steps li{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.steps a.btn,.ov-sec a.btn{text-decoration:none;display:inline-flex;align-items:center}details summary{cursor:pointer}
