:root{--background: 0 0% 100%;--foreground: 240 10% 3.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--muted: 240 3.8% 46.1%;--muted-foreground: 240 3.8% 46.1%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--primary: 240 5.9% 10%;--primary-foreground: 0 0% 98%;--secondary: 240 4.8% 95.9%;--ring: 240 5.9% 10%;--success: 142 71% 40%;--warning: 38 92% 45%;--danger: 0 72% 48%;--radius: 0px;--bg: hsl(var(--background));--bg-soft: hsl(var(--muted));--panel: hsl(var(--card));--panel-2: hsl(var(--muted));--text: hsl(var(--foreground));--muted-c: hsl(var(--muted-foreground));--accent: hsl(var(--primary));--accent-2: hsl(var(--primary));--green: hsl(var(--success));--amber: hsl(var(--warning));--red: hsl(var(--danger));--shadow: 0 1px 2px rgba(9, 9, 11, .04), 0 8px 24px rgba(9, 9, 11, .05);--shadow-sm: 0 1px 2px rgba(9, 9, 11, .05);--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:hsl(var(--foreground));font-family:var(--sans);-webkit-font-smoothing:antialiased}body{background-color:#fcfcfc;background-image:radial-gradient(42vmax 34vmax at 14% 8%,hsla(217,91%,58%,.18),transparent 58%),radial-gradient(44vmax 36vmax at 88% 94%,hsla(0,84%,60%,.16),transparent 60%);background-repeat:no-repeat;background-attachment:fixed}a{color:hsl(var(--primary));text-decoration:none}a:hover{text-decoration:underline}.app{max-width:1360px;margin:0 auto;padding:26px clamp(14px,3vw,32px) 64px}.site-header{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:6px 2px 20px}.brand{display:flex;gap:14px;align-items:center}.flag{font-size:32px}.site-header h1{margin:0;font-size:clamp(20px,3vw,28px);letter-spacing:-.03em;color:hsl(var(--foreground));font-weight:700}.tagline{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:14px;max-width:640px}.header-links{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:8px 14px;border-radius:var(--radius);background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:600;font-size:13px;border:1px solid hsl(var(--primary))}.pill:hover{text-decoration:none;opacity:.9}.pill.ghost{background:hsl(var(--card));border:1px solid hsl(var(--border));color:hsl(var(--foreground))}.pill.ghost:hover{background:hsl(var(--muted) / .08);opacity:1}.controls{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:grid;gap:16px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:12px;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.06em;font-weight:600}.field input{background:hsl(var(--card));border:1px solid hsl(var(--input));color:hsl(var(--foreground));border-radius:var(--radius);padding:11px 12px;font-size:14px;font-family:var(--mono);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field input::placeholder{color:hsl(var(--muted-foreground) / .7)}.field input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.hint{margin:2px 0 0;font-size:12px;color:hsl(var(--muted-foreground))}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap input{flex:1;padding-right:44px;width:100%}.dice{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:var(--radius);cursor:pointer;font-size:15px;line-height:1;transition:background .15s ease,transform .15s ease}.dice:hover:not(:disabled){background:hsl(var(--muted) / .1);transform:translateY(-50%) rotate(-12deg)}.dice:disabled{opacity:.5;cursor:not-allowed}.race-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.race-row .field{flex:1 1 220px}.arrow{color:hsl(var(--muted-foreground));font-size:22px;padding-bottom:10px}.steps-field{flex:0 0 170px;min-width:150px}.steps-field label{color:hsl(var(--foreground))}.steps-field input[type=range]{width:100%;accent-color:hsl(var(--primary));cursor:pointer;padding:0;height:22px}.buttons{display:flex;gap:8px}.btn{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));padding:11px 16px;border-radius:var(--radius);font-weight:600;font-size:14px;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .05s ease}.btn:hover{background:hsl(var(--muted) / .1)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn.primary:hover{background:hsl(var(--primary));opacity:.9}.btn.danger{background:hsl(var(--danger));border-color:hsl(var(--danger));color:#fff}.btn.danger:hover{opacity:.9}.btn.ghost{background:hsl(var(--card))}.banner{margin:16px 0 0;padding:11px 14px;border-radius:var(--radius);font-size:14px;font-weight:500;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground))}.banner.running{background:#3c83f612;border-color:#3c83f659}.banner.won{background:hsl(var(--success) / .1);border-color:hsl(var(--success) / .4);color:hsl(var(--success))}.banner.warn{background:hsl(var(--warning) / .1);border-color:hsl(var(--warning) / .4);color:#9d6607}.banner.error{background:hsl(var(--danger) / .08);border-color:hsl(var(--danger) / .4);color:hsl(var(--danger))}.stage{margin-top:16px;display:grid;grid-template-columns:1.5fr 1fr;gap:16px}@media (max-width: 960px){.stage{grid-template-columns:1fr}}.pane{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;min-width:0}.browser-chrome{display:flex;align-items:center;gap:12px;padding:10px 14px;background:hsl(var(--muted) / .06);border-bottom:1px solid hsl(var(--border))}.dots{display:inline-flex;gap:6px}.dots i{width:10px;height:10px;border-radius:0;background:hsl(var(--border))}.dots i:nth-child(1){background:#ff5f57}.dots i:nth-child(2){background:#febc2e}.dots i:nth-child(3){background:#28c840}.urlbar{flex:1;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:6px 12px;font-family:var(--mono);font-size:12px;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}.live-dot{width:8px;height:8px;border-radius:0;background:hsl(var(--success));box-shadow:0 0 hsl(var(--success) / .6);animation:pulse 1.4s infinite;flex:none;margin-left:auto}@keyframes pulse{0%{box-shadow:0 0 hsl(var(--success) / .6)}70%{box-shadow:0 0 0 8px hsl(var(--success) / 0)}to{box-shadow:0 0 hsl(var(--success) / 0)}}.viewport{height:640px;overflow:hidden}.wiki-content{height:100%;overflow-y:auto;padding:22px 26px;background:#fff;color:#202122;font-family:Helvetica Neue,Arial,sans-serif;line-height:1.6}.wiki-content h1,.wiki-content h2,.wiki-content h3{font-family:Georgia,Times New Roman,serif;border-bottom:1px solid #a2a9b1;padding-bottom:4px;color:#000}.wiki-content a{color:#36c}.wiki-content img{max-width:100%;height:auto}.wiki-content table{max-width:100%}.wiki-content .race-target{background:#fff3bf;outline:2px solid hsl(var(--warning));outline-offset:2px;border-radius:0;box-shadow:0 0 0 5px hsl(var(--warning) / .2);animation:targetpop .6s ease}@keyframes targetpop{0%{transform:scale(1.25)}to{transform:scale(1)}}.empty-view{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:40px;color:hsl(var(--muted-foreground))}.empty-view .big{font-size:54px;margin:0}.empty-view .muted{font-size:13px;max-width:360px}.jev-panel{display:flex;flex-direction:column;padding:16px;gap:12px;max-height:700px;overflow-y:auto}.jev-head{display:flex;align-items:center;justify-content:space-between}.jev-head h2{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em}.status{font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border-radius:var(--radius);background:hsl(var(--muted) / .08);border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-weight:600}.status.running{color:#0a5adb;border-color:#3c83f666;background:#3c83f614}.status.won{color:hsl(var(--success));border-color:hsl(var(--success) / .4);background:hsl(var(--success) / .08)}.status.error{color:hsl(var(--danger));border-color:hsl(var(--danger) / .4);background:hsl(var(--danger) / .08)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat{background:hsl(var(--muted) / .06);border:1px solid hsl(var(--border));border-radius:var(--radius);padding:10px 8px;text-align:center}.stat-value{display:block;font-size:18px;font-weight:700;font-family:var(--mono);color:hsl(var(--foreground))}.stat-label{display:block;font-size:11px;color:hsl(var(--muted-foreground));margin-top:2px}.action-banner{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius);background:hsl(var(--muted) / .08);border:1px solid hsl(var(--border))}.action-banner .op{font-weight:800;letter-spacing:.04em}.action-banner.op-done{border-color:hsl(var(--success) / .45);background:hsl(var(--success) / .1)}.action-banner.op-blocked{border-color:hsl(var(--danger) / .45);background:hsl(var(--danger) / .08)}.action-banner .arrow{color:hsl(var(--muted-foreground))}.action-banner .target{font-weight:600}.action-banner .latency{margin-left:auto;font-family:var(--mono);font-size:12px;color:hsl(var(--muted-foreground))}.block{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:4px 12px}.block>summary{cursor:pointer;padding:8px 0;font-size:13px;font-weight:600;color:hsl(var(--foreground));list-style:none}.block>summary::-webkit-details-marker{display:none}.block>summary:before{content:"▸";color:hsl(var(--muted-foreground));margin-right:8px;font-size:11px}.block[open]>summary:before{content:"▾"}.bars{display:flex;flex-direction:column;gap:6px;padding:4px 0 10px}.bar-row{display:grid;grid-template-columns:130px 1fr 48px;gap:8px;align-items:center;font-size:12px}.bar-label{color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--mono)}.bar-row.top .bar-label{color:hsl(var(--foreground))}.bar-track{height:8px;background:hsl(var(--muted) / .12);border-radius:0;overflow:hidden;border:1px solid hsl(var(--border))}.bar-fill{display:block;height:100%;background:hsl(var(--primary));transition:width .4s ease}.bar-row.top .bar-fill{background:hsl(var(--success))}.bar-value{font-family:var(--mono);text-align:right;color:hsl(var(--muted-foreground))}.json{margin:0 0 10px;padding:10px;background:hsl(var(--muted) / .08);border:1px solid hsl(var(--border));border-radius:var(--radius);font-family:var(--mono);font-size:11px;line-height:1.5;color:#3c3c44;max-height:260px;overflow:auto;white-space:pre}.path-list{margin:4px 0 6px;padding-left:20px;font-size:13px}.path-list li{padding:2px 0;color:hsl(var(--muted-foreground))}.path-list li.current{color:hsl(var(--success));font-weight:600}.dest-note{font-size:12px;color:hsl(var(--muted-foreground));margin:4px 0 8px}.event-log{list-style:none;margin:4px 0 8px;padding:0;font-size:12px;max-height:200px;overflow:auto}.event-log .ev{display:flex;gap:8px;padding:5px 8px;border-radius:0;align-items:center}.event-log .ev:nth-child(odd){background:hsl(var(--muted) / .07)}.event-log .ev-text{flex:1;font-family:var(--mono)}.event-log .ev-ms{color:hsl(var(--muted-foreground));font-family:var(--mono)}.event-log .ev.win .ev-text{color:hsl(var(--success))}.event-log .ev.error .ev-text{color:hsl(var(--danger))}.muted{color:hsl(var(--muted-foreground))}.small{font-size:12px}.site-footer{margin-top:24px;display:grid;gap:14px}.blooio-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.blooio-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.blooio-logo{border-radius:0;background:hsl(var(--card));border:1px solid hsl(var(--border));padding:4px}.blooio-head h3{margin:0;font-size:17px;font-weight:700;letter-spacing:-.01em}.blooio-head p{margin:2px 0 0;color:hsl(var(--muted-foreground));font-size:13px}.blooio-head .btn{margin-left:auto}.blooio-sub{margin:16px 0 0;padding-top:14px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.blooio-sub strong{color:hsl(var(--foreground))}.footer-meta{display:grid;gap:8px}.privacy{margin:0;font-size:13px;color:hsl(var(--muted-foreground));background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:12px 14px;line-height:1.6}.privacy strong{color:hsl(var(--foreground))}.credits{margin:0;font-size:13px;color:hsl(var(--muted-foreground));text-align:center}
