:root{color-scheme:light;--paper:#f7f4ec;--surface:#fffdf7;--ink:#283c30;--secondary:#586653;--line:#dddccd;--green:#436247;--orange:#df633d;--radius:16px;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:15px;font-weight:400;color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;border:0;background:none}button:disabled{cursor:default}button:hover:not(:disabled){filter:brightness(.97)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--orange);outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}svg{display:block;flex-shrink:0}.site-header{max-width:1440px;margin:auto;padding:24px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:600;letter-spacing:.2px}.brand-icon{display:grid;place-items:center;width:38px;height:40px;background:var(--orange);color:#fff;border-radius:11px;font-size:32px;font-weight:500;transform:rotate(-6deg)}.wordmark small{display:block;font-size:11px;line-height:18px;font-weight:400;letter-spacing:.4px;color:var(--secondary)}.header-right{display:flex;align-items:center;gap:12px}.edition{font-size:12px;letter-spacing:1px;color:var(--secondary);margin-right:12px}.icon-button,.header-action{display:flex;align-items:center;justify-content:center;gap:6px;width:40px;height:40px;border-radius:10px;color:var(--green)}.icon-button svg,.header-action svg{width:22px;height:22px}.icon-button.active{background:#e7edde}.header-action{width:auto;padding:0 10px;font-size:13px}.header-action:disabled{opacity:.45}.restart-label{white-space:nowrap}.mobile-links{display:none}.layout{max-width:1300px;margin:auto;padding:34px 36px 28px;display:grid;grid-template-columns:minmax(260px,1fr) 420px 220px;gap:46px;align-items:start}.intro,.guide{padding-top:32px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1px;color:var(--secondary)}.eyebrow>span,.game-topline i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--orange)}h1{font-size:60px;line-height:1.35;letter-spacing:-2px;font-weight:650;margin:24px 0;white-space:nowrap}.hit{color:var(--orange);position:relative}.hit svg{position:absolute;width:100%;height:18px;bottom:-11px;left:0;stroke:var(--orange);stroke-width:3;fill:none;stroke-linecap:round}.intro-copy{font-size:15px;line-height:1.9;color:var(--secondary)}.hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.hero-chips span{padding:7px 9px;border:1px solid #d7d8c8;border-radius:5px;font-size:12px;color:var(--secondary)}.best-display{display:flex;gap:14px;align-items:center;padding:20px 0;margin-top:32px;border-block:1px solid var(--line)}.trophy{font-size:30px;color:#9a916c}.small-label{display:block;font-size:12px;line-height:17px;font-weight:400;letter-spacing:0;color:var(--secondary)}.best-display strong{display:block;font-size:34px;font-weight:600;line-height:42px;font-variant-numeric:tabular-nums}.local-note{font-size:11px;line-height:1.8;color:var(--secondary);margin-left:auto}.text-button{padding:10px 0;font-size:13px;font-weight:500;color:var(--green)}.text-button span{margin-left:12px}.intro-note{margin-top:42px;color:var(--secondary)}.intro-note>span{font-size:11px;letter-spacing:1px}.intro-note p{font-size:13px}.game-column{position:relative;min-width:0}.game-topline{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--secondary);margin:0 2px 12px}.game-topline i{background:#6f825b;margin-right:5px}.scoreboard{display:grid;grid-template-columns:minmax(80px,1.3fr) minmax(64px,.8fr) auto 44px;align-items:center;column-gap:12px;width:100%;height:72px;margin-bottom:12px;padding:0 4px}.scoreboard>div{min-width:0}.scoreboard strong{display:block;font-size:34px;line-height:39px;font-weight:600;font-family:Helvetica Neue,PingFang SC,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px}#score[data-size=compact]{font-size:27px}#score[data-size=small]{font-size:22px}.next-piece #preview-caption{font-family:inherit;font-size:14px;line-height:20px;font-weight:500;letter-spacing:0;margin-top:4px;overflow-wrap:anywhere}.next-piece.trap #preview-caption{color:#b23d27}.combo-box{border-left:1px solid var(--line);padding-left:12px}.combo-box strong{font-size:22px;font-weight:500;line-height:30px;color:#bb4d2a;margin-top:2px;letter-spacing:-.4px}.mini-book{padding:0;white-space:nowrap;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:44px;height:48px;font-size:12px;color:var(--green);border-radius:10px}.book-icon{display:block}.book-icon svg{width:22px;height:22px}.cabinet{--cabinet-radius:18px;position:relative;isolation:isolate;width:100%;margin:0 auto;border:1px solid #c6c5b1;border-radius:var(--cabinet-radius);background:#fcfaf3;overflow:hidden;box-shadow:0 6px 18px #56492708}.board-wrap{position:relative;width:100%;overflow:hidden;border-radius:calc(var(--cabinet-radius) - 1px);line-height:0}#board{display:block;width:100%;height:var(--game-height,auto);aspect-ratio:auto;touch-action:none}.canvas-info{position:absolute;inset:0;pointer-events:none;line-height:normal}#warning-caption{position:absolute;left:8px;top:calc(18% - 23px);font-size:12px;line-height:18px;font-weight:400;color:#9b452e;background:#fffaf0e8;padding:1px 4px;border-radius:4px;white-space:nowrap}#app[data-phase=ready] .canvas-info{display:none}#paused{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#faf7eee0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-size:22px;line-height:1.8;color:var(--ink)}#paused small{font-size:14px;color:var(--secondary)}.welcome{position:absolute;inset:0;border-radius:calc(var(--cabinet-radius) - 1px);clip-path:inset(0 round calc(var(--cabinet-radius) - 1px));overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 24px;background:linear-gradient(150deg,#fffdf6f9,#f4eddefa);gap:0}.warehouse-tag{font-size:12px;font-weight:400;letter-spacing:1px;color:#6a735b;flex:0 0 auto}.welcome-art{position:relative;width:100%;max-width:310px;flex:1 1 0;min-height:0;max-height:300px;margin:12px 0 0;display:flex;align-items:center;justify-content:center}.welcome-art canvas{display:block;width:100%;height:100%;object-fit:contain;min-height:0}.float-tag{display:none}.welcome h2{font-size:26px;font-weight:600;line-height:1.4;letter-spacing:-.4px;margin:20px 0 0;flex:0 0 auto}.welcome p{font-size:14px;line-height:1.8;color:var(--secondary);margin:9px 0 0;flex:0 0 auto}.primary{display:flex;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:12px 16px;background:var(--orange);color:#fff;border:1px solid #c45532;border-radius:12px;font-size:15px;font-weight:500;line-height:1.5;box-shadow:0 2px #c55131}.welcome .primary{justify-content:space-between;width:100%;margin-top:22px;flex:0 0 auto;font-size:16px}.primary span{font-size:22px;margin:0}.welcome-foot{font-size:11px;line-height:18px;margin-top:14px;color:var(--secondary);flex:0 0 auto}.game-bottom{display:none}.tools{display:flex;gap:0;min-height:62px;margin-top:12px;padding:3px;background:#ebeee3;border:1px solid #d4dbca;border-radius:14px}.tool{display:flex;align-items:center;justify-content:center;flex:1 1 0;gap:7px;min-width:0;min-height:54px;padding:6px;color:#4c6045;border-radius:10px;background:transparent;font-size:14px;opacity:1}.tool+.tool{border-left:1px solid #d1d8c9;border-radius:0 10px 10px 0}.tool svg{width:23px;height:23px}.tool .tool-name{font-size:13px;line-height:19px;font-weight:500;white-space:nowrap;text-align:left}.tool small{display:block;margin-top:2px;font-size:12px;line-height:17px;font-weight:400;color:#4e6245}.tool.available{background:#dce8d0;color:#2d5738;box-shadow:inset 0 0 0 1px #97b283;border-radius:10px}.tool.activated{background:#dcece5;color:#2a6150;border-radius:10px}.board-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0 0;padding:0 2px;font-size:12px;line-height:20px;color:var(--secondary)}#status{font-size:12px;line-height:20px;font-weight:400;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#revive-left{font-size:12px;line-height:20px;font-weight:400;color:#47613e;flex-shrink:0}.guide-heading{padding-bottom:16px;border-bottom:1px solid var(--line)}.guide-heading>span{font-size:15px;font-weight:500}.guide-heading small{display:block;margin-top:7px;font-size:10px;letter-spacing:1.5px;color:var(--secondary)}.level-ladder{display:flex;flex-direction:column;gap:14px;padding:20px 0}.ladder-item{display:flex;align-items:center;gap:10px}.ladder-item strong{font-size:13px;font-weight:500;display:block;line-height:21px}.ladder-item small{font-size:10px;color:var(--secondary)}.ladder-item>span:last-child{margin-left:auto;color:#a8ad96;font-size:12px}.ladder-item:last-child strong{color:#bd5933}.ladder-symbol{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--item-color) 25%,#fffaf0)!important;border:1px solid color-mix(in srgb,var(--item-color) 60%,#adad9c)}.product-thumb{display:block;object-fit:contain;filter:drop-shadow(0 1px 1px #35292312)}.risk-note{display:flex;gap:10px;align-items:center;padding:17px 0;border-block:1px dashed #d0d1bd;color:#af5b3e}.risk-note strong{font-size:13px;font-weight:500}.risk-note p{font-size:12px;line-height:1.8;margin:5px 0 0;color:#785c47}.resource-card{display:block;width:100%;text-align:left;padding:18px;background:#e9eddf;border:1px solid #cdd7c0;border-radius:13px;margin-top:24px;color:#3c5637}.resource-label{font-size:11px;color:var(--secondary)}.resource-card strong{display:block;font-size:18px;line-height:1.8;font-weight:500;margin:10px 0 14px}.resource-link{display:block;padding-top:12px;border-top:1px solid #c9d4bc;font-size:12px}.resource-link b{float:right;font-weight:400}.guide-foot{display:block;text-align:center;font-size:11px;margin-top:16px;color:var(--secondary)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1300px;margin:auto;padding:18px 36px;border-top:1px solid var(--line);font-size:11px;line-height:1.6;color:var(--secondary)}.footer-brand{white-space:nowrap}.footer-disclaimer{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.footer-motto{font-size:9px;letter-spacing:1px}.rules-button{min-height:32px;padding:4px 0;color:#486340;font-size:12px;line-height:20px;font-weight:400;white-space:nowrap}.text-button{background:transparent}dialog{width:min(440px,calc(100vw - 28px));max-height:calc(var(--app-height,100dvh) - 28px);overflow:auto;overscroll-behavior:contain;padding:0;border:1px solid #d9d9c8;border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px #2a322b40}dialog::backdrop{background:#25332a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#modal-content{padding:22px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;position:sticky;top:0;z-index:2;background:var(--surface);padding-top:2px;padding-bottom:8px}.modal-head h2{font-size:22px;line-height:1.4;font-weight:500;margin:0;min-width:0}.close{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#ecefe2;font-size:24px;font-weight:400;color:#526348}.modal-sub,.book-detail{font-size:14px;line-height:1.8;color:var(--secondary)}.modal-sub{margin:10px 0 16px}.book-detail{margin:14px 0 0}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.book-cell{min-width:0;min-height:132px;padding:12px 3px;border:1px solid #dedfce;border-radius:12px;background:#f4f5ea;text-align:center}.book-cell .ladder-symbol{width:60px;height:60px;margin:0 auto 9px}.book-cell .product-thumb{width:58px;height:58px}.book-cell strong{display:block;font-size:13px;line-height:20px;font-weight:500;color:#3f553b}.book-cell small{font-size:11px;line-height:18px;color:#617057}.book-cell.locked .product-thumb{filter:grayscale(1);opacity:.35}.book-cell.locked strong,.book-cell.locked small{color:#68745c}.result{text-align:center}.result-badge{width:78px;height:78px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:#f3e1b7;color:#986922;border:5px solid #faf0d8}.result h3{font-size:26px;line-height:1.4;font-weight:500;margin:10px 0}.modal-score-label{font-size:12px;color:var(--secondary);letter-spacing:.5px}.final-score{font-family:Helvetica Neue,sans-serif;font-size:62px;line-height:1.2;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-1px;color:#cd5b36}.result-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;font-size:12px;line-height:1.8;color:var(--secondary);margin-top:16px}.result-stats b{font-weight:500}.modal-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:6px 9px;background:#e8efdf;border-radius:6px;color:#4f7140}.modal-actions{display:grid;gap:12px;margin-top:20px}.action-row{display:flex;gap:10px}.action-row>*{flex:1;min-width:0}.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 12px;border:1px solid #cad4be;border-radius:10px;background:#f0f3e7;color:#3e5c36;font-size:14px;line-height:1.5;font-weight:400}.muted-note{font-size:12px;line-height:1.8;color:var(--secondary);margin-top:14px}.rules-list{list-style:none;padding:0;display:grid;gap:16px;counter-reset:steps}.rules-list li{position:relative;padding-left:34px;font-size:14px;line-height:1.8;color:var(--secondary)}.rules-list li:before{counter-increment:steps;content:counter(steps);position:absolute;left:0;top:2px;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#e9efde;color:#42633b;font-size:12px}.rules-tools,.rules-disclaimer{font-size:13px;line-height:1.9;color:var(--secondary)}.rules-disclaimer{padding-top:13px;border-top:1px solid var(--line)}.checklist{list-style:none;padding:0;color:#536c47;font-size:14px;line-height:2.5}.checklist li:before{content:"✓";margin-right:10px;color:#73945d}.empty-qr{border:1px dashed #bdc9ad;border-radius:12px;padding:28px 16px;text-align:center;font-size:14px;line-height:2;color:#576f49}.qr{display:block;width:180px;height:180px;object-fit:contain;margin:24px auto;background:#fff}.poster-image{display:block;width:100%;height:auto;border-radius:12px}#download-poster{width:100%}#toast{position:fixed;z-index:20;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%,12px);opacity:0;pointer-events:none;padding:11px 17px;max-width:90vw;width:max-content;background:#344e37;color:#fff;border-radius:10px;font-size:14px;line-height:1.6;text-align:center;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%)}@media(max-width:1100px){.layout{grid-template-columns:minmax(240px,1fr) 400px;gap:30px;max-width:900px}.guide{display:none}h1{font-size:50px}.footer-motto{display:none}}@media(max-width:720px){html,body{height:100%;overflow:hidden}#app{height:100vh;height:var(--app-height,100dvh);width:100%;display:flex;flex-direction:column;overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.site-header{flex:0 0 44px;min-height:44px;width:100%;margin:0;padding:2px 14px;border:0}.wordmark{gap:8px;font-size:18px;font-weight:500}.brand-icon{width:28px;height:30px;border-radius:9px;font-size:26px;line-height:1}.wordmark small,.edition{display:none}.header-right{gap:3px}.icon-button,.header-action{height:40px;width:40px;padding:0;font-size:13px}.icon-button svg,.header-action svg{height:21px;width:21px}.restart-label,#app[data-phase=ready] #restart{display:none}.mobile-links{display:flex;flex:0 0 34px;width:100%;min-height:34px;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;font-size:12px;color:var(--secondary)}.mobile-links b{font-size:16px;font-weight:500;color:var(--ink);margin-left:4px}.mobile-links button{font-size:12px;min-height:32px;padding:3px 0;color:#48633e}#app[data-phase=playing] .mobile-links,#app[data-phase=over] .mobile-links{display:none}.layout{display:block;flex:1 1 0;min-height:0;width:100%;max-width:none;margin:0;padding:4px 14px 6px}.intro,.guide{display:none}.game-column{display:flex;flex-direction:column;align-items:stretch;height:100%;min-height:0;width:100%}.game-topline{display:none}.scoreboard{flex:0 0 60px;min-height:60px;height:60px;padding:0 2px;margin:0 0 8px;grid-template-columns:minmax(76px,1.3fr) minmax(55px,.8fr) auto 40px;column-gap:9px}.small-label{font-size:12px;line-height:16px;color:#5c6654;font-weight:400}.scoreboard strong{font-size:32px;font-weight:500;line-height:35px;letter-spacing:-.6px}#score[data-size=compact]{font-size:25px}#score[data-size=small]{font-size:21px}.next-piece #preview-caption{font-size:13px;line-height:18px;font-weight:400;margin-top:3px}.combo-box{padding-left:9px}.combo-box strong{font-size:20px;font-weight:500;line-height:27px;margin-top:2px;letter-spacing:-.3px}.mini-book{width:40px;height:44px;font-size:12px;font-weight:400;gap:3px}.book-icon svg{width:21px;height:21px}.cabinet{--cabinet-radius:17px;flex:0 0 auto;width:var(--game-width,100%);max-width:100%;margin:0 auto;border-radius:var(--cabinet-radius);border-color:#c7c4af;box-shadow:0 5px 17px #4a3b1509}.board-wrap{width:100%;max-width:100%;border:0;box-sizing:border-box}#board{width:100%;height:var(--game-height,auto);aspect-ratio:auto}#warning-caption{left:6px;top:calc(18% - 22px);font-size:12px;line-height:18px;padding:1px 4px;font-weight:400}.tools{flex:0 0 56px;min-height:56px;height:56px;width:100%;margin-top:8px;padding:2px;border-radius:13px}.tool{min-height:50px;padding:4px 5px;gap:6px;opacity:1}.tool svg{width:21px;height:21px}.tool .tool-name{font-size:13px;line-height:18px;font-weight:400}.tool small{font-size:12px;line-height:17px;font-weight:400;margin-top:1px}.board-caption{flex:0 0 20px;height:20px;min-height:20px;width:100%;line-height:20px;margin:6px 0 0;padding:0 2px;gap:6px}#status,#revive-left{font-size:12px;line-height:20px;font-weight:400}.site-footer{display:flex;flex:0 0 26px;min-height:26px;width:100%;max-width:none;margin:0;padding:1px 16px 3px;align-items:center;justify-content:space-between;gap:10px;border:0;font-size:12px;line-height:20px}.footer-brand,.footer-full,.footer-motto{display:none}.footer-disclaimer{display:block;white-space:nowrap}.footer-summary{font-size:12px;font-weight:400;color:#65705d}.rules-button{min-height:22px;padding:0;font-size:12px;line-height:20px;color:#4d6743;font-weight:400}#app[data-phase=ready] .scoreboard,#app[data-phase=ready] .tools,#app[data-phase=ready] .board-caption{display:none}.welcome{padding:20px 18px;gap:0}.warehouse-tag{font-size:12px;line-height:18px;letter-spacing:1px;font-weight:400}.welcome-art{max-height:280px;max-width:300px;margin:8px 0 0;min-height:0}.welcome h2{font-size:24px;font-weight:500;line-height:1.4;letter-spacing:-.4px;margin:14px 0 0;white-space:normal}.welcome p{font-size:14px;line-height:1.75;margin:9px 0 0}.welcome .primary{font-size:16px;line-height:1.4;min-height:48px;margin-top:20px;padding:12px 14px;font-weight:500}.welcome-foot{font-size:11px;line-height:17px;margin-top:12px}#modal-content{padding:20px}.modal-head{top:0}.modal-head h2{font-size:21px;font-weight:500}.book-cell{min-height:124px;padding:10px 3px}.book-cell .ladder-symbol{width:58px;height:58px}.book-cell .product-thumb{width:56px;height:56px}.book-cell strong{font-size:12px;line-height:20px;font-weight:400}.book-cell small{font-size:11px;line-height:17px}.book-grid{gap:7px}.modal-sub,.book-detail{font-size:14px;line-height:1.8}.result-stats{gap:10px}.result h3{font-size:25px;font-weight:500}.final-score{font-size:58px;font-weight:500}}@media(max-width:360px){.layout,.site-header,.mobile-links{padding-inline:12px}.scoreboard{column-gap:7px;grid-template-columns:minmax(72px,1.3fr) minmax(52px,.8fr) auto 36px}.scoreboard strong{font-size:29px}.combo-box{padding-left:7px}.combo-box strong{font-size:18px}.mini-book{width:36px}.tool{gap:4px;padding-inline:3px}.tool svg{width:18px;height:18px}.tool .tool-name,.tool small{font-size:12px}.welcome{padding:16px}.welcome h2{font-size:21px}.welcome p{font-size:13px}.welcome .primary{font-size:15px}}@media(max-width:720px)and (max-height:600px){.scoreboard{height:56px;min-height:56px;flex-basis:56px;margin-bottom:6px}.scoreboard strong{font-size:29px;line-height:32px}.tools{height:52px;min-height:52px;flex-basis:52px;margin-top:6px}.tool{min-height:46px;padding-block:3px}.board-caption{margin-top:4px}.welcome{padding-block:15px}.warehouse-tag,.welcome-foot{display:none}.welcome h2{font-size:21px;line-height:1.35;margin-top:8px}.welcome p{font-size:13px;line-height:1.7}.welcome .primary{margin-top:14px}.welcome-art{margin-top:0;max-height:240px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.inline-icon{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;line-height:1;flex-shrink:0}.inline-icon svg{display:block;width:1em;height:1em;min-width:14px;min-height:14px}.brand-icon .inline-icon{width:100%;height:100%}.brand-icon .inline-icon svg{width:30px;height:30px}.primary>.inline-icon{margin-left:8px}.primary>.inline-icon svg{width:23px;height:23px}.close .inline-icon svg{width:19px;height:19px}
