:root{font-family:Georgia,Times New Roman,serif;color:#fff2d1;font-synthesis:none;--gold: #edbc54;--ink: #341c0e;--blue: #07558e}*{box-sizing:border-box}body{margin:0;background:#382512}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;transition:filter .15s}button:hover{filter:brightness(1.15)}button:focus-visible,a:focus-visible{outline:3px solid #80e9ff;outline-offset:3px}button:disabled{cursor:default}[hidden]{display:none!important}.realm{position:relative;isolation:isolate;height:100dvh;min-height:320px;overflow:hidden}.scenery,.vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none}.scenery{background:url(/assets/courtyard.webp) center/100% 100% no-repeat}.vignette{z-index:-1;background:linear-gradient(0deg,#28100480,transparent 24%)}.masthead{position:absolute;inset:0 0 auto;z-index:5;height:70px;display:flex;align-items:center;justify-content:space-between;padding:8px max(20px,env(safe-area-inset-right));background:linear-gradient(#0d243a90,transparent);gap:16px}#brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#ffde91;font-size:10px;font-weight:700;letter-spacing:2px;text-shadow:1px 2px #18222b}#brand strong{font-size:20px}.crest{font-size:38px}.edition{font:10px system-ui;letter-spacing:2px;text-shadow:0 1px 3px #000}.edition i{color:var(--gold);padding:0 10px}.small-button{min-height:44px;border:2px ridge #d8ad58;border-radius:4px;background:linear-gradient(#185780,#092d50);color:#ffe5af;padding:9px 16px;box-shadow:0 3px 5px #0005;font-size:14px}.royal-button{min-height:52px;padding:10px 30px;border:4px ridge #f3be51;background:linear-gradient(#078ed3,#073976 55%,#002857);box-shadow:0 3px #462607,inset 0 0 0 2px #60bcdf;color:#ffedbc;text-shadow:1px 2px 2px #120d08;font-size:23px;font-weight:700;border-radius:8px}.royal-button.gold{background:linear-gradient(#ffc926,#bf7300)}.realm[data-screen=title] .masthead,.realm[data-screen=title] .realm-footer{display:none}.title-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#24352050;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.title-art{width:min(100vw,145.717dvh);aspect-ratio:1514/1039;background:url(/assets/title-reference.webp) center/100% 100%;position:relative;box-shadow:0 0 70px #271907}.title-actions{position:absolute;top:81.8%;right:15.3%;bottom:7.1%;left:15.3%;display:flex;gap:6%}.title-actions button{width:47%;background:transparent;border:0;color:transparent;border-radius:22%;font-size:32px;font-weight:700}.title-actions button:hover{background:#fff3b622;box-shadow:0 0 20px #ffcd4980}.title-actions button:focus-visible{outline-offset:0}.game-screen{position:absolute;top:70px;right:0;bottom:32px;left:0}.opponent{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.character{background-image:url(/assets/wyra-atlas.webp);background-repeat:no-repeat;background-size:300% 200%;aspect-ratio:1;filter:drop-shadow(0 8px 8px #10221840);clip-path:inset(0 1.5%)}.character[data-expression=idle]{background-position:0 0}.character[data-expression=happy]{background-position:50% 0}.character[data-expression=sad]{background-position:100% 0}.character[data-expression=victory]{background-position:0 100%}.character[data-expression=loss]{background-position:50% 100%}.opponent .character{position:absolute;width:min(53vw,60dvh);left:50%;transform:translate(-50%);bottom:42%}.opponent-card{position:absolute;left:3%;top:15%;max-width:235px;text-align:center;padding:16px 18px;border:2px ridge #c79b52;border-radius:6px;background:linear-gradient(#123d60ed,#092c47dc);box-shadow:0 4px 10px #0003}.eyebrow{font:9px system-ui;letter-spacing:2px;color:#dec58a}.opponent-card h2{font-size:23px;margin:8px 0;color:#ffe4a5}.opponent-card p{font-size:15px;font-style:italic;line-height:1.4;margin:8px 0 12px}.difficulty-badge{font:11px system-ui;color:#f9dd98}.piece-count{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:9px;font:12px system-ui}.mini-piece{display:inline-block;width:17px;height:12px;border-radius:50%;background:#c92320;border:2px solid #fa6150;box-shadow:0 3px #730f11;flex-shrink:0}.mini-piece.black{background:#242b32;border-color:#6b757e;box-shadow:0 3px #0a0e13}.play-area{position:absolute;width:min(97vw,116dvh,1320px);left:50%;transform:translate(-50%);bottom:58px}.board-frame{padding:0;border:0;background:none}.board{position:relative;width:100%;aspect-ratio:1200/580;touch-action:none;user-select:none;-webkit-user-select:none;filter:drop-shadow(0 12px 9px #21100675)}.board-canvas,.board-grid{position:absolute;top:0;right:0;bottom:0;left:0}.board-canvas canvas{width:100%!important;height:100%!important;display:block}.board-grid{display:block}.square{min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none!important;touch-action:none;color:transparent}.square:focus-visible{outline:none;background:#78eaff66;z-index:2}.square[data-piece="1"],.square[data-piece="2"]{cursor:grab}.board-grid:active .square{cursor:grabbing}.turn-banner{position:fixed;right:2%;bottom:calc(100% + 12px);width:220px;display:flex;gap:10px;align-items:center;padding:12px 14px;border:2px ridge #c79b52;border-radius:5px;background:#103b59ed;box-shadow:0 3px 8px #0003}.turn-banner strong{display:block;font-size:18px;color:#ffe4a5}.turn-banner #turn-hint{display:block;font:11px/1.4 system-ui;margin-top:4px}.count-pill{display:none}.board-footer{display:flex;justify-content:space-between;gap:10px;padding:2px 5%;font:11px system-ui;color:#ffe7b3;text-shadow:1px 1px 2px #251006}.board-footer span:first-child{display:flex;gap:7px;align-items:center}.game-controls{position:absolute;bottom:3px;left:0;right:0;display:flex;justify-content:center;gap:10px}.realm-footer{position:absolute;bottom:0;left:0;right:0;height:26px;display:flex;align-items:center;justify-content:space-between;padding:0 3%;font:9px system-ui;letter-spacing:1px;color:#dec69d;background:#25170dd9}.parchment{width:min(650px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;border:14px ridge #885126;border-radius:8px;color:var(--ink);padding:18px 30px 22px;background:radial-gradient(ellipse at 50% 30%,#ffe2a8,#eabd7a);box-shadow:0 0 0 2px #e6b653,0 18px 70px #0008;text-align:center}.parchment::backdrop{background:#253b3d55;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.parchment .eyebrow{color:#795021}.parchment>.eyebrow{display:none}.close-button{position:absolute;right:7px;top:7px;width:44px;height:44px;border-radius:50%;border:4px ridge #f6c556;background:radial-gradient(#d24226,#870e0b);color:#fff0bf;font-size:32px;line-height:1;z-index:2;box-shadow:0 2px 3px #3b190b}.ribbon{background:linear-gradient(#168bcc,#04336b 65%,#062458);color:#ffdf92;border:5px ridge #f2c463;box-shadow:0 3px #42240d,inset 0 0 0 2px #57abe0;padding:10px 26px;margin:0 auto 22px;width:82%;font-size:36px;text-shadow:2px 2px #172239;border-radius:8px;font-variant:small-caps}.parchment h3{font-size:24px;margin:14px 0;color:#4d260c}.difficulties{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.difficulties button{min-height:80px;padding:10px 4px;border:5px ridge #e7b345;border-radius:9px;color:#ffedb7;background:linear-gradient(#077abd,#05326e);text-shadow:1px 2px #160c04;box-shadow:0 3px #5d320b;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:3px;opacity:.84}.difficulties button[data-difficulty=knight]{background:linear-gradient(#c01813,#640400)}.difficulties button[data-difficulty=champion]{background:linear-gradient(#650dcc,#270060)}.difficulties button[aria-pressed=true]{opacity:1;outline:3px solid #fff2a2;outline-offset:2px;box-shadow:0 0 16px #a05b00}.rank-icon{font-size:29px;grid-row:span 2}.difficulties strong{font-size:18px}.difficulties small{font:11px system-ui}.setting-note{font:12px/1.4 system-ui;color:#704723;margin:12px 0;min-height:17px}.setting{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:2px solid #b88540;padding:19px 8px;font-size:25px;font-weight:700}.toggle{display:flex;padding:3px;border:3px ridge #b99b62;border-radius:7px;background:#292b2c;color:#c5c3b7;box-shadow:0 2px #80572d}.toggle span{padding:8px 20px;font-size:19px;text-transform:uppercase}.toggle[aria-pressed=true] span:first-child{background:linear-gradient(#0ba542,#005525);color:#fff5d2;box-shadow:0 0 0 3px #efbc44;border-radius:3px}.toggle[aria-pressed=false] span:last-child{background:#655f53;color:#fff;box-shadow:0 0 0 3px #efbc44;border-radius:3px}.modal-back{margin-top:12px;min-width:60%}.modal-back:before,.modal-back:after{content:"⚜";color:#ffcc50;margin:0 22px}.rules-copy{text-align:left;font:14px/1.6 system-ui}.rules-copy strong{display:block;color:#683716;margin-bottom:3px}.compact{width:min(480px,calc(100vw - 28px))}.compact p{font-size:16px;line-height:1.6}.dialog-actions{display:flex;flex-direction:column;gap:14px;margin-top:20px}#result-character{width:160px;margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1000px){.edition{display:none}.opponent-card{left:2%;top:10%;max-width:180px;padding:10px}.opponent-card h2{font-size:19px}.opponent-card p{font-size:13px}.play-area{width:min(98vw,125dvh)}.turn-banner{width:190px;right:1%}.opponent .character{width:min(65vw,63dvh)}}@media(max-aspect-ratio:4/5){.scenery{background-size:auto 100%;background-position:50%}.masthead{height:62px;padding:6px 12px}.masthead #brand strong{font-size:15px}.crest{font-size:30px}.game-screen{top:62px;right:0;bottom:26px;left:0}.play-area{width:100%;bottom:94px}.board{aspect-ratio:1.5}.opponent .character{width:min(96vw,47dvh);bottom:calc(94px + 100vw / 1.5 - 45px)}.opponent-card{left:10px;right:10px;top:auto;bottom:50px;max-width:none;padding:5px 10px;background:#103b59d9;display:flex;align-items:center;justify-content:space-between;gap:6px;border-width:1px}.opponent-card .eyebrow,.opponent-card p,.opponent-card .piece-count{display:none}.opponent-card h2{font-size:16px;margin:3px 0}.turn-banner{position:absolute;bottom:calc(100% + 5px);left:12px;right:auto;width:auto;max-width:calc(100% - 24px);padding:7px 10px}.turn-banner strong{font-size:16px}.turn-banner #turn-hint{font-size:10px;margin-top:1px}.board-footer{font-size:10px;padding:0 14px}.board-footer>span:last-child{display:none}.game-controls{gap:6px;bottom:1px}.small-button{font-size:12px;padding:9px 11px}.realm-footer{height:24px;font-size:8px}.realm-footer span:first-child{display:none}.title-art{width:100vw;aspect-ratio:1514/850;background-size:100% auto;background-position:top;box-shadow:none;margin-top:-100px}.title-actions{inset:calc(100% + 24px) 12% auto;display:flex;flex-direction:column;gap:16px}.title-actions button{width:100%;min-height:58px;color:#fff0b2;font-size:28px;text-shadow:2px 2px #291300;background:linear-gradient(#078dda,#00316c);border:5px ridge #efb63d;border-radius:8px;box-shadow:0 3px #49280b}.title-actions #title-options{background:linear-gradient(#ffcb30,#b56b00)}.parchment{padding:16px 12px;border-width:10px}.ribbon{font-size:28px;padding:10px;margin-bottom:16px}.parchment h3{font-size:20px}.difficulties{gap:5px}.difficulties button{grid-template-columns:1fr;padding:8px 2px;border-width:3px}.rank-icon{grid-row:auto;font-size:26px}.difficulties strong{font-size:15px}.setting{font-size:19px;padding:16px 0}.toggle span{font-size:15px;padding:9px 13px}.modal-back:before,.modal-back:after{margin:0 12px}}@media(max-height:560px)and (min-aspect-ratio:4/5){.masthead{height:46px;padding:3px 14px}.masthead #brand strong{font-size:14px}.crest{font-size:27px}.game-screen{top:46px;right:0;bottom:22px;left:0}.realm-footer{height:20px}.play-area{width:min(73vw,125dvh);bottom:42px}.opponent .character{width:58dvh;bottom:42%}.opponent-card{left:1%;top:16%;width:145px;padding:8px}.opponent-card h2{font-size:16px}.opponent-card p{font-size:12px}.opponent-card .eyebrow{display:none}.turn-banner{width:150px;right:calc(-15vw + 15px);bottom:65%;padding:8px;display:block}.turn-banner>.mini-piece{display:none}.turn-banner strong{font-size:15px}.turn-banner #turn-hint{font-size:10px}.game-controls{gap:8px;bottom:0}.game-controls .small-button{min-height:36px;padding:6px 12px;font-size:12px}.board-footer{font-size:9px}.board-footer>span:last-child{display:none}.parchment{padding:10px 20px}.ribbon{font-size:26px;margin-bottom:12px}.setting{padding:12px 4px}}@media(max-width:360px)and (max-aspect-ratio:4/5){.opponent .character{width:76vw}.board{aspect-ratio:1.65}.opponent .character{bottom:calc(94px + 100vw / 1.65 - 35px)}.game-controls .small-button{padding:8px;font-size:11px}.title-art{margin-top:-120px}.title-actions button{min-height:48px}.title-actions{gap:10px}.setting{font-size:16px}.toggle span{padding:8px 11px}.parchment h3{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}@media(min-aspect-ratio:4/5){.board{aspect-ratio:3.15}.opponent .character{bottom:33%}}@media(min-width:600px)and (max-aspect-ratio:4/5){.board{aspect-ratio:2.5}.opponent .character{bottom:calc(49px + 40vw)}}#options-dialog{width:min(800px,calc(100vw - 20px));border:0;border-radius:0;background:url(/assets/options-panel.webp) center/100% 100% no-repeat;box-shadow:none;padding:40px 8% 42px;max-width:800px;overflow:auto}#options-dialog .ribbon{margin:0 auto 28px;width:78%;border-radius:12px;font-size:38px;padding:8px 15px}#options-dialog .close-button{top:28px;right:23px}#options-dialog h3{margin-top:0}#options-dialog .modal-back{margin-top:14px}@media(min-width:850px){#options-dialog{padding-left:70px;padding-right:70px}}@media(max-width:600px){#options-dialog{padding:32px 9% 30px}#options-dialog .ribbon{font-size:25px;width:75%;margin-bottom:25px}#options-dialog .close-button{right:9px;top:18px;width:38px;height:38px;font-size:26px}#options-dialog .modal-back{padding:8px 14px;font-size:20px}#options-dialog h3{font-size:18px}}@media(max-height:560px)and (min-aspect-ratio:4/5){.scenery{background-size:100% 135%;background-position:center bottom}.opponent .character{width:50dvh;bottom:45%}}@media(max-height:650px)and (max-width:600px){#options-dialog{padding-top:27px;padding-bottom:25px}#options-dialog .ribbon{margin-bottom:18px;font-size:23px;padding:6px 10px}#options-dialog h3{margin:6px 0 10px}#options-dialog .difficulties button{min-height:68px;gap:0;padding:5px 1px}#options-dialog .rank-icon{font-size:23px}#options-dialog .setting-note{font-size:10px;line-height:1.3;margin:8px 0;min-height:0}#options-dialog .setting{padding:12px 0;font-size:16px}#options-dialog .modal-back{margin-top:8px;min-height:44px;padding:5px 12px}}.masthead{top:env(safe-area-inset-top)}.game-screen{margin-top:env(safe-area-inset-top);margin-bottom:env(safe-area-inset-bottom)}.realm-footer{bottom:env(safe-area-inset-bottom)}@media(max-aspect-ratio:4/5){.title-art{width:100vw;height:100dvh;aspect-ratio:auto;margin:0;background-image:url(/assets/title-portrait.webp);background-size:cover;background-position:center top}.title-actions{inset:81% 12% auto;gap:12px}.title-actions button{min-height:clamp(44px,6.8dvh,64px);font-size:clamp(24px,3.5dvh,32px)}}@media(max-height:650px)and (max-aspect-ratio:4/5){.title-actions{gap:9px}}@media(max-aspect-ratio:4/5){.opponent-card .piece-count{display:flex;margin:0;font-size:10px}.opponent-card .piece-count .mini-piece{width:13px;height:10px}}:root{--plaque-blue: 6.1%;--plaque-gold: 35.3%;--plaque-red: 65%;--plaque-purple: 94.7%}.small-button,.royal-button,.ribbon,.difficulties button{--plaque-color: var(--plaque-blue);background:url(/assets/ui-buttons.webp) 50% var(--plaque-color) / 105% 492% no-repeat;border:0;border-radius:0;box-shadow:none;clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);color:#fff0b9;font-weight:700;text-shadow:1px 2px 1px #130c04,0 0 2px #000}.small-button{padding:12px 28px;min-height:48px;font-size:14px}.royal-button{padding:13px 22%;min-height:60px}.royal-button.gold{--plaque-color: var(--plaque-gold)}button:focus-visible{outline:0;filter:brightness(1.2) drop-shadow(0 0 4px #8befff)}.square:focus-visible{filter:none;background:#78eaff66}.ribbon{padding:15px 19%;line-height:1.1;min-height:65px;width:100%;font-variant:small-caps}.difficulties button{padding:12px 18%;min-height:84px;grid-template-columns:1fr;gap:1px;opacity:1}.difficulties .rank-icon{display:none}.difficulties strong{font-variant:small-caps;font-size:19px}.difficulties button[data-difficulty=knight]{--plaque-color: var(--plaque-red);background-image:url(/assets/ui-buttons.webp);background-position:50% var(--plaque-color);background-size:105% 492%}.difficulties button[data-difficulty=champion]{--plaque-color: var(--plaque-purple);background-image:url(/assets/ui-buttons.webp);background-position:50% var(--plaque-color);background-size:105% 492%}.difficulties button[aria-pressed=true]{outline:0;box-shadow:none;filter:brightness(1.22);text-decoration:underline;text-underline-offset:5px}.difficulties button[aria-pressed=true]:after{content:"◆";font-size:9px;position:absolute;bottom:8px;left:calc(50% - 4px);color:#fff6ba}.difficulties button{position:relative}.parchment,#options-dialog{border:0;border-radius:0;background:url(/assets/options-panel.webp) center/100% 100% no-repeat;box-shadow:none;padding:42px 9% 45px}.parchment{width:min(700px,calc(100vw - 20px))}.parchment.compact{width:min(550px,calc(100vw - 20px))}.parchment .ribbon,#options-dialog .ribbon{width:88%;margin:0 auto 22px;padding:13px 18%;border:0;border-radius:0;font-size:32px}.parchment .close-button{width:46px;height:46px;top:26px;right:22px;border:5px ridge #ffcc55;background:radial-gradient(circle at 35% 25%,#ed4937,#7c0300);box-shadow:0 2px #512403,inset 0 0 0 2px #630b01;color:#ffedb0;text-shadow:1px 2px #360c02}.modal-back:before,.modal-back:after{content:none}.modal-back{min-width:70%;padding:12px 20%}.dialog-actions{gap:10px;margin-top:16px}.dialog-actions .small-button{min-height:52px;padding:12px 22%;font-size:16px}.rules-copy{background:#ffedc23b;padding:0 4px;color:#4a240e}.rules-copy strong{font-family:Georgia,serif;font-size:18px;color:#663811}.opponent-card,.turn-banner{border:5px ridge #ecb74b;border-radius:0;background:linear-gradient(125deg,#075badf2,#042759f5 75%);box-shadow:inset 0 0 0 2px #72c8ed,0 3px #3e230d,0 6px 12px #0004}.opponent-card:before{content:"⚜";display:block;color:#ffc54d;font-size:27px;text-shadow:0 2px #45260d}.opponent-card .eyebrow{display:none}.opponent-card h2,.turn-banner strong{font-variant:small-caps;text-shadow:1px 2px #05142c}.mini-piece{background:radial-gradient(ellipse at 40% 15%,#ff7370,#ef0617 45%,#9b0006 85%);border-color:#ff6861;box-shadow:0 3px #6c0008,0 4px #210302}.mini-piece.black{background:radial-gradient(ellipse at 40% 15%,#7c7c7c,#222 45%,#090909 85%);border-color:#767676;box-shadow:0 3px #060606,0 4px #000}.toggle{border:4px ridge #e5b354;background:linear-gradient(#444,#171717);border-radius:8px;box-shadow:0 2px #4b2a0e}.toggle[aria-pressed=true] span:first-child{background:linear-gradient(#09ba50,#006229 60%,#00391a);box-shadow:0 0 0 3px #ffc349,inset 0 0 0 2px #43db78}.toggle[aria-pressed=false] span:last-child{background:linear-gradient(#68645b,#262521);box-shadow:0 0 0 3px #ffc349}#result-character{width:180px}#result-dialog .ribbon,#confirm-dialog .ribbon{font-size:27px}@media(min-width:850px){.parchment{padding-left:65px;padding-right:65px}.parchment.compact{padding-left:48px;padding-right:48px}}@media(max-aspect-ratio:4/5){.small-button{padding:10px 22px;font-size:12px;min-height:46px}.game-controls{gap:2px;padding:0 4px}.game-controls .small-button{flex:1;max-width:160px;padding:10px 18px;font-size:12px}.opponent-card{padding:5px 8px;border-width:3px}.opponent-card:before{display:none}.turn-banner{border-width:3px}.title-actions button,.title-actions #title-options{--plaque-color: var(--plaque-blue);background:url(/assets/ui-buttons.webp) 50% var(--plaque-color) / 105% 492% no-repeat;border:0;border-radius:0;box-shadow:none;clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%)}.title-actions #title-options{--plaque-color: var(--plaque-gold)}}@media(max-width:600px){.parchment,#options-dialog{padding:34px 9% 30px}.parchment .ribbon,#options-dialog .ribbon{font-size:25px;min-height:53px;width:94%;margin-bottom:18px;padding:12px 18%}.parchment .close-button{right:8px;top:18px;width:39px;height:39px;font-size:24px}.difficulties button{padding:12px 15%;min-height:69px}.difficulties strong{font-size:14px}.difficulties small{font-size:10px}.difficulties{gap:2px;margin-left:-8px;margin-right:-8px}.modal-back{padding:12px 20%;min-height:53px}.parchment.compact p{font-size:14px;line-height:1.45;margin:12px 4px}.rules-copy{font-size:12px;line-height:1.5}.rules-copy strong{font-size:16px}.dialog-actions .small-button{font-size:14px}#result-dialog .ribbon,#confirm-dialog .ribbon{font-size:23px}#result-character{width:130px}}@media(max-width:360px){.game-controls .small-button{font-size:10px;padding:10px 14px}.opponent-card h2{font-size:14px}.difficulties strong{font-size:12px}.difficulties small{font-size:9px}.toggle span{padding:7px 9px}.setting{gap:6px}.parchment .ribbon,#options-dialog .ribbon{font-size:22px}}@media(max-height:560px)and (min-aspect-ratio:4/5){.game-controls .small-button{padding:9px 24px;min-height:40px}.opponent-card{border-width:3px}.opponent-card:before{display:none}.turn-banner{border-width:3px}.parchment{padding-top:30px;padding-bottom:30px}}@media(max-height:650px)and (max-width:600px){#options-dialog .difficulties button{min-height:62px;padding:10px 15%}#options-dialog .ribbon{min-height:48px;padding:10px 15%}#options-dialog .modal-back{padding:10px 20%;min-height:49px}.setting{padding:10px 0}#result-character{width:100px}}button:focus-visible{text-decoration:underline;text-underline-offset:4px}.title-actions button:focus-visible{outline:3px solid #bffaff;outline-offset:-6px;background-color:#fff2}@media(max-aspect-ratio:4/5){.title-actions button:hover{background:url(/assets/ui-buttons.webp) 50% var(--plaque-color) / 105% 492% no-repeat}}.rules-copy p:first-child{padding-left:28px;padding-right:28px}#help-dialog[open]{display:flex;flex-direction:column;height:min(820px,calc(100dvh - 28px));overflow:hidden}#help-dialog .ribbon{flex-shrink:0}#help-dialog .rules-copy{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;padding-right:8px}#help-dialog .modal-back{flex-shrink:0;align-self:center;margin-top:15px;width:82%;min-width:0;padding-left:18%;padding-right:18%}#help-dialog .ribbon{margin-bottom:clamp(35px,calc(25dvh - 110px),90px)}.opponent-card{border:0;box-shadow:none;background:url(/assets/options-panel.webp) center/100% 100% no-repeat;color:#4a230d;width:285px;max-width:285px;padding:24px 24px 48px;top:14%}.opponent-card:before{display:none}.opponent-card h2{background:url(/assets/ui-buttons.webp) 50% var(--plaque-blue) / 105% 492% no-repeat;clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);color:#ffedb3;text-align:center;padding:14px 17%;margin:0 -8px 17px;font-size:19px;line-height:1.15;text-shadow:1px 2px #241004}.opponent-card p{font-size:15px;line-height:1.45;margin:8px 5px 14px}.opponent-card .difficulty-badge{color:#684019;font-weight:700;font-size:12px}.opponent-card .piece-count{margin-top:10px;color:#452610}.turn-banner{padding:0;border:0;box-shadow:none;background:none;width:260px;display:block}.turn-banner>.mini-piece{display:none}.turn-banner>div{width:100%}.turn-banner strong{background:url(/assets/ui-buttons.webp) 50% var(--plaque-blue) / 105% 492% no-repeat;clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);padding:15px 18%;text-align:center;min-height:54px;font-size:21px;color:#ffecb0}.turn-banner #turn-hint{background:linear-gradient(#ffe7b3,#e6b875);color:#4a240e;border:2px ridge #ad7731;margin:0 20px;padding:7px 8px;text-align:center;font:12px/1.35 Georgia,serif;box-shadow:0 3px #4c2b12}.board{filter:drop-shadow(0 4px 3px #21100670)}.board-footer{background:linear-gradient(#835029,#3f210e);border-top:2px ridge #d5a257;border-bottom:2px ridge #97662c;margin:0 3%;padding:4px 3%;box-shadow:0 2px 3px #1a0c0470;color:#ffe4a1}#music-start{position:absolute;z-index:2;top:max(18px,env(safe-area-inset-top));right:18px;min-width:170px}@media(max-width:1100px)and (min-aspect-ratio:4/5){.opponent-card{width:215px;max-width:215px;padding:20px 19px 42px}.opponent-card h2{font-size:17px}.opponent-card p{font-size:13px}.turn-banner{width:210px}.turn-banner strong{font-size:18px}.turn-banner #turn-hint{font-size:11px}}@media(max-aspect-ratio:4/5){.opponent-card{width:auto;max-width:none;top:auto;bottom:49px;padding:5px 12%;height:42px;background:url(/assets/ui-buttons.webp) 50% var(--plaque-blue) / 105% 492% no-repeat;clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);color:#ffe7ac;left:3px;right:3px}.opponent-card h2{background:none;clip-path:none;padding:0;margin:0;font-size:15px;white-space:nowrap}.opponent-card .difficulty-badge,.opponent-card .piece-count{color:#ffedb3;font-size:10px;margin:0}.opponent-card .piece-count .mini-piece{display:none}.turn-banner{width:220px;max-width:calc(100% - 24px);bottom:calc(100% + 5px)}.turn-banner strong{font-size:18px;padding:12px 18%;min-height:46px}.turn-banner #turn-hint{font-size:10px;padding:4px 5px;margin:0 17px}.board-footer{padding:3px 3%;margin:0 2%;font-size:10px}#music-start{top:auto;bottom:calc(1% + env(safe-area-inset-bottom));right:calc(50% - 85px);min-height:40px;font-size:12px}}@media(max-width:360px)and (max-aspect-ratio:4/5){.opponent-card{padding:5px 10%;gap:4px}.opponent-card h2{font-size:12px}.opponent-card .difficulty-badge,.opponent-card .piece-count{font-size:9px}.turn-banner{width:202px}.turn-banner strong{min-height:42px;font-size:17px}.turn-banner #turn-hint{font-size:9px}}@media(max-height:560px)and (min-aspect-ratio:4/5){.opponent-card{width:158px;max-width:158px;padding:17px 15px 32px;top:9%}.opponent-card h2{font-size:14px;padding:10px 15%;margin-bottom:8px}.opponent-card p{font-size:11px;margin:3px 2px 8px}.opponent-card .piece-count{margin-top:6px;font-size:10px}.turn-banner{width:180px;right:calc(-15vw + 15px);bottom:62%}.turn-banner strong{font-size:16px;padding:11px 18%;min-height:43px}.turn-banner #turn-hint{font-size:10px;margin:0 14px;padding:5px}.board-footer{font-size:9px;padding:2px 3%}}@media(max-aspect-ratio:4/5){#music-start{bottom:22%}}@media(max-height:650px)and (max-aspect-ratio:4/5){.turn-banner strong{min-height:32px;padding:7px 18%;font-size:15px}.turn-banner #turn-hint{display:none}}@media(max-aspect-ratio:4/5){.realm{--mobile-board-height: calc(100vw / 1.7);--mobile-controls-height: 150px;--table-y: calc( 100dvh - env(safe-area-inset-bottom) - 26px - var(--mobile-controls-height) - 22px - var(--mobile-board-height) + 10px )}.scenery{background-size:auto calc((100dvh - var(--table-y)) / .435);background-position:center bottom}.play-area{bottom:var(--mobile-controls-height)}.board{height:var(--mobile-board-height);aspect-ratio:auto}.opponent .character{width:min(76vw,34dvh,calc(var(--table-y) - 54px));top:auto;bottom:calc(100dvh - env(safe-area-inset-bottom) - 26px - var(--table-y) - 12px)}.turn-banner{top:calc(100% + 3px);bottom:auto;left:3%;right:3%;width:auto;max-width:none;height:53px}.turn-banner strong{min-height:29px;padding:6px 18%;font-size:15px}.turn-banner #turn-hint{display:block;font-size:10px;padding:3px 4px;margin:0 7%;box-shadow:none}}@media(min-width:600px)and (max-aspect-ratio:4/5){.realm{--mobile-board-height: 40vw }}@media(max-height:560px)and (min-aspect-ratio:4/5){.realm{--mobile-board-width: min(68vw, 115dvh);--mobile-board-height: calc(var(--mobile-board-width) / 3.15);--table-y: calc( 100dvh - env(safe-area-inset-bottom) - 22px - 86px - 20px - var(--mobile-board-height) + 7px )}.scenery{background-size:auto calc((100dvh - var(--table-y)) / .435);background-position:center bottom}.play-area{bottom:86px;width:var(--mobile-board-width)}.board{height:var(--mobile-board-height);aspect-ratio:auto}.opponent .character{width:min(42dvh,calc(var(--table-y) - 5px));bottom:calc(100dvh - env(safe-area-inset-bottom) - 22px - var(--table-y) - 10px)}.turn-banner{top:calc(100% + 3px);bottom:auto;left:0;right:0;width:100%}.turn-banner>div{display:flex;align-items:center;justify-content:center}.turn-banner strong{min-height:36px;padding:9px 26px;font-size:14px;white-space:nowrap}.turn-banner #turn-hint{margin:0;padding:5px 10px;max-width:55%;font-size:10px;box-shadow:none}}@media(max-height:650px)and (max-aspect-ratio:4/5){.realm{--mobile-board-height: 50vw }}#brand{display:block;background:none;box-shadow:none;flex-shrink:0}#brand img{display:block;width:145px;height:94px;object-fit:contain}.masthead{align-items:flex-start}#turn-hint.is-dialogue{font-style:italic}@media(max-aspect-ratio:4/5),(max-height:560px){#brand img{width:96px;height:62px}.small-button,.royal-button,.ribbon,.difficulties button,.difficulties button[data-difficulty],.turn-banner strong,.opponent-card h2,.title-actions button,.title-actions #title-options{background-image:url(/assets/ui-buttons-clean.webp)}.opponent-card:before,.opponent-card:after,.small-button:before,.small-button:after,.royal-button:before,.royal-button:after,.ribbon:before,.ribbon:after{content:none}.turn-banner #turn-hint{min-height:24px;line-height:1.2;font-size:10px}}@media(max-aspect-ratio:4/5){.opponent-card{background-image:url(/assets/ui-buttons-clean.webp)}.opponent-card h2{background:none}}@media(max-aspect-ratio:4/5),(max-height:560px){.realm-footer>[aria-hidden=true]{display:none}}
