@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--ink:#f0e8cd;--gold:#d7b977;--jade:#73ddbb;--ruby:#e7918c;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--board:min(67vw,calc(100dvh - 244px),710px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{width:100%;height:100%;color:var(--ink);font-family:var(--sans);background:#071814;margin:0;font-size:16px;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}:is(button:focus-visible,input:focus-visible){outline-offset:4px;outline:2px solid #ffe29c}.table-scene{isolation:isolate;background:#0b1e17;width:100%;height:100dvh;position:relative;overflow:hidden}.table-environment{z-index:-3;filter:saturate(.85);background:url(/art/table-sanctuary.png) 50%/cover;position:absolute;inset:0;transform:scale(1.02)}.light-fall{z-index:-2;pointer-events:none;background:radial-gradient(at 50% 47%,#0000 33%,#00130e52 78%),linear-gradient(90deg,#03110e33,#0000 20% 80%,#03110e33);position:absolute;inset:0}.table-scene:after{content:"";pointer-events:none;z-index:-1;position:absolute;inset:0;box-shadow:inset 0 0 90px 35px #020b0877}.table-mark{text-shadow:0 2px 8px #000;z-index:5;opacity:.85;align-items:center;gap:11px;display:flex;position:absolute;top:23px;left:28px}.table-mark>span{color:#bda062;font-size:35px}.table-mark strong{font-family:var(--serif);letter-spacing:3px;font-size:22px;font-weight:500;line-height:1}.table-mark small{font-family:var(--sans);letter-spacing:3px;color:#c2ac78;margin-top:9px;font-size:8px;display:block}.gear-button,.close-seal{color:#d9bd81;z-index:25;background:radial-gradient(circle at 45% 35%,#304637,#0d1b15);border:1px solid #b18b4c77;border-radius:50%;width:46px;height:46px;font-size:24px;transition:transform .2s,filter .2s;position:absolute;top:21px;right:24px;box-shadow:0 3px #020806,0 5px 12px #0009,inset 0 0 0 3px #aa864621}.gear-button:hover{filter:brightness(1.3);transform:rotate(22deg)}.match-stamp{letter-spacing:1.5px;color:#b9aa7c;z-index:3;text-shadow:0 2px 5px #000;flex-direction:column;gap:7px;font-size:10px;display:flex;position:absolute;bottom:24px;left:28px}.match-stamp>span:nth-child(2){letter-spacing:2px;font-size:13px}.match-stamp button{text-align:left;color:#ddc58b;letter-spacing:2px;background:0 0;border:0;padding:0;font-family:monospace;font-size:12px}.play-table{flex-direction:column;justify-content:center;align-items:center;height:100%;padding:8px 0 2px;transition:filter .6s,transform .8s;display:flex}.scene-paused .play-table{filter:brightness(.48)blur(2px);transform:scale(.965)}.court-bench{height:44px;width:var(--board);color:#d8dfc7;flex-shrink:0;align-items:center;gap:9px;padding:0 6px;display:flex;position:relative}.court-bench:after{content:"";background:linear-gradient(90deg,#0000,#b5a26944,#0000);height:1px;position:absolute;bottom:0;left:3%;right:3%}.court-portrait{filter:drop-shadow(0 3px 4px #000a);flex-shrink:0;width:42px;height:44px}.court-identity{flex-direction:column;gap:4px;display:flex}.court-identity strong{letter-spacing:1.8px;color:#aaddc7;white-space:nowrap;text-shadow:0 2px 3px #000;font-size:12px;font-weight:600}.ruby .court-identity strong{color:#f0bbb2}.court-identity small{letter-spacing:1px;color:#a5b29c;font-size:9px}.has-turn .court-identity small{color:#f0d28e}.has-turn:before{content:"";z-index:-1;border-radius:50%;width:30px;height:25px;animation:3s infinite breath;position:absolute;top:13px;left:5px;box-shadow:0 0 20px 8px #d7b66e29}.captured-rack{align-items:center;gap:0;min-width:50px;height:39px;margin-left:9px;display:flex}.captured-keeper{opacity:.8;filter:grayscale(.25);width:31px;height:37px;transform:rotate(-9deg)}.empty-rack{letter-spacing:7px;color:#6c82653b;font-size:22px}.enemy-recharge{color:#b5ac7f;align-items:center;gap:9px;margin-left:auto;font-size:17px;display:flex}.enemy-recharge b{color:#92bda5;font-size:11px;font-weight:400}.seal-counter{color:#647260;align-items:center;gap:6px;margin-left:auto;font-size:14px;display:flex}.seal-counter .lit{color:#f4d58d;filter:drop-shadow(0 0 6px #fed48399);animation:1s ease-out seal-glow}.seal-counter small{letter-spacing:1px;color:#b7af8a;margin-left:4px;font-size:10px}.home-bench{height:36px;margin-top:0}.home-bench .court-portrait{width:35px;height:37px}.home-bench .court-identity{gap:3px}.home-bench:after{display:none}.stone-board{width:var(--board);height:var(--board);padding:5.1%;padding:calc(var(--board)*.051);isolation:isolate;background:#244637 url(/art/shrine.png) 50%/cover;border:2px solid #a18c56;flex-shrink:0;position:relative;box-shadow:0 6px #20372a,0 9px #907342,0 13px #0c1b13,0 24px 24px #0009,0 0 50px #b8984822}.board-edge{pointer-events:none;border:1px solid #dbc38566;position:absolute;inset:2.4%;box-shadow:0 0 0 1px #152b1e,inset 0 0 10px #0008}.board-grid{border:1px solid #dec48c88;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);width:100%;height:100%;display:grid;position:relative;box-shadow:0 0 15px #0009}.cell{aspect-ratio:1;isolation:isolate;background:#163d2c9e;border:1px solid #b3a56b45;border-top:0;border-left:0;min-width:0;padding:0;position:relative}.cell:nth-child(5n){border-right:0}.cell:nth-child(n+21){border-bottom:0}.cell.light{background:#48634a80}.cell:after{content:"";pointer-events:none;border:1px solid #0000;transition:all .18s;position:absolute;inset:4%}.cell:hover:after{background:#dec57511;border-color:#f9d89677}.cell.selected{background:#9dac5882}.cell.selected:after{border:1px solid #ffe39c;box-shadow:inset 0 0 15px #e8c97466,0 0 7px #dcc16866}.cell.target{background:#aab46165}.cell.target:after{border-color:#ebd28b55}.cell.target:hover{background:#c0c96990}.cell.capture:after{background:#b25d3d44;border:2px solid #fdb495;animation:1.7s infinite threat;box-shadow:0 0 14px #e17b5477}.cell-coordinate{letter-spacing:.5px;color:#d6cc9670;font-size:10px;line-height:1;position:absolute;bottom:3px;left:4px}.shrine{background:#77733c5c!important}.shrine-mark{font-size:calc(var(--board)*.13);color:#f5d88799;text-shadow:0 0 18px #f1c95866;place-items:center;line-height:1;display:grid;position:absolute;inset:0}.shrine:before{content:"";border:1px solid #debe6b88;position:absolute;inset:18%;transform:rotate(45deg);box-shadow:0 0 10px #f3c05e22}.target-light{background:#ffeeab;border-radius:50%;width:13%;height:13%;animation:1.8s ease-in-out infinite target-glow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 14px 4px #edd47855}.pieces-layer{pointer-events:none;z-index:4;position:absolute;inset:0}.keeper{pointer-events:none;filter:drop-shadow(0 6px 3px #000a);width:20%;height:20%;transition:left .42s cubic-bezier(.22,.76,.32,1),top .42s cubic-bezier(.22,.76,.32,1),filter .22s,transform .22s;position:absolute}.piece-art{mix-blend-mode:screen;background-image:url(/art/keepers.png);background-repeat:no-repeat;background-size:300% 200%;width:100%;height:100%;display:block;-webkit-mask-image:radial-gradient(57% 56% at 50% 51%,#000 60%,#0000 91%);mask-image:radial-gradient(57% 56% at 50% 51%,#000 60%,#0000 91%)}.keeper .piece-art{width:104%;height:104%;position:absolute;inset:-6% -2% 2%}.keeper.chosen{filter:drop-shadow(0 7px 5px #0009)drop-shadow(0 0 8px #ffe99788);z-index:6;transform:translateY(-6%)}.piece-label{letter-spacing:.15px;color:#edf1d7;text-shadow:0 1px 3px #000,0 0 5px #000;white-space:nowrap;background:#133b2dbb;border-radius:2px;padding:1px 4px;font-size:11px;font-weight:500;position:absolute;bottom:1%;left:50%;transform:translate(-50%)}.ruby .piece-label{color:#ffe9da;background:#57242dc4}.veil-token{background:linear-gradient(130deg,#9de6d666,#2b706411,#a0e6d433);border:1px solid #b9f3d3b0;animation:.5s ease-out veil-rise;position:absolute;inset:13%;transform:rotate(45deg);box-shadow:inset 0 0 17px #b4f6de44,0 0 15px #6acfaa44}.veil-token:after{content:"";border:1px solid #d5f5d947;position:absolute;inset:10%}.veil-token>span{color:#d4efc8;place-items:center;font-size:28px;display:grid;position:absolute;inset:0;transform:rotate(-45deg)}.veil-token small{color:#d5e4c1;font-size:10px;position:absolute;bottom:-10px;right:0;transform:rotate(-45deg)}.veil-token.ruby{background:linear-gradient(130deg,#efa1ab55,#701d3122);border-color:#ecb7b9aa;box-shadow:inset 0 0 17px #eaadc344,0 0 15px #cf7b9e44}.board-corner{color:#f3d99f;text-shadow:0 0 7px #f3d99f77;font-size:14px;position:absolute}.tl{top:1%;left:1%}.tr{top:1%;right:1%}.bl{bottom:1%;left:1%}.br{bottom:1%;right:1%}.move-impact{pointer-events:none;z-index:7;border:2px solid #ffe7b8;border-radius:50%;width:18%;height:18%;animation:.65s ease-out forwards move-ripple;position:absolute;transform:translate(-50%,-50%)}.move-impact.rift{border-color:#afffe2;animation:.8s ease-out forwards rift-ripple;box-shadow:0 0 20px #68ffe0}.move-impact.veil{border-radius:0;animation:.7s ease-out forwards veil-ripple}.move-impact.capture-impact{border-width:4px;animation:.9s ease-out forwards capture-ripple;box-shadow:0 0 20px 8px #ffc77599}.board-whisper{height:30px;min-height:30px;max-width:calc(var(--board) + 100px);text-align:center;color:#b8c8ac;text-shadow:0 2px 4px #000;flex-shrink:0;justify-content:center;align-items:center;padding:5px 8px 0;font-size:12px;line-height:1.25;display:flex}.board-whisper.your-turn{color:#e3ce9a}.rite-hand{perspective:600px;flex-shrink:0;justify-content:center;align-items:flex-end;gap:15px;height:112px;padding-bottom:5px;display:flex;position:relative}.rite-hand:before{content:"";filter:blur(12px);z-index:-1;background:#050e0a66;border-radius:50%;height:60px;position:absolute;bottom:5px;left:-22px;right:-22px}.rite-token{transform-origin:50% 120%;filter:drop-shadow(0 7px 4px #0009);background:0 0;border:0;width:109px;height:107px;padding:0;transition:transform .24s,filter .24s;position:relative}.rite-token.advance{transform:rotate(-8deg)translateY(6px)}.rite-token.veil{transform:rotate(8deg)translateY(6px)}.rite-token.rift{transform:translateY(-1px)}.rite-token:not(:disabled):hover{z-index:5;filter:drop-shadow(0 11px 6px #000a);transform:translateY(-8px)rotate(0)scale(1.08)}.rite-token.selected-rite{z-index:3;transform:translateY(-9px)rotate(0)scale(1.04)}.coin-art{filter:brightness(.88);background-image:url(/art/rite-coins.png);background-repeat:no-repeat;background-size:300% 100%;width:89px;height:89px;transition:filter .22s;position:absolute;top:1px;left:10px;-webkit-mask-image:radial-gradient(circle,#000 62%,#0000 71%);mask-image:radial-gradient(circle,#000 62%,#0000 71%)}.selected-rite .coin-art{filter:brightness(1.24)drop-shadow(0 0 9px #cda65466)}.rite-token:disabled:not(.selected-rite){filter:grayscale(.45)brightness(.68)drop-shadow(0 5px 3px #000)}.charge-halo{pointer-events:none;border:1px solid #0000;border-radius:50%;width:79px;height:79px;position:absolute;top:6px;left:15px}.selected-rite .charge-halo{border-color:#ffdf8d;animation:2s infinite halo;box-shadow:0 0 12px #ffe29a77,inset 0 0 12px #fff09a22}.charge-halo.charged{animation:1.2s ease-out recharge}.rite-name{font-family:var(--serif);letter-spacing:.3px;color:#ead59e;text-shadow:0 2px 3px #000,0 0 6px #000;justify-content:center;align-items:center;gap:6px;font-size:20px;line-height:1;display:flex;position:absolute;bottom:0;left:-7px;right:-7px}.rite-name kbd{font-family:var(--sans);color:#a19c7d;border:1px solid #ab935755;border-radius:3px;padding:2px 4px;font-size:9px}.recharging .coin-art{filter:grayscale(.75)brightness(.48)}.recharge-seal{z-index:3;color:#f1dfb1;width:28px;height:28px;font-family:var(--serif);background:#0c2013db;border:1px solid #bfa36077;border-radius:50%;place-items:center;font-size:23px;display:grid;position:absolute;top:28px;left:41px}.overlay{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(#06170ed9 10%,#06170e98 50%,#0410085c);justify-content:center;align-items:center;padding:22px;display:flex;position:absolute;inset:0}.title-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:radial-gradient(#061a10ef 5%,#06170eb5 43%,#04110833 80%)}.modal{text-align:center;scrollbar-width:thin;scrollbar-color:#8a7542 #102017;max-height:calc(100dvh - 44px);animation:.45s ease-out ceremony-appear;position:relative;overflow-y:auto}.ceremony-modal{width:470px;padding:20px 25px 22px;overflow:visible}.title-crowns{width:260px;height:165px;margin:0 auto 3px;position:relative}.title-keeper{filter:drop-shadow(0 8px 15px #0007);width:145px;height:165px;position:absolute}.title-keeper.ruby{opacity:.8;left:0;transform:rotate(-13deg)translateY(6px)}.title-keeper.jade{right:0;transform:rotate(12deg)}.title-sigil{color:#f1d392;text-shadow:0 0 35px #cfa45c88;font-size:82px;position:absolute;top:62px;left:50%;transform:translate(-50%)}.small-inscription{letter-spacing:4px;color:#cbb17a;text-transform:uppercase;margin:5px 0 10px;font-size:11px}.game-title{font-family:var(--serif);letter-spacing:5px;color:#ecd39b;text-shadow:0 3px #392c13,0 0 28px #c6a95822;margin:5px -20px 15px;font-size:67px;font-weight:500;line-height:1}.title-motto{color:#b9c1a6;max-width:340px;margin:0 auto 27px;font-size:13px;line-height:1.6}.title-choices{max-width:350px;margin:auto}.ceremony-button{color:#142419;width:100%;min-height:48px;font-family:var(--serif);letter-spacing:.5px;background:linear-gradient(#a4894b,#dfbd75 47%,#bb9651 53%,#af8b47);border:1px solid #f3d79a;border-bottom-color:#997a3b;border-radius:4px;padding:9px 16px;font-size:23px;font-weight:600;transition:filter .2s,transform .2s;position:relative;box-shadow:0 4px #453418,0 8px 16px #0008,inset 0 0 0 3px #7c683b33}.ceremony-button:before,.ceremony-button:after{content:"◆";opacity:.45;font-family:Georgia,serif;font-size:8px;position:absolute;top:50%;transform:translateY(-50%)}.ceremony-button:before{left:8px}.ceremony-button:after{right:8px}.ceremony-button:hover{filter:brightness(1.17);transform:translateY(-1px)}.ceremony-button:active{transform:translateY(3px);box-shadow:0 1px #453418,0 4px 12px #0006}.ceremony-button:disabled{filter:saturate(.45)brightness(.6)}.ceremony-button.secondary{color:#dbc489;background:linear-gradient(#2b4936,#172f20 48%,#102419 52%,#1b3020);border-color:#9e8c54;font-size:20px;box-shadow:0 3px #061008,0 6px 10px #0007,inset 0 0 0 3px #a48d4321}.primary-choice{min-height:56px;font-size:25px}.duet-buttons{gap:13px;margin-top:15px;display:flex}.engraved-link{color:#aeb69d;text-shadow:0 2px 4px #000;letter-spacing:.3px;background:0 0;border:0;margin:12px auto 0;padding:9px 12px;font-size:12px;display:block}.engraved-link:hover{color:#ffe2a0}.modal h2{font-family:var(--serif);letter-spacing:.5px;color:#e4cc96;margin:9px 0 20px;font-size:39px;font-weight:500;line-height:1.15}.modal-rune{color:#c8af74;font-size:42px}.quiet-text{color:#b5c3aa;max-width:390px;margin:0 auto 25px;font-size:14px;line-height:1.65}.ceremony-crest{filter:drop-shadow(0 0 25px #d5ae5933);width:145px;height:145px;margin:0 auto 16px}.invitation-code{letter-spacing:7px;color:#f0d395;text-shadow:0 0 15px #d8b56844;border-top:1px solid #b3995555;border-bottom:1px solid #b3995555;width:max-content;min-width:275px;margin:0 auto 24px;padding:15px 8px;font-family:monospace;font-size:34px}.room-inscription input{color:#f2d9a2;text-align:center;letter-spacing:7px;text-transform:uppercase;background:#06170b99;border:1px solid #a68d5366;border-radius:3px;width:100%;margin:0 0 25px;padding:13px 12px;font-family:monospace;font-size:30px;display:block;box-shadow:inset 0 3px 12px #0008}.result-title{font-family:var(--serif);letter-spacing:7px;color:#e9d29d;text-shadow:0 0 20px #d2aa5922;margin:13px 0 23px;font-size:65px;font-weight:500;line-height:1.1}.winner-crest{filter:drop-shadow(0 0 26px #dfbd6477);animation:2s ease-in-out infinite victory}.rematch-note{margin:19px auto 0;font-size:12px}.close-seal{z-index:2;background:#102a1be8;width:35px;height:35px;font-size:24px;top:10px;right:10px;box-shadow:0 2px #05100a}.rules-scroll,.settings-scroll{background:linear-gradient(135deg,#233c29f5,#10251bf5 50%,#0d2116);border:1px solid #bba05b;border-radius:7px;width:600px;padding:30px 35px;box-shadow:0 0 0 4px #07130a,0 0 0 5px #a18a4a66,0 25px 80px #000b,inset 0 0 55px #0005}.rules-scroll h2{font-size:37px}.keepers-guide{border-bottom:1px solid #bba05b44;grid-template-columns:repeat(3,1fr);gap:13px;padding:6px 0 20px;display:grid}.keepers-guide .piece-art{width:95px;height:105px;margin:0 auto 4px}.keepers-guide strong{font-family:var(--serif);color:#dfc993;font-size:22px}.keepers-guide p{color:#aebda5;margin:7px 0 0;font-size:12px;line-height:1.45}.rule-section{text-align:left;margin:22px 0}.rule-section h3{font-family:var(--serif);color:#dcca9c;margin:0 0 8px;font-size:24px;font-weight:500}.rule-section p{color:#bac7ad;margin:0;font-size:14px;line-height:1.65}.settings-scroll{width:440px;padding:33px 28px}.settings-scroll h2{font-size:34px}.settings-grid{grid-template-columns:1fr 1fr;gap:11px;margin-top:27px;display:grid}.settings-grid button{color:#d4c99d;background:#07180c70;border:1px solid #8d875566;border-radius:4px;min-height:54px;padding:10px;font-size:14px;box-shadow:inset 0 1px 5px #0006}.settings-grid button:hover{background:#3c4d273d;border-color:#dac489}.menu-match{border-top:1px solid #af995144;margin-top:24px;padding-top:17px}.menu-match>span{letter-spacing:1px;color:#a8b49a;font-size:11px}.menu-match .ceremony-button{font-size:18px}.error-toast{z-index:40;color:#ffe0af;background:#452c1ced;border:1px solid #c5a06d;align-items:center;gap:12px;max-width:90vw;padding:13px 17px;font-size:13px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #0008}.error-toast button{color:#ffe0af;background:0 0;border:0;padding:3px;font-size:13px}.error-toast button:last-child{font-size:22px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reduced *,.reduced :before,.reduced :after{transition:none!important;animation:none!important}.reduced .move-impact{display:none}@keyframes breath{50%{opacity:.45}}@keyframes target-glow{50%{transform:translate(-50%,-50%)scale(.9);box-shadow:0 0 7px 2px #edd47844}}@keyframes threat{50%{box-shadow:0 0 5px #e17b5455}}@keyframes veil-rise{0%{opacity:0;transform:rotate(0)scale(.5)}to{opacity:1;transform:rotate(45deg)scale(1)}}@keyframes move-ripple{0%{opacity:1;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;transform:translate(-50%,-50%)scale(1.4)}}@keyframes rift-ripple{0%{opacity:1;transform:translate(-50%,-50%)scale(.1)rotate(45deg)}to{opacity:0;transform:translate(-50%,-50%)scale(1.8)rotate(180deg)}}@keyframes veil-ripple{0%{opacity:1;transform:translate(-50%,-50%)rotate(45deg)scale(.2)}to{opacity:0;transform:translate(-50%,-50%)rotate(45deg)scale(1.5)}}@keyframes capture-ripple{0%{opacity:1;transform:translate(-50%,-50%)scale(.1)}25%{opacity:1;transform:translate(-50%,-50%)scale(.9)}to{opacity:0;transform:translate(-50%,-50%)scale(2)}}@keyframes seal-glow{0%{filter:drop-shadow(0 0 15px #fed483);transform:scale(1.7)}to{filter:drop-shadow(0 0 6px #fed48399);transform:scale(1)}}@keyframes halo{50%{box-shadow:0 0 18px #ffe29aaa}}@keyframes recharge{0%{border-color:#fff2aa;box-shadow:0 0 28px 10px #fe97}to{box-shadow:none;border-color:#0000}}@keyframes ceremony-appear{0%{opacity:0;transform:translateY(15px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes victory{50%{filter:drop-shadow(0 0 35px #dfbd64bb)}}@media (min-width:1450px){.table-mark{top:28px;left:40px}.table-mark strong{font-size:27px}.gear-button{top:27px;right:35px}.match-stamp{bottom:35px;left:40px}}@media (max-width:900px){.table-mark{gap:7px;top:18px;left:18px}.table-mark strong{letter-spacing:2px;font-size:18px}.table-mark>span{font-size:29px}.table-mark small{letter-spacing:2px;font-size:7px}.gear-button{width:40px;height:40px;font-size:21px;top:16px;right:18px}.match-stamp{font-size:8px;bottom:19px;left:17px}.match-stamp>span:nth-child(2){font-size:10px}}@media (max-width:650px){:root{--board:min(calc(100vw - 24px),calc(100dvh - 298px))}.table-environment{filter:saturate(.8)brightness(.85);background-position:50%;background-size:auto 100%}.table-mark{top:15px;left:15px}.table-mark strong{font-size:19px}.table-mark small{letter-spacing:2.3px}.gear-button{width:41px;height:41px;top:13px;right:14px}.play-table{justify-content:center;padding:57px 0 14px}.court-bench{gap:5px;height:42px;padding:0 3px}.court-portrait{width:34px;height:37px}.court-identity strong{letter-spacing:1px;font-size:11px}.court-identity small{letter-spacing:.3px;font-size:9px}.captured-rack{min-width:21px;margin-left:4px}.captured-keeper{width:25px;height:30px}.empty-rack{letter-spacing:3px;font-size:17px}.enemy-recharge{gap:6px;font-size:14px}.seal-counter{gap:4px;font-size:12px}.seal-counter small{margin-left:2px;font-size:9px}.home-bench{height:37px}.home-bench .court-portrait{width:30px;height:34px}.board-whisper{max-width:calc(100vw - 26px);height:37px;min-height:37px;padding:9px 2px 2px;font-size:12px;line-height:1.35}.stone-board{box-shadow:0 4px #20372a,0 6px #907342,0 9px #0c1b13,0 17px 22px #0009}.piece-label{padding:1px 2px;font-size:9px;bottom:0}.cell-coordinate{font-size:8px;bottom:2px;left:3px}.veil-token>span{font-size:23px}.veil-token small{font-size:9px}.rite-hand{gap:8px;height:106px;padding-bottom:3px}.rite-token{width:98px;height:98px}.coin-art{width:78px;height:78px;top:0;left:10px}.charge-halo{width:68px;height:68px;top:5px;left:15px}.rite-name{gap:4px;font-size:21px;bottom:3px}.rite-name kbd{display:none}.recharge-seal{width:26px;height:26px;font-size:20px;top:24px;left:36px}.match-stamp{pointer-events:none;flex-direction:row;justify-content:center;gap:12px;font-size:8px;bottom:6px;left:0;right:0}.match-stamp>span:nth-child(2){font-size:9px}.match-stamp button{pointer-events:auto;font-size:9px}.modal{max-height:calc(100dvh - 32px)}.overlay{padding:16px}.ceremony-modal{width:360px;padding:14px 10px}.title-crowns{width:210px;height:135px}.title-keeper{width:120px;height:135px}.title-sigil{font-size:65px;top:48px}.game-title{letter-spacing:3px;margin:5px -10px 15px;font-size:51px}.small-inscription{letter-spacing:3px;font-size:10px}.title-motto{max-width:285px;margin-bottom:24px;font-size:12px}.title-choices{max-width:310px}.primary-choice{min-height:52px;font-size:23px}.ceremony-button.secondary{font-size:19px}.duet-buttons{gap:10px;margin-top:13px}.engraved-link{margin-top:8px;font-size:12px}.modal h2{font-size:33px}.quiet-text{max-width:305px;font-size:14px}.ceremony-crest{width:125px;height:125px}.rules-scroll,.settings-scroll{width:100%;padding:28px 20px}.rules-scroll h2{font-size:30px}.keepers-guide{gap:7px}.keepers-guide .piece-art{width:78px;height:88px}.keepers-guide strong{font-size:21px}.keepers-guide p{font-size:11px}.rule-section h3{font-size:22px}.rule-section p{font-size:14px}.settings-grid{gap:9px}.settings-grid button{min-height:56px;font-size:13px}.result-title{letter-spacing:5px;font-size:55px}.error-toast{width:90vw;padding:11px;font-size:12px;bottom:15px}.close-seal{top:8px;right:8px}}@media (max-width:650px) and (max-height:720px){:root{--board:min(calc(100vw - 24px),calc(100dvh - 286px))}.play-table{padding-top:51px;padding-bottom:10px}.rite-hand{height:97px}.court-bench{height:37px}.home-bench{height:32px}.board-whisper{height:34px;min-height:34px}.title-crowns{width:180px;height:110px}.title-keeper{width:105px;height:115px}.title-sigil{font-size:55px;top:42px}.game-title{margin-bottom:10px;font-size:44px}.title-motto{margin-bottom:18px}.ceremony-modal{padding-top:6px}.engraved-link{margin-top:6px;padding:6px}}@media (max-height:580px) and (min-width:651px){:root{--board:min(55vw,calc(100dvh - 182px))}.court-bench{height:33px}.court-portrait{width:31px;height:33px}.court-identity strong{font-size:10px}.court-identity small{font-size:8px}.home-bench{height:27px}.home-bench .court-portrait{width:26px;height:29px}.board-whisper{height:26px;min-height:26px;font-size:11px}.rite-hand{gap:11px;height:82px}.rite-token{width:84px;height:79px}.coin-art{width:64px;height:64px;left:10px}.charge-halo{width:54px;height:54px;left:15px}.rite-name{font-size:17px}.recharge-seal{width:25px;height:25px;top:19px;left:29px}.title-crowns{display:none}.ceremony-modal{max-width:390px}.game-title{font-size:51px}.title-motto{margin-bottom:17px}.ceremony-crest{width:75px;height:75px}.result-title{font-size:46px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.move-impact{display:none}}@media (min-width:651px){:root{--board:min(67vw,calc(100dvh - 258px - env(safe-area-inset-bottom,0px)),710px)}.play-table{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}}@media (max-height:580px) and (min-width:651px){:root{--board:min(55vw,calc(100dvh - 198px - env(safe-area-inset-bottom,0px)))}}@media (max-width:650px){.play-table{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.match-stamp{bottom:calc(6px + env(safe-area-inset-bottom,0px))}}@media (max-width:650px) and (max-height:720px){.play-table{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}}.ceremony-button:before,.ceremony-button:after{content:"";background:currentColor;width:5px;height:5px;transform:translateY(-50%)rotate(45deg)}.ceremony-modal{scrollbar-width:none;overflow:auto}.solo-note{color:#b9c6ab;text-align:center;text-shadow:0 1px 3px #000;margin:12px 0 0;font-size:12px;line-height:1.5}.title-choices .duet-buttons{margin-top:14px}.computer-lobby{border-top:1px solid #9a884044;margin-top:23px;padding-top:22px}.computer-lobby .ceremony-button{font-size:22px}.computer-lobby .solo-note{margin-top:12px}@media (max-width:650px){.solo-note{font-size:12px;line-height:1.5}.computer-lobby{margin-top:19px;padding-top:18px}.computer-lobby .ceremony-button{font-size:21px}.duet-buttons .ceremony-button.secondary{font-size:18px}}.waiting-crest{width:95px;height:95px;margin-bottom:10px}.computer-lobby{border:0;margin:0 0 22px;padding:0}.invitation-help{margin-bottom:14px;font-size:13px;line-height:1.45}.computer-lobby .solo-note{font-size:12px}.computer-lobby+.invitation-help+.invitation-code{margin-bottom:17px;padding:11px 8px;font-size:30px}.board-whisper{flex-direction:column;gap:4px;height:45px;min-height:45px;padding-top:6px}.board-whisper>span{line-height:1.2}.board-whisper small{color:#c5ba91;white-space:normal;font-size:11px;line-height:1.2}.board-whisper small.danger-copy{color:#ffc1a3}.unsafe-target{background:#a4663c75!important}.unsafe-target .target-light{background:#ffd28f;box-shadow:0 0 12px #dc944b88}.danger-glyph{color:#ffc79a;text-shadow:0 1px 3px #221003;z-index:8;pointer-events:none;font-size:14px;line-height:1;position:absolute;top:5%;right:7%}.crown-danger:after{box-shadow:inset 0 0 14px #bf5b2744;border:2px dashed #edab7b!important}.turn-trace{z-index:5;color:#b7c5ad;text-shadow:0 2px 4px #000;max-width:240px;margin:0;padding:0;font-size:12px;line-height:1.8;list-style:none;position:absolute;bottom:112px;left:27px}.turn-trace li{border-left:1px solid #b9b07655;padding-left:8px}.turn-trace .enemy-event{color:#dcbaaa}.turn-trace .own-event{color:#bbdbc8}.recharge-seal{flex-direction:column;justify-content:center;gap:0;width:36px;height:36px;line-height:1;display:flex;top:24px;left:37px}.recharge-seal b{font-size:21px;font-weight:500}.recharge-seal small{font-family:var(--sans);letter-spacing:.1px;font-size:8px}.result-move{color:#d8c497;margin:-10px 0 24px;font-size:13px;line-height:1.6}@media (min-width:651px){:root{--board:min(67vw,calc(100dvh - 273px - env(safe-area-inset-bottom,0px)),710px)}}@media (max-height:580px) and (min-width:651px){:root{--board:min(55vw,calc(100dvh - 217px - env(safe-area-inset-bottom,0px)))}.turn-trace{max-width:175px;font-size:10px;bottom:100px;left:18px}}@media (max-width:900px) and (min-width:651px){.turn-trace{max-width:150px;font-size:10px;left:17px}}@media (max-width:650px){:root{--board:min(calc(100vw - 24px),calc(100dvh - 306px))}.board-whisper{gap:3px;max-width:calc(100vw - 18px);height:45px;min-height:45px;padding-top:7px}.board-whisper small{font-size:10px;line-height:1.25}.turn-trace{text-align:center;max-width:none;font-size:10px;line-height:1.5;inset:59px 16px auto}.turn-trace li{white-space:nowrap;text-overflow:ellipsis;border:0;padding:0;overflow:hidden}.turn-trace li:not(:last-child){display:none}.recharge-seal{width:32px;height:32px;top:22px;left:33px}.recharge-seal b{font-size:19px}.recharge-seal small{font-size:8px}.danger-glyph,.result-move{font-size:12px}}@media (max-width:650px) and (max-height:720px){:root{--board:min(calc(100vw - 24px),calc(100dvh - 298px))}.board-whisper{height:46px;min-height:46px}}
