:root{color-scheme:dark;--bg:#0b1114;--panel:#111b20;--line:#283335;--ink:#f0eee8;--muted:#a3afb2;--gold:#d5bf91;--mint:#8ee9d3;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);min-height:100dvh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--mint);outline-offset:5px}button{transition:background .2s,transform .2s,border-color .2s}button:active:not(:disabled){transform:translateY(1px)}.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 57% 26%,#27454133,transparent 53%),radial-gradient(ellipse at 16% 80%,#473d2114,transparent 45%);z-index:-1}.topbar{height:94px;margin:0 5%;border-bottom:1px solid #ffffff0c;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--ink);font-family:Georgia,serif;font-size:18px;letter-spacing:.16em}.brand-ja{display:block;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:10px;letter-spacing:.65em;margin-top:5px;color:var(--gold)}.brand-mark{display:flex;align-items:center;width:43px}.brand-mark i{display:block;width:25px;height:29px;flex-shrink:0;background:linear-gradient(145deg,#4a5357,#10191c 65%);border:1px solid #73786c;border-radius:6px;transform:rotate(-10deg)}.brand-mark i+ i{background:linear-gradient(135deg,#fff,#d3d3ca);margin-left:-8px;transform:rotate(9deg);border-color:#fff8}.topbar nav{display:flex;gap:13px;align-items:center}.text-button{background:none;border:0;font-size:14px;color:#c0c9c8;margin-right:7px}.keycap,kbd{font-family:inherit;font-size:12px;border:1px solid #ffffff24;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;color:#c8cfcd;background:#ffffff03}.text-button .keycap{margin-left:9px}.icon-button{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid #ffffff17;background:#ffffff02;border-radius:50%;font-size:26px}.icon-button svg{width:19px;height:19px}.icon-button:hover,.text-button:hover{color:var(--gold);background:#ffffff07}.game-layout{width:min(1100px,92%);margin:30px auto 0;display:grid;grid-template-columns:230px minmax(0,432px) 200px;gap:53px;align-items:start;justify-content:center}.left-panel{padding-top:35px}.eyebrow,.label{font-size:12px;font-weight:500;letter-spacing:.18em;margin:0;color:var(--gold)}.game-heading h1{font-family:'Noto Serif JP','Hiragino Mincho ProN','Yu Mincho',serif;font-size:61px;letter-spacing:.14em;line-height:1.25;margin:20px 0 0;font-weight:500}.game-heading h1 span{display:block;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:16px;letter-spacing:.18em;margin-top:20px;font-weight:400}.intro{color:#839194;font-size:14px;line-height:1.9;margin-top:22px}.score-panel{border-top:1px solid var(--line);margin-top:34px;padding-top:25px}.score-panel output{font-family:Georgia,'Times New Roman',serif;font-size:48px;display:block;font-variant-numeric:tabular-nums;letter-spacing:.025em;margin:9px 0 16px}.best-row{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.best-row span:last-child{color:var(--gold);font-variant-numeric:tabular-nums}.stats-row{display:flex;justify-content:space-between;margin-top:36px}.stats-row .label{color:#8e9c9f;font-size:11px;letter-spacing:.13em}.stats-row strong{font-family:Georgia,serif;font-size:31px;font-weight:400;display:block;margin-top:10px}.stats-row strong span{font:12px 'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;color:var(--muted);margin-left:6px}.level-track{height:2px;background:#ffffff14;margin-top:20px}.level-track span{display:block;height:100%;background:var(--gold);width:0;transition:width .5s}.level-note{font-size:12px;color:#859597;line-height:1.8}.desktop-note{display:flex;gap:11px;align-items:flex-start;margin-top:30px;color:#99aaa9}.desktop-note p{font-size:12px;line-height:1.85;margin:0}.tiny-diamond{width:6px;height:6px;transform:rotate(45deg);background:var(--gold);margin-top:8px;flex-shrink:0}.board-topline,.board-bottomline{font-size:11px;letter-spacing:.14em;display:flex;justify-content:space-between;align-items:center;color:#95a3a3;height:28px}.board-topline>div{display:flex;align-items:center;gap:8px}.board-topline>span{font-size:10px;color:#687c7c;letter-spacing:.14em}.live-dot{width:5px;height:5px;background:var(--gold);border-radius:50%;box-shadow:0 0 10px #d5bf9150}.board-frame{position:relative;border:1px solid #b7a17677;border-radius:13px;padding:7px;background:linear-gradient(145deg,#28302b,#0c1519 35%,#252c27);box-shadow:0 0 0 4px #b7a17608,0 25px 80px #0007,0 0 45px #8ee9d308;overflow:hidden}.board-frame:before,.board-frame:after{content:'';height:1px;width:45%;position:absolute;top:0;left:10%;background:linear-gradient(90deg,transparent,#f1d9ae,transparent);z-index:4}.board-frame:after{top:auto;bottom:0;left:auto;right:10%}#board{display:block;width:100%;height:auto;border-radius:7px;touch-action:none;background:#32699b;outline-offset:-3px;aspect-ratio:9/14}.board-vignette{pointer-events:none;position:absolute;inset:7px;border-radius:7px;box-shadow:inset 0 0 28px #102d4a30}.board-bottomline{letter-spacing:0;font-size:12px;height:35px;gap:8px}.capture-indicator{color:var(--mint);white-space:nowrap}.game-overlay{position:absolute;inset:7px;background:linear-gradient(180deg,#091216da,#091216e8 55%,#091216aa);display:flex;align-items:center;justify-content:center;text-align:center;border-radius:7px;z-index:5;backdrop-filter:blur(2px)}.game-overlay[hidden]{display:none}.overlay-inner{width:100%;padding:30px 25px}.overlay-inner>.eyebrow{font-size:10px;letter-spacing:.2em}.overlay-inner h2{font-family:'Noto Serif JP','Hiragino Mincho ProN','Yu Mincho',serif;font-size:34px;line-height:1.65;font-weight:400;letter-spacing:.08em;margin:22px 0}.overlay-inner h2 em{font-style:normal;color:var(--gold)}.overlay-inner p:not(.eyebrow){font-size:14px;line-height:2;color:#b1bebc}.primary-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid #dfc999;background:linear-gradient(110deg,#d8c399,#eddbb7);padding:16px 22px;border-radius:5px;color:#172220;font-size:15px;font-weight:600;margin-top:30px;box-shadow:0 7px 35px #d5bf9110}.primary-button:hover{background:#f7e6c1;box-shadow:0 0 28px #d5bf912c}.primary-button span{font-size:21px;font-weight:400}.sub-button{border:0;background:none;font-size:12px;color:#a3b5b1;padding:20px 0 5px;width:100%}.sub-button span{margin-left:7px}.sub-button:hover{color:var(--ink)}.start-meta{font-size:9px;letter-spacing:.13em;color:#6f8582;margin-top:34px}.start-meta span{margin:0 9px}.right-panel{padding-top:42px}.label span{font-size:11px;letter-spacing:0;color:#859493;margin-left:7px}.next-main{position:relative;display:flex;align-items:center;justify-content:center;height:105px;background:linear-gradient(135deg,#ffffff04,#ffffff01);border:1px solid #ffffff0c;border-radius:8px;margin-top:16px}.next-main canvas{width:144px;height:auto}.next-main>span,.next-small>div>span{position:absolute;font:10px Georgia,serif;color:#6a7979;right:11px;bottom:9px}.next-small{display:flex;gap:8px;margin-top:8px}.next-small>div{position:relative;flex:1;min-width:0;border:1px solid #ffffff0b;border-radius:6px;background:#ffffff01}.next-small canvas{width:100%;height:auto;display:block}.hold-section{margin-top:29px}.hold-label{display:flex;align-items:center;justify-content:space-between}.hold-label .keycap{height:20px;min-width:20px;font-size:10px}#hold-button{border:1px solid #ffffff12;border-radius:7px;background:#ffffff02;width:100%;height:90px;margin-top:12px;display:flex;align-items:center;justify-content:center;position:relative}#hold-button:hover{border-color:#d5bf9160}#hold-canvas{width:140px;height:auto}#hold-empty{position:absolute;font-size:11px;color:#657a79}.chain-section{margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.chain-stat{display:flex;gap:9px;align-items:baseline;margin-top:12px}.chain-stat strong{font:36px Georgia,serif;color:var(--gold)}.chain-stat>span{font-size:12px;color:#8d9f9e}.chain-decor{font-size:42px;margin-left:auto;color:#64796b}.chain-section>p:last-child{color:#778c88;font-size:12px;margin-top:5px}.controls-guide{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.controls-guide>.label{color:#859b96;margin-bottom:15px}.controls-guide>div{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px;color:#8a9c98}.controls-guide kbd{height:21px;min-width:23px;font-size:10px}.space-key{padding:0 7px;letter-spacing:.1em}.touch-controls{display:none;gap:7px}.touch-controls button{background:#192529;border:1px solid #374241;border-radius:7px;flex:1;padding:9px 0;touch-action:none;user-select:none;min-height:52px}.touch-controls span{display:block;font-size:23px;line-height:1.15}.touch-controls small{display:block;font-size:9px;margin-top:5px;color:#95a5a1;letter-spacing:.03em}.touch-controls .drop-control{background:#d5bf91;color:#16201f;border-color:#d5bf91;flex:1.25}.touch-controls .drop-control small{color:#31443d}footer{max-width:1100px;width:92%;margin:26px auto 0;padding:19px 0 22px;border-top:1px solid #ffffff0a;font-size:10px;color:#566d6b;display:flex;justify-content:space-between;letter-spacing:.09em}footer i{font-style:normal;color:var(--gold);margin-left:14px;font-size:8px}#floating-message{position:absolute;left:10px;right:10px;top:33%;text-align:center;pointer-events:none;z-index:3;opacity:0;transition:opacity .15s;filter:drop-shadow(0 0 22px #82ffe6a0);color:#d4fff0;font-size:14px;letter-spacing:.18em}#floating-message.show{opacity:1}#floating-message strong{display:block;font:italic 46px Georgia,serif;letter-spacing:-.015em;color:#edffe9;text-shadow:0 2px 25px #102f25}#floating-message span{display:block;margin-top:6px;font-size:12px}.board-frame.danger{border-color:#d48469;box-shadow:0 0 30px #c45e3020}.result-score{font:48px Georgia,serif!important;color:var(--gold)!important;margin:10px 0!important}.result-details{display:flex;justify-content:center;gap:28px;margin:18px 0;color:#a6b6b0;font-size:12px}.result-details b{display:block;font-size:24px;font-weight:400;color:var(--ink);margin-bottom:4px}dialog{background:#111d21;color:var(--ink);border:1px solid #6b6b50;border-radius:14px;max-width:590px;width:calc(100% - 28px);padding:25px 32px 30px;box-shadow:0 25px 100px #0009;max-height:90dvh}dialog::backdrop{background:#03090cdc;backdrop-filter:blur(9px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}dialog h2{font-family:'Noto Serif JP','Hiragino Mincho ProN','Yu Mincho',serif;font-size:27px;line-height:1.6;font-weight:400;letter-spacing:.06em;margin:15px 0 25px}.rules-grid{display:grid;grid-template-columns:105px 1fr;gap:22px;align-items:center}.rule-demo{display:grid;grid-template-columns:repeat(3,32px);gap:3px}.rule-demo i{width:32px;height:32px;border-radius:6px;border:1px solid #95a5a566}.rule-demo .black{background:linear-gradient(130deg,#526266,#111c22 75%)}.rule-demo .white{background:linear-gradient(130deg,#fff,#d7d9cf)}.rule-demo .target{box-shadow:0 0 18px #8ee9d36b;border:2px solid #8ee9d3}.rules-grid h3{font-size:15px;color:var(--gold);margin:0 0 9px}.rules-grid p{font-size:14px;line-height:1.8;color:#a8b9b4;margin:0}.rule-list{padding-left:20px;font-size:14px;line-height:1.9;color:#a0b5ac;display:grid;gap:12px;margin:25px 0}.rule-list b{font-weight:500;color:#dddeda}.rule-footnote{font-size:12px;color:#7b9790;line-height:1.8}dialog .primary-button{margin-top:22px}.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(min-width:1000px) and (min-height:850px){.game-layout{margin-top:45px;gap:60px}.topbar{height:105px}.left-panel{padding-top:40px}}@media(min-width:901px) and (max-height:850px){.game-layout{grid-template-columns:220px minmax(0,370px) 190px;gap:48px;margin-top:18px}.topbar{height:74px}.left-panel{padding-top:28px}.game-heading h1{font-size:52px;margin-top:14px}.intro{margin-top:14px}.score-panel{margin-top:22px;padding-top:20px}.stats-row{margin-top:24px}.desktop-note{margin-top:22px}.right-panel{padding-top:35px}.hold-section{margin-top:21px}.chain-section{margin-top:20px;padding-top:20px}.controls-guide{margin-top:20px;padding-top:18px}.controls-guide>div{margin-top:6px}.overlay-inner h2{font-size:29px}.overlay-inner{padding:25px}.start-meta{margin-top:24px}footer{margin-top:14px;padding-top:15px}}@media(max-width:1100px) and (min-width:901px){.game-layout{gap:30px;grid-template-columns:190px minmax(0,390px) 170px}}@media(max-width:900px){.topbar{height:70px;margin:0 5%}.game-layout{width:min(690px,94%);grid-template-columns:minmax(0,410px) 170px;gap:24px;margin-top:14px}.left-panel{grid-column:1/-1;padding:0;display:grid;grid-template-columns:1.3fr 1fr;gap:14px}.game-heading{display:none}.score-panel{border:0;padding:0;margin:0}.score-panel .label{font-size:10px}.score-panel output{font-size:34px;line-height:1;margin:6px 0}.best-row{font-size:10px;justify-content:flex-start;gap:10px}.stats-row{margin:0;gap:18px;justify-content:flex-end;align-items:center}.stats-row strong{font-size:25px;margin-top:5px}.stats-row .label{font-size:9px}.level-track,.level-note,.desktop-note{display:none}.play-column{grid-column:1;grid-row:2}.right-panel{grid-column:2;grid-row:2;padding-top:32px}.touch-controls{display:flex}.game-layout footer{margin-top:15px}.brand{font-size:15px}.brand-ja{font-size:9px}.topbar nav{gap:9px}.text-button{font-size:12px}.text-button .keycap{display:none}.icon-button{width:35px;height:35px}}@media(max-width:600px){.topbar{height:62px;margin:0 4%}.game-layout{display:flex;flex-direction:column;gap:0;width:min(410px,94%);margin-top:14px}.left-panel{width:100%;padding:0 4px;margin-bottom:9px}.play-column{width:100%}.right-panel{display:flex;gap:10px;order:2;width:100%;padding:0;margin-top:17px;align-items:flex-start}.next-section{flex:1.3;min-width:0}.next-section>.label,.hold-label>.label{font-size:10px}.label span{font-size:9px}.next-main{margin-top:8px;height:65px}.next-main canvas{height:60px;width:auto}.next-small{display:none}.hold-section{flex:1;min-width:0;margin:0}.hold-label{height:12px}.hold-label .keycap{display:none}#hold-button{height:65px;margin-top:8px}#hold-canvas{height:60px;width:auto}#hold-empty{font-size:9px}.chain-section,.controls-guide{display:none}.board-frame{padding:5px;border-radius:10px}.board-vignette,.game-overlay{inset:5px}.board-topline{height:24px;font-size:10px}.board-bottomline{font-size:11px;height:31px}.touch-controls{gap:6px}.overlay-inner h2{font-size:29px}.overlay-inner .primary-button{margin-top:24px}.overlay-inner p:not(.eyebrow){font-size:13px}.start-meta{margin-top:24px}.score-panel output{font-size:31px}.stats-row strong{font-size:26px}.stats-row{gap:25px}.brand-mark{width:36px}.brand-mark i{width:22px;height:25px}.brand{gap:9px;font-size:13px}.brand-ja{font-size:8px;letter-spacing:.5em}.topbar nav{gap:7px}.text-button{margin:0;padding:4px}.icon-button{width:31px;height:31px}footer{margin-top:22px;width:92%;font-size:9px}footer>span:last-child{display:none}dialog{padding:20px}dialog h2{font-size:23px}.rules-grid{grid-template-columns:91px 1fr;gap:14px}.rule-demo{grid-template-columns:repeat(3,28px);gap:3px}.rule-demo i{width:28px;height:28px}.rules-grid h3{font-size:14px}.rules-grid p{font-size:13px}}@media(max-width:600px) and (min-height:730px){.game-layout{width:min(390px,90%,calc((100dvh - 255px) * .643))}.topbar{margin-bottom:0}.board-bottomline{font-size:10px}.touch-controls button{min-height:49px;padding:7px 0}.right-panel{margin-top:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.ambient{display:none}}

@media(max-width:600px) and (max-height:729px){.game-layout{width:min(390px,94%,max(280px,calc((100dvh - 235px) * .643)))}.overlay-inner{padding:20px 17px}.overlay-inner h2{font-size:25px;margin:17px 0}.overlay-inner p:not(.eyebrow){font-size:12px}.overlay-inner>.eyebrow{font-size:9px}.start-meta{font-size:8px;margin-top:19px}.primary-button{padding:13px 17px}.game-layout{width:min(94%,max(280px,calc((100dvh - 235px) * .643)))}}

/* Compact presentation for a self-hosted iframe. */
html.embed .topbar{height:62px;margin:0 3%}
html.embed footer{display:none}
html.embed .game-layout{margin-top:16px}
html.embed .game-heading .intro{display:none}
@media(max-width:600px){html.embed .topbar{height:56px}html.embed .game-layout{margin-top:12px}}

/* Supplied 3D character, rendered beside the playing surface. */
.mascot-stage{height:252px;width:100%;position:relative;margin:6px 0 -5px;isolation:isolate}
.share-main{margin-top:18px}
.version-label{font-size:10px;font-weight:400;letter-spacing:.08em;color:#8fa7a1}
.reborn-link{color:#91c4bb;text-decoration:none;font-size:10px;letter-spacing:.02em}.reborn-link:hover{color:#d8f6e8;text-decoration:underline}
.supported-by{font-size:9px;color:#6f8984;letter-spacing:.02em}
.share-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.share-row button{flex:1;min-width:0;border:1px solid #ffffff1c;background:#ffffff06;border-radius:5px;padding:8px 4px;font-size:11px;color:#c9d5d0}
.share-row button:hover{border-color:#8ee9d3aa;color:#edfff7;background:#8ee9d314}
.mascot-stage canvas{display:block;width:100%;height:100%;pointer-events:none;position:relative;z-index:1}
.mascot-stage:after{content:'';position:absolute;bottom:12px;left:22%;width:56%;height:13px;border-radius:50%;background:#85e1be12;box-shadow:0 0 24px #7bd4ba15;z-index:0}
.mascot-status{position:absolute;top:48%;left:0;right:0;text-align:center;color:#95aca2;font-size:12px}
.mascot-bubble{position:absolute;top:0;left:50%;transform:translate(-50%,6px);white-space:nowrap;padding:7px 12px;border-radius:16px;background:#203e36ee;border:1px solid #91d9b778;color:#d9f9e5;font-size:12px;z-index:3;opacity:0;transition:opacity .18s,transform .18s;pointer-events:none}
.mascot-bubble.show{opacity:1;transform:translate(-50%,0)}
.game-heading .intro{display:none}.game-heading h1{font-size:39px;margin-top:11px}.game-heading h1 span{font-size:14px;margin-top:10px}
.left-panel{padding-top:27px}.score-panel{margin-top:12px;padding-top:17px}.stats-row{margin-top:20px}.desktop-note{margin-top:17px}
@media(min-width:901px) and (max-height:850px){.mascot-stage{height:205px}.left-panel{padding-top:26px}.game-heading h1{font-size:35px}.game-heading h1 span{font-size:13px}.score-panel output{font-size:42px}.desktop-note{display:none}}
@media(max-width:900px){.left-panel{grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);align-items:center;gap:8px;padding:0}.game-heading{display:none}.mascot-stage{grid-column:2;grid-row:1;width:100px;height:104px;margin:-8px 0 -2px}.score-panel{grid-column:1;grid-row:1;padding:0;margin:0}.stats-row{grid-column:3;grid-row:1;margin:0;gap:16px}.mascot-stage:after{bottom:8px}.mascot-bubble{top:auto;bottom:3px;font-size:10px;padding:4px 7px}.mascot-status{font-size:10px}}
@media(max-width:600px){.left-panel{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);gap:5px}.mascot-stage{height:94px;width:78px}.score-panel output{font-size:27px}.stats-row{gap:12px}.stats-row strong{font-size:23px}.stats-row .label{font-size:8px;letter-spacing:.04em}.best-row{font-size:9px;gap:5px}.mascot-bubble{font-size:9px;bottom:0}.mascot-stage:after{bottom:8px}}
