@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url("./media/barlow-condensed-vietnamese-700-normal-WXHYTQHM.woff2") format("woff2"),url("./media/barlow-condensed-vietnamese-700-normal-Y6ZUJIH4.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url("./media/barlow-condensed-latin-ext-700-normal-5BESLX7I.woff2") format("woff2"),url("./media/barlow-condensed-latin-ext-700-normal-OOTZZHRP.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url("./media/barlow-condensed-latin-700-normal-5GARACM4.woff2") format("woff2"),url("./media/barlow-condensed-latin-700-normal-63GBER45.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url("./media/barlow-condensed-vietnamese-800-normal-4OFT3RCQ.woff2") format("woff2"),url("./media/barlow-condensed-vietnamese-800-normal-R7G6AR2O.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url("./media/barlow-condensed-latin-ext-800-normal-T2VSUFCI.woff2") format("woff2"),url("./media/barlow-condensed-latin-ext-800-normal-H57ZH3JX.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url("./media/barlow-condensed-latin-800-normal-C7LOS5FO.woff2") format("woff2"),url("./media/barlow-condensed-latin-800-normal-2XTMG3UL.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-cyrillic-ext-400-normal-6VZLC4H3.woff2") format("woff2"),url("./media/inter-cyrillic-ext-400-normal-FIY4AS7B.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-cyrillic-400-normal-G4TQJ72A.woff2") format("woff2"),url("./media/inter-cyrillic-400-normal-U23O635P.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-greek-ext-400-normal-JTQ56XIH.woff2") format("woff2"),url("./media/inter-greek-ext-400-normal-RDW6D2QK.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-greek-400-normal-24BA4PDP.woff2") format("woff2"),url("./media/inter-greek-400-normal-ZRMMCGZA.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-vietnamese-400-normal-3ZH4IT4J.woff2") format("woff2"),url("./media/inter-vietnamese-400-normal-VHOS7L4B.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-latin-ext-400-normal-GKRFIQRI.woff2") format("woff2"),url("./media/inter-latin-ext-400-normal-J3OKVTXA.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-latin-400-normal-55WT6UWF.woff2") format("woff2"),url("./media/inter-latin-400-normal-FR5HOXA4.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-cyrillic-ext-500-normal-7YGZWFHX.woff2") format("woff2"),url("./media/inter-cyrillic-ext-500-normal-LJV3DWSQ.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-cyrillic-500-normal-PQK3XKF6.woff2") format("woff2"),url("./media/inter-cyrillic-500-normal-XH4MSKNN.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-greek-ext-500-normal-ZPKR4LNJ.woff2") format("woff2"),url("./media/inter-greek-ext-500-normal-PJFKOJVL.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-greek-500-normal-6QPUHW6Z.woff2") format("woff2"),url("./media/inter-greek-500-normal-3GRTEB6X.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-vietnamese-500-normal-PQFGSX3P.woff2") format("woff2"),url("./media/inter-vietnamese-500-normal-UOTTXFJL.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-latin-ext-500-normal-3G2JDXWM.woff2") format("woff2"),url("./media/inter-latin-ext-500-normal-UGNIJJWL.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-latin-500-normal-W62DVTXI.woff2") format("woff2"),url("./media/inter-latin-500-normal-ZNGIZ2YB.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-cyrillic-ext-600-normal-66Z4CWZK.woff2") format("woff2"),url("./media/inter-cyrillic-ext-600-normal-5S66ZLPP.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-cyrillic-600-normal-F5BISKXR.woff2") format("woff2"),url("./media/inter-cyrillic-600-normal-YOMHVXBS.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-greek-ext-600-normal-D4Z5GF6D.woff2") format("woff2"),url("./media/inter-greek-ext-600-normal-BCNJL3T4.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-greek-600-normal-ZRJSSN4C.woff2") format("woff2"),url("./media/inter-greek-600-normal-J3AMDQNF.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-vietnamese-600-normal-TVIYLGI7.woff2") format("woff2"),url("./media/inter-vietnamese-600-normal-YXHD7S3I.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-latin-ext-600-normal-HCYHLWH6.woff2") format("woff2"),url("./media/inter-latin-ext-600-normal-JH5KI6RD.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-latin-600-normal-R6Y2SZCR.woff2") format("woff2"),url("./media/inter-latin-600-normal-ZYHV6QZT.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-cyrillic-ext-700-normal-OS2RNUST.woff2") format("woff2"),url("./media/inter-cyrillic-ext-700-normal-JNACFJVQ.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-cyrillic-700-normal-5HS3FXHB.woff2") format("woff2"),url("./media/inter-cyrillic-700-normal-SPV2HQ4Q.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-greek-ext-700-normal-QJ6NMGCB.woff2") format("woff2"),url("./media/inter-greek-ext-700-normal-GHYQOXL3.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-greek-700-normal-S7YO524B.woff2") format("woff2"),url("./media/inter-greek-700-normal-L3DMOWHF.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-vietnamese-700-normal-7LYSQCP6.woff2") format("woff2"),url("./media/inter-vietnamese-700-normal-XRULDGKE.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-latin-ext-700-normal-WY62UGW6.woff2") format("woff2"),url("./media/inter-latin-ext-700-normal-SNJUWUAD.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-latin-700-normal-SU5XVJMF.woff2") format("woff2"),url("./media/inter-latin-700-normal-TQQ5JXGD.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #f4ebdd;--paper-light: #fff9ef;--ink: #17233c;--tomato: #e7573f;--tomato-dark: #a93b2d;--mustard: #d8a72d;--taupe: #b8a994;--muted: #746b61;--white: #fffdf7;--display: "Barlow Condensed", "Arial Narrow", sans-serif;--body: "Inter", system-ui, sans-serif;--shadow-card: 0 7px 0 rgba(23, 35, 60, .16), 0 14px 24px rgba(23, 35, 60, .11)}*{box-sizing:border-box}html{min-height:100%;background:var(--paper);font-family:var(--body);color:var(--ink);-webkit-tap-highlight-color:transparent}body{min-height:100%;margin:0;overscroll-behavior:none}button,input{font:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid rgba(216,167,45,.55);outline-offset:3px}a{color:inherit}.paper-texture{position:relative;isolation:isolate;background-color:var(--paper);background-image:radial-gradient(circle at 12% 24%,rgba(23,35,60,.045) 0 1px,transparent 1.5px),radial-gradient(circle at 72% 66%,rgba(169,59,45,.035) 0 1px,transparent 1.5px);background-size:13px 15px,17px 19px}.paper-texture:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.24;background:linear-gradient(90deg,transparent 49.7%,rgba(23,35,60,.025) 50%,transparent 50.3%),linear-gradient(transparent 49.7%,rgba(23,35,60,.018) 50%,transparent 50.3%);background-size:9px 9px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-family:var(--display);font-size:clamp(1.75rem,3vw,2.75rem);font-weight:800;line-height:.9;letter-spacing:-.02em;text-decoration:none;text-transform:uppercase}.brand--light,.game-header .brand{color:var(--paper-light)}.brand__disc{position:relative;width:34px;aspect-ratio:1;flex:0 0 auto;border:5px solid currentColor;border-radius:50%}.brand__disc:after{content:"";position:absolute;width:7px;aspect-ratio:1;inset:50% auto auto 50%;border-radius:50%;background:var(--tomato);transform:translate(-50%,-50%)}.spotify-credit{font-size:.88rem;font-weight:700;white-space:nowrap}.poster-label{display:inline-flex;align-items:center;min-height:36px;padding:7px 18px;background:var(--tomato);color:var(--white);font-family:var(--display);font-size:1.05rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:10px;padding:13px 26px;border:2px solid var(--tomato-dark);border-radius:14px;background:var(--tomato);box-shadow:0 5px 0 var(--tomato-dark),0 10px 18px #17233c29;color:var(--white);cursor:pointer;font-family:var(--display);font-size:1.35rem;font-weight:700;letter-spacing:.015em;line-height:1;text-decoration:none;transition:transform .13s ease,box-shadow .13s ease,filter .13s ease}.button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-2px)}.button:active:not(:disabled){box-shadow:0 1px 0 var(--tomato-dark),0 4px 8px #17233c21;transform:translateY(4px)}.button:disabled{cursor:not-allowed;filter:grayscale(.6);opacity:.52}.button--hero{min-height:68px;padding-inline:32px;border-radius:17px;font-size:1.65rem}.button--small{min-height:42px;padding:10px 18px;font-size:1.1rem}.button--secondary{border-color:var(--ink);background:var(--paper-light);box-shadow:0 5px 0 var(--ink);color:var(--ink)}.activity-spinner{display:inline-block;width:22px;aspect-ratio:1;border:3px solid rgba(255,249,239,.42);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}.notice{padding:14px 18px;border:1px solid currentColor;border-radius:12px;font-size:.95rem;line-height:1.45}.notice--error{background:#fff2ec;color:#852f24}.quiet-action{padding:8px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:.9rem;font-weight:600;text-decoration:underline;text-decoration-color:var(--taupe);text-underline-offset:4px}.quiet-action--danger{color:#852f24;text-decoration-color:#c97869}.quiet-action:disabled{cursor:wait;opacity:.55}.loading-screen{display:grid;min-height:70vh;place-items:center;color:var(--ink);font-family:var(--display);font-size:clamp(2rem,6vw,4rem);font-weight:800;text-transform:uppercase}.install-banner{position:fixed;z-index:100;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;max-width:min(430px,100vw - 36px);align-items:center;gap:22px;padding:16px 18px;border:1px solid rgba(255,249,239,.3);border-radius:16px;background:var(--ink);box-shadow:0 16px 40px #17233c47;color:var(--paper-light)}.install-banner div{display:grid;gap:3px}.install-banner span{color:#fff9efb8;font-size:.78rem}.landing{min-height:100svh;padding:0 clamp(22px,5vw,76px) 38px;overflow:hidden}.landing__nav,.app-header,.game-header{display:flex;min-height:92px;align-items:center;justify-content:space-between;gap:20px}.landing__hero{display:grid;min-height:min(680px,100svh - 180px);grid-template-columns:minmax(300px,.85fr) minmax(520px,1.15fr);align-items:center;gap:clamp(34px,6vw,100px);padding:42px 0 54px}.landing__copy{position:relative;z-index:2}.landing__copy h1,.page-heading h1,.pre-game h1,.room-stage h1{max-width:850px;margin:20px 0 14px;font-family:var(--display);font-size:clamp(4rem,8vw,7.6rem);font-weight:800;letter-spacing:-.04em;line-height:.83;text-transform:uppercase}.landing__copy h1 em{color:var(--tomato);font-style:normal}.landing__copy>p{max-width:640px;margin:0 0 28px;color:#3d4554;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.landing__copy .button{margin-top:18px}.landing__copy small{display:block;margin-top:16px;color:var(--muted);font-size:.78rem}.spotify-dot{display:grid;width:30px;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--ink);color:var(--mustard)}.landing__art{position:relative;display:flex;min-height:540px;align-items:center;justify-content:center;isolation:isolate}.sunburst{position:absolute;z-index:-1;width:min(46vw,660px);aspect-ratio:1;border:3px solid var(--mustard);border-radius:50%;opacity:.55}.sunburst:before,.sunburst:after{content:"";position:absolute;inset:9%;border:2px dashed var(--tomato);border-radius:50%}.sunburst:after{inset:23%;border-color:var(--ink)}.music-card{position:relative;display:flex;width:220px;min-height:238px;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:26px 20px 22px;border:2px solid rgba(184,169,148,.72);border-radius:16px;background:var(--paper-light);box-shadow:var(--shadow-card);color:var(--ink);text-align:center;text-decoration:none}.music-card b{max-width:100%;overflow:hidden;font-family:var(--display);font-size:1.48rem;line-height:1;text-overflow:ellipsis}.music-card>span:last-child{font-size:.9rem}.music-card__year{font-family:var(--display);font-size:4.7rem;font-weight:800;letter-spacing:-.02em;line-height:.85}.tape{position:absolute;top:-13px;left:50%;width:78px;height:27px;background:var(--mustard);opacity:.9;transform:translate(-50%) rotate(-1deg)}.card-divider{display:flex;width:100%;align-items:center;gap:8px;color:var(--tomato);font-size:.88rem}.card-divider:before,.card-divider:after{content:"";height:2px;flex:1;background:currentColor}.music-card--hero{position:absolute}.music-card--tilt-left{left:1%;transform:rotate(-8deg) translateY(18px)}.music-card--tilt-right{right:1%;transform:rotate(8deg) translateY(18px)}.mystery-card{position:relative;display:flex;width:210px;min-height:294px;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:20px;border:7px solid var(--paper-light);border-radius:18px;background:var(--ink);box-shadow:0 14px 28px #17233c47;color:var(--paper-light);text-align:center}.mystery-card--hero{z-index:2;min-height:330px;transform:rotate(4deg)}.mystery-card b{font-family:var(--display);font-size:1.5rem;text-transform:uppercase}.mystery-card small{color:#fff9efad}.vinyl{position:relative;display:block;width:154px;aspect-ratio:1;border:2px solid rgba(255,249,239,.28);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 6px,rgba(255,249,239,.12) 7px 8px),var(--ink)}.vinyl__label{position:absolute;width:54px;aspect-ratio:1;inset:50% auto auto 50%;border:7px solid var(--mustard);border-radius:50%;background:var(--tomato);transform:translate(-50%,-50%)}.vinyl__label:after{content:"";position:absolute;width:8px;aspect-ratio:1;inset:50% auto auto 50%;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%)}.landing__steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.landing__steps article{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;padding:22px clamp(14px,2.5vw,34px);border-right:1px solid var(--taupe)}.landing__steps article:last-child{border:0}.landing__steps b{grid-row:span 2;color:var(--tomato);font-family:var(--display);font-size:2.6rem;line-height:1}.landing__steps span{font-family:var(--display);font-size:1.35rem;font-weight:700;text-transform:uppercase}.landing__steps p{margin:0;color:var(--muted);font-size:.83rem}.app-page{min-height:100svh;padding:0 clamp(20px,5vw,72px) 70px}.app-header{border-bottom:2px solid var(--ink)}.app-header--dark{margin:0 calc(clamp(20px,5vw,72px)*-1);padding-inline:clamp(20px,5vw,72px);border:0;background:var(--ink);color:var(--paper-light)}.app-header--dark .brand{color:var(--paper-light)}.user-chip{display:flex;align-items:center;gap:10px}.user-chip>span{display:grid;width:42px;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--mustard);font-weight:800}.user-chip div{display:grid;gap:2px}.user-chip small{color:var(--muted);font-size:.7rem}.lobby,.setup{width:min(1120px,100%);margin:0 auto;padding-top:clamp(42px,8vw,92px)}.page-heading h1{font-size:clamp(3.6rem,7vw,6.7rem)}.page-heading>p{max-width:660px;color:var(--muted);font-size:1.08rem;line-height:1.6}.lobby>.notice{margin-top:22px}.lobby__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:46px}.choice-card{position:relative;min-height:430px;padding:clamp(28px,4vw,46px);border:2px solid var(--ink);border-radius:20px;box-shadow:8px 8px 0 var(--ink);color:var(--ink);text-decoration:none}.choice-card--new{background:var(--mustard);transition:transform .15s ease,box-shadow .15s ease}.choice-card--new:hover{box-shadow:12px 12px 0 var(--ink);transform:translate(-4px,-4px)}.choice-card--join{background:var(--paper-light)}.choice-card__number{position:absolute;top:22px;right:28px;font-family:var(--display);font-size:2.2rem;font-weight:800}.choice-card__icon{display:grid;width:70px;aspect-ratio:1;place-items:center;border:3px solid var(--ink);border-radius:50%;font-size:2.4rem}.choice-card h2{margin:34px 0 10px;font-family:var(--display);font-size:clamp(2.4rem,4vw,3.4rem);line-height:.95;text-transform:uppercase}.choice-card p{max-width:420px;color:#4d4b48;line-height:1.55}.text-link{display:inline-block;margin-top:36px;border-bottom:2px solid currentColor;font-weight:700}label{display:grid;gap:7px;margin-top:14px;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}input{width:100%;min-height:50px;padding:10px 14px;border:2px solid var(--taupe);border-radius:10px;background:var(--white);color:var(--ink);font-size:1rem;text-transform:none}input:focus{border-color:var(--mustard)}.choice-card--join .button{width:100%;margin-top:24px}.lobby__footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;margin-top:50px}.lobby__song-actions{display:grid;justify-items:center;gap:2px}.setup-section{padding:42px 0;border-top:2px solid var(--ink)}.setup-section__heading{display:flex;align-items:flex-start;gap:24px;margin-bottom:26px}.setup-section__heading>span{color:var(--tomato);font-family:var(--display);font-size:2.4rem;font-weight:800;line-height:1}.setup-section__heading h2{margin:0;font-family:var(--display);font-size:2.2rem;line-height:1;text-transform:uppercase}.setup-section__heading p{margin:6px 0 0;color:var(--muted);font-size:.9rem}.segmented{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.segmented button{display:grid;gap:6px;min-height:102px;padding:20px;border:2px solid var(--taupe);border-radius:15px;background:var(--paper-light);color:var(--ink);cursor:pointer;text-align:left}.segmented button.is-selected{border-color:var(--ink);background:var(--mustard);box-shadow:5px 5px 0 var(--ink)}.segmented b{font-family:var(--display);font-size:1.55rem;text-transform:uppercase}.segmented span{color:var(--muted);font-size:.82rem}.toggle-cloud{display:flex;max-height:290px;flex-wrap:wrap;gap:9px;padding:4px 4px 12px;overflow:auto}.toggle-chip,.decade-grid button,.player-count button{min-height:45px;padding:9px 16px;border:2px solid var(--taupe);border-radius:999px;background:var(--paper-light);color:var(--ink);cursor:pointer;font-size:.88rem;font-weight:700}.toggle-chip.is-selected,.decade-grid button.is-selected,.player-count button.is-selected{border-color:var(--ink);background:var(--mustard);box-shadow:3px 3px 0 var(--ink)}.decade-grid,.player-count{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.decade-grid button,.player-count button{border-radius:12px}.player-count{grid-template-columns:repeat(6,1fr)}.player-count button{font-family:var(--display);font-size:1.55rem}.name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;margin-top:24px}.host-name{max-width:520px;margin-top:24px}.setup-hint{color:var(--muted);font-size:.85rem}.game-rules-grid{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(280px,1.25fr);align-items:stretch;gap:18px}.target-score-control,.timeline-cards-toggle{margin:0;padding:20px;border:2px solid var(--taupe);border-radius:15px;background:var(--paper-light)}.target-score-control>span{display:grid;grid-template-columns:48px minmax(72px,110px) 48px;gap:8px}.target-score-control button{border:2px solid var(--ink);border-radius:10px;background:var(--mustard);color:var(--ink);cursor:pointer;font-family:var(--display);font-size:1.5rem;font-weight:800}.target-score-control input{padding-inline:8px;text-align:center;font-family:var(--display);font-size:1.5rem;font-weight:800}.target-score-control small,.timeline-cards-toggle small{color:var(--muted);font-size:.72rem;font-weight:500;letter-spacing:0;line-height:1.45;text-transform:none}.timeline-cards-toggle{display:flex;align-items:center;gap:16px;cursor:pointer}.timeline-cards-toggle:has(input:checked){border-color:#285e63;background:#dceceb;box-shadow:4px 4px #285e63}.timeline-cards-toggle input{width:26px;min-height:26px;flex:0 0 auto;accent-color:#285e63}.timeline-cards-toggle>span{display:grid;gap:5px}.timeline-cards-toggle b{color:#285e63;font-family:var(--display);font-size:1.5rem}.setup__submit{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;border:2px solid var(--ink);border-radius:18px;background:var(--mustard);box-shadow:7px 7px 0 var(--ink)}.setup__submit>div{display:grid;gap:5px}.setup__submit b{font-family:var(--display);font-size:1.65rem;text-transform:uppercase}.setup__submit span{font-size:.78rem}.room-page{min-height:100svh;padding:0 clamp(20px,5vw,72px) 60px}.room-stage{display:flex;width:min(900px,100%);min-height:calc(100svh - 100px);margin:0 auto;flex-direction:column;align-items:center;justify-content:center;padding:50px 0;text-align:center}.room-stage h1{margin-bottom:12px;font-size:clamp(4rem,9vw,7rem)}.room-stage>p{margin-top:0;color:var(--muted)}.room-code{display:grid;min-width:min(490px,100%);grid-template-columns:auto 1fr;align-items:center;margin:28px 0 34px;padding:0;overflow:hidden;border:3px solid var(--ink);border-radius:18px;background:var(--ink);box-shadow:7px 7px 0 var(--mustard);color:var(--paper-light);cursor:pointer}.room-code>span{align-self:stretch;display:grid;place-items:center;padding:18px 26px;background:var(--mustard);color:var(--ink);font-family:var(--display);font-size:1.4rem;font-weight:800;text-transform:uppercase}.room-code b{padding:10px 30px 0;font-family:var(--display);font-size:4rem;letter-spacing:.18em;line-height:.9}.room-code small{grid-column:2;padding:0 30px 9px;color:#fff9efa6;font-size:.68rem}.player-roster{display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:12px}.roster-player{display:grid;min-height:82px;grid-template-columns:auto 1fr;align-items:center;gap:3px 12px;padding:14px 18px;border:1px solid var(--taupe);border-radius:13px;background:var(--paper-light);text-align:left}.roster-player>span{display:grid;width:38px;aspect-ratio:1;grid-row:span 2;place-items:center;border-radius:50%;background:var(--mustard);font-family:var(--display);font-size:1.25rem;font-weight:800}.roster-player small{color:var(--muted);font-size:.68rem}.roster-player--empty{border-style:dashed;background:transparent;opacity:.55}.roster-player--empty>span{background:var(--taupe)}.room-stage__status{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin:24px 0}.room-stage__status span{color:var(--muted)}.waiting-pulse{display:flex;align-items:center;gap:10px;margin-top:26px;font-weight:600}.waiting-pulse span{width:11px;aspect-ratio:1;border-radius:50%;background:var(--tomato);animation:pulse 1.5s ease-in-out infinite}.room-start-button{min-width:min(390px,100%)}.game-board{min-height:100svh;padding-bottom:max(28px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto}.game-header{min-height:82px;padding:14px clamp(18px,3.5vw,52px);background:var(--ink);color:var(--paper-light)}.header-room{display:inline-flex;min-height:42px;align-items:stretch;overflow:hidden;padding:0;border:2px solid var(--mustard);border-radius:12px;background:transparent;color:var(--paper-light);cursor:pointer;text-transform:uppercase}.header-room span,.header-room b{display:grid;place-items:center;padding:8px 16px}.header-room span{background:var(--mustard);color:var(--ink);font-family:var(--display);font-size:1rem}.header-room b{letter-spacing:.15em}.pre-game{display:flex;min-height:calc(100svh - 82px);flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.pre-game p{margin:0 0 30px;color:var(--muted)}.game-status{display:grid;grid-template-columns:1fr minmax(270px,370px);gap:40px;padding:clamp(28px,4vw,50px) clamp(18px,4vw,62px) 18px}.game-status__copy h1{margin:12px 0 2px;font-family:var(--display);font-size:clamp(3.7rem,7vw,6.6rem);font-weight:800;letter-spacing:-.035em;line-height:.9;text-transform:uppercase}.game-status__copy p{margin:12px 0 0;font-size:1.02rem}.catalog-availability{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.04em}.catalog-stock{margin:1rem 0;padding:.8rem 1rem;border:1px solid currentColor;border-radius:.5rem;font-size:.85rem;text-align:left;max-width:46rem}.catalog-stock p{margin:.3rem 0;font-size:inherit}.catalog-stock summary{cursor:pointer;margin-top:.5rem}.catalog-stock__warning{font-weight:600}.catalog-stock__decades{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.5rem}.catalog-overview{margin-top:2rem;padding:1.25rem;border:1px solid var(--taupe);border-radius:1rem}.catalog-overview h2{margin-top:0}.catalog-overview__totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:1rem 0}.catalog-overview__totals>div{padding:1rem;border:1px solid var(--taupe);border-radius:.75rem}.catalog-overview__totals strong{display:block;font-size:2rem}.catalog-overview__totals span,.catalog-overview__refresh{font-size:.85rem}.catalog-overview__genre progress{display:block;width:100%;height:.6rem;accent-color:var(--coral);margin:.5rem 0}.catalog-overview summary{cursor:pointer;padding:.5rem 0}.catalog-overview__genres{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:.75rem;margin:.75rem 0}.catalog-overview__genre{padding:.5rem .75rem;border:1px solid var(--taupe);border-radius:.5rem;font-size:.85rem}.catalog-overview__genre p{margin-bottom:.25rem}.catalog-availability span{color:var(--coral);font-size:.92rem}.catalog-availability--pre-game{margin:-16px 0 22px}.scoreboard{align-self:start;padding:14px;border:1px solid var(--taupe);border-radius:18px;background:#fff9eff0;box-shadow:0 7px #17233c1a}.scoreboard h2{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 8px;font-family:var(--display);font-size:1.45rem;text-transform:uppercase}.scoreboard h2 span{width:34px;height:2px;background:var(--ink)}.scoreboard>div{display:grid;min-height:45px;grid-template-columns:18px 1fr auto;align-items:center;gap:7px;padding:7px 11px;border-bottom:1px solid rgba(184,169,148,.5)}.scoreboard>div:last-child{border-bottom:0}.scoreboard>div.is-active{border:0;border-radius:10px;background:var(--mustard)}.scoreboard i{font-size:.72rem;font-style:normal;opacity:0}.scoreboard .is-active i{opacity:1}.scoreboard b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreboard small{grid-column:2;color:#6c5220;font-size:.64rem}.scoreboard__risk{width:max-content;max-width:100%;padding:2px 6px;border-radius:999px;background:#ed806f29;color:var(--tomato);font-weight:800;line-height:1.1;white-space:nowrap}.scoreboard__risk--empty{background:transparent;color:var(--muted);font-weight:700;opacity:.72}.scoreboard__timeline-cards{width:max-content;max-width:100%;padding:2px 6px;border-radius:999px;background:#dceceb;color:#285e63!important;font-weight:800;white-space:nowrap}.scoreboard strong{grid-row:1/span 3;grid-column:3;font-size:1.35rem}.game-notice{width:min(720px,100% - 36px);margin:0 auto 10px}.timeline-card-toast{position:fixed;z-index:40;top:max(88px,env(safe-area-inset-top));left:50%;display:flex;align-items:center;gap:11px;min-width:220px;padding:12px 16px;border:3px solid #852f24;border-radius:13px;background:#ed806f;box-shadow:6px 6px #852f24;color:var(--ink);transform:translate(-50%);animation:timeline-card-toast 2.6s ease both}.timeline-card-toast>span{font-size:1.75rem}.timeline-card-toast>div{display:grid}.timeline-card-toast strong{font-family:var(--display);font-size:1.35rem;line-height:1;text-transform:uppercase}.timeline-card-toast small{margin-top:3px;font-size:.7rem;font-weight:750;text-transform:uppercase}.audio-enable{position:fixed;z-index:8;top:96px;right:18px;display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--mustard);border-radius:999px;background:var(--ink);color:var(--paper-light);cursor:pointer;font-size:.78rem;font-weight:700}.audio-enable span{color:var(--mustard)}.timeline-stage{position:relative;display:grid;min-height:430px;grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;padding:20px clamp(18px,3.5vw,52px) 40px}.timeline-scroll{width:100%;max-width:100%;min-width:0;padding:35px 10px 28px;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scrollbar-color:var(--mustard) transparent}.timeline-content{display:block;width:max-content;min-width:100%}.timeline-row{display:flex;width:max-content;min-width:100%;min-height:245px;align-items:center;justify-content:center;padding-inline:24px}.timeline-row .music-card{width:176px;min-height:198px;margin-inline:-13px;gap:6px;padding:22px 16px 18px;transform:scale(.92)}.timeline-row .music-card__year{font-size:3.6rem}.timeline-row .music-card b{font-size:1.28rem}.timeline-row .music-card>span:last-child{font-size:.78rem}.music-card--risk{border:3px dashed var(--tomato)}.music-card--lost{border:3px dashed var(--tomato);opacity:.65}.music-card--correct-position .risk-label{background:#285e63}.music-card--last-reveal{z-index:3;border-color:var(--tomato);box-shadow:0 0 0 6px var(--mustard),10px 12px 0 var(--tomato);animation:winning-card .65s ease-out both}.risk-label{position:absolute;top:10px;right:9px;padding:3px 7px;border-radius:6px;background:var(--tomato);color:#fff;font-family:var(--display);font-size:.72rem;font-weight:700;text-transform:uppercase}.drop-slot{display:grid;width:50px;min-height:198px;flex:0 0 auto;place-items:center;padding:0;border:2px dashed rgba(23,35,60,.38);border-radius:14px;background:transparent;color:#17233cad;cursor:pointer;transition:width .16s ease,border-color .16s ease,background .16s ease}.drop-slot:disabled{border-color:transparent;color:transparent;cursor:default}.drop-slot:not(:disabled):hover,.drop-slot:not(:disabled):focus-visible,.drop-slot.is-selected{border-color:var(--mustard);background:#d8a72d1c;color:var(--ink)}.drop-slot.is-selected{width:180px;border-color:var(--ink);background:var(--mustard);box-shadow:5px 5px 0 var(--ink)}.drop-slot:not(:disabled).is-selected:hover,.drop-slot:not(:disabled).is-selected:focus-visible{width:180px;border-color:var(--ink);background:var(--mustard)}.drop-slot.is-wrong-guess{width:90px;border-color:var(--tomato);background:#c041311a;color:var(--tomato)}.drop-slot .wrong-guess{padding:10px;writing-mode:horizontal-tb;transform:none;text-align:center}.drop-slot.is-locked-placement,.drop-slot.is-challenge-selected{width:180px;border-color:var(--ink);color:var(--ink)}.drop-slot.is-locked-placement{background:#17233c14;box-shadow:5px 5px #17233c59}.drop-slot.is-challenge-selected,.drop-slot:not(:disabled).is-challenge-selected:hover,.drop-slot:not(:disabled).is-challenge-selected:focus-visible{width:136px;border-color:#285e63;background:#dceceb;box-shadow:5px 5px #285e63;color:#285e63}.drop-slot span{writing-mode:vertical-rl;font-family:var(--display);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transform:rotate(180deg)}.drop-slot .placed-mystery{display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;gap:12px;writing-mode:horizontal-tb;color:var(--ink);letter-spacing:normal;transform:none}.placed-mystery i{width:74px;aspect-ratio:1;border:7px solid var(--ink);border-radius:50%;background:repeating-radial-gradient(circle,var(--ink) 0 2px,#33415d 3px 5px);box-shadow:inset 0 0 0 18px var(--tomato)}.placed-mystery b{font-size:1.35rem;line-height:.9}.placed-mystery small{font-family:var(--body);font-size:.7rem;text-transform:none}.placed-mystery--locked{opacity:.8}.timeline-challenge-marker{display:flex;min-height:154px;flex-direction:column;align-items:center;justify-content:center;gap:10px;writing-mode:horizontal-tb!important;color:#285e63;letter-spacing:normal!important;transform:none!important}.timeline-challenge-marker i{display:grid;width:50px;aspect-ratio:1;place-items:center;border:4px solid #285e63;border-radius:14px;background:var(--paper-light);font-size:1.55rem;font-style:normal}.timeline-challenge-marker b{font-size:1.02rem;line-height:.92}.timeline-challenge-marker small{font-family:var(--body);font-size:.7rem;text-transform:none}.timeline-rail{display:grid;width:100%;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;color:var(--tomato);font-family:var(--display);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.timeline-rail i{position:relative;height:4px;background:var(--ink)}.timeline-rail i:before,.timeline-rail i:after{content:"";position:absolute;top:50%;width:12px;aspect-ratio:1;border-radius:50%;background:var(--ink);transform:translateY(-50%)}.timeline-rail i:after{right:0}.turn-controls{display:flex;min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px}.button--turn{width:min(370px,100%);min-height:92px;font-size:clamp(1.5rem,3vw,2rem)}.button--turn span{display:grid;width:44px;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--ink);color:var(--mustard)}.mystery-card--play{width:190px;min-height:270px;cursor:default;transform:rotate(5deg);transition:transform .15s ease,box-shadow .15s ease}.mystery-card--play .vinyl{width:128px}.placement-confirmation{display:grid;gap:5px;padding:14px 20px;border:2px solid var(--ink);border-radius:12px;background:var(--mustard);color:var(--ink);cursor:pointer;font-family:var(--display);font-size:1.1rem;font-weight:700;text-transform:uppercase}.placement-confirmation small{font-family:var(--body);font-size:.72rem;font-weight:500;text-transform:none}.button--lock{width:min(330px,100%);min-height:78px;font-size:clamp(1.8rem,3vw,2.5rem)}.decision-panel{width:min(360px,100%);padding:18px;border:2px solid var(--ink);border-radius:14px;background:var(--paper-light);box-shadow:5px 5px 0 var(--ink);text-align:center}.decision-panel h2{margin:12px 0 16px;font-family:var(--display);font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1;text-transform:uppercase}.decision-panel>div{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.timeline-challenge-panel,.game-winner-panel{width:min(560px,100% - 24px);padding:20px;border:3px solid #285e63;border-radius:16px;background:#dceceb;box-shadow:6px 6px #285e63}.timeline-challenge-panel__heading{display:flex;align-items:center;gap:14px}.timeline-card-icon{display:grid;width:58px;aspect-ratio:1;flex:0 0 auto;place-items:center;border:3px solid #285e63;border-radius:12px;background:var(--paper-light);color:#285e63;font-size:1.7rem}.timeline-challenge-panel h2,.game-winner-panel h2{margin:4px 0 0;font-family:var(--display);font-size:2.2rem;line-height:1;text-transform:uppercase}.timeline-challenge-panel p,.game-winner-panel p{margin:14px 0;line-height:1.45}.timeline-challenge-panel__actions{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.button--timeline{border-color:#285e63;background:#3f7d80;box-shadow:0 5px #285e63}.timeline-challenge-panel__waiting{color:#285e63;font-weight:800}.game-winner-panel{border-color:var(--tomato);background:var(--mustard);box-shadow:7px 7px 0 var(--tomato);text-align:center}.reveal-strip{position:static;z-index:20;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:18px;width:min(880px,100% - 36px);margin:14px auto 0;padding:14px 18px;border:2px solid var(--ink);border-radius:15px;background:var(--mustard);box-shadow:7px 7px 0 var(--ink)}.reveal-strip--wrong{background:#ed806f}.reveal-strip>span{padding:6px 10px;border-radius:7px;background:var(--ink);color:var(--paper-light);font-family:var(--display);font-weight:700;text-transform:uppercase}.reveal-strip>strong{font-family:var(--display);font-size:2.7rem}.reveal-strip>div{display:grid;gap:2px}.reveal-strip small{font-size:.76rem}.challenge-results{display:flex!important;grid-column:1/-1;flex-wrap:wrap;gap:6px 10px!important;padding-top:8px;border-top:1px solid rgba(23,35,60,.28)}.challenge-results small{padding:4px 8px;border-radius:999px;background:#852f241f;color:#852f24;font-weight:800}.challenge-results small.is-correct{background:#dceceb;color:#285e63}.build-info{display:flex;min-height:32px;align-items:center;justify-content:center;gap:10px 16px;padding:6px 18px 8px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-align:center;text-transform:uppercase}.build-info button{padding:4px 8px;border:1px solid var(--ink);border-radius:6px;background:var(--mustard);color:var(--ink);font:inherit;cursor:pointer;text-transform:uppercase}.access-page{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:100svh;place-items:center;gap:6px;padding:20px 18px max(6px,env(safe-area-inset-bottom))}.access-page app-build-info{align-self:end}.access-card{position:relative;display:grid;width:min(430px,100%);padding:42px;overflow:hidden;border:3px solid var(--ink);border-radius:22px;background:#fff9eff5;box-shadow:10px 10px 0 var(--ink);text-align:center}.access-card__disc{width:54px;margin:0 auto 18px}.access-card h1{margin:10px 0 2px;color:var(--tomato);font-family:var(--display);font-size:clamp(3rem,12vw,4.8rem);line-height:.9;text-transform:uppercase}.access-card>p{margin:10px 0 24px;color:var(--muted)}.access-card form{display:grid;gap:14px;text-align:left}.access-card form .button{width:100%;margin-top:7px}.winner-page{position:relative;display:grid;min-height:100svh;place-items:center;padding:40px 20px;overflow:hidden auto}.winner-layout{position:relative;z-index:1;display:grid;width:min(1120px,100%);gap:34px;padding-block:50px}.winner-rays{position:absolute;width:min(90vw,900px);aspect-ratio:1;border:3px solid var(--mustard);border-radius:50%;opacity:.55}.winner-rays:before,.winner-rays:after{content:"";position:absolute;inset:14%;border:3px dashed var(--tomato);border-radius:50%}.winner-rays:after{inset:30%;border-color:var(--ink)}.winner-card{position:relative;z-index:1;width:min(650px,100%);padding:clamp(34px,6vw,60px);border:3px solid var(--ink);border-radius:24px;background:var(--paper-light);box-shadow:12px 12px 0 var(--ink);text-align:center;justify-self:center}.winner-timeline{width:100%;min-width:0;padding:26px;border:3px solid var(--ink);border-radius:22px;background:#fff9eff5;box-shadow:10px 10px 0 var(--ink)}.winner-reveal{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:14px;margin-bottom:24px;padding:13px 16px;border-radius:13px;background:var(--mustard)}.winner-reveal>span{padding:6px 9px;border-radius:6px;background:var(--ink);color:var(--paper-light);font-family:var(--display);font-weight:800;text-transform:uppercase}.winner-reveal>strong{font-family:var(--display);font-size:2.4rem}.winner-reveal>div{display:grid}.winner-reveal small{color:var(--muted)}.winner-timeline__heading h2{margin:10px 0 0;font-family:var(--display);font-size:clamp(2.1rem,5vw,3.6rem);line-height:1;text-transform:uppercase}.winner-timeline__heading p{margin:8px 0 20px;color:var(--muted)}.winner-timeline__scroll{display:flex;align-items:center;padding:16px 18px 28px;overflow-x:auto;scrollbar-color:var(--mustard) transparent}.winner-timeline__scroll .music-card{width:170px;min-width:170px;min-height:195px;margin-inline:-7px;transform:scale(.94)}.winner-card__record{position:absolute;top:-62px;left:50%;display:grid;width:122px;aspect-ratio:1;place-items:center;border:8px solid var(--paper-light);border-radius:50%;background:var(--ink);box-shadow:0 7px #17233c26;transform:translate(-50%)}.winner-card__record i{width:42px;aspect-ratio:1;border:8px solid var(--mustard);border-radius:50%;background:var(--tomato)}.winner-card .poster-label{margin-top:20px}.winner-kicker{margin:28px 0 0;color:var(--muted);font-size:.84rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.winner-card h1{margin:4px 0;color:var(--tomato);font-family:var(--display);font-size:clamp(4.5rem,12vw,8rem);font-weight:800;letter-spacing:-.035em;line-height:.9;text-transform:uppercase}.winner-score{margin:0 0 24px;font-weight:700}.final-scores{margin:22px 0 28px;border-top:2px solid var(--ink)}.final-scores>div{display:grid;grid-template-columns:34px 1fr auto;gap:12px;padding:12px;border-bottom:1px solid var(--taupe);text-align:left}.final-scores>div.is-winner{background:var(--mustard)}.final-scores span,.final-scores strong{font-family:var(--display);font-size:1.3rem}.winner-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@keyframes pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes winning-card{0%{opacity:.2;transform:translateY(20px) scale(.88)}}@keyframes timeline-card-toast{0%{opacity:0;transform:translate(-50%,-18px) scale(.92)}10%,82%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-10px) scale(.96)}}@media(max-width:980px){.landing__hero{grid-template-columns:1fr}.landing__copy{padding-top:40px;text-align:center}.landing__copy>p{margin-inline:auto}.landing__art{min-height:450px}.sunburst{width:min(76vw,600px)}.game-status{grid-template-columns:1fr}.scoreboard{width:min(420px,100%)}.scoreboard>div{min-width:0}.game-status__copy h1{font-size:clamp(2.8rem,8vw,4.2rem)}.timeline-stage{grid-template-columns:minmax(0,1fr)}.timeline-scroll{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw);padding-inline:14px}.timeline-row{justify-content:center}.turn-controls{min-height:auto}}@media(max-width:720px){.landing__nav,.app-header,.game-header{min-height:72px}.brand{font-size:1.65rem}.brand__disc{width:27px;border-width:4px}.landing__nav .spotify-credit,.game-header .spotify-credit{display:none}.landing{padding-inline:18px}.landing__hero{min-height:auto;padding-top:0}.landing__copy h1,.page-heading h1,.pre-game h1,.room-stage h1{font-size:clamp(3.5rem,18vw,5.5rem)}.landing__copy .button{width:100%}.landing__art{min-height:365px}.music-card--hero{width:160px;min-height:190px;padding:18px 12px}.music-card--hero .music-card__year{font-size:3.3rem}.music-card--hero b{font-size:1.1rem}.mystery-card--hero{width:150px;min-height:245px}.mystery-card--hero .vinyl{width:105px}.landing__steps{grid-template-columns:1fr}.landing__steps article{border-right:0;border-bottom:1px solid var(--taupe)}.lobby__grid{grid-template-columns:1fr;gap:16px;margin-top:24px}.choice-card{min-height:0;padding:18px;border-radius:14px;box-shadow:5px 5px 0 var(--ink)}.choice-card--new:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}.choice-card__number{top:13px;right:16px;font-size:1.45rem}.choice-card__icon{width:44px;border-width:2px;font-size:1.5rem}.choice-card h2{margin:15px 0 6px;font-size:clamp(1.8rem,8vw,2.4rem)}.choice-card p{margin:0;font-size:.84rem;line-height:1.35}.choice-card .text-link{margin-top:16px}.choice-card label{margin-top:9px}.choice-card input{min-height:42px;padding:8px 11px}.choice-card--join .button{min-height:46px;margin-top:13px;padding-block:9px;font-size:1rem}.segmented,.name-grid,.game-rules-grid,.winner-actions{grid-template-columns:1fr}.player-count{grid-template-columns:repeat(3,1fr)}.setup__submit{align-items:stretch;flex-direction:column}.player-roster{grid-template-columns:repeat(2,1fr)}.room-code b{font-size:3rem}.game-header{padding-inline:14px}.header-room span{display:none}.header-room b{padding:7px 11px;font-size:.85rem}.game-status{gap:8px;padding:12px 12px 6px}.game-status__copy h1{margin-top:7px;font-size:clamp(2rem,8vw,2.8rem);letter-spacing:0}.game-status__copy p{margin-top:4px;font-size:.78rem}.game-status .poster-label{min-height:24px;padding:4px 9px;font-size:.78rem;letter-spacing:.06em}.scoreboard{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:5px;margin-inline:0;padding:6px;border-radius:10px;box-shadow:none}.scoreboard h2{display:none}.scoreboard>div{min-height:30px;min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:2px 6px;padding:4px 7px;overflow:hidden;border:0;border-radius:8px;background:#fff9efb8}.scoreboard i{display:none}.scoreboard b{font-size:.72rem}.scoreboard small{grid-column:1/-1;font-size:.54rem;line-height:1}.scoreboard__risk{padding:1px 4px}.scoreboard strong{grid-row:1;grid-column:2;font-size:1rem}.timeline-stage{min-height:0;gap:8px;padding:4px 0 18px}.turn-controls{order:-1;gap:8px;padding-inline:12px}.timeline-scroll{padding-block:10px 12px;padding-inline:12px}.timeline-row .music-card{width:132px;min-height:152px;margin-inline:-7px;gap:5px;padding:17px 10px 12px}.timeline-row{min-height:166px;padding-inline:28px}.timeline-row .music-card__year{font-size:2.62rem}.timeline-row .music-card b{font-size:.98rem}.timeline-row .music-card>span:last-child{font-size:.66rem}.drop-slot{width:38px;min-height:152px}.drop-slot:not(:disabled):hover,.drop-slot:not(:disabled):focus-visible,.drop-slot.is-selected{width:38px}.drop-slot.is-selected{width:112px;box-shadow:3px 3px 0 var(--ink)}.drop-slot:not(:disabled).is-selected:hover,.drop-slot:not(:disabled).is-selected:focus-visible{width:112px}.drop-slot.is-locked-placement,.drop-slot.is-challenge-selected{width:112px}.drop-slot.is-challenge-selected,.drop-slot:not(:disabled).is-challenge-selected:hover,.drop-slot:not(:disabled).is-challenge-selected:focus-visible{width:88px}.drop-slot .placed-mystery{min-height:132px;gap:7px}.placed-mystery i{width:46px;border-width:4px;box-shadow:inset 0 0 0 11px var(--tomato)}.placed-mystery b{font-size:.95rem}.placed-mystery small{font-size:.6rem}.timeline-challenge-marker{min-height:108px;gap:4px}.timeline-challenge-marker i{width:38px;border-width:3px;font-size:1.1rem}.timeline-challenge-marker b{font-size:.78rem}.timeline-challenge-marker small{font-size:.52rem}.timeline-challenge-panel,.game-winner-panel{width:min(420px,100vw - 24px);padding:12px;box-shadow:4px 4px #285e63}.timeline-challenge-panel__heading{gap:8px}.timeline-challenge-panel .timeline-card-icon{width:40px;border-width:2px;border-radius:9px;font-size:1.2rem}.timeline-challenge-panel h2{font-size:1.45rem}.timeline-challenge-panel p{margin:7px 0;font-size:.76rem;line-height:1.25}.timeline-challenge-panel__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.timeline-challenge-panel__actions .button{min-height:38px;padding:7px 8px;font-size:.78rem}.winner-layout{gap:24px}.winner-timeline{padding:16px 10px}.winner-reveal{grid-template-columns:auto 1fr}.winner-reveal>strong{grid-row:span 2}.winner-reveal>div{grid-column:2}.timeline-rail{padding-inline:8px;font-size:.72rem}.button--turn{width:min(300px,100%);min-height:54px;font-size:1.2rem}.button--turn span{width:30px}.mystery-card--play{width:auto;min-height:54px;flex-direction:row;gap:9px;padding:7px 12px;border-width:3px;border-radius:12px;box-shadow:0 5px 12px #17233c2e;transform:none}.mystery-card--play .vinyl{width:40px}.mystery-card--play b{font-size:1rem}.mystery-card--play small{display:none}.placement-confirmation{gap:2px;padding:8px 12px;font-size:.88rem}.placement-confirmation small{font-size:.62rem}.button--lock{width:auto;min-width:142px;min-height:54px;padding:10px 16px;font-size:1.28rem}.decision-panel>div{grid-template-columns:1fr}.decision-panel{width:min(320px,100vw - 24px);padding:10px;border-radius:10px;box-shadow:3px 3px 0 var(--ink)}.decision-panel .poster-label{min-height:22px;padding:3px 8px;font-size:.68rem}.decision-panel h2{margin:8px 0 10px;font-size:1.08rem;line-height:.96}.decision-panel .button{min-height:44px;padding:9px 12px;font-size:1rem}.reveal-strip{grid-template-columns:auto 1fr;gap:8px 12px;width:calc(100% - 32px)}.reveal-strip>strong{grid-row:span 2;grid-column:1}.reveal-strip>span{grid-column:2}.audio-enable{top:auto;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}}@media(max-width:980px)and (max-height:500px){.game-header{min-height:54px;padding-block:8px}.game-status{grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:start;gap:10px;padding:8px 12px 4px}.game-status .poster-label{min-height:24px;padding:4px 9px;font-size:.78rem;letter-spacing:.06em}.game-status__copy h1{margin-top:6px;font-size:clamp(2rem,6vw,2.8rem);letter-spacing:0}.game-status__copy p{margin-top:4px;font-size:.76rem}.scoreboard{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:5px;padding:6px;border-radius:10px;box-shadow:none}.scoreboard h2,.scoreboard i{display:none}.scoreboard>div{min-height:28px;min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:2px 6px;padding:4px 7px;overflow:hidden;border:0;border-radius:8px;background:#fff9efb8}.scoreboard b{font-size:.7rem}.scoreboard small{grid-column:1/-1;font-size:.52rem;line-height:1}.scoreboard__risk{padding:1px 4px}.scoreboard strong{grid-row:1;grid-column:2;font-size:.96rem}.timeline-stage{gap:6px;padding:2px 0 12px}.turn-controls{order:-1;gap:8px;padding-inline:12px}.timeline-scroll{padding-block:8px 10px}.timeline-row{min-height:158px;padding-inline:28px}.timeline-row .music-card{width:132px;min-height:148px;margin-inline:-7px;gap:5px;padding:16px 10px 11px}.timeline-row .music-card__year{font-size:2.55rem}.drop-slot{width:38px;min-height:148px}.drop-slot:not(:disabled):hover,.drop-slot:not(:disabled):focus-visible,.drop-slot.is-selected{width:38px}.drop-slot.is-selected{width:112px}.drop-slot:not(:disabled).is-selected:hover,.drop-slot:not(:disabled).is-selected:focus-visible{width:112px}.decision-panel{width:min(360px,100vw - 24px);padding:10px 12px;border-radius:10px;box-shadow:3px 3px 0 var(--ink)}.decision-panel h2{margin:7px 0 9px;font-size:1.05rem}.decision-panel>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.decision-panel .button{min-height:42px;padding:8px 10px;font-size:.95rem}.mystery-card--play{width:auto;min-height:52px;flex-direction:row;gap:9px;padding:7px 12px;border-width:3px;border-radius:12px;box-shadow:0 5px 12px #17233c2e;transform:none}.mystery-card--play .vinyl{width:38px}.mystery-card--play b{font-size:1rem}.mystery-card--play small{display:none}.button--lock,.button--turn{min-height:52px;font-size:1.2rem}}@media(max-width:460px){.app-page,.room-page{padding-inline:14px}.app-header--dark{margin-inline:-14px;padding-inline:14px}.user-chip div{display:none}.player-roster{grid-template-columns:1fr}.room-code{min-width:100%}.room-code>span{padding-inline:14px}.room-code b{padding-inline:15px;letter-spacing:.12em}.install-banner{right:10px;bottom:10px;left:10px;max-width:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
