@font-face{font-family:Formula1;src:url(../fonts/Formula1-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Formula1;src:url(../fonts/Formula1-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Formula1;src:url(../fonts/Formula1-Black.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Formula1;src:url(../fonts/Formula1-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}:root{--paper:#eae4d6;--paper-deep:#ded6c3;--ink:#3f3a33;--ink-soft:#8a8274;--board:#f4efe3;--terracotta:#c96b4a;--teal:#5e8a87}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{background:radial-gradient(ellipse at 50% 20%,var(--paper) 0%,var(--paper-deep) 90%);display:flex;align-items:center;justify-content:center;font-family:Jost,sans-serif;color:var(--ink);overflow:hidden;user-select:none}#wrap{position:relative}canvas{display:block;background:transparent;border-radius:4px}#wheel{position:absolute;right:26px;bottom:26px;width:262px;background:#1c1a18ed;border-radius:10px;padding:11px 16px 12px;border:2px solid transparent;display:none;flex-direction:column;gap:8px;pointer-events:none;z-index:3;box-shadow:0 10px 30px #3f3a3347;transition:box-shadow .25s}#wheel.slip{box-shadow:0 0 24px #5e8a87e6,0 10px 30px #3f3a3347}.wlbl{font-family:Formula1;font-size:7px;letter-spacing:.18em;padding-left:.18em;color:#8a8274;font-weight:700;white-space:nowrap}.wtop{display:flex;align-items:flex-start;justify-content:space-between}.wleft{display:flex;flex-direction:column;gap:2.5px;text-align:left;flex:1}#wcar{font-family:Formula1;font-weight:700;font-size:13px;line-height:1}#wpos{font-family:Formula1;font-weight:700;font-size:11px;color:#b3ab9c;line-height:1}#wlap{font-family:Formula1;font-weight:700;font-size:8px;color:#8a8274;letter-spacing:.08em;font-variant-numeric:tabular-nums}.wcenter{display:flex;flex-direction:column;align-items:center;gap:2px}#wgearbig{font-family:Formula1;font-weight:900;font-size:33px;color:#f4efe3;line-height:1}.wright{flex:1;text-align:right}#wtime{font-family:Formula1;font-size:11px;color:#8a8274;font-weight:700;letter-spacing:.05em;font-variant-numeric:tabular-nums}#wpower{display:flex;gap:5px}.wseg{flex:1;height:16px;border-radius:3px;background:#f4efe314;border:1px solid rgba(244,239,227,.16);overflow:hidden;position:relative}.wseg .fill{position:absolute;inset:0;width:0%;background:#f4efe3;transition:width .04s linear}.wseg.sel{border-color:#f4efe3d9}.wseg.hot .fill{background:#cf3a2b}.wseg.hot{border-color:#cf3a2b}.wseg.slip .fill{background:#5e8a87}#wturnwrap{display:flex;flex-direction:column;align-items:center;gap:5px;opacity:.22;transition:opacity .15s;margin-top:2px}#wturnwrap.on{opacity:1}.whead{font-size:8px}.wturn{display:flex;align-items:flex-start;justify-content:center;gap:22px}.wt{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:52px}#warrow{font-size:14px;color:#f4efe3;line-height:1;padding-top:3px}#wgear{width:22px;height:22px;border-radius:50%;background:#f4efe3;color:#1c1a18;font-family:Formula1;font-weight:900;font-size:12px;display:flex;align-items:center;justify-content:center}#wdist{font-family:Formula1;font-weight:700;font-size:13px;color:#f4efe3;letter-spacing:.06em;font-variant-numeric:tabular-nums;padding-top:3px}#wturnwrap.hot #warrow,#wturnwrap.hot #wdist{color:#cf3a2b}#wturnwrap.hot #wgear{background:#cf3a2b;color:#f4efe3;animation:pulse .5s ease-in-out infinite}#title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#eae4d6d1;text-align:center;padding:30px;z-index:6}#title.hidden{display:none}.biglogo{font-family:Formula1,serif;font-size:104px;line-height:1;font-weight:900;color:var(--ink);letter-spacing:.01em}.biglogo em{font-style:italic;color:var(--terracotta)}.rule{width:56px;height:1px;background:var(--ink-soft)}.tagline{font-size:12px;letter-spacing:.5em;padding-left:.5em;color:var(--ink-soft);font-weight:600}#pressany{margin-top:34px;font-family:Formula1;font-weight:700;font-size:13px;letter-spacing:.4em;padding-left:.4em;color:var(--ink);animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}#titlecredit{position:absolute;bottom:26px;font-size:10px;letter-spacing:.18em;color:var(--ink-soft)}#overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#eae4d6f0;text-align:center;padding:30px}#overlay.hidden{display:none}.menulogo{font-family:Formula1,serif;font-size:38px;line-height:1;font-weight:900;color:var(--ink);letter-spacing:.01em}.menulogo em{font-style:italic;color:var(--terracotta)}#menuMain{display:flex;flex-direction:column;align-items:center;gap:16px}.menusec{display:flex;flex-direction:column;align-items:center;gap:9px}.seclbl{font-family:Formula1;font-size:9px;letter-spacing:.44em;padding-left:.44em;font-weight:700;color:var(--ink-soft)}.trackcard{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 14px 8px;background:transparent;border:1px solid rgba(63,58,51,.25);border-radius:3px;cursor:pointer;transition:border-color .15s,background .15s}.trackcard:hover{border-color:var(--ink)}.trackcard.active{border-color:var(--ink);background:#3f3a330f}.trackcard canvas{display:block}.trackcard .tname{font-family:Formula1;font-size:10px;letter-spacing:.26em;padding-left:.26em;font-weight:700;color:var(--ink)}.trackcard .tmeta{font-size:9px;letter-spacing:.14em;color:var(--ink-soft);font-weight:600}#trackrow{display:flex;gap:12px;justify-content:center}#carrow{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;max-width:780px}.carbtn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 8px 7px;background:transparent;border:1px solid rgba(63,58,51,.25);border-radius:3px;cursor:pointer;transition:border-color .15s,background .15s}.carbtn:hover{border-color:var(--ink)}.carbtn.active{border-color:var(--ink);background:#3f3a330f}.carbtn .sw{width:96px;height:61px;border-radius:2px;opacity:.25}.carbtn .cimg{width:96px;height:61px;display:block;image-rendering:auto}.carbtn .cname{font-family:Formula1;font-size:9.5px;letter-spacing:.2em;padding-left:.2em;font-weight:700;color:var(--ink)}.cbars{width:96px;display:flex;flex-direction:column;gap:2.5px;margin-top:3px}.cbar{display:flex;align-items:center;gap:5px}.cbar .l{font-family:Formula1;font-size:6.5px;letter-spacing:.1em;color:var(--ink-soft);width:22px;text-align:left;font-weight:700}.cbar .t{flex:1;height:4px;background:#3f3a331f;border-radius:1px;overflow:hidden;display:block}.cbar .f{display:block;height:100%;background:var(--ink);border-radius:1px}.menurow2{display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:6px}.ghostbtn{font-family:Formula1;font-weight:700;font-size:9px;letter-spacing:.28em;padding:9px 16px 9px 20px;background:transparent;color:var(--ink);border:1px solid var(--ink-soft);border-radius:2px;cursor:pointer;transition:border-color .15s}.ghostbtn:hover{border-color:var(--ink)}#resultbox{display:flex;flex-direction:column;align-items:center;gap:12px}#resulthead{font-family:Formula1;font-weight:900;font-size:40px;color:var(--ink)}#resulthead em{font-style:italic;color:var(--terracotta)}#resultlist{font-size:15px;line-height:2.2;letter-spacing:.06em}#resultlist .you{color:var(--terracotta);font-weight:600}#againbtn{font-family:Formula1;font-weight:700;font-size:13px;letter-spacing:.34em;color:var(--board);background:var(--ink);border:none;border-radius:2px;padding:16px 40px 16px 46px;cursor:pointer;transition:background .15s}#againbtn:hover{background:#575147}#howto{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:#eae4d6f7;z-index:10;text-align:center;padding:40px}#howto .sub{font-size:15px;max-width:470px;line-height:1.7;color:var(--ink)}#howto .sub b{font-weight:600}.legend{display:flex;gap:34px;margin-top:2px}.leg{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:9.5px;letter-spacing:.24em;font-weight:600;color:var(--ink-soft)}.leg .demo{display:flex;gap:3px}.leg .d{width:16px;height:6px;border-radius:1.5px;background:#3f3a331f;border:1px solid rgba(63,58,51,.15)}.leg .d.on{background:var(--ink)}.leg .d.bad{background:var(--terracotta)}.leg .badge{width:22px;height:22px;border-radius:50%;background:var(--board);border:1.3px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:"DM Serif Display";font-size:13px;color:var(--ink)}.keys{display:flex;gap:40px;margin-top:2px;flex-wrap:wrap;justify-content:center}.key-item{display:flex;flex-direction:column;align-items:center;gap:9px;font-size:10px;letter-spacing:.28em;font-weight:600;color:var(--ink-soft)}kbd{display:inline-block;min-width:40px;padding:8px 12px;background:#f7f3e8;border:1px solid #c9c1ae;border-bottom:3px solid #b3aa95;border-radius:6px;font-family:Jost;font-weight:600;font-size:15px;color:var(--ink);text-align:center;box-shadow:0 4px 10px #3f3a3314}#go{margin-top:6px;font-family:Formula1,Jost;font-weight:700;font-size:13px;letter-spacing:.34em;color:var(--board);background:var(--ink);border:none;border-radius:2px;padding:16px 46px 16px 52px;cursor:pointer;pointer-events:auto;transition:background .15s,transform .1s}#go:hover{background:#575147;transform:translateY(-1px)}#credit{font-size:10px;letter-spacing:.18em;color:var(--ink-soft)}#results{font-size:15px;line-height:2.3;letter-spacing:.06em}#results .you{color:var(--terracotta);font-weight:600}#whiteout{position:absolute;inset:0;background:#faf8f2;opacity:0;pointer-events:none;z-index:3}#lights{position:absolute;top:112px;left:50%;transform:translate(-50%);display:none;gap:14px;padding:15px 20px;background:#1c1a18eb;border-radius:6px;pointer-events:none;z-index:4;box-shadow:0 10px 30px #3f3a3340}.light{width:32px;height:32px;border-radius:50%;background:#38322c;box-shadow:inset 0 3px 7px #0009;transition:background .06s}.light.on{background:#cf3a2b;box-shadow:0 0 20px #cf3a2bcc,inset 0 -3px 6px #00000040}#minimap{position:absolute;top:26px;right:26px;background:#f4efe3d1;border:1px solid var(--ink-soft);border-radius:2px;pointer-events:none}#trackrow{display:flex;gap:8px;justify-content:center}.trackbtn{font-family:Formula1,Jost;font-size:10px;letter-spacing:.28em;font-weight:700;padding:9px 18px;background:transparent;color:var(--ink-soft);border:1px solid var(--ink-soft);border-radius:2px;cursor:pointer;transition:color .15s,border-color .15s}.trackbtn:hover{color:var(--ink);border-color:var(--ink)}.trackbtn.active{color:var(--board);background:var(--ink);border-color:var(--ink)}#pausehint{position:absolute;top:212px;right:26px;background:#f4efe3eb;border:1px solid var(--ink-soft);border-radius:2px;padding:10px 14px;font-size:10px;letter-spacing:.22em;font-weight:600;color:var(--ink);text-align:left;line-height:2;pointer-events:none}#coords{position:absolute;bottom:26px;left:26px;background:#f4efe3eb;border:1px solid var(--ink-soft);border-radius:2px;padding:7px 12px;font-size:11px;letter-spacing:.14em;font-weight:600;color:var(--ink);pointer-events:none;font-variant-numeric:tabular-nums}#editorpanel{position:absolute;top:20px;left:16px;background:#f4efe3e0;border:1px solid var(--ink-soft);border-radius:2px;padding:12px 14px;font-size:10px;letter-spacing:.18em;font-weight:600;color:var(--ink);text-align:left;line-height:2;pointer-events:auto;z-index:5}#edgrip{cursor:move;display:block;padding-bottom:4px;border-bottom:1px solid rgba(63,58,51,.2);margin-bottom:6px}#edselect{width:162px;margin:5px 0;font-family:Jost;font-size:10px;letter-spacing:.08em;font-weight:600;color:var(--ink);background:#f7f3e8;border:1px solid var(--ink-soft);border-radius:2px;outline:none}.edbtn{font-family:Jost;font-size:9px;letter-spacing:.2em;font-weight:600;padding:6px 10px;background:transparent;color:var(--ink);border:1px solid var(--ink-soft);border-radius:2px;cursor:pointer}.edbtn-solid{background:var(--ink);color:var(--board);border:none}#exportmodal{position:absolute;inset:0;background:#eae4d6f5;z-index:20;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:40px}.modal-title{font-size:11px;letter-spacing:.3em;font-weight:600;color:var(--ink)}#exporttext{width:min(640px,90%);height:55%;font-family:monospace;font-size:11px;padding:12px;background:#f7f3e8;border:1px solid var(--ink-soft);border-radius:2px;color:var(--ink);resize:none;outline:none}.modalbtn{font-family:Jost;font-size:11px;letter-spacing:.24em;font-weight:600;padding:12px 24px;background:transparent;color:var(--ink);border:1px solid var(--ink-soft);border-radius:2px;cursor:pointer}.modalbtn-solid{background:var(--ink);color:var(--board);border:none}
