:root{--ink: #06080b;--panel: rgba(10, 12, 16, .66);--panel-strong: rgba(10, 12, 16, .86);--line: rgba(255, 255, 255, .13);--text: #f3f4f6;--muted: rgba(243, 244, 246, .64);--accent: #ff6a3d;--accent-ink: #1a0b05;--ok: #7be0a6;--radius: 14px;--font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;background:var(--ink);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}#stage{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#stage:active{cursor:grabbing}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;padding:.72rem 1.25rem;font:600 .95rem/1 var(--font);color:var(--accent-ink);background:var(--accent);cursor:pointer;transition:transform .15s ease,filter .15s ease,opacity .15s ease;white-space:nowrap}.btn:hover{filter:brightness(1.08)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--ghost{color:var(--text);background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 40%,#121722 0%,var(--ink) 70%);transition:opacity .8s ease,visibility .8s ease}.loader.is-done{opacity:0;visibility:hidden}.loader__inner{width:min(30rem,84vw);text-align:center}.loader__eyebrow{margin:0 0 .8rem;letter-spacing:.34em;font-size:.78rem;color:var(--accent)}.loader__title{margin:0 0 1.6rem;font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:700;letter-spacing:-.02em}.loader__note{margin:1rem 0 0;color:var(--muted);font-size:.92rem}.bar{height:3px;background:#ffffff1f;border-radius:3px;overflow:hidden}.bar__fill{height:100%;width:0%;background:var(--accent);transition:width .25s ease}.top{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:1.2rem;padding:1rem 1.25rem;pointer-events:none;background:linear-gradient(to bottom,#06080b8c,#06080b00)}.top>*{pointer-events:auto}.top__back{color:var(--text);text-decoration:none;font-weight:700;letter-spacing:.14em;font-size:.8rem;opacity:.9}.top__back:hover{opacity:1;color:var(--accent)}.top__place{display:flex;flex-direction:column;gap:.15rem;line-height:1.2}.top__place strong{font-size:1.02rem;font-weight:700;letter-spacing:-.01em}.top__place span{font-size:.84rem;color:var(--muted)}.top__place span.is-branch{color:var(--accent)}.top__tools{margin-left:auto;display:flex;align-items:center;gap:.6rem}.seg{display:inline-flex;padding:3px;border-radius:999px;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);font:600 .82rem/1 var(--font);padding:.5rem .85rem;border-radius:999px;cursor:pointer}.seg button[aria-pressed=true]{background:#ffffff24;color:var(--text)}.tree{position:fixed;left:1.25rem;top:5.4rem;z-index:20;width:15.5rem;padding:.95rem 1rem .9rem;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tree__head{margin:0 0 .6rem;font-size:.74rem;letter-spacing:.2em;color:var(--muted)}.tree__list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.tree__node{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .55rem;border:0;border-radius:10px;background:transparent;color:var(--text);font:500 .9rem/1.25 var(--font);text-align:left;cursor:pointer}.tree__node:hover{background:#ffffff12}.tree__node[aria-current=true]{background:#ff6a3d29}.tree__node small{display:block;color:var(--muted);font-size:.74rem;font-weight:400;margin-top:.1rem}.tree__dot{flex:none;width:9px;height:9px;border-radius:50%;background:#ffffff80}.tree__node[aria-current=true] .tree__dot{background:var(--accent);box-shadow:0 0 0 4px #ff6a3d38}.tree__list{max-height:clamp(7rem,calc(100vh - 28rem),44vh);overflow-y:auto;scrollbar-width:thin}.tree__node--child{margin-left:calc(var(--depth, 1) * .9rem);width:calc(100% - var(--depth, 1) * .9rem);position:relative}.tree__node--child:before{content:"";position:absolute;left:-.55rem;top:-.3rem;width:.5rem;height:1.25rem;border-left:1px solid var(--line);border-bottom:1px solid var(--line);border-bottom-left-radius:6px}.tree__live{margin:.75rem 0 0;padding-top:.65rem;border-top:1px solid var(--line);font-size:.76rem;color:var(--muted);line-height:1.45}.tree__live.is-on{color:var(--ok)}.tree__live.is-warn{color:#ffb45e}.flow{position:fixed;right:1.25rem;top:5.4rem;z-index:20;width:19rem;padding:1rem 1.1rem;border-radius:var(--radius);background:var(--panel-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.flow[hidden]{display:none}.flow__title{margin:0 0 .75rem;font-weight:700;font-size:.98rem;line-height:1.35}.flow__steps{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.flow__step{display:grid;grid-template-columns:1.1rem 1fr auto;gap:.55rem;align-items:baseline;font-size:.86rem;color:var(--muted)}.flow__step b{font-weight:600;color:var(--text)}.flow__step small{display:block;font-size:.72rem;color:var(--muted)}.flow__step time{font-variant-numeric:tabular-nums;font-size:.8rem}.flow__mark{width:.7rem;height:.7rem;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);align-self:center}.flow__step.is-running .flow__mark{border-color:var(--accent);border-top-color:transparent;animation:spin .9s linear infinite}.flow__step.is-done .flow__mark{background:var(--ok);border-color:var(--ok)}.flow__step.is-failed .flow__mark{background:#ff5d5d;border-color:#ff5d5d}.flow__total{margin:.75rem 0 0;padding-top:.65rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;font-size:.86rem;font-weight:600;color:var(--text)}.flow__total[hidden]{display:none}.flow__total b{font-size:1.05rem;font-variant-numeric:tabular-nums;color:var(--accent)}.flow__note{margin:.8rem 0 0;font-size:.78rem;color:var(--muted);line-height:1.5}@keyframes spin{to{transform:rotate(360deg)}}.dock{position:fixed;left:50%;bottom:1.35rem;transform:translate(-50%);z-index:20;width:min(46rem,calc(100vw - 2.5rem));display:grid;gap:.6rem}.dock__tools{display:flex;gap:.9rem;justify-content:center;align-items:center;pointer-events:auto}.dock__tools[hidden]{display:none}.switch{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--text);cursor:pointer;text-shadow:0 1px 8px rgba(0,0,0,.8)}.switch input{accent-color:var(--accent);width:1rem;height:1rem}.chips{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:999px;padding:.5rem .9rem;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--text);font:500 .86rem/1 var(--font);cursor:pointer}.chip:hover{border-color:var(--accent)}.chip small{color:var(--muted);margin-left:.4rem;font-size:.74rem}.prompt{display:flex;gap:.5rem;padding:.45rem .45rem .45rem 1.15rem;border-radius:999px;background:var(--panel-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.prompt:focus-within{border-color:#ff6a3db3}.prompt input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:500 1rem/1.2 var(--font)}.prompt input::placeholder{color:var(--muted)}.prompt.is-locked{background:var(--panel)}.prompt.is-locked input{cursor:not-allowed;color:var(--muted)}.login{justify-self:center;display:flex;align-items:center;gap:.35rem;width:min(25rem,100%);padding:.25rem .25rem .25rem 1.05rem;border-radius:999px;background:var(--panel-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login[hidden]{display:none}.login:focus-within{border-color:#ff6a3db3}.login input{flex:1 1 0;width:0;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:500 .9rem/1.2 var(--font)}.login input::placeholder{color:var(--muted)}.login input+input{padding-left:.75rem;border-left:1px solid var(--line)}.login input:-webkit-autofill{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--text);caret-color:var(--text)}.login .btn{padding:.45rem .95rem;font-size:.84rem}.dock__foot{display:flex;justify-content:center;align-items:baseline;gap:.9rem}.dock__hint{margin:0;text-align:center;font-size:.76rem;color:var(--muted);text-shadow:0 1px 8px rgba(0,0,0,.8)}.dock__logout{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:none;color:var(--muted);font:500 .76rem var(--font);text-decoration:underline;text-underline-offset:.2em;text-shadow:0 1px 8px rgba(0,0,0,.8);cursor:pointer}.dock__logout:hover{color:var(--text)}.toast{position:fixed;left:50%;top:5.6rem;transform:translate(-50%);z-index:30;max-width:min(34rem,86vw);padding:.8rem 1.1rem;border-radius:12px;background:var(--panel-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:.9rem;line-height:1.5;text-align:center}.toast[hidden]{display:none}body.is-event:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;box-shadow:inset 0 0 22vw #0000008c;animation:vignette-in .8s ease both}@keyframes vignette-in{0%{opacity:0}to{opacity:1}}@media (max-width: 760px){.tree{display:none}.flow{left:1rem;right:1rem;width:auto;top:4.6rem}.top__place span,.dock__hint{display:none}.dock__foot{display:contents}.dock__logout{justify-self:center}.login input{font-size:1rem}.login .btn{padding:.6rem 1rem}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
