@font-face{font-family:DM;src:url('/assets/dm-sans.ttf') format('truetype');font-display:swap;font-weight:100 900}
@font-face{font-family:Pixel;src:url('/assets/pixelify.ttf') format('truetype');font-display:swap;font-weight:100 900}
:root{color-scheme:dark;--bg:#0b1020;--panel:#111627;--text:#f3eedf;--muted:#949bac;--gold:#edc878;--line:#ffffff14;--teal:#8fc6b1;--purple:#c1a7c3}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--bg);color:var(--text);font-family:DM,Arial,sans-serif;font-size:16px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}svg{width:21px;height:21px;flex-shrink:0}button:disabled{cursor:wait;opacity:.7}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin:0}button{border:0}::selection{background:#edc878;color:#111627}.shell{max-width:1440px;padding:0 62px;margin:auto}.topbar{height:110px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px}.brand>svg{width:32px;height:32px;color:var(--gold)}.brand>span{font-family:Pixel,monospace;font-size:22px;line-height:1.1;letter-spacing:1px}.icon-button{background:transparent;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.game-window{min-height:638px;position:relative;overflow:hidden;border:1px solid #6c748032;background:#101728;isolation:isolate}.scene{position:absolute;inset:0;background:url('/assets/island.png') center center/cover no-repeat;z-index:-3;image-rendering:pixelated}.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111626 0%,#111626ef 28%,#111626b8 43%,#1116261c 64%,#11162600 100%);z-index:-2}.window-bottom{position:absolute;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.7px;color:#b6bbcb}.window-bottom{bottom:19px;font-size:9px;color:#a7adc0}.login-panel{padding:95px 0 75px 58px;position:relative;max-width:495px;min-height:638px}.chapter{font-size:10px;letter-spacing:2px;color:var(--gold);display:flex;gap:10px;align-items:center;margin-bottom:20px}.chapter>span{width:18px;height:1px;background:var(--gold)}h1{font:500 48px/1.06 Pixel,monospace;letter-spacing:-1.4px;margin-bottom:20px}h1 em{font-style:normal;color:var(--gold)}.intro{font-size:15px;color:#aeb5c6;line-height:1.8;margin-bottom:29px}form{max-width:347px}label{font-size:13px;font-weight:500;display:block;margin-bottom:10px;color:#e0dfdf}.input-wrap{position:relative}.input-wrap svg{position:absolute;left:15px;top:17px;width:18px;height:18px;color:#838a9d}input{width:100%;height:53px;border:1px solid #d0d5e42b;border-radius:3px;background:#0b10207a;color:var(--text);padding:12px 15px;font-size:14px;transition:border-color .15s}input::placeholder{color:#788193}input:focus{border-color:var(--gold);outline:none}.input-wrap input{padding-left:45px}.primary{background:var(--gold);color:#242027;min-height:51px;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:14px;font-weight:600;border-radius:3px;box-shadow:0 3px 0 #a37c3c;transition:background .2s,transform .2s}.primary:hover{background:#ffda8a;transform:translateY(-1px)}form>.primary{width:100%;margin-top:14px}.form-note{font-size:11px;color:#7f889e;margin-top:15px}.panel-divider{height:1px;width:347px;background:var(--line);margin:27px 0 20px}.helper-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#b6bdd0}.helper-link:hover{color:var(--gold)}.helper-link svg:first-child{width:17px;height:17px;color:var(--gold)}.helper-link svg:last-child:not(:first-child){width:12px;height:12px}.scene-caption{position:absolute;right:31px;bottom:61px;display:flex;flex-direction:column;gap:6px;text-align:right;font-family:Pixel,monospace;font-size:19px;color:#dfdec7;text-shadow:1px 2px 2px #000}.coordinate{font-family:DM,sans-serif;font-size:9px;letter-spacing:2px;color:#a5c7c7}footer{display:flex;justify-content:flex-end;align-items:center;gap:14px;color:#667087;font-size:11px;padding:29px 0 25px}.footer-dot{margin:0 10px}.text-button{padding:0;background:none;font-size:inherit;color:inherit}.text-button:hover{color:var(--gold)}.back-button{display:block;background:none;color:#9da7bc;font-size:12px;padding:0;margin:-20px 0 19px}.is-challenge .login-panel{padding-top:83px;max-width:502px}.is-challenge h1{font-size:40px;margin-bottom:14px}.challenge-instructions{color:#adb6cb;font-size:14px;line-height:1.7;margin-bottom:20px}.challenge-instructions strong{color:#e5d8b8;font-weight:500}.challenge-card{position:relative;display:flex;gap:25px;align-items:center;border:1px solid #d1b77736;background:#121c30cc;border-radius:4px;padding:13px 20px 13px 13px;width:347px;margin-bottom:18px}.portrait{--pw:94px;position:relative;width:var(--pw);height:calc(var(--pw)*210/180);background:transparent;flex-shrink:0;overflow:hidden}.portrait-half{position:absolute;width:100%;overflow:hidden;left:0}.portrait-half.upper{top:0;height:calc(100%*100/210)}.portrait-half.lower{top:calc(100%*100/210);height:calc(100%*110/210)}.portrait-half img{position:absolute;width:100%;height:auto;max-width:none;left:0}.portrait-half.upper img{top:0}.portrait-half.lower img{bottom:0}.eyebrow{font-size:9px;color:#929caf;letter-spacing:1.8px}.challenge-card h2{font:400 31px Pixel,monospace;color:var(--gold);line-height:1.3;margin:3px 0 7px}.mini-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#9caabd}.mini-tag svg{width:14px;height:14px}.corner-mark{position:absolute;right:12px;top:7px;font-size:13px;color:#e7c88566}.year-row{display:flex;gap:12px}.year-row input{width:155px;font:400 28px Pixel,monospace;text-align:center;letter-spacing:7px}.year-row .primary{flex:1}.error-message{font-size:12px;color:#ffc29f;line-height:1.5;margin-top:8px;min-height:18px}.challenge-actions{display:flex;align-items:center;justify-content:space-between;max-width:347px;margin:14px 0 10px}.challenge-actions .text-button{display:flex;align-items:center;gap:6px;color:#8994aa;font-size:11px}.challenge-actions .text-button svg{width:13px;height:13px}.email-tag{display:flex;align-items:center;gap:7px;color:#6f7d97;font-size:11px;max-width:347px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.email-tag svg{width:13px;height:13px}.is-welcome .login-panel{padding-top:103px;max-width:570px}.is-welcome h1{font-size:49px}.is-welcome .intro{margin-bottom:22px}.welcome-quote{font-family:Pixel,monospace;color:#cdc3db;font-size:20px;margin-bottom:22px}.is-welcome .email-tag{margin-bottom:20px}.is-welcome .primary{width:255px}.is-welcome .scene-shade{background:linear-gradient(90deg,#111626f5 5%,#111626b8 37%,#11162610 68%)}dialog{border:1px solid #ffffff30;border-radius:8px;background:#141b2d;color:var(--text);padding:28px;max-width:min(530px,calc(100% - 32px));line-height:1.8}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:20px}.dialog-heading h2{font:30px Pixel,monospace}dialog p{font-size:14px;color:#aeb8ca;margin-bottom:15px}dialog a{color:var(--gold);text-decoration:underline}.dialog-heading button{font-size:28px}
/* Two concentric controls, kept independent from the access screen. */
.wheel-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:25px 0 24px}.wheel-heading .chapter{margin-bottom:11px}.wheel-heading h1{font-size:44px;margin:0}.wheel-heading>p{font-size:14px;color:var(--muted);max-width:290px}.wheel-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr);gap:30px;align-items:center}.wheel-stage{position:relative;border:1px solid var(--line);background:radial-gradient(ellipse at center,#242039,#0f1423 71%);aspect-ratio:1;min-width:0;display:grid;place-items:center;overflow:hidden;border-radius:5px}.wheel-stage:before{content:'MARCA · UN · PIRATA';position:absolute;top:15px;left:0;right:0;text-align:center;letter-spacing:3px;font-size:9px;color:#7b8398}.wheel-stage:after{content:'ARRASTRA LOS DISCOS PARA GIRARLOS';position:absolute;bottom:16px;left:0;right:0;text-align:center;letter-spacing:1.8px;font-size:9px;color:#747e97;pointer-events:none}.wheel-viewport{width:100%;aspect-ratio:1;position:relative}.wheel{width:680px;height:680px;position:absolute;left:50%;top:50%;transform-origin:center;user-select:none;touch-action:none}.disc{position:absolute;inset:25px;border-radius:50%;background:#c6aec6;border:3px solid #e5cce08c;box-shadow:0 10px 60px #0009,inset 0 0 35px #76578280;cursor:grab;touch-action:none}.disc:active{cursor:grabbing}.outer-disc{background:#b9a3bf}.disc-inner-decoration{position:absolute;inset:132px;border-radius:50%;background:#bda5c1;border:2px solid #79677b;box-shadow:0 1px 7px #392c49b0;pointer-events:none}.wheel-face-part{position:absolute;width:105px;height:60px;left:50%;top:50%;transform-origin:50% 0;overflow:hidden;pointer-events:none}.wheel-face-part img{position:absolute;width:105px;height:122.5px;max-width:none;left:0;pointer-events:none}.wheel-face-part.top img{top:0}.wheel-face-part.bottom img{bottom:0}.wheel-face-part.top{height:58.333px}.wheel-face-part.bottom{height:64.167px}.inner-disc{inset:105px;background:transparent;border:0;box-shadow:none;z-index:2}.inner-hit{position:absolute;inset:0;border-radius:50%;pointer-events:auto}.wheel-central{position:absolute;inset:194px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;z-index:3}.wheel-central h2{font:40px/1 Pixel,monospace;text-align:center;color:#69516d;transform:rotate(-9deg)}.wheel-central p{font:9px DM,sans-serif;color:#705c75;margin-top:13px;letter-spacing:2px}.wheel-pin{width:25px;height:25px;border:7px solid #645161;border-radius:50%;background:#231e30;box-shadow:0 2px 4px #0007;margin-bottom:13px}.port-window{position:absolute;left:50%;top:50%;width:78px;transform-origin:39px 0;text-align:center;pointer-events:none}.port-window strong{display:block;background:#42384a;color:#f6e4c0;border:2px solid #9b839f;box-shadow:inset 0 2px 5px #0009;font:26px/1.2 Pixel,monospace;padding:3px 0}.port-window span{font-size:12px;line-height:1.2;color:#46364e;font-weight:bold;display:block;margin-top:4px}.wheel-pointer{position:absolute;top:27px;left:50%;transform:translateX(-50%);color:var(--gold);font-size:26px;z-index:5;filter:drop-shadow(0 2px 3px #000)}.wheel-side{padding:12px 0}.side-kicker{font-size:10px;letter-spacing:2px;color:var(--gold);margin-bottom:17px}.combination{display:flex;align-items:center;gap:23px;margin-bottom:22px}.combination .portrait{--pw:109px;filter:drop-shadow(0 4px 6px #0004)}.combination h2{font:29px/1.1 Pixel,monospace;margin-bottom:10px}.combination p{font-size:12px;color:#929fb7;max-width:170px}.ring-control{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:14px 0}.ring-control label{margin:0;font-size:13px;color:#c2c9d8}.ring-control label small{display:block;color:#737f97;font-size:11px;margin-top:2px}.ring-buttons{display:flex;gap:7px;align-items:center}.ring-buttons button{border:1px solid #ffffff20;border-radius:3px;background:#161d2f;width:38px;height:36px;font-size:20px;line-height:1}.ring-buttons button:hover{border-color:var(--gold);color:var(--gold)}.ring-buttons output{font:19px Pixel,monospace;color:#939fb3;min-width:40px;text-align:center}.port-readout{background:#151f30;border:1px solid #edc87830;border-radius:4px;padding:16px 19px;margin-top:14px}.port-readout label{font-size:10px;letter-spacing:1.5px;color:#9ba6b9}.port-value-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.port-value-row select{background:#0f1727;border:1px solid #ffffff20;border-radius:3px;color:var(--gold);font-size:14px;max-width:170px;padding:7px 10px}.port-value-row output{font:43px/1 Pixel,monospace;color:var(--gold);font-variant-numeric:tabular-nums}.wheel-instructions{font-size:12px;line-height:1.8;color:#8a97af;margin:15px 0 0}.wheel-instructions strong{color:#c6cddd;font-weight:500}.wheel-return{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;font-size:12px;color:#99a4bb}.wheel-return a{display:flex;align-items:center;gap:7px}.wheel-return a:hover{color:var(--gold)}.wheel-return svg{width:14px;height:14px}.wheel-status{height:1px;overflow:hidden;clip-path:inset(50%);position:absolute;white-space:nowrap}.asset-error{padding:80px 30px;color:#f9c29e}.wheel-footnote{margin-top:20px;color:#64718a;font-size:11px;text-align:center}
@media(min-width:1500px){.shell{padding-top:25px}.game-window,.login-panel{min-height:690px}.login-panel{padding-top:113px}.is-challenge .login-panel{padding-top:110px}.is-welcome .login-panel{padding-top:130px}}
@media(max-width:1100px){.shell{padding:0 32px}.login-panel{padding-left:36px;max-width:460px}.game-window{min-height:630px}.scene{background-position:60% center}.scene-shade{background:linear-gradient(90deg,#111626 0%,#111626ec 33%,#1116266b 61%,transparent 100%)}.scene-caption{right:22px}.wheel-layout{gap:24px;grid-template-columns:minmax(0,1.25fr) minmax(290px,1fr)}.wheel-heading{margin-top:10px}.wheel-heading h1{font-size:38px}.wheel-stage:before{font-size:8px}.wheel-stage:after{font-size:8px}}
@media(max-width:800px){.shell{padding:0 22px}.topbar{height:90px}.brand>span{font-size:19px}.brand>svg{width:28px;height:28px}.wheel-layout{grid-template-columns:1fr;gap:24px}.wheel-heading>p{display:none}.wheel-stage{max-width:620px;width:100%;margin:auto}.wheel-side{max-width:580px;width:100%;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.side-kicker{grid-column:1 / -1}.combination{grid-row:2/5;display:flex;flex-direction:column;align-items:start}.ring-control{grid-column:2}.port-readout{grid-column:2}.wheel-instructions,.wheel-return{grid-column:1/-1}.wheel-heading h1{font-size:38px}.wheel-side .portrait{--pw:140px}.game-window{min-height:653px}.login-panel{padding-left:30px;max-width:420px}.scene-shade{background:linear-gradient(90deg,#111626fb 0%,#111626ed 44%,#11162645 100%)}.scene{background-position:63% center}.scene-caption{display:none}footer{font-size:10px;flex-wrap:wrap;padding-top:25px}.is-welcome .login-panel{padding-left:30px}.is-welcome h1{font-size:44px}}
@media(max-width:520px){.shell{padding:0 16px}.topbar{height:82px;gap:10px}.brand>span{font-size:16px;letter-spacing:.5px}.brand>svg{width:25px;height:25px}.brand{gap:9px}.icon-button{min-width:32px}.game-window{min-height:640px}.window-bottom{left:20px;right:20px}.window-bottom{font-size:7px;letter-spacing:.8px}.login-panel{max-width:none;min-height:640px;padding:90px 23px 70px}.chapter{font-size:9px;letter-spacing:1.4px}h1{font-size:42px;letter-spacing:-1px}.intro{font-size:14px}form,.panel-divider{max-width:none;width:100%}.primary{font-size:13px}.form-note{font-size:10px;max-width:250px;line-height:1.7}.helper-link{font-size:11px}.scene{background-position:72% center;opacity:.56}.scene-shade{background:linear-gradient(90deg,#111626f2,#111626a3 76%,#11162650)}footer{font-size:9px;gap:5px;flex-direction:column;align-items:center;padding:22px 0}.is-challenge .login-panel{max-width:none;padding-top:82px}.is-challenge h1{font-size:37px}.challenge-instructions{font-size:13px}.challenge-card{width:100%;gap:18px;padding:12px}.challenge-card h2{font-size:29px}.portrait{--pw:85px}.year-row input{width:45%}.challenge-actions,.email-tag{max-width:none}.challenge-actions .helper-link{font-size:10px}.challenge-actions .text-button{font-size:10px}.is-welcome .login-panel{max-width:none;padding:94px 23px 70px}.is-welcome h1{font-size:40px}.is-welcome .scene-shade{background:linear-gradient(90deg,#111626fa,#111626ad 60%,#11162660)}.is-welcome .scene{opacity:.9}.welcome-quote{font-size:18px}.wheel-heading{margin:9px 0 20px}.wheel-heading h1{font-size:36px}.wheel-stage:before{font-size:7px;top:9px;letter-spacing:2px}.wheel-stage:after{font-size:6px;bottom:10px;letter-spacing:1px}.wheel-side{gap:0 15px;grid-template-columns:.8fr 1.3fr}.wheel-side .portrait{--pw:105px}.combination{gap:15px}.combination h2{font-size:25px}.combination p{font-size:11px}.ring-control label{font-size:12px}.ring-control label small{font-size:10px}.ring-buttons{gap:4px}.ring-buttons button{width:30px;height:33px}.ring-buttons output{font-size:16px;min-width:34px}.ring-control{flex-wrap:wrap;padding:10px 0}.ring-control label{flex:1;min-width:100px}.port-readout{padding:12px}.port-value-row{gap:6px;flex-wrap:wrap}.port-value-row select{max-width:100%;width:100%}.port-value-row output{font-size:36px}.wheel-footnote{font-size:10px}.wheel-return{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* A separate illustration is revealed only after solving the challenge. */
.is-welcome .scene{background-image:url('/assets/island-welcome-empty.png')}

/* The home is the challenge; the wheel opens without leaving it. */
.topbar{height:76px}
footer{justify-content:center;text-align:center;font-size:12px}
.scene-caption{display:none;bottom:26px}
.is-welcome .scene-caption{display:block}
.coordinate{font-size:11px}
.is-challenge h1{font-size:46px;margin-bottom:30px}
.is-challenge .login-panel{padding-top:96px}
.welcome-quote{margin:28px 0 32px}
.wheel-link{padding:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:14px}
.wheel-dialog{width:min(1120px,calc(100vw - 32px));max-width:none;max-height:92dvh;padding:24px 30px;overflow:auto;overscroll-behavior:contain}
body:has(dialog[open]){overflow:hidden}
.wheel-dialog .dialog-heading{margin-bottom:14px}
.wheel-dialog .wheel-heading{display:none}
.wheel-dialog .wheel-layout{grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr)}
.wheel-dialog .wheel-footnote{margin-bottom:0;font-size:11px}
.wheel-dialog .wheel-return{justify-content:flex-end}
@media(min-width:1500px){.shell{padding-top:0}}
@media(max-width:800px){.topbar{height:68px}.wheel-dialog .wheel-layout{grid-template-columns:1fr}.wheel-dialog{padding:18px}.is-welcome .scene-caption{display:block}}
@media(max-width:520px){.topbar{height:62px}.is-challenge h1{font-size:37px;margin-bottom:28px}.is-challenge .login-panel{padding-top:68px}.game-window,.login-panel{min-height:590px}.is-welcome .login-panel{padding-top:84px}.challenge-actions .wheel-link{font-size:13px}.coordinate{font-size:9px}.wheel-dialog{width:calc(100vw - 16px);padding:14px}.wheel-dialog .dialog-heading h2{font-size:26px}footer{font-size:11px}}

/* Focus belongs to the controls, never across the faces. */
.disc:focus,.disc:focus-visible{outline:none!important}
.wheel:has(.disc:focus-visible) .wheel-pin{box-shadow:0 0 0 3px var(--gold),0 0 12px #edc87880}
.wheel-stage::before,.wheel-stage::after{content:none}
.wheel-central .wheel-pin{margin:0}
.sound-toggle{color:#aeb7c9;width:44px;height:44px}
.sound-toggle:hover{color:var(--gold)}
.pirate-error-dialog{width:460px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:36px 30px 30px;text-align:center;border-color:#edc87866;background:radial-gradient(ellipse at top,#26304a,#111827 75%);box-shadow:0 22px 80px #0008;overflow:auto}
.pirate-error-dialog .close-error{position:absolute;right:8px;top:6px;font-size:28px;color:#aeb8ca}
.error-skull{color:var(--gold);margin-bottom:12px}
.error-skull svg{width:40px;height:40px}
.pirate-error-dialog h2{font:30px/1.1 Pixel,monospace;color:var(--gold);margin-bottom:20px;text-wrap:balance}
.pirate-error-dialog #pirate-error-line{font:24px/1.3 Pixel,monospace;color:var(--text);margin-bottom:18px;text-wrap:balance}
.pirate-error-dialog #pirate-error-help{font-size:13px;color:#aeb8ca;margin-bottom:24px}
.pirate-error-dialog .primary{width:100%;justify-content:center}
@media(max-width:360px){.pirate-error-dialog{padding:34px 20px 24px}.pirate-error-dialog h2{font-size:27px}.pirate-error-dialog #pirate-error-line{font-size:22px}}
.challenge-card{width:380px;max-width:100%;padding:0;border:0;border-radius:0;background:none;gap:12px;margin:0 0 22px -12px;min-height:173px}
.challenge-card .portrait{--pw:148px;filter:drop-shadow(0 8px 9px #0005)}
.challenge-card h2{font-size:34px;margin-top:6px}
.challenge-card .eyebrow{font-size:10px}
.is-challenge .login-panel{padding-top:79px}
.is-challenge h1{margin-bottom:22px}
.wheel-link{text-decoration:none;gap:9px}
.wheel-link span{text-decoration:underline;text-underline-offset:4px}
.wheel-dialog{width:min(760px,calc(100vw - 16px),calc(100dvh - 36px));max-height:none;max-width:none;padding:34px 4px 4px;background:transparent;border:0;border-radius:0;overflow:visible}
.wheel-dialog #close-wheel{position:absolute;right:6px;top:0;font-size:30px;width:40px;height:40px;z-index:10;color:#eee9dc}
.wheel-dialog .wheel-layout{display:block}
.wheel-dialog .wheel-stage{border:0;background:none;max-width:none;border-radius:0;overflow:visible}
.wheel-dialog .wheel-viewport{width:100%}
@media(max-width:520px){
  .is-challenge .login-panel{padding:49px 22px 38px}
  .is-challenge h1{font-size:36px;margin-bottom:22px}
  .challenge-card{width:100%;margin-left:-7px;gap:5px;min-height:156px;margin-bottom:20px}
  .challenge-card .portrait{--pw:130px}
  .challenge-card h2{font-size:29px;overflow-wrap:normal}
  .challenge-card .eyebrow{font-size:9px;letter-spacing:1.4px}
  .game-window,.login-panel{min-height:590px}
  .year-row input{font-size:25px;letter-spacing:5px;min-width:0}
  .year-row .primary{min-width:0}
  .challenge-actions .text-button{font-size:12px}
  .challenge-actions .wheel-link{font-size:13px}
  .sound-toggle{min-width:44px}
  .wheel-dialog{padding:34px 0 0;width:min(calc(100vw - 12px),calc(100dvh - 36px))}
  .wheel-dialog #close-wheel{right:0}
}
@media(max-width:360px){.challenge-card .portrait{--pw:108px}.challenge-card h2{font-size:26px}.challenge-actions{gap:12px}.challenge-actions .wheel-link{font-size:12px}}

@media(max-width:520px){.port-window{width:92px;transform-origin:46px 0}.port-window strong{font-size:33px}.port-window span{font-size:21px;white-space:nowrap;width:max-content;position:relative;left:50%;transform:translateX(-50%);margin-top:5px}}

@media(max-width:520px){.port-window{--port-radius:122px;--port-lift:0px!important}.port-window span{font-size:19px}}
