.bg-page{--edu: #6fb7ff;--exp: #f0b24a;--proj: #c48cff;--event: #ff8fa3;--start: #6fe0b0;--finish: #ffd873;min-height:100vh;padding:clamp(1rem,3vw,2.25rem);color:var(--color-text);background:radial-gradient(1100px 620px at 15% -10%,rgba(111,183,255,.08),transparent 60%),radial-gradient(1000px 600px at 95% 110%,rgba(196,140,255,.08),transparent 60%),var(--color-bg)}.bg-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:clamp(1.25rem,3vw,2rem)}.bg-home{position:static!important;font-size:.82rem;letter-spacing:.14em;text-decoration:none;color:var(--color-text-muted);border:1px solid var(--color-line);padding:.5rem .9rem;border-radius:999px;transition:color .25s var(--ease-nav),border-color .25s var(--ease-nav)}.bg-home:hover{color:var(--color-text);border-color:var(--color-line-strong)}.bg-title{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1 1 auto}.bg-title-main{font-weight:600;font-size:clamp(1.1rem,2.6vw,1.7rem);letter-spacing:.16em}.bg-title-sub{font-size:.8rem;color:var(--color-text-muted);letter-spacing:.06em}.bg-progress{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;font-size:.72rem;color:var(--color-text-muted);min-width:130px}.bg-progress-track{width:130px;height:6px;border-radius:999px;background:#ede8e01a;overflow:hidden}.bg-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--edu),var(--proj));transition:width .5s var(--ease-smooth)}.bg-arena{display:grid;grid-template-columns:1fr 240px;gap:clamp(1rem,2.5vw,2rem);align-items:start;max-width:var(--content-max);margin:0 auto}.bg-stage{perspective:1500px;perspective-origin:50% 26%;padding:clamp(2rem,6vw,5rem) 0 clamp(3rem,8vw,6rem);overflow:visible}.bg-board{display:grid;gap:clamp(.55rem,1.4vw,1rem);padding:clamp(1rem,2.2vw,1.75rem);border-radius:22px;border:1px solid var(--color-line-strong);background:repeating-linear-gradient(45deg,rgba(237,232,224,.02) 0 14px,transparent 14px 28px),linear-gradient(160deg,#14181d,#0c0f12);transform:rotateX(52deg) rotate(0);transform-style:preserve-3d;transform-origin:center 55%;box-shadow:inset 0 0 80px #0000008c,0 40px 70px #0000008c}.bg-board:after{content:"";position:absolute;inset:-14px;z-index:-1;border-radius:28px;transform:translateZ(-26px);background:linear-gradient(160deg,#0b0e11,#06080a);box-shadow:0 30px 60px #0009}.bg-tile{position:relative;aspect-ratio:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.4rem;border-radius:12px;border:1px solid var(--color-line-strong);background:linear-gradient(155deg,#1c2127f2,#0c0f12f2);color:var(--color-text);cursor:pointer;text-align:center;transform-style:preserve-3d;box-shadow:0 4px color-mix(in srgb,var(--tile-accent, #2a2f36) 40%,#05070a),0 8px #05070a,0 10px 16px #0000008c;transition:transform .28s var(--ease-alive),box-shadow .28s var(--ease-nav),border-color .25s var(--ease-nav)}.bg-tile:before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--tile-accent, transparent);opacity:.16;transition:opacity .25s var(--ease-nav)}.bg-tile:hover{transform:translateZ(16px);border-color:var(--tile-accent, var(--color-line-strong));box-shadow:0 6px color-mix(in srgb,var(--tile-accent, #2a2f36) 55%,#05070a),0 12px #05070a,0 20px 28px #0009}.bg-tile:hover:before{opacity:.3}.bg-tile--seen:before{opacity:.24}.bg-tile--active{transform:translateZ(26px);border-color:var(--tile-accent, var(--color-text));box-shadow:0 8px color-mix(in srgb,var(--tile-accent, #2a2f36) 70%,#05070a),0 14px #05070a,0 26px 34px #000000a6,0 0 22px color-mix(in srgb,var(--tile-accent, #fff) 45%,transparent)}.bg-tile--start{--tile-accent: var(--start)}.bg-tile--education{--tile-accent: var(--edu)}.bg-tile--experience{--tile-accent: var(--exp)}.bg-tile--project{--tile-accent: var(--proj)}.bg-tile--event{--tile-accent: var(--event)}.bg-tile--finish{--tile-accent: var(--finish)}.bg-tile-step{position:absolute;top:6px;left:8px;font-size:.62rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.bg-tile-arrow{position:absolute;bottom:4px;right:8px;font-size:.72rem;color:var(--tile-accent);opacity:.7}.bg-tile-icon{font-size:clamp(1.2rem,2.6vw,1.9rem);line-height:1;z-index:1;transform:rotateX(-52deg) translateZ(4px);transform-origin:center bottom;filter:drop-shadow(0 4px 4px rgba(0,0,0,.5))}.bg-tile-label{font-size:clamp(.52rem,1vw,.72rem);font-weight:500;letter-spacing:.02em;line-height:1.15;z-index:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--color-text);transform:rotateX(-52deg);transform-origin:center bottom;text-shadow:0 2px 4px rgba(0,0,0,.6)}.bg-pawn{position:absolute;top:50%;left:50%;width:0;height:0;z-index:5;transform-style:preserve-3d;pointer-events:none}.bg-pawn-shadow{position:absolute;left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.55),transparent 68%)}.bg-pawn-piece{position:absolute;left:50%;bottom:0;transform-origin:center bottom;transform:translate(-50%) rotateX(-52deg);display:flex;flex-direction:column;align-items:center;animation:bg-pawn-bob 1.9s ease-in-out infinite}.bg-pawn-head{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,var(--tile-accent, #cfe6ff));box-shadow:0 0 12px color-mix(in srgb,var(--tile-accent, #fff) 70%,transparent)}.bg-pawn-body{width:20px;height:22px;margin-top:-3px;border-radius:50% 50% 46% 46%/70% 70% 30% 30%;background:linear-gradient(180deg,color-mix(in srgb,var(--tile-accent, #cfe6ff) 85%,#fff),color-mix(in srgb,var(--tile-accent, #6fb7ff) 60%,#05070a));box-shadow:inset 0 -4px 6px #00000059,0 3px 8px #0006}@keyframes bg-pawn-bob{0%,to{transform:translate(-50%) rotateX(-52deg) translateY(0)}50%{transform:translate(-50%) rotateX(-52deg) translateY(-5px)}}.bg-pawn--hop .bg-pawn-piece{animation:bg-pawn-hop .24s ease-in-out infinite}@keyframes bg-pawn-hop{0%,to{transform:translate(-50%) rotateX(-52deg) translateY(0) scale(1)}50%{transform:translate(-50%) rotateX(-52deg) translateY(-14px) scale(1.05)}}.bg-controls{position:sticky;top:1rem;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.25rem;border-radius:18px;border:1px solid var(--color-line);background:var(--color-surface)}.bg-dice{width:74px;height:74px;border-radius:16px;background:linear-gradient(160deg,#f7f3ec,#d9d2c6);box-shadow:0 10px 24px #00000073,inset 0 -6px 10px #0000001f;display:grid;place-items:center;padding:10px}.bg-dice--rolling{animation:bg-dice-shake .5s linear infinite}@keyframes bg-dice-shake{0%{transform:rotate(-8deg) translateY(0)}25%{transform:rotate(6deg) translateY(-3px)}50%{transform:rotate(-5deg) translateY(0)}75%{transform:rotate(7deg) translateY(-2px)}to{transform:rotate(-8deg) translateY(0)}}.bg-dice-face{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px}.bg-dice-pip{border-radius:50%;background:transparent}.bg-dice-pip--on{background:#17191c;box-shadow:inset 0 1px 1px #00000080}.bg-roll{width:100%;padding:.75rem 1rem;border-radius:999px;border:1px solid var(--color-line-strong);background:var(--color-text);color:#0a0c0e;font-weight:600;letter-spacing:.1em;font-size:.82rem;cursor:pointer;transition:transform .15s var(--ease-alive),opacity .2s ease}.bg-roll:hover:not(:disabled){transform:translateY(-2px)}.bg-roll:active:not(:disabled){transform:translateY(0)}.bg-roll:disabled{opacity:.5;cursor:not-allowed}.bg-hint{font-size:.74rem;color:var(--color-text-muted);text-align:center;line-height:1.5;margin:0}.bg-legend{display:flex;flex-direction:column;gap:.4rem;width:100%;font-size:.72rem;color:var(--color-text-muted)}.bg-legend span{display:flex;align-items:center;gap:.5rem}.bg-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.bg-dot--education{background:var(--edu)}.bg-dot--experience{background:var(--exp)}.bg-dot--project{background:var(--proj)}.bg-modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(1rem,4vw,2.5rem);background:#050608b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bg-modal{position:relative;width:min(760px,100%);max-height:86vh;overflow-y:auto;border-radius:20px;border:1px solid var(--color-line-strong);background:var(--color-bg-elevated);box-shadow:0 30px 80px #0009}.bg-modal:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--modal-accent, var(--color-text))}.bg-modal--education{--modal-accent: var(--edu)}.bg-modal--experience{--modal-accent: var(--exp)}.bg-modal--project{--modal-accent: var(--proj)}.bg-modal--event{--modal-accent: var(--event)}.bg-modal--start{--modal-accent: var(--start)}.bg-modal--finish{--modal-accent: var(--finish)}.bg-modal-close{position:absolute;top:12px;right:12px;z-index:2;width:34px;height:34px;border-radius:50%;border:1px solid var(--color-line);background:#0a0c0eb3;color:var(--color-text);cursor:pointer;font-size:.85rem;transition:background .2s ease,transform .2s ease}.bg-modal-close:hover{background:#ffffff1a;transform:rotate(90deg)}.bg-modal-body{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;padding:1.75rem}.bg-modal-body--message{grid-template-columns:1fr;text-align:center;padding:2.5rem 2rem;gap:.75rem}.bg-modal-emoji{font-size:2.75rem}.bg-modal-media{border-radius:14px;overflow:hidden;border:1px solid var(--color-line);align-self:start}.bg-modal-media img{display:block;width:100%;height:100%;object-fit:cover}.bg-modal-text h2{margin:.35rem 0 .15rem;font-size:1.35rem;letter-spacing:.02em}.bg-modal-text h3{margin:0 0 .5rem;font-size:.95rem;font-weight:500;color:var(--color-text-muted)}.bg-modal-body p{color:#ede8e0d1;line-height:var(--readable-line-height);font-size:.9rem;margin:.5rem 0}.bg-modal-kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--modal-accent)}.bg-modal-years{font-size:.78rem;color:var(--color-text-muted)}.bg-list{margin:.75rem 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.4rem}.bg-list li{font-size:.85rem;line-height:1.5;color:#ede8e0d1}.bg-chip-group{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.bg-chip{font-size:.72rem;padding:.3rem .65rem;border-radius:999px;border:1px solid var(--color-line);background:#ede8e00d;color:var(--color-text)}.bg-cta{display:inline-block;margin-top:1.1rem;padding:.6rem 1.1rem;border-radius:999px;border:1px solid var(--modal-accent);background:transparent;color:var(--color-text);font-size:.8rem;font-weight:500;letter-spacing:.04em;cursor:pointer;text-decoration:none;transition:background .2s ease,transform .2s ease}.bg-cta:hover{background:color-mix(in srgb,var(--modal-accent) 22%,transparent);transform:translateY(-2px)}@media(max-width:860px){.bg-arena{grid-template-columns:1fr}.bg-controls{position:static;flex-direction:row;flex-wrap:wrap;justify-content:center}.bg-legend{flex-direction:row;flex-wrap:wrap;justify-content:center;width:auto}.bg-modal-body{grid-template-columns:1fr}.bg-modal-media{max-height:240px}}@media(prefers-reduced-motion:reduce){.bg-pawn-piece,.bg-pawn--hop .bg-pawn-piece,.bg-dice--rolling{animation:none}.bg-tile,.bg-roll,.bg-cta{transition:none}}.term-root{position:fixed;right:clamp(.75rem,2.5vw,1.5rem);bottom:clamp(.75rem,2.5vw,1.5rem);z-index:2147483647;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.term-launcher{display:inline-flex;align-items:center;gap:.55rem;padding:.6rem 1rem;border-radius:999px;cursor:pointer;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-line-strong);box-shadow:0 10px 30px #00000073;transition:transform .25s var(--ease-alive),border-color .25s var(--ease-nav)}.term-launcher:hover{transform:translateY(-3px);border-color:#6fe0b099}.term-launcher-prompt{color:#6fe0b0;font-weight:700;letter-spacing:.05em}.term-launcher-label{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.term-panel{width:min(420px,calc(100vw - 1.5rem));height:min(340px,60vh);display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#090b0df5;border:1px solid var(--color-line-strong);box-shadow:0 26px 70px #0009;animation:term-pop .22s var(--ease-alive)}@keyframes term-pop{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.term-head{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:#14181cf2;border-bottom:1px solid var(--color-line);cursor:default;-webkit-user-select:none;user-select:none}.term-head-title{flex:1;font-size:.72rem;letter-spacing:.06em;color:var(--color-text-muted)}.term-close{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.8rem;line-height:1;padding:.15rem .3rem;border-radius:4px;transition:color .2s ease,background .2s ease}.term-close:hover{color:var(--color-text);background:#ffffff14}.term-body{flex:1;overflow-y:auto;padding:.7rem .8rem .9rem;font-size:.78rem;line-height:1.55;color:#d7e0d9;scrollbar-width:thin;scrollbar-color:rgba(237,232,224,.2) transparent}.term-body::-webkit-scrollbar{width:8px}.term-body::-webkit-scrollbar-thumb{background:#ede8e02e;border-radius:8px}.term-line{white-space:pre-wrap;word-break:break-word}.term-line--input{color:#ede8e0}.term-line--output{color:#c7cdc8}.term-line--info{color:#8aa0b6}.term-line--error{color:#ff8f7a}.term-line--success{color:#6fe0b0}.term-prompt{color:#6fe0b0;font-weight:600;margin-right:.35rem}.term-input-row{display:flex;align-items:center;gap:0;margin-top:.1rem}.term-input{flex:1;background:transparent;border:none;outline:none;color:#ede8e0;font:inherit;caret-color:#6fe0b0;padding:0}@media(max-width:520px){.term-panel{width:calc(100vw - 1.5rem);height:55vh}}@media(prefers-reduced-motion:reduce){.term-panel{animation:none}.term-launcher{transition:none}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.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(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.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(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.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(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.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(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.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(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.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(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.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(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.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(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.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(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.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(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.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(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.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(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.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(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.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(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.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(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.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(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.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(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.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{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;--color-bg: #0a0c0e;--color-bg-elevated: #0f1216;--color-surface: rgba(15, 18, 22, .72);--color-text: #ede8e0;--color-text-muted: rgba(237, 232, 224, .62);--color-line: rgba(237, 232, 224, .12);--color-line-strong: rgba(237, 232, 224, .22);--color-glow: rgba(237, 232, 224, .14);--ease-smooth: cubic-bezier(.16, 1, .3, 1);--ease-alive: cubic-bezier(.22, 1, .36, 1);--ease-nav: cubic-bezier(.4, 0, .2, 1);--dur-reveal: .78s;--content-max: 1280px;--pad-x: clamp(1rem, 4.5vw, 2.5rem);--minimap-w: 64px;--minimap-h: clamp(112px, 17vh, 156px);--minimap-gap: 8px;--pad-y-section: clamp(3.5rem, 9vw, 6.5rem);--readable-line-height: 1.72;--heading-line-height: 1.28;font-weight:400;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}.scroll-progress-line{position:fixed;top:0;left:0;right:0;height:2px;z-index:10001;pointer-events:none;transform-origin:left center;background:linear-gradient(90deg,#ede8e047,#ede8e0b8);transition:transform .08s linear;will-change:transform}@media(prefers-reduced-motion:reduce){.scroll-progress-line{transition:none}}.page-minimap{display:none!important}.page-minimap-track{position:relative;width:100%;height:100%;border-radius:4px;background:#0a0c0ef0;border:1px solid var(--color-line);overflow:hidden;cursor:pointer;touch-action:none}.page-minimap-canvas-wrap{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:var(--color-bg)}.page-minimap-canvas{display:block;width:100%;height:100%}.page-minimap-canvas-loading{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(110deg,transparent 40%,rgba(237,232,224,.06) 50%,transparent 60%);background-size:200% 100%;animation:minimap-shimmer 1.1s ease-in-out infinite}@keyframes minimap-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.page-minimap-canvas-loading{animation:none;opacity:.25}}.page-minimap-viewport{position:absolute;left:1px;right:1px;width:auto;z-index:2;box-sizing:border-box;border:1px solid rgba(237,232,224,.55);border-radius:2px;background:#ede8e01a;pointer-events:auto;cursor:grab}.page-minimap-viewport:active{cursor:grabbing}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.Nav:after{transition-duration:.01ms!important}.reveal#education>*,.reveal#professionalExperience>*,.reveal#projects.active .ProjectRow,.reveal#projects:not(.active) .ProjectRow{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}.openingLayout h1,.openingLayout>p{animation:none!important;opacity:1!important;transform:none!important}.Nav{transition:none!important}.Nav:hover,.Nav:focus-visible{transform:none!important}}.slide-in,.slide-out{z-index:999;position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--color-bg);transform-origin:bottom;pointer-events:none}.slide-out{transform-origin:top}.reveal{margin:0 0 var(--pad-y-section);padding-block:clamp(1.5rem,3vw,2rem) clamp(2rem,4vw,3rem);opacity:0;transition:opacity var(--dur-reveal) var(--ease-alive);will-change:opacity}.reveal.active{opacity:1;will-change:auto}@media(prefers-reduced-motion:no-preference){.reveal#education>*,.reveal#professionalExperience>*{opacity:0;transform:translate3d(0,18px,0);transition:opacity .72s var(--ease-alive),transform .72s var(--ease-alive)}.reveal#education.active>*,.reveal#professionalExperience.active>*{opacity:1;transform:translateZ(0)}.reveal#education.active>*:nth-child(1),.reveal#professionalExperience.active>*:nth-child(1){transition-delay:.05s}.reveal#education.active>*:nth-child(2),.reveal#professionalExperience.active>*:nth-child(2){transition-delay:.11s}.reveal#education.active>*:nth-child(3),.reveal#professionalExperience.active>*:nth-child(3){transition-delay:.17s}.reveal#education.active>*:nth-child(4),.reveal#professionalExperience.active>*:nth-child(4){transition-delay:.23s}.reveal#education.active>*:nth-child(5),.reveal#professionalExperience.active>*:nth-child(5){transition-delay:.29s}.reveal#education.active>*:nth-child(6),.reveal#professionalExperience.active>*:nth-child(6){transition-delay:.35s}.reveal#education.active>*:nth-child(7),.reveal#professionalExperience.active>*:nth-child(7){transition-delay:.41s}.reveal#education.active>*:nth-child(8),.reveal#professionalExperience.active>*:nth-child(8){transition-delay:.47s}#projects.reveal:not(.active) .ProjectRow{opacity:0;transform:translate3d(0,20px,0)}#projects.reveal.active .ProjectRow{opacity:1;transform:translateZ(0);transition:opacity .62s var(--ease-alive),transform .62s var(--ease-alive)}#projects.reveal.active .ProjectRow:nth-child(1){transition-delay:.07s}#projects.reveal.active .ProjectRow:nth-child(2){transition-delay:.13s}#projects.reveal.active .ProjectRow:nth-child(3){transition-delay:.19s}#projects.reveal.active .ProjectRow:nth-child(4){transition-delay:.25s}#projects.reveal.active .ProjectRow:nth-child(5){transition-delay:.31s}#projects.reveal.active .ProjectRow:nth-child(6){transition-delay:.37s}#projects.reveal.active .ProjectRow:nth-child(7){transition-delay:.43s}#projects.reveal.active .ProjectRow:nth-child(8){transition-delay:.49s}}h1,h2{color:var(--color-text);line-height:var(--heading-line-height);letter-spacing:-.03em}h1{font-weight:500;font-size:clamp(1.5rem,3.5vw,2rem);margin:0 0 .5rem}h2{font-weight:400;font-size:clamp(1.125rem,2.2vw,1.35rem);margin:0 0 1rem;color:var(--color-text-muted)}body{margin:0}#root{max-width:var(--content-max);margin:0 auto;padding:var(--pad-x);padding-top:clamp(1.25rem,3vw,2rem);padding-bottom:clamp(3rem,10vw,5rem);text-align:left;box-sizing:border-box}body>div{box-sizing:border-box}.Nav{z-index:999;display:block;width:fit-content;position:sticky;margin-left:auto;margin-bottom:1rem;padding:.2rem 0;color:var(--color-text);text-decoration:none;font-weight:500;letter-spacing:-.028em;font-size:clamp(1.15rem,2.65vw,1.55rem);line-height:var(--heading-line-height);transition:color .4s var(--ease-alive),transform .45s var(--ease-alive)}.Nav:after{content:"";position:absolute;bottom:0;left:0;height:1px;width:0%;background:linear-gradient(90deg,transparent,rgba(237,232,224,.55) 15%,rgba(237,232,224,.95));transition:width .42s var(--ease-smooth),opacity .35s var(--ease-nav)}.Nav:hover:after{width:100%}@media(hover:hover)and (prefers-reduced-motion:no-preference){.Nav:hover,.Nav:focus-visible{color:#ede8e0fa;transform:translate(-6px)}}.openingLayout{margin:0;padding:0;width:100vh;height:100vh}.openingLayout h1{font-weight:400}@media(prefers-reduced-motion:no-preference){.openingLayout h1{animation:opening-fade-up .88s var(--ease-alive) .06s both}.openingLayout>p{animation:opening-fade-up .88s var(--ease-alive) .2s both}}@keyframes opening-fade-up{0%{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:translateZ(0)}}.loading{width:0%;height:100%;animation:loading 2s ease forwards}@keyframes loading{0%{width:0%}to{width:100%}}h1.school,.school{margin-top:clamp(2rem,6vw,3.5rem);margin-bottom:.85rem;font-weight:500;font-size:clamp(1.625rem,3.8vw,2.125rem);letter-spacing:-.032em;color:var(--color-text);line-height:var(--heading-line-height)}#education>h1.school:first-of-type{margin-top:.5rem}.container-img-text{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,3.5vw,2.25rem);align-items:start}.container-img-text img{object-fit:contain;width:100%;max-width:min(100%,calc(474px * var(--exp-img-scale, 1)));border-radius:4px;transition:transform .7s var(--ease-alive)}@media(prefers-reduced-motion:no-preference){.container-img-text--half-visible img{transform:scale(1.025)}}.container-img-text>div{max-width:56ch}.container-img-text p,.container-img-text li,.TextDescription,.ProjectDetails p{color:var(--color-text-muted);line-height:var(--readable-line-height);font-size:1rem}.container-img-text p{text-align:justify;-webkit-hyphens:auto;hyphens:auto;margin:0 0 1rem}.container-img-text ul{margin:.5rem 0 1.1rem;padding-left:1.2rem}.container-img-text ul.glass-list{list-style:none;margin:0;padding:0}.container-img-text ul.glass-list--dense:not(.glass-list--course-grid){display:flex;flex-direction:column;margin:.45rem 0 .95rem;padding:.15rem 0 .1rem .85rem;border-left:1px solid var(--color-line)}.container-img-text ul.glass-list--dense:not(.glass-list--course-grid) li.glass-list-item{margin:0;padding:.55rem 0;border:none;border-radius:0;border-bottom:1px solid var(--color-line);background:transparent;font-size:.9375rem;line-height:1.48;-webkit-hyphens:auto;hyphens:auto;color:var(--color-text-muted);transition:color .3s var(--ease-smooth)}.container-img-text ul.glass-list--dense:not(.glass-list--course-grid) li.glass-list-item:last-child{border-bottom:none;padding-bottom:0}.container-img-text ul.glass-list--dense:not(.glass-list--course-grid) li.glass-list-item:first-child{padding-top:0}.container-img-text ul.glass-list--dense.glass-list--course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:.35rem;margin:.45rem 0 .95rem;padding:.2rem 0 .15rem .85rem;border-left:1px solid var(--color-line)}@media(max-width:520px){.container-img-text ul.glass-list--dense.glass-list--course-grid{grid-template-columns:1fr}}.container-img-text ul.glass-list--dense.glass-list--course-grid li.glass-list-item{margin:0;position:relative;padding:.15rem 0 .15rem .55rem;border:none;border-radius:0;background:transparent;font-size:.875rem;line-height:1.42;letter-spacing:-.01em;-webkit-hyphens:auto;hyphens:auto;color:var(--color-text-muted);transition:color .3s var(--ease-smooth)}.container-img-text ul.glass-list--dense.glass-list--course-grid li.glass-list-item:before{content:"/";position:absolute;left:0;top:.08em;font-weight:500;font-size:.92em;line-height:inherit;color:#ede8e047;pointer-events:none}.container-img-text ul.glass-list--compact li.glass-list-item,.TechStack li{margin:0;padding:.32rem .55rem;border:1px solid var(--color-line);border-radius:999px;background:linear-gradient(135deg,#ede8e00f,#0f12166b 55%,#0a0c0e8c);box-shadow:0 1px #ede8e00a inset,0 8px 28px #00000038;backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);transition:color .35s var(--ease-smooth),border-color .35s var(--ease-smooth),transform .4s var(--ease-smooth),box-shadow .35s var(--ease-smooth)}.container-img-text ul.glass-list--compact{display:flex;flex-direction:row;flex-wrap:wrap;gap:.45rem;margin:.4rem 0 1rem;padding:.2rem 0 0}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.container-img-text ul.glass-list--compact li.glass-list-item,.TechStack li{background:var(--color-bg-elevated);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}}@media(hover:hover)and (prefers-reduced-motion:no-preference){.container-img-text ul.glass-list--dense li.glass-list-item:hover{color:var(--color-text)}.container-img-text ul.glass-list--compact li.glass-list-item:hover{color:var(--color-text);border-color:var(--color-line-strong);transform:translateY(-2px);box-shadow:0 1px #ede8e012 inset,0 12px 36px #0000004d}}@media(prefers-reduced-motion:reduce){.container-img-text ul.glass-list--compact li.glass-list-item:hover{transform:none;box-shadow:0 1px #ede8e00a inset,0 8px 28px #00000038}}.container-img-text span:not(.visually-hidden){display:inline-block;margin-top:.5rem;margin-bottom:.35rem;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}@media(max-width:1215px){.container-img-text{grid-template-columns:1fr}}.grid{display:grid;gap:clamp(1.25rem,3vw,2rem)}.ProjectRow{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(1rem,2.5vw,1.75rem)}.project-card-link{display:block;max-width:min(100%,750px);text-decoration:none;color:inherit;border-radius:4px}.card{position:relative;text-align:center;max-width:750px;width:100%;aspect-ratio:750 / 405;border-radius:4px;overflow:hidden;background:var(--color-bg-elevated)}.card:before{visibility:hidden;box-sizing:border-box;z-index:2;content:"";position:absolute;top:0;left:0;width:0;height:0;border-radius:4px 0 0;border-top:1px solid var(--color-text);border-left:1px solid var(--color-text);pointer-events:none;transition:width .48s var(--ease-alive),height .48s var(--ease-alive),visibility .48s var(--ease-alive),border-radius .48s var(--ease-alive)}.card:after{visibility:hidden;box-sizing:border-box;z-index:2;content:"";position:absolute;bottom:0;right:0;width:0;height:0;border-radius:0 0 4px;border-right:1px solid var(--color-text);border-bottom:1px solid var(--color-text);pointer-events:none;transition:width .48s var(--ease-alive),height .48s var(--ease-alive),visibility .48s var(--ease-alive),border-radius .48s var(--ease-alive)}.card img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1);transition:transform .72s var(--ease-alive)}@media(prefers-reduced-motion:no-preference){.ProjectRow:hover .card:before,.ProjectRow:focus-within .card:before{visibility:visible;width:100%;height:100%;border-radius:4px 4px 0;transition:width .48s var(--ease-alive),height .48s var(--ease-alive),visibility .48s var(--ease-alive),border-radius .48s var(--ease-alive)}.ProjectRow:hover .card:after,.ProjectRow:focus-within .card:after{visibility:visible;width:100%;height:100%;border-radius:0 4px 4px;transition:width .48s var(--ease-alive),height .48s var(--ease-alive),visibility .48s var(--ease-alive),border-radius .48s var(--ease-alive)}.ProjectRow:hover .card,.ProjectRow:focus-within .card{filter:drop-shadow(0 18px 36px rgba(0,0,0,.35))}.ProjectRow:hover .card img,.ProjectRow:focus-within .card img{transform:scale(1.05)}}.TechStack{list-style:none;margin:0;padding:.35rem 0 0;display:flex;flex-wrap:wrap;gap:.45rem;max-width:240px;opacity:0;transform:translate(-14px);pointer-events:none;transition:opacity .45s var(--ease-smooth),transform .5s var(--ease-smooth)}@media(hover:hover)and (pointer:fine){.ProjectRow:hover .TechStack,.ProjectRow:focus-within .TechStack{opacity:1;transform:translate(0);pointer-events:auto}}@media(hover:none),(pointer:coarse){.TechStack{opacity:1;transform:none;pointer-events:auto}}@media(prefers-reduced-motion:no-preference){.ProjectRow:hover .TechStack li,.ProjectRow:focus-within .TechStack li{color:var(--color-text);border-color:var(--color-line-strong);transform:translateY(-2px);box-shadow:0 1px #ede8e012 inset,0 12px 36px #0000004d}}.ProjectDetails>span{display:block;margin-top:clamp(2.5rem,6vw,4rem)}.icon{align-items:center;display:flex;gap:1rem;flex-wrap:wrap}.icon img{max-width:90px}.icon span{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:500;letter-spacing:-.03em;line-height:var(--heading-line-height)}.SpriteIcon{display:flex;gap:clamp(1.25rem,3vw,2rem);align-items:center;flex-wrap:wrap}.SpriteIcon img,.SpriteIcon video{max-width:140px;border-radius:3px}.LevelIcon{display:flex;text-align:justify;flex-wrap:wrap;gap:clamp(2rem,5vw,3rem)}.LevelIcon>div{flex:1 1 400px}.LevelIcon img,.LevelIcon video{width:100%;height:auto;border-radius:3px}.TextDescription{max-width:65ch;text-align:justify}.Publications{display:flex;flex-direction:column;gap:clamp(1.5rem,4vw,2.5rem)}.publication{position:relative;max-width:72ch;padding:clamp(1.25rem,3vw,1.9rem) clamp(1.25rem,3vw,2rem);border:1px solid var(--color-line);border-left:2px solid var(--color-line-strong);border-radius:6px;background:linear-gradient(135deg,#ede8e00a,#0f121666 60%,#0a0c0e80);transition:transform .7s var(--ease-alive),border-color .5s var(--ease-alive)}@media(prefers-reduced-motion:no-preference){.publication--in-view{transform:translateY(-2px);border-left-color:#ede8e066}}.publication-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem .85rem}.publication-title{display:inline-block;color:var(--color-text);text-decoration:none;font-weight:600;letter-spacing:-.02em;line-height:var(--heading-line-height);font-size:clamp(1.1rem,2.4vw,1.4rem);background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .42s var(--ease-smooth),color .4s var(--ease-alive)}.publication-title--static{cursor:default}a.publication-title:hover,a.publication-title:focus-visible{color:#ede8e0fa;background-size:100% 1px}.publication-status{flex-shrink:0;align-self:center;padding:.22rem .6rem;border:1px solid var(--color-line-strong);border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.publication-authors{margin:.7rem 0 .25rem;font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.publication-author--me{color:var(--color-text);font-weight:600}.publication-meta{margin:0 0 .9rem;font-size:.8125rem;letter-spacing:.01em;color:var(--color-text-muted);font-style:italic}.publication-abstract{margin:0 0 1rem;color:var(--color-text-muted);line-height:var(--readable-line-height);font-size:.9375rem;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.publication .glass-list--compact{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.1rem;padding:0;list-style:none}.publication-links{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(.75rem,2vw,1.5rem)}.publication-doi{font-size:.8125rem;color:var(--color-text-muted);text-decoration:none;font-variant-numeric:tabular-nums;transition:color .4s var(--ease-alive)}.publication-doi:hover,.publication-doi:focus-visible{color:var(--color-text)}.publication-cta{font-size:.9375rem;font-weight:500;color:var(--color-text);text-decoration:none;transition:transform .45s var(--ease-alive)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.publication-cta:hover,.publication-cta:focus-visible{transform:translate(4px)}}.Socials{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(.5rem,1.5vw,.9rem)}.social-link{display:inline-flex;align-items:center;gap:clamp(.85rem,2vw,1.15rem);width:fit-content;padding:.55rem 0;color:var(--color-text-muted);text-decoration:none;transition:color .4s var(--ease-alive),transform .45s var(--ease-alive)}.social-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:clamp(1.5rem,3vw,1.85rem);height:clamp(1.5rem,3vw,1.85rem)}.social-icon svg{width:100%;height:100%;display:block}.social-text{display:flex;flex-direction:column;line-height:1.25}.social-label{font-weight:500;letter-spacing:-.02em;font-size:clamp(1.05rem,2.2vw,1.3rem)}.social-handle{font-size:clamp(.82rem,1.6vw,.95rem);color:var(--color-text-muted)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.social-link:hover,.social-link:focus-visible{color:#ede8e0fa;transform:translate(6px)}}.social-link:focus-visible{outline:1px solid var(--color-line-strong);outline-offset:6px;border-radius:3px}@media(prefers-reduced-motion:reduce){.loading{animation:none;width:100%}.ProjectRow:hover .card img,.ProjectRow:focus-within .card img,.ProjectRow:hover .TechStack li,.ProjectRow:focus-within .TechStack li{transform:none}.container-img-text--half-visible img{transform:none!important}.card:before,.card:after{display:none}.TechStack{opacity:1;transform:none;pointer-events:auto;transition:none}}.play-game-link{position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:60;display:inline-flex;align-items:center;gap:.55rem;padding:.7rem 1.15rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-decoration:none;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-line-strong);box-shadow:0 10px 30px #00000073;transition:transform .25s var(--ease-alive),border-color .25s var(--ease-nav),box-shadow .25s var(--ease-nav)}.play-game-link:hover{transform:translateY(-3px);border-color:#c48cff99;box-shadow:0 14px 36px #0000008c}.play-game-dice{font-size:1.05rem;line-height:1;display:inline-block;animation:play-game-wobble 2.6s ease-in-out infinite}@keyframes play-game-wobble{0%,to{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}@media(prefers-reduced-motion:reduce){.play-game-link{transition:none}.play-game-dice{animation:none}}
