:root{--ink:#182822;--muted-ink:#51635c;--cream:#fffdf2;--tile-edge:#c7b98e;--green:#14614a;--green-deep:#0c4635;--gold:#e0a82e;--red:#a33a36}.visuallyHidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.boardStage{box-sizing:border-box;overscroll-behavior:contain;scrollbar-color:#d2ad677a transparent;grid-row:1;min-width:0;min-height:0;display:flex;position:relative;overflow:auto}.boardStage[data-requires-pan=true][data-pan-affordance=visible]:after{z-index:15;box-sizing:border-box;width:max-content;max-width:calc(100% - 2rem);color:var(--ivory,#f8f1dd);content:"Drag to explore";letter-spacing:.05em;pointer-events:none;background:#061f2be0;border:1px solid #d2ad67ad;border-radius:999px;padding:.42rem .68rem;font-size:.68rem;font-weight:800;animation:2.8s 1.8s forwards panAffordance;position:fixed;top:50dvh;left:50vw;transform:translate(-50%,-50%);box-shadow:0 6px 18px #0000005c}@keyframes panAffordance{to{visibility:hidden;opacity:0}}.boardScaler{width:calc(var(--board-width) * var(--board-scale));height:calc(var(--board-height) * var(--board-scale));flex:none;margin:auto;position:relative}.boardPlane{--tile-width:64px;--tile-height:84px;--tile-step-x:29.33px;--tile-step-y:36.97px;--tile-depth-step:9.44px;isolation:isolate;box-sizing:content-box;width:calc(var(--board-width) - 20px);max-width:none;height:calc(var(--board-height) - 20px);transform:scale(var(--board-scale));transform-origin:0 0;background:0 0;padding:10px;position:relative;overflow:hidden}.gameTile{z-index:calc(var(--tile-z) + 1);box-sizing:border-box;width:var(--tile-width);min-width:44px;height:var(--tile-height);min-height:44px;color:var(--ink);cursor:pointer;transform:translate(calc(var(--tile-origin-x) + var(--tile-x) * var(--tile-step-x)), calc(var(--tile-origin-y) + var(--tile-y) * var(--tile-step-y) - var(--tile-z) * var(--tile-depth-step)));touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:7px;padding:0;position:absolute;top:50%;left:50%;overflow:visible}.tileBody{--tile-state-lift:0px;--tile-state-scale:1;--tile-state-ring:0 0 0 0 transparent;isolation:isolate;box-sizing:border-box;box-shadow:inset 0 1px 0 #ffffffeb, inset 0 -1px 0 #7878702e, var(--tile-state-ring), 0 2px 2px #00080b47, calc(var(--tile-z) * -.35px) calc(4px + var(--tile-z) * .7px) calc(5px + var(--tile-z) * .55px) #00070a47;opacity:1;transform:translateY(var(--tile-state-lift)) scale(var(--tile-state-scale));transform-origin:50% 82%;background-color:#f6f6f1;background-image:linear-gradient(156deg,#fff 0%,#f8f8f4 54%,#e8e8e2 100%);border:1px solid #c8c8c1;border-radius:5px;place-items:center;transition:border-color .15s,border-width .15s,box-shadow .15s,filter .15s,opacity .15s,transform .15s;display:grid;position:absolute;inset:0;overflow:visible}.tileSide{z-index:-1;pointer-events:none;background-color:#aaa9a4;background-image:linear-gradient(145deg,#d0d0ca 0%,#aaa9a4 48%,#898984 100%);border:1px solid #82827cb8;border-radius:5px;position:absolute;inset:1px;transform:translate(3px,4px);box-shadow:1px 2px 2px #00070a3d}.tileBody:before,.tileBody:after{z-index:3;content:"";pointer-events:none;position:absolute}.tileBody:before{background:linear-gradient(#ffffff94,#0000);border-radius:4px 4px 45% 45%;height:13%;top:1px;left:2px;right:2px}.tileBody:after{border:1px solid #ffffff47;border-radius:3px;inset:2px;box-shadow:inset -1px -1px 1px #69696324}.gameTile:hover:not(:disabled) .tileBody{filter:brightness(1.035)}.gameTile[data-state=available] .tileBody{filter:none;opacity:1}.gameTile[data-state=blocked]{color:#344640;cursor:not-allowed}.gameTile[data-state=blocked] .tileBody{filter:saturate(.64)brightness(.92)contrast(.94);opacity:.84}.gameTile[data-state=selected],.gameTile[data-state=hinted]{z-index:calc(var(--tile-z) + 12)}.gameTile[data-state=selected] .tileBody,.gameTile[data-state=hinted] .tileBody{--tile-state-lift:-4px;--tile-state-ring:0 0 0 2px #faf0c1eb, 0 0 10px 3px #deb85ea3;border-width:2px;border-color:#dec06f}.gameTile[data-state=hinted] .tileBody{--tile-state-lift:-5px;filter:brightness(1.06)saturate(1.04);animation:.72s ease-in-out 2 alternate hintPulse}.boardPlane[data-hint-active=true] .gameTile:not([data-state=hinted]) .tileBody{filter:saturate(.44)brightness(.68);opacity:.58}@keyframes hintPulse{0%{filter:brightness(1.03)saturate(1.02)}to{filter:brightness(1.1)saturate(1.08)}}.gameTile[data-state=removed]{pointer-events:none}.gameTile[data-state=removed] .tileBody{--tile-state-scale:.94;opacity:0;animation:.18s ease-out forwards tileRemoved}@keyframes tileRemoved{0%{opacity:1;transform:translateY(var(--tile-state-lift)) scale(1)}to{opacity:0;transform:translateY(var(--tile-state-lift)) scale(var(--tile-state-scale))}}.gameTile:focus-visible{z-index:calc(var(--tile-z) + 24);outline:3px solid var(--ivory,#f8f1dd);outline-offset:3px}.gameTile:focus-visible .tileBody{--tile-state-ring:0 0 0 3px var(--table-ink,#061f2b), 0 0 0 6px #dec06f, 0 0 14px 6px #dec06f75}.tileFace,.tileFace svg{width:100%;height:100%;display:block}.tileFace{z-index:2;pointer-events:none;border-radius:6px;position:relative;overflow:hidden}.tileFace svg{overflow:visible}.markInk,.markWind{color:#183a33}.markAccent,.markDragon{color:var(--red)}.markBamboo,.markFlower,.markSeason{color:#167051}.markCharacter{color:#173f6c}.faceNumber,.faceLetter,.faceCode{fill:currentColor;font-family:ui-rounded,Arial Rounded MT Bold,system-ui,sans-serif;font-weight:900}.faceCharacterNumeral,.faceCharacterSuit,.faceHonorGlyph{fill:currentColor;font-family:Songti SC,Noto Serif CJK TC,Noto Serif CJK SC,serif;font-weight:800}.faceCharacterNumeral{font-size:29px}.faceCharacterSuit{font-size:39px}.faceHonorGlyph{font-size:58px}.faceNumber,.faceLetter{font-size:34px}.faceCode{letter-spacing:1px;font-size:16px}.tileCaption{color:#173f6c;font-size:.75rem;font-weight:900;line-height:1;position:absolute;bottom:6%;right:8%}.tileStateLabel{z-index:4;background:var(--bronze,#503725);color:var(--ivory,#f8f1dd);text-align:center;text-overflow:clip;text-transform:uppercase;white-space:nowrap;pointer-events:none;border:1px solid #f8f1ddbf;border-radius:999px;font-size:.46rem;font-weight:900;line-height:1.35;position:absolute;bottom:2px;left:3px;right:3px;overflow:hidden}.gameControls{z-index:30;box-sizing:border-box;grid-row:2;width:100%;min-width:0;padding:0 clamp(.65rem,2vw,1.25rem) clamp(.65rem,2vw,1.1rem);position:relative}.gameControl{box-sizing:border-box;min-width:44px;min-height:44px;color:var(--ivory,#f8f1dd);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#061f2ba8;border:1px solid #d2ad677a;border-radius:.7rem;justify-content:center;align-items:center;gap:.4rem;padding:.65rem .75rem;font-size:.78rem;font-weight:800;transition:border-color .14s,background-color .14s,transform .14s;display:inline-flex}.gameControl svg{flex:0 0 1.375rem;width:1.375rem;height:1.375rem}.gameControlSound svg{width:1.375rem;height:1.375rem}.gameControl:hover:not(:disabled){border-color:var(--brass,#d2ad67);background:#10424ee0;transform:translateY(-1px)}.gameControl:active:not(:disabled){transform:translateY(1px)}.gameControl:focus-visible{outline:3px solid var(--brass,#d2ad67);outline-offset:2px}.gameControl:disabled{color:#f8f1dd8a;cursor:not-allowed;opacity:.58}.commandDock{--dock-light-stop:#704c32;box-sizing:border-box;border:1px solid var(--brass,#d2ad67);background:linear-gradient(180deg, var(--dock-light-stop), var(--bronze,#503725));border-radius:1rem;grid-template-columns:auto minmax(15rem,1fr) auto auto auto;align-items:center;gap:.8rem;width:min(100%,56rem);min-height:78px;margin:0 auto;padding:.65rem .8rem;display:grid;box-shadow:inset 0 1px #ffffff21,0 14px 34px #00040885}.commandDock>.gameControl,.dockAssistance .gameControl,.dockActions .gameControl{background:#1f18144d;border-color:#d2ad676b}.dockStats{border-left:1px solid #d2ad6747;border-right:1px solid #d2ad6747;grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;min-width:0;margin:0;display:grid}.dockStats div{align-content:center;justify-items:center;min-width:0;padding:0 .9rem;display:grid}.dockStats div+div{border-left:1px solid #d2ad6747}.dockStats dt{color:var(--ivory,#f8f1dd);letter-spacing:.11em;text-transform:uppercase;font-size:.58rem;font-weight:800}.dockStats dd{color:var(--ivory,#f8f1dd);margin:.15rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;font-weight:900}.gameControlPrimary{min-width:8.4rem;color:var(--bronze,#503725);font-family:Georgia,Cambria,serif;font-size:.92rem;box-shadow:inset 0 1px #ffffffb8,0 4px 10px #00000038;border-color:var(--brass,#d2ad67)!important;background:linear-gradient(145deg, var(--ivory,#f8f1dd), #dfc88e)!important}.gameControlPrimary:hover:not(:disabled){background:linear-gradient(145deg, #fffdf7, var(--brass,#d2ad67))!important}.dockAssistance,.dockActions{gap:.35rem;display:flex}.dockActions{flex-wrap:wrap;justify-content:flex-end}.dockAssistance .gameControl{min-width:5.1rem}.dockAssistance .gameControlHint{color:#fff5c7;background:#6c4d14b8;border-color:#ffd65a;box-shadow:0 0 0 2px #ffd65a2e}.gameOverlayScrim{z-index:20;box-sizing:border-box;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00080dad;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.gameOverlay{box-sizing:border-box;border:1px solid var(--brass,#d2ad67);background:linear-gradient(145deg, var(--ivory,#f8f1dd), #dfc88e);width:min(100vw - 2rem,36rem);max-width:100%;color:var(--bronze,#503725);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem;display:flex;position:relative;box-shadow:inset 0 1px #ffffffc7,0 18px 50px #0000009e}.gameOverlay h2,.gameOverlay p{margin:0}.gameOverlay h2{margin-top:.12rem;font-family:Georgia,Cambria,serif;font-size:1.18rem}.gameOverlay h2+p{color:#503725c7;margin-top:.3rem;font-size:.88rem}.gameOverlayActions{flex-wrap:wrap;justify-content:end;gap:.5rem;display:flex}.errorRecovery{color:#f8f1dd;background:#061f2b;place-items:center;min-height:100dvh;padding:1rem;display:grid}.errorRecoveryCard{box-sizing:border-box;background:#0b3b4b;border:1px solid #d2ad67;border-radius:1rem;width:min(100%,28rem);padding:clamp(1.25rem,5vw,2rem);box-shadow:0 18px 42px #0000006b}.errorRecoveryCard h1,.errorRecoveryCard p{margin:0}.errorRecoveryCard h1{margin-top:.2rem;font-family:Georgia,Cambria,serif;font-size:clamp(1.5rem,6vw,2rem)}.errorRecoveryCard h1+p{color:#f8f1ddb3;margin-top:.65rem}.errorRecoveryCard .gameControl{margin-top:1.1rem}.eyebrow{color:var(--brass,#d2ad67);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.gameOverlay .eyebrow{color:#503725}@media (width<=800px){.gameControls{padding:0 .45rem .45rem}.commandDock{border-radius:.85rem;grid-template-columns:44px minmax(6rem,1fr) auto auto;grid-template-areas:"stats stats stats stats""restart new assist actions";gap:.35rem;min-height:96px;padding:.38rem .45rem}.commandDock>.gameControl:first-child{grid-area:restart}.dockStats{border-bottom:1px solid #d2ad6747;border-left:0;border-right:0;grid-area:stats;min-height:36px}.dockStats div{padding-inline:.45rem}.dockStats dt{font-size:.52rem}.dockStats dd{margin-top:0;font-size:.82rem}.commandDock>.gameControlPrimary{grid-area:new;min-width:0}.dockActions{grid-area:actions}.dockAssistance{grid-area:assist}.dockAssistance .gameControl{min-width:44px;padding-inline:.55rem}.gameOverlay{display:block}.gameOverlay>.gameControl,.gameOverlayActions{width:100%;margin-top:.85rem}.gameOverlayActions{justify-content:stretch}.gameOverlayActions .gameControl{flex:100%}}@media (width<=600px){.gameTile{width:78.25px}.gameTile .tileBody{width:var(--tile-width);right:auto}.dockAssistance .gameControl span{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}}@media (height<=480px){.boardStage{margin-bottom:0}.gameTile{width:78.25px}.gameTile .tileBody{width:var(--tile-width);right:auto}.gameControls{padding-bottom:.25rem}.commandDock{min-height:58px;padding-block:.25rem}.dockStats dd{font-size:.82rem}}@media (prefers-reduced-motion:reduce){.gameTile,.tileBody,.gameControl{transition:none}.gameTile[data-state=hinted] .tileBody,.gameTile[data-state=removed] .tileBody{animation:none}}._app_hy3rd_1{--table-ink:#061f2b;--table-mid:#0b3b4b;--ivory:#f8f1dd;--brass:#d2ad67;--bronze:#503725;box-sizing:border-box;background-color:var(--table-ink);background-image:radial-gradient(circle at 50% 43%, #1968776b 0, transparent 46%), radial-gradient(circle at 18% 8%, #d2ad671a 0, transparent 24%), repeating-linear-gradient(36deg, transparent 0 19px, #f8f1dd06 20px 21px), repeating-linear-gradient(126deg, transparent 0 27px, #0000000f 28px 29px), linear-gradient(145deg, var(--table-mid), var(--table-ink) 68%);width:100%;height:100dvh;min-height:100dvh;color:var(--ivory);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow:hidden}._app_hy3rd_1:before{z-index:5;content:"";pointer-events:none;background:radial-gradient(#0000 38%,#00080d57 78%,#000408b8 100%);position:absolute;inset:0}body{background:#061f2b;min-width:20rem;margin:0}._header_hy3rd_39{z-index:20;top:calc(env(safe-area-inset-top,0px) + clamp(.75rem, 2.5vw, 1.4rem));left:calc(env(safe-area-inset-left,0px) + clamp(.75rem, 2.5vw, 1.5rem));color:var(--ivory);text-shadow:0 2px 10px #00000075;align-items:center;display:flex;position:absolute}._title_hy3rd_50,._subtitle_hy3rd_51{margin:0}._title_hy3rd_50{letter-spacing:-.035em;font-family:Georgia,Cambria,serif;font-size:clamp(1.75rem,3.3vw,2.35rem);font-weight:800;line-height:1}._subtitle_hy3rd_51{color:var(--brass);margin-top:.18rem;font-size:.72rem}._gameShell_hy3rd_69{z-index:10;box-sizing:border-box;width:100%;min-width:0;height:100%;min-height:0;padding:calc(env(safe-area-inset-top,0px) + 2rem) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid;position:relative}._layoutChip_hy3rd_87{z-index:20;top:calc(env(safe-area-inset-top,0px) + clamp(.85rem, 2.5vw, 1.5rem));right:calc(env(safe-area-inset-right,0px) + clamp(.75rem, 2.5vw, 1.5rem));color:#f8f1ddad;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#061f2bb8;border:1px solid #d2ad677a;border-radius:999px;align-items:baseline;gap:.45rem;padding:.45rem .7rem;font-size:.68rem;display:flex;position:absolute;box-shadow:0 5px 18px #00000038}._layoutChip_hy3rd_87 strong{color:var(--brass);letter-spacing:.02em;font-family:Georgia,Cambria,serif;font-size:.86rem}@media (width<=600px){._header_hy3rd_39{top:calc(env(safe-area-inset-top,0px) + .5rem);left:calc(env(safe-area-inset-left,0px) + .55rem)}._title_hy3rd_50{font-size:clamp(1.55rem,7.5vw,1.85rem)}._layoutChip_hy3rd_87{top:calc(env(safe-area-inset-top,0px) + .55rem);right:calc(env(safe-area-inset-right,0px) + .55rem);padding:.38rem .55rem}._gameShell_hy3rd_69{padding-top:calc(env(safe-area-inset-top,0px) + 3rem)}}@media (height<=480px){._header_hy3rd_39{top:calc(env(safe-area-inset-top,0px) + .35rem);left:calc(env(safe-area-inset-left,0px) + .5rem);transform-origin:0 0;transform:scale(.82)}._layoutChip_hy3rd_87{top:calc(env(safe-area-inset-top,0px) + .4rem);right:calc(env(safe-area-inset-right,0px) + .5rem);padding-block:.3rem}._gameShell_hy3rd_69{padding-top:calc(env(safe-area-inset-top,0px) + 2.6rem)}}
