:root{color:#344b43;font-synthesis:none;--green:#365e4d;--muted:#8b978e;--line:#dedfd5;--orange:#d68d62;background:#f7f6ef;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline-offset:4px;outline:3px solid #d49469}button{transition:background .18s,transform .18s}button:not(:disabled):active{transform:translateY(2px)}[hidden]{display:none!important}.app{width:min(1220px,100%);margin:auto;padding:0 50px}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:100px;display:flex}.brand{color:#344b43;letter-spacing:-1px;align-items:center;font-size:26px;font-weight:700;text-decoration:none;display:flex}.brand-dot{color:var(--orange)}.logo{width:50px;height:30px;margin-right:10px;position:relative}.logo i{border:6px solid #77afa1;border-right-color:#0000;border-radius:50%;width:27px;height:27px;position:absolute;top:0;left:0;transform:rotate(-15deg)}.logo i+i{border-color:#d89b75 #d89b75 #d89b75 #0000;top:3px;left:18px;transform:rotate(-15deg)}.header-actions{align-items:center;gap:10px;display:flex}.header-note{letter-spacing:1.4px;color:var(--muted);margin-right:18px;font:9px monospace}.icon-button{border:1px solid var(--line);background:0 0;border-radius:50%;width:36px;height:36px;font-size:17px;position:relative}.icon-button:hover{background:#eaece2}#mute-dot{background:#c59a7e;border-radius:50%;width:5px;height:5px;position:absolute;top:6px;right:6px}.layout{grid-template-columns:300px minmax(0,1fr);align-items:center;gap:75px;padding:44px 0 32px;display:grid}.eyebrow{letter-spacing:1.3px;color:#7a8e7f;font:700 9px monospace}.tiny-dot{background:#dd9e77;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}h1{letter-spacing:-2.7px;margin:26px 0 21px;font-family:Georgia,Times New Roman,serif;font-size:56px;font-weight:400;line-height:1.15}h1 em{color:#749785;font-weight:400}.lede{color:#8a948d;font-size:14px;line-height:1.9}.chapter{align-items:flex-start;gap:15px;margin-top:47px;display:flex}.chapter-index{color:#d4b49b;font-family:Georgia,serif;font-size:38px;line-height:1}.chapter h2{margin:8px 0 14px;font-size:14px;font-weight:500}.chapter-dots{gap:7px;display:flex}.chapter-dots i{background:#dfe3d8;border-radius:50%;width:7px;height:7px;display:block}.chapter-dots i.done{background:#82a593}.chapter-dots i.current{outline-offset:1px;background:#d69974;outline:3px solid #f0e4d5}.text-button{color:#819488;background:0 0;border:none;padding:17px 0;font-size:11px}.text-button span{margin-left:20px}.daily-card{text-align:left;background:#eeeee3;border:1px solid #dfdfd1;border-radius:13px;align-items:center;gap:12px;width:100%;margin-top:18px;padding:17px 14px;display:flex}.daily-icon{color:#b99c6b;font-size:30px}.daily-card b{font-size:11px;font-weight:600;display:block}.daily-card small{color:#919684;margin-top:6px;font-size:9px;display:block}.daily-arrow{margin-left:auto}.daily-card:hover{background:#e8eadb}.side-foot{color:#9c9e8f;margin-top:23px;font-size:9px}.side-foot span{color:#b8a16e;margin-right:6px}.game-area{min-width:0}.game-toolbar{justify-content:space-between;align-items:center;padding:0 9px 19px;display:flex}.level-tag{letter-spacing:1.2px;font:700 11px monospace}.level-tag span{color:#acb1a5;font-weight:400}.stat{align-items:center;gap:7px;font:12px monospace;display:flex}.stat small{color:#9aa395;letter-spacing:1px;font-size:8px}.stat i{background:#d8ddcf;width:1px;height:12px;margin:0 10px}.board-wrap{background:radial-gradient(at 50% 40%,#fcfbf6,#f0f1e7);border:1px solid #e7e7dc;border-radius:28px;height:450px;position:relative;overflow:hidden;box-shadow:0 15px 30px #3f533508,inset 0 1px #fff}.board-top{color:#99a393;pointer-events:none;justify-content:center;align-items:center;gap:14px;width:100%;font-size:11px;display:flex;position:absolute;top:22px}.little-spark{color:#d4c7ad;font-size:17px}#board{touch-action:none;cursor:grab;width:100%;height:100%;display:block}#board:active{cursor:grabbing}.board-message{text-align:center;color:#74927f;pointer-events:none;font-size:12px;transition:color .2s;position:absolute;bottom:47px;left:10px;right:10px}.board-message.ready{color:#3b9174;font-weight:700}.selection-line{text-align:center;letter-spacing:1.5px;color:#abb0a3;pointer-events:none;font:8px monospace;position:absolute;bottom:25px;left:0;right:0}.tools{justify-content:center;gap:10px;margin-top:20px;display:flex}.tool{background:0 0;border:1px solid #dedfd4;border-radius:25px;align-items:center;gap:8px;padding:11px 17px;font-size:11px;display:flex}.tool>span{font-size:19px;line-height:1}.tool:not(:disabled):hover{background:#eeeee4}.hint-tool{color:#6e846c;background:#ecefe5;border-color:#dce3d3}.instruction{color:#a4aa9c;justify-content:center;align-items:center;gap:12px;margin-top:18px;display:flex}.instruction p{margin:0;font-size:10px;line-height:1.7}.instruction b{color:#829482;font-weight:400}.gesture{color:#b5beaa;font-size:28px}.rotation-controls{justify-content:center;align-items:center;gap:8px;margin-top:15px;display:flex}.rotation-controls>button{background:0 0;border:1px solid #e0e3d7;border-radius:8px;width:30px;height:28px;font-size:18px}.rotation-controls>span{color:#8d9c8a;text-align:center;min-width:120px;font-size:9px}.rotation-controls>.release-button{color:#5a7f66;background:#e4ebdd;width:auto;padding:0 12px;font-size:10px}footer{border-top:1px solid var(--line);color:#a0a697;letter-spacing:1px;justify-content:space-between;align-items:center;padding:23px 0;font-size:8px;display:flex}footer>span:first-child{font-family:monospace;font-size:8px}.footer-flower{color:#b6bea7;vertical-align:middle;margin-left:8px;font-size:20px}dialog{color:#344b43;background:#faf9f2;border:1px solid #dedfd5;border-radius:25px;width:min(460px,100% - 28px);max-height:90dvh;padding:0;box-shadow:0 20px 100px #223d3440}dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#24433565}.dialog-inner{padding:35px;position:relative}.close-button{color:#8c9e8e;background:0 0;border:0;width:30px;height:30px;font-size:24px;position:absolute;top:12px;right:15px}.dialog-kicker{letter-spacing:1.4px;color:#9b9f88;text-align:center;margin-top:6px;font:9px monospace}.dialog-title{letter-spacing:-1.5px;text-align:center;margin:18px 0 13px;font:38px Georgia,serif}.dialog-copy{color:#83917e;text-align:center;margin:0 0 20px;font-size:13px;line-height:1.8}.star-row{color:#dbb571;justify-content:center;gap:13px;margin:18px 0;font-size:36px;display:flex}.star-row .empty{color:#e3e3d6}.primary{color:#fff;background:#4b7762;border:0;border-radius:12px;width:100%;padding:15px 20px;font-size:12px}.primary:hover{background:#39644e}.secondary{background:0 0;border:1px solid #dedfd5;border-radius:12px;width:100%;margin-top:10px;padding:12px 20px;font-size:11px}.level-grid{grid-template-columns:repeat(6,1fr);gap:8px;margin:22px 0;display:grid}.level-grid button{aspect-ratio:1;background:#f1f1e6;border:1px solid #dedfd5;border-radius:10px;font:14px Georgia,serif;position:relative}.level-grid button.done{background:#dfebdd;border-color:#c7d8c6}.level-grid button.selected{border:2px solid #caa17d}.level-grid small{color:#b59b63;font:7px Arial;position:absolute;bottom:3px;left:0;right:0}.level-group-name{letter-spacing:1px;color:#9aa48e;grid-column:1/-1;margin:10px 0 0;font:9px monospace}.help-steps{counter-reset:steps;padding:0;list-style:none}.help-steps li{counter-increment:steps;color:#7d8f7b;gap:13px;margin:18px 0;font-size:12px;line-height:1.8;display:flex}.help-steps li:before{content:counter(steps);color:#60876a;background:#e5ebde;border-radius:50%;flex:0 0 28px;place-items:center;height:28px;display:grid}.win-metrics{text-align:center;justify-content:center;gap:30px;margin:20px 0 28px;display:flex}.win-metrics b{font:28px Georgia,serif;display:block}.win-metrics small{letter-spacing:1px;color:#93a18c;font:8px monospace}#webgl-error{text-align:center;place-items:center;font-size:14px;line-height:1.8;display:grid;position:absolute;inset:100px 30px}@media (width>=1400px){.layout{gap:95px;padding:60px 0}.board-wrap{height:490px}}@media (width<=1000px){.app{padding:0 30px}.layout{grid-template-columns:260px minmax(0,1fr);gap:30px}h1{font-size:49px}.board-wrap{height:430px}.header-note{display:none}.tool{padding:10px 13px}}@media (width<=740px){.app{padding:0 20px}header{height:76px}.brand{font-size:23px}.layout{grid-template-columns:1fr;gap:22px;padding:25px 0}.intro{grid-template-columns:1fr auto;align-items:center;display:grid}.intro>.eyebrow{grid-column:1/-1;font-size:8px}h1{letter-spacing:-1.5px;margin:12px 0 0;font-size:34px;line-height:1.1}h1 br,.lede,.chapter,.daily-card,.side-foot{display:none}.text-button{align-self:end;padding-bottom:3px;font-size:10px}.text-button span{margin-left:5px}.game-toolbar{padding-bottom:13px}.board-wrap{height:440px}.instruction{margin-top:14px}.tools{margin-top:16px}footer{padding:18px 0;font-size:7px}footer>span:last-child{display:none}.rotation-controls{margin-top:12px}.game-area{width:min(560px,100%);margin:auto}}@media (width<=420px){.app{padding:0 14px}.brand{font-size:22px}.header-actions{gap:6px}h1{font-size:29px}.text-button{font-size:9px}.board-wrap{border-radius:23px;height:390px}.layout{gap:21px}.tool{padding:10px 15px;font-size:10px}.dialog-inner{padding:30px 23px}}@media (height<=760px) and (width<=740px){.board-wrap{height:340px}header{height:65px}.layout{gap:18px;padding:18px 0}.instruction{display:none}footer{padding:12px 0}.tools{margin-top:12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (width>=741px){header{height:82px}.layout{grid-template-columns:310px minmax(0,1fr);gap:55px;padding:30px 0}h1{letter-spacing:-2.5px;margin:20px 0 16px;font-size:48px;line-height:1.13}.lede{font-size:13px;line-height:1.7}.chapter{margin-top:28px}.daily-card{margin-top:8px;padding:14px}.side-foot{margin-top:16px}.board-wrap{height:clamp(360px,52vh,520px)}.instruction{display:none}footer{padding:18px 0}.tools{margin-top:17px}}.eyebrow,.header-note,.level-tag,.stat,.selection-line,footer>span:first-child,.dialog-kicker,.level-group-name,.win-metrics small{font-family:ui-monospace,SF Mono,Menlo,monospace}.eyebrow,.header-note,.dialog-kicker,.level-group-name{font-size:10px}.stat small,.selection-line,.win-metrics small{font-size:9px}.selection-line{color:#a3a99b}footer,footer>span:first-child{font-size:9px}.side-foot,.daily-card small,.rotation-controls>span{font-size:10px}.rotation-controls>.release-button{font-size:11px}.level-grid small{font-size:8px}.board-top{color:#8f9a8a;font-size:12px}.loops-link{text-align:left;margin-top:-6px;padding:0 0 14px;display:block}.loops-link b{color:#b8925a;margin-right:4px;font:15px Georgia,serif}.win-metrics sup{color:#b8925a;margin-left:3px;font:10px Arial}.rank-line{color:#93a18c;text-align:center;min-height:16px;margin:-14px 0 18px;font-size:11px}.rank-line a{color:#5a7f66;margin-top:8px;display:block}.board-list{max-height:44dvh;margin:0 0 16px;padding:0;list-style:none;overflow:auto}.board-list li{border-radius:10px;grid-template-columns:42px 1fr auto;align-items:center;padding:9px 12px;font-size:12px;display:grid}.board-list li:nth-child(odd){background:#f1f1e6}.board-list li.me{background:#f3e6cf;outline:1px solid #e2c99c}.board-list span{color:#a39a7d;font:11px ui-monospace,Menlo,monospace}.board-list b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.board-list em{color:#8c6d3c;font:16px Georgia,serif}@media (width<=740px){.loops-link{display:none}}.t{font-style:normal}.loops-link b{margin:0 3px}:lang(zh) h1,:lang(ja) h1,:lang(ko) h1,:lang(zh) .dialog-title,:lang(ja) .dialog-title,:lang(ko) .dialog-title{letter-spacing:0;font-family:Georgia,Songti SC,Hiragino Mincho ProN,AppleMyungjo,Noto Serif CJK SC,serif}:lang(zh) h1,:lang(ja) h1,:lang(ko) h1{font-size:42px;line-height:1.3}:lang(zh) .dialog-title,:lang(ja) .dialog-title,:lang(ko) .dialog-title{font-size:30px}:lang(ko){word-break:keep-all}@media (width<=740px){:lang(zh) h1,:lang(ja) h1,:lang(ko) h1{font-size:28px}}:lang(es) h1{font-size:42px}@media (width<=740px){:lang(es) h1{font-size:29px}}
