:root{--bg:#08131f;--surface:#10263a;--surface-alt:#153652;--important-bg:#22b4ed;--important-text:#03111b;--accent:var(--important-bg);--accent-alt:var(--important-bg);--text:#f7fbff;--muted:color-mix(in srgb,var(--text) 68%,transparent);--line:color-mix(in srgb,var(--text) 18%,transparent);--background-image:none;--radius:7px;--shadow:0 9px 28px rgba(0,0,0,.22)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
body{margin:0;min-height:100vh;background-color:var(--bg);background-image:var(--background-image);background-position:center top;background-size:cover;background-attachment:fixed;color:var(--text)}
body.layer-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button,.button{border:0;border-radius:5px;background:var(--important-bg);color:var(--important-text);font-weight:800;padding:.66rem .82rem;cursor:pointer;text-decoration:none;text-align:center}
button:hover,.button:hover{filter:brightness(1.06)}
button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--important-bg) 65%,white);outline-offset:2px}
h1,h2,p{margin-top:0}.muted{color:var(--muted)}
.game-shell{width:min(920px,100%);margin:0 auto;padding:.55rem}
.hero{display:block;width:100%;padding:0;overflow:hidden;background:transparent;box-shadow:var(--shadow);position:relative;border:1px solid var(--line)}
.hero img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important}.hero-action{position:absolute;inset:auto .5rem .5rem;display:block;background:var(--important-bg);color:var(--important-text);padding:.58rem .72rem;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 4px 15px rgba(0,0,0,.2)}
.score-card{scroll-margin-top:.35rem;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:.8rem;margin:.55rem 0;padding:.7rem;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius)}
.score-main{display:grid;align-content:start;gap:.55rem;min-width:0}.score-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.score-total span{display:block;color:var(--muted);font-size:.85rem}.score-total strong{display:block;color:var(--text);font-size:clamp(2.1rem,8vw,4rem);line-height:1}.score-highscore{align-self:flex-start;padding:.46rem .58rem;font-size:.78rem;white-space:nowrap}.scan-result{font-weight:700;line-height:1.35}.scan-result.is-error{background:var(--important-bg);color:var(--important-text);border:2px solid color-mix(in srgb,var(--important-text) 32%,transparent);padding:.7rem;border-radius:5px;font-size:1rem}
.recent-scans{min-width:0;border-left:1px solid var(--line);padding-left:.8rem}.recent-scans h2{font-size:.88rem;margin:0 0 .42rem}.recent-scan-list{display:grid;gap:.28rem}.recent-scan-row{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.42rem .5rem;background:var(--surface-alt);border-radius:4px;font-size:.82rem}.recent-scan-row time{color:var(--muted);font-variant-numeric:tabular-nums}.recent-scan-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-scan-row strong{color:var(--text);font-size:.86rem;line-height:1}
.participation-cta{display:grid;width:100%;gap:.08rem;background:var(--important-bg)!important;color:var(--important-text)!important;padding:.78rem .9rem;text-decoration:none;text-align:center;border:1px solid color-mix(in srgb,var(--important-text) 22%,transparent);border-radius:5px}.participation-cta span{font-size:.82rem;color:inherit}.participation-cta strong{font-size:1.08rem;text-transform:uppercase;letter-spacing:.02em;color:inherit}.participation-cta:hover{filter:brightness(1.06)}.participation-complete{cursor:default}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:5px;background:var(--surface-alt);color:var(--text);padding:.6rem .68rem}
.sheet-layer{position:fixed;z-index:3000;inset:0;pointer-events:none;visibility:hidden}.sheet-layer.is-open{pointer-events:auto;visibility:visible}.layer-scrim{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(0,0,0,.56);opacity:0;transition:opacity .2s ease}.sheet-layer.is-open .layer-scrim{opacity:1}
.participation-sheet{position:absolute;left:50%;bottom:0;transform:translate(-50%,105%);width:min(920px,100%);max-height:min(82vh,680px);overflow:auto;background:var(--important-bg);color:var(--important-text);border:1px solid color-mix(in srgb,var(--important-text) 22%,transparent);border-bottom:0;border-radius:8px 8px 0 0;box-shadow:0 -14px 40px rgba(0,0,0,.34);padding:.8rem;transition:transform .24s ease}.sheet-layer.is-open .participation-sheet{transform:translate(-50%,0)}
.sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.65rem}.sheet-toolbar h2{font-size:1.08rem;margin:0}.icon-button{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border-radius:50%;background:var(--important-text);color:var(--important-bg);font-size:1.35rem;line-height:1}.inline-form{display:grid;grid-template-columns:1fr 1.25fr auto;gap:.5rem;align-items:start}.inline-form label{display:grid;gap:.22rem;text-align:left}.inline-form label span{font-size:.76rem;color:color-mix(in srgb,var(--important-text) 72%,transparent)}.participation-sheet input{background:color-mix(in srgb,var(--important-text) 9%,var(--important-bg));color:var(--important-text);border-color:color-mix(in srgb,var(--important-text) 30%,transparent)}.participation-sheet .inline-form button,.activation-note button{background:var(--important-text);color:var(--important-bg)}.profile-congratulations{font-size:1.1rem;font-weight:900;margin-bottom:.35rem}.activation-note strong{display:block;font-size:1.05rem;margin-bottom:.3rem}.activation-note p{margin-bottom:.65rem}.form-message{min-height:1rem;margin-top:.35rem;font-weight:700}
.highscore-modal{position:absolute;inset:.4rem .4rem .4rem auto;width:min(720px,calc(100% - .8rem));display:grid;grid-template-rows:auto 1fr;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;box-shadow:-14px 0 42px rgba(0,0,0,.34);padding:.65rem;transform:translateX(calc(100% + 1rem));transition:transform .24s ease}.sheet-layer.is-open .highscore-modal{transform:translateX(0)}.highscore-modal .icon-button{background:var(--important-bg);color:var(--important-text)}.highscore-modal iframe{display:block;width:100%;height:100%;border:0;background:transparent}
.scan-feedback{position:absolute;left:50%;top:50%;transform:translate(-50%,-45%) scale(.97);width:min(520px,calc(100% - 1rem));background:var(--important-bg);color:var(--important-text);border:2px solid color-mix(in srgb,var(--important-text) 28%,transparent);border-radius:8px;box-shadow:0 18px 55px rgba(0,0,0,.42);padding:1rem;opacity:0;transition:transform .2s ease,opacity .2s ease}.sheet-layer.is-open .scan-feedback{transform:translate(-50%,-50%) scale(1);opacity:1}.scan-feedback p{font-size:1.05rem;line-height:1.45;margin:.3rem 0 1rem}.scan-feedback-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.scan-feedback .secondary-button{background:transparent;color:var(--important-text);border:1px solid color-mix(in srgb,var(--important-text) 35%,transparent)}
.scanner-layer{position:fixed;z-index:4000;inset:0;background:var(--bg);color:var(--text)}.scanner-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.6rem;min-height:58px;padding:.42rem .55rem;background:color-mix(in srgb,var(--surface) 82%,#000)}.scanner-tools-start{justify-self:start;min-width:0}.scanner-title{grid-column:2;justify-self:center;color:#fff;font-size:1rem;line-height:1.2;text-align:center;white-space:nowrap}.scanner-actions{justify-self:end;display:flex;align-items:center;gap:.4rem}.scanner-close{display:grid;place-items:center;width:2.55rem;height:2.55rem;padding:0;border:1px solid color-mix(in srgb,#fff 32%,transparent);border-radius:50%;background:rgba(0,0,0,.24);color:#fff;font-size:1.8rem;font-weight:500;line-height:1}.scanner-close:hover{background:rgba(255,255,255,.14)}.scanner-file-button{display:inline-block;border:1px solid var(--line);border-radius:5px;background:var(--surface-alt);color:var(--text);font-weight:800;padding:.58rem .7rem;cursor:pointer}.scanner-file-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#qr-reader{width:100%;height:calc(100vh - 58px)}#qr-reader video{width:100%!important;height:100%!important;object-fit:cover}
.survey-shell{width:min(840px,100%);margin:0 auto;padding:.55rem .55rem 4.5rem}.survey-header,.survey-section{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(.7rem,2vw,1rem);margin-bottom:.55rem}.survey-header p{margin-bottom:0}.survey-section h2{font-size:1.08rem;color:var(--text)}.survey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.7rem;align-items:start}.eyebrow{color:var(--text);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem}.field{display:grid;grid-column:1/-1;gap:.3rem;margin:0 0 .72rem;align-items:start;border:0;padding:0;min-width:0}.field.field-half{grid-column:span 1}.field>label:first-child,.field>legend{font-weight:700;padding:0}.required{color:var(--important-bg)}.help{color:var(--muted);font-size:.8rem}.rating{display:grid;grid-template-columns:repeat(6,minmax(42px,1fr));gap:.3rem}.rating label{display:grid;place-items:center;background:var(--surface-alt);border:1px solid var(--line);border-radius:4px;padding:.45rem .25rem}.rating input{width:auto}.choice-list{display:flex;flex-wrap:wrap;gap:.35rem}.choice-list label{display:flex;gap:.3rem;align-items:center;padding:.48rem;background:var(--surface-alt);border-radius:4px}.choice-list input{width:auto}.continue-collecting-note{background:var(--important-bg);color:var(--important-text);padding:.75rem;border-radius:5px}.survey-actions{position:fixed;z-index:10;right:max(.55rem,env(safe-area-inset-right));bottom:max(.55rem,env(safe-area-inset-bottom));display:flex;gap:.4rem}.error-box{background:var(--important-bg);color:var(--important-text);border:1px solid color-mix(in srgb,var(--important-text) 25%,transparent);padding:.7rem;border-radius:5px;margin-bottom:.55rem}
.highscore-shell{width:min(1000px,100%);margin:auto;padding:1rem}.game-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.15rem 0 .5rem}.game-header h1{font-size:clamp(1.25rem,4.5vw,2rem);margin:.1rem 0 0}.text-link{color:var(--text)}.highscore-table{width:100%;border-collapse:separate;border-spacing:0 .5rem}.highscore-table td{padding:.9rem;background:var(--surface);color:var(--text);border-block:1px solid var(--line)}.highscore-table td:first-child{width:5rem;text-align:center;border-radius:5px 0 0 5px}.highscore-table td:last-child{width:8rem;text-align:right;border-radius:0 5px 5px 0;font-size:inherit;font-weight:900}.highscore-table tr.is-top-score td{background:var(--surface-alt)}
html.embed-mode,body.embed-mode{background-color:transparent!important;background-image:none!important;background-attachment:scroll}.embed-mode .game-shell,.embed-mode .survey-shell,.embed-mode .highscore-shell{padding:.35rem}.embed-mode .hero{box-shadow:none}.modal-mode{background:transparent!important}.modal-mode .highscore-shell{padding:0}.modal-mode .game-header{display:none}
@media(max-width:700px){.inline-form{grid-template-columns:1fr}.survey-grid{grid-template-columns:1fr}.field.field-half{grid-column:1/-1}.rating{grid-template-columns:repeat(3,1fr)}.highscore-modal{inset:0;width:100%;border-radius:0}}
@media(max-width:560px){.score-card{grid-template-columns:1fr}.score-summary{align-items:center}.recent-scans{border-left:0;border-top:1px solid var(--line);padding:.65rem 0 0}.scanner-toolbar{gap:.35rem;padding-inline:.4rem}.scanner-title{font-size:.94rem}.scanner-file-button{padding:.5rem .52rem;font-size:.76rem}.scanner-close{width:2.45rem;height:2.45rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.hero:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.78}.closed-notice,.score-info{margin:.55rem 0;padding:.75rem;background:var(--important-bg);color:var(--important-text);border:1px solid color-mix(in srgb,var(--important-text) 24%,transparent);border-radius:var(--radius)}.closed-notice h2,.score-info h2,.score-info h3{color:inherit}.score-info>:last-child,.closed-notice>:last-child{margin-bottom:0}
.survey-notice{grid-column:1/-1;align-self:start;margin:0 0 .72rem;padding:.7rem;background:var(--surface-alt);color:var(--text);border-left:4px solid var(--important-bg);border-radius:4px;line-height:1.45}.survey-notice.field-half{grid-column:span 1}.survey-draft-status{color:var(--muted);font-size:.78rem;padding:.2rem 0 1rem}.rating{grid-template-columns:repeat(6,minmax(38px,1fr));gap:clamp(.12rem,1vw,.3rem)}.rating label{align-content:start;gap:.12rem;min-width:0;padding:.35rem .08rem;line-height:1}.rating-smiley{font-size:clamp(1.2rem,5vw,1.85rem);line-height:1.1}.rating input{margin:.05rem 0 .08rem}.rating strong{font-size:.78rem}
.confetti-layer{position:fixed;z-index:5000;inset:0;overflow:hidden;pointer-events:none}.confetti-layer i{position:absolute;top:-1.2rem;left:var(--x);display:block;width:.58rem;height:.9rem;border-radius:1px;opacity:0}.confetti-layer.is-active i{animation:qrg-confetti var(--duration) cubic-bezier(.2,.65,.38,1) var(--delay) forwards}@keyframes qrg-confetti{0%{transform:translate3d(0,-3vh,0) rotate(0);opacity:1}100%{transform:translate3d(calc((var(--x) - 50vw)*-.18),105vh,0) rotate(var(--spin));opacity:.92}}
.field,.field>label,.field>legend,.survey-notice,.score-card>*{align-self:start}.field>label:first-child{white-space:normal}
@media(max-width:700px){.survey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field.field-half,.survey-notice.field-half{grid-column:span 1}.rating{grid-template-columns:repeat(6,minmax(38px,1fr))}}
.highscore-table{font-size:var(--highscore-font-size,18px)}.highscore-controls{position:sticky;z-index:20;top:.35rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:.45rem;padding:.65rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.highscore-controls label{display:grid;align-items:start;gap:.2rem;min-width:0;color:var(--muted);font-size:.75rem}.highscore-controls button{align-self:end;justify-self:start}@media(max-width:620px){.highscore-controls{grid-template-columns:1fr 1fr}}
html.highscore-bg-override,body.highscore-bg-override{background-color:var(--highscore-bg)!important;background-image:none!important}
.highscore-line-override .highscore-table td{background:var(--highscore-row-bg)!important}
html.highscore-text-override,body.highscore-text-override,.highscore-text-override .game-header h1,.highscore-text-override .game-header .eyebrow,.highscore-text-override .highscore-table td{color:var(--highscore-text)!important}
.highscore-winner-bg-override .highscore-table tr.is-top-score td{background:var(--highscore-winner-bg)!important}
.highscore-winner-text-override .highscore-table tr.is-top-score td{color:var(--highscore-winner-text)!important}
.rating{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:.12rem}.rating-choice{position:relative;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.rating .rating-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;opacity:0;clip-path:inset(50%);white-space:nowrap}.rating-choice:has(.rating-input:checked),.rating-choice.is-selected{background:var(--important-bg);color:var(--important-text);border-color:var(--important-bg)}.rating-choice:focus-within{outline:3px solid color-mix(in srgb,var(--important-bg) 65%,white);outline-offset:2px}.rating-scale{display:block;width:100%;text-align:center}.scan-result,.form-message,.profile-congratulations,.activation-note p{white-space:pre-line}.participation-sheet>.sheet-toolbar{position:sticky;z-index:2;top:-.8rem;margin:-.8rem -.8rem .65rem;padding:.8rem;background:var(--important-bg)}.scan-feedback{max-height:calc(100dvh - 1rem);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.scan-feedback>.sheet-toolbar{margin-bottom:.35rem}.scan-feedback #scanFeedbackMessage{min-height:0;max-height:calc(100dvh - 10.5rem);overflow:auto;overscroll-behavior:contain;white-space:pre-line;padding-right:.3rem}.scan-feedback-actions{padding-top:.35rem}
.highscore-page{display:flex;align-items:flex-start;width:100%;min-height:100dvh}.highscore-page .highscore-shell{order:1;flex:1 1 auto;min-width:0;width:auto;max-width:none;margin:0;padding:.5rem}.highscore-side-graphic{order:0;position:sticky;top:0;flex:0 0 auto;height:100dvh;overflow:hidden}.highscore-side-graphic img{display:block;width:auto;max-width:none;height:100%;object-fit:contain}.highscore-page.image-right .highscore-shell{order:0}.highscore-page.image-right .highscore-side-graphic{order:1}.highscore-page .highscore-table{width:100%}body.modal-mode .highscore-page{min-height:100%}body.modal-mode .highscore-page .highscore-shell{padding:0}
@media(orientation:portrait),(max-width:700px){.highscore-side-graphic{display:none}}
