:root{color:#284d42;font-synthesis:none;background:#e1e7df;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-weight:400}*{box-sizing:border-box}body{overscroll-behavior:none;place-items:center;min-height:100dvh;margin:0;display:grid}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline-offset:3px;outline:3px solid #db9d55}button:disabled{opacity:.45;cursor:default}button:active{transform:translateY(1px)}[hidden]{display:none!important}#app{background:#f9f8f0;flex-direction:column;width:min(100%,440px);height:100dvh;min-height:570px;max-height:956px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 100px #364d3b20}.header{padding:calc(6px + env(safe-area-inset-top)) 20px 4px;justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:8px;display:flex}.brand h1{letter-spacing:2px;margin:0;font-size:19px;font-weight:800;line-height:1}.brand-icon{flex-direction:column;justify-content:end;align-items:center;gap:2px;width:26px;height:27px;display:flex}.brand-icon i{background:#d98b6c;border-radius:3px;width:16px;height:7px;display:block;transform:rotate(-6deg)}.brand-icon i:nth-child(2){background:#dfba77;width:21px;transform:rotate(5deg)}.brand-icon i:nth-child(3){background:#5b8a72;width:26px;transform:rotate(-3deg)}.header-actions{align-items:center;gap:12px;display:flex}.share-icon{color:#b37750;background:#fbf1e7;border-color:#e6cdbb}.item-count{color:#365e4e;white-space:nowrap;background:#e6eee4;border:1px solid #d2e0d2;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.icon-button{width:39px;height:39px;color:inherit;background:0 0;border:1px solid #d9dfd4;border-radius:50%;place-items:center;display:grid}svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.scorebar{justify-content:space-between;align-items:center;gap:12px;padding:4px 20px 10px;display:flex}.eyebrow{color:#87948b;letter-spacing:1.1px;margin-bottom:7px;font-size:9px;display:block}.level strong{font-size:13px;font-weight:500}.level b{font-family:Outfit,sans-serif;font-size:17px;font-weight:500}.level-dot{vertical-align:middle;background:#d4a15d;border-radius:50%;width:5px;height:5px;margin-left:6px;display:inline-block}.height-score{text-align:center}.height-score .eyebrow{margin-bottom:0}.height-score strong{letter-spacing:-1.3px;font-family:Outfit,sans-serif;font-size:34px;font-weight:500;line-height:1.2}.height-score small{letter-spacing:0;margin-left:4px;font-size:15px}.record{text-align:right}.record strong{color:#748177;font-family:Outfit,sans-serif;font-size:14px;font-weight:500}#playfield{isolation:isolate;touch-action:none;background:linear-gradient(#e4eee8 0%,#eaf0e6 65%,#edf0e5 100%);flex:1;min-height:260px;position:relative;overflow:hidden}#scene,#effects{touch-action:none;width:100%;height:100%;position:absolute;inset:0}#effects{pointer-events:none;z-index:6}.room-pattern{opacity:.22;background-image:radial-gradient(#afc4b4 1px,#0000 1px);background-size:23px 23px;position:absolute;inset:0}.room-arch{background:linear-gradient(#f8f8e92e,#dbe6d13a);border:1px solid #bacdb82c;border-radius:190px 190px 0 0;width:76%;height:76%;position:absolute;bottom:0;left:12%}.wall{z-index:1;background:linear-gradient(90deg,#bbcfc28c,#dbe4d2);border-right:1px solid #afc2b170;width:12px;position:absolute;top:0;bottom:0}.right-wall{right:0;transform:scaleX(-1)}.left-wall{left:0}#target-line{pointer-events:none;color:#849875;z-index:2;border-top:1px dashed #9bab8c;position:absolute;left:18px;right:17px}#target-line>span{letter-spacing:.5px;align-items:center;gap:4px;font-size:10px;display:flex;position:absolute;bottom:8px;left:10px}#target-line svg{width:13px;height:13px}#target-value{background:#e4eee8;padding-left:5px;font:500 11px Outfit,sans-serif;position:absolute;bottom:9px;right:0}#ruler{pointer-events:none;z-index:3;width:32px;position:absolute;top:0;bottom:0;right:13px}.tick{border-top:1px solid #91a58c80;width:8px;position:absolute;right:0}.tick.major{border-color:#91a58c;width:15px}.tick span{color:#82947b;white-space:nowrap;font:10px Outfit,sans-serif;position:absolute;top:-7px;right:16px}#height-line{pointer-events:none;z-index:4;border-top:1px solid #609cbb88;width:32px;transition:opacity .2s;position:absolute;right:13px}#height-line span{white-space:nowrap;text-overflow:ellipsis;text-align:center;color:#fff;background:#6c9eb8;border-radius:5px;max-width:100%;padding:4px 1px;font:500 9px Outfit,sans-serif;position:absolute;bottom:5px;right:0;overflow:hidden;box-shadow:0 2px 6px #426d8320}#height-line i{background:#6c9eb8;border-radius:50%;width:5px;height:5px;position:absolute;top:-3px;right:-2px}#item-label{z-index:5;white-space:nowrap;background:#fffdf5ed;border:1px solid #d6dfce;border-radius:9px;padding:8px 13px;font-size:11px;position:absolute;bottom:65px;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #46614a10}#toast{color:#fffdf6;white-space:nowrap;opacity:0;pointer-events:none;z-index:8;background:#2e5145ec;border-radius:20px;padding:10px 18px;font-size:11px;transition:all .25s;position:absolute;top:80px;left:50%;transform:translate(-50%,-8px)}#toast.visible{opacity:1;transform:translate(-50%)}#settling{white-space:nowrap;color:#6f8a5a;z-index:4;background:#fcfff0db;border-radius:20px;padding:10px 13px;font-size:11px;position:absolute;top:75px;left:50%;transform:translate(-50%)}#settling span{background:#9eb66b;border-radius:50%;width:7px;height:7px;margin-right:5px;animation:1s infinite pulse;display:inline-block}.footer{padding:10px 20px calc(12px + env(safe-area-inset-bottom));background:#faf9f2;border-top:1px solid #dbe0cf}.drop-button{color:#fffdf1;letter-spacing:.06em;background:#365e4e;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:47px;font-size:15px;font-weight:600;line-height:1;display:flex;box-shadow:0 4px #254735}.drop-button>#drop-icon{letter-spacing:0;font-size:20px;font-weight:400;line-height:1}.modal{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#254b3b55;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.modal-card{text-align:center;background:#fcfbf3;border:1px solid #ffffffc0;border-radius:26px;width:100%;max-height:90%;padding:30px 26px;overflow-y:auto;box-shadow:0 30px 80px #21392a30}.modal-card h2{letter-spacing:1px;margin:13px 0;font-size:25px}.modal-card>p:not(.eyebrow){color:#8a9484;white-space:pre-line;margin:12px 0 25px;font-size:12px;line-height:1.95}#modal-icon{color:#c3a465;margin:0 0 16px;font-size:45px}#modal-kicker{letter-spacing:2.5px;font-size:8px}.modal-stats{background:#edf2e9;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 24px;padding:16px 4px;display:grid}.modal-stats>div+div{border-left:1px solid #d8e2d5}.modal-stats dt{color:#829384;font-size:10px}.modal-stats dd{color:#365e4e;white-space:nowrap;margin:7px 0 0;font-family:Outfit,sans-serif;font-size:17px;font-weight:600}#modal-actions{gap:10px;display:grid}.action-group{gap:7px;display:grid}.action-group-label{text-align:left;color:#9aa397;letter-spacing:1px;padding:5px 2px 0;font-size:10px}.modal-action{color:#54735e;background:0 0;border:1px solid #dce2d3;border-radius:12px;width:100%;padding:13px;font-size:12px}.modal-action.primary{color:#fffdf1;background:#365e4e;border-color:#365e4e}.modal-action.share{color:#523f30;background:#e9b77f;border-color:#e9b77f;min-height:56px;font-size:15px;font-weight:700}.modal-action.danger{color:#ad7b65}.win-card{max-width:360px}.win-card .modal-stats{margin:18px 0 20px}.win-card #modal-actions{gap:12px}.win-card .modal-action.primary{letter-spacing:1px;border-radius:16px;min-height:68px;font-size:18px;font-weight:700;box-shadow:0 4px #254735}.win-card .action-group:nth-child(2) .action-group-label{display:none}.win-card .modal-action.share{background:#f4e6d3;border-color:#e9d6bd;min-height:44px;font-size:12px;font-weight:600}.win-card .action-group:nth-child(3){grid-template-columns:repeat(2,minmax(0,1fr))}.win-card .action-group:nth-child(3) .action-group-label{grid-column:1/-1}.win-card .modal-action.danger{min-height:38px;padding:8px 4px;font-size:11px}.win-height{color:#365e4e;font-family:Outfit,sans-serif;font-size:40px}.share-preview{object-fit:contain;background:#e4eee8;border-radius:12px;width:100%;max-height:280px}#loading{z-index:40;color:#78917b;background:#f9f8f0;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}@keyframes pulse{50%{opacity:.4}}@media (width>=600px){#app{border:1px solid #f7faee;border-radius:28px;height:min(956px,100dvh - 32px)}}@media (height<=760px){.modal-card{padding:20px 26px}#modal-icon{margin-bottom:8px;font-size:30px}.modal-card h2{margin:9px 0}.modal-card>p:not(.eyebrow){margin:8px 0 16px}#modal-actions{gap:7px}.action-group{gap:7px;display:grid}.action-group-label{text-align:left;color:#9aa397;letter-spacing:1px;padding:5px 2px 0;font-size:10px}.modal-action{padding:10px}.scorebar{padding-bottom:8px}.footer{padding-top:11px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.height-score strong{font-size:29px}}.welcome-card{background:#fcfbf3;max-width:360px;padding:34px 30px 24px}.welcome-card:focus{outline:none}.welcome-card h2{color:#284d42;letter-spacing:2px;justify-content:center;align-items:center;gap:11px;margin:0 0 28px;font-size:21px;font-weight:800;line-height:1;display:flex}.welcome-card .modal-action.primary{letter-spacing:1px;border-radius:16px;min-height:72px;font-size:16px;font-weight:700;box-shadow:0 5px #294b3d}.welcome-card .modal-action.primary:focus-visible{outline-offset:4px;outline:2px solid #d4a15d}.welcome-card .modal-action:not(.primary){color:#788c7e;border-color:#0000;min-height:44px}.share-dialog{color:#153f2d;background:#fcfbf3;border:1px solid #ffffffc0;border-radius:22px;width:min(460px,100% - 24px);max-height:calc(100dvh - 32px);padding:20px;overflow-y:auto;box-shadow:0 30px 80px #21392a30}.share-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#254b3b88}.share-close{z-index:1;color:#54735e;background:#fcfbf3e8;border:0;border-radius:50%;width:36px;height:36px;font-size:24px;line-height:1;position:absolute;top:26px;right:26px}.share-dialog .share-preview{max-height:min(52dvh,500px);display:block}.share-link{gap:8px;margin:14px 0;display:flex}.share-link input{color:#365e4e;background:#f4f6ef;border:1px solid #dce2d3;border-radius:10px;flex:1;min-width:0;padding:10px;font-size:13px}.share-link button{color:#365e4e;background:0 0;border:1px solid #dce2d3;border-radius:10px;flex-shrink:0;padding:10px}.share-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.share-buttons .modal-action{min-height:48px;font-size:14px;font-weight:600}.share-buttons .modal-action.primary{background:#59816b;border-color:#59816b}.share-buttons .modal-action.share{color:#153f2d;background:#ffe09a;border-color:#ffe09a}.share-buttons .modal-action[hidden]{display:none}.share-buttons:has([hidden]){grid-template-columns:1fr}.share-dialog .share-preview[hidden]{display:none}.share-status{color:#78917b;background:#e4eee8;border-radius:12px;place-items:center;min-height:min(52dvh,500px);margin:0;font-size:14px;display:grid}.share-status[hidden]{display:none}.share-buttons button:disabled{opacity:.5}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2)format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2)format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2)format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.woff)format("woff")}
