:root{--bg:#f5f5f7;--fg:#1d1d1f;--muted:#6e6e73;--line:#e3e3e8;--accent:#2a6df4;--card:#fff}@media (prefers-color-scheme:dark){:root{--bg:#1c1c1e;--fg:#f2f2f7;--muted:#9a9aa0;--line:#333338;--card:#2a2a2d}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:-apple-system,Apple SD Gothic Neo,system-ui,sans-serif}#app{height:100vh}button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;border-radius:8px;padding:6px 12px}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.link{color:var(--muted);background:0 0;border:0;text-decoration:underline}select,input[type=number]{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:6px;padding:4px 6px}.spacer{flex:1}.stars i{color:#bbb;font-style:normal}.stars i.on{color:#f5b400}.stars.big{font-size:34px}.select{max-width:980px;margin:0 auto;padding:28px}.select h1{margin:0 0 6px;font-size:34px}.sub{color:var(--muted);margin:0 0 24px}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.card{background:var(--card);border:1.5px solid var(--line);cursor:pointer;border-radius:14px;min-height:170px;padding:16px}.card:not(.locked){border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.card.locked{opacity:.55;cursor:default}.card .top{justify-content:space-between;align-items:center;display:flex}.card .num{color:var(--accent);font-size:28px;font-weight:800}.card h3{margin:8px 0 6px}.card p{color:var(--muted);margin:0 0 10px;font-size:14px}.card small{color:var(--muted)}.select footer{color:var(--muted);justify-content:space-between;margin-top:24px;display:flex}.about{border-top:1px solid var(--line);max-width:680px;margin-top:48px;padding-top:28px;line-height:1.7}.about h2{margin:0 0 12px;font-size:20px}.about p{color:var(--muted);margin:0 0 12px}.about p b{color:var(--fg)}.ad-slot{min-height:0;margin:24px 0}.ad-slot:empty{display:none}.legal{font-size:13px}.legal a{color:var(--muted)}.play{flex-direction:column;gap:12px;height:100%;padding:16px 20px;display:flex}.bar{align-items:baseline;gap:12px;display:flex}.bar h2{margin:0;font-size:20px}.bar h2 span{font-weight:400}.goal{color:var(--muted)}.body{flex:1;gap:20px;min-height:0;display:flex}.editor{flex:none;width:560px}.editor.locked{opacity:.55;pointer-events:none}.editor h3{margin:0 0 6px;font-size:15px}.coach{color:var(--muted);margin:0 0 10px;font-size:14px}.rule{align-items:center;gap:6px;margin:4px 0;display:flex}.rule .n{text-align:right;width:22px}.rule select:first-of-type{width:190px}.rule select:last-of-type{width:220px}.editor .row{align-items:center;gap:8px;margin-top:10px;display:flex}.editor label,.editor .muted{color:var(--muted)}.editor input{width:64px}.controls{align-items:center;gap:10px;display:flex}.controls .clock{color:var(--muted);font-variant-numeric:tabular-nums}.building{flex-direction:column;flex:1;min-width:0;display:flex}.building .head{color:var(--muted);gap:18px;margin-bottom:8px;display:flex}.building .clock{color:var(--fg);font:600 22px ui-monospace,monospace}.frame{background:var(--card);border:1px solid var(--line);border-radius:14px;align-items:flex-end;padding:10px;display:flex}.floors{flex:1}.floor{height:var(--floor);border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex}.floor .label{text-align:right;width:44px;color:var(--muted);font-size:12px}.people{align-items:flex-end;gap:4px;display:flex}.person{background:var(--h);border-radius:4px 4px 3px 3px;width:8px;height:19px;display:inline-block;position:relative}.person:before{content:"";background:inherit;border-radius:50%;width:6px;height:6px;position:absolute;top:-1px;left:1px;transform:translateY(-6px)}.person .mark{color:var(--muted);font-size:7px;font-style:normal;position:absolute;top:-15px;left:-1px}.person.h4 .mark{color:#e5484d;font-size:9px;font-weight:900}.person.h1{--h:#2f7cff}.person.h2{--h:#2fb7a8}.person.h3{--h:#e8a12a}.person.h4{--h:#e5484d}.more{color:var(--muted);font-size:11px}.shaft{background:#7f7f7f14;background-image:linear-gradient(var(--line) 1px, transparent 1px);background-size:100% var(--floor);width:76px;position:relative}.car{width:62px;height:calc(var(--floor) - 10px);background:var(--accent);transition:transform var(--step) ease-in-out;border-radius:6px;position:absolute;bottom:5px;left:7px;overflow:hidden}.car.full{background:#e5484d}.riders{flex-wrap:wrap;place-content:flex-end center;gap:1px;padding:4px;display:flex;position:absolute;inset:0}.rider{width:8px;height:14px;opacity:calc(1 - var(--row) * .4);margin-top:calc(var(--row) * -7px);background:#fff;border-radius:4px 4px 3px 3px}.door{background:#ffffff59;border-radius:2px;width:18%;transition:transform .15s;position:absolute;top:3px;bottom:3px}.door.l{left:50%;transform:translate(-100%)}.door.r{left:50%}.car.open .door.l{transform:translate(-230%)}.car.open .door.r{transform:translate(130%)}.overlay{background:#00000040;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}.result{background:var(--card);text-align:center;border-radius:20px;width:460px;padding:32px;box-shadow:0 20px 60px #0000004d}.verdict{font-size:40px;font-weight:900}.verdict.pass{color:#2fa84f}.verdict.fail{color:#e5484d}.stats{justify-content:center;gap:28px;margin:16px 0;display:flex}.stats div{flex-direction:column;display:flex}.stats b{font-size:22px}.stats small,.hint{color:var(--muted)}.result .row{justify-content:center;gap:12px;display:flex}
