:root{color:#393c30;font-synthesis:none;--green:#52684b;--line:#d8d1bd;background:#eee9dd;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.4}button:focus-visible{outline-offset:3px;outline:3px solid #bd8a35}[hidden]{display:none!important}h1,h2,h3,p{margin:0}.shell{flex-direction:column;gap:18px;width:min(1160px,100%);height:100dvh;margin:auto;padding:20px 28px;display:flex}.topbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:14px;height:48px;display:flex}.topbar h1{letter-spacing:-.5px;font:25px Georgia,serif}.icon-button{border:1px solid var(--line);color:var(--green);background:#f6f1e6;border-radius:50%;flex-shrink:0;width:44px;height:44px;font-size:24px}.shell main{flex:1;grid-template-columns:210px minmax(0,1fr);gap:28px;min-height:0;display:grid}.order-panel{text-align:center;align-self:center;min-width:0}.order-art{width:100%;height:240px;margin:0 auto 20px;position:relative}.order-art img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.order-info h3{margin-bottom:18px;font:24px/1.15 Georgia,serif}.order-progress{color:#6e755f;align-items:center;gap:12px;font-size:13px;display:flex}.progress-track{background:#d2d4bd;border-radius:4px;flex:1;height:6px;overflow:hidden}.progress-track span{background:var(--green);height:100%;transition:width .4s;display:block}.play-panel{background:#f7f3e8;border:1px solid #ded5c1;border-radius:20px;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:18px;display:flex}.board-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:32px;display:flex}.board-heading h2{font:23px Georgia,serif}.move-counter{color:#6e745e;white-space:nowrap;font-size:13px}.move-counter strong{color:#414b36;font-size:20px;font-weight:500}.move-counter span{font-size:12px}#board-wrap{border-radius:12px;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}#phaser-board,#tray-controls{position:absolute;inset:0}#phaser-board canvas{display:block}.tray-hit{background:0 0;border:0;border-radius:12px;padding:0;position:absolute}.tray-hit:disabled{opacity:1}.tray-hit:focus-visible{outline-offset:1px;outline:3px solid #fff0b1}.notice{color:#725737;text-align:center;flex-shrink:0;min-height:18px;font-size:12px;line-height:18px}.toolbar{flex-shrink:0;justify-content:center;gap:12px;display:flex}.primary,.secondary{border:1px solid #c7ccb8;border-radius:10px;min-height:44px;padding:10px 18px;font-size:15px;line-height:22px}.primary{background:var(--green);color:#fff;border-color:var(--green)}.secondary{color:#3f4938;background:#f7f4ea}.primary:hover:not(:disabled){background:#40593a}.secondary:hover:not(:disabled){background:#e5e9d9}.toolbar button{min-width:120px}.shell[data-screen=home] main{display:block;overflow:hidden}.shell[data-screen=home] .order-panel{display:none}.home-panel{scrollbar-gutter:stable;height:100%;padding:0 8px 20px;overflow:auto}.collection-header{justify-content:space-between;align-items:center;gap:16px;margin:8px 0 24px;display:flex}.collection-header h2{font:30px Georgia,serif}.collection{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.collection-card{text-align:center;border:1px solid var(--line);background:#e7e1d2;border-radius:14px;min-width:0;padding:12px}.collection-card.restored{background:#e4e9da;border-color:#a8b794}.collection-image{object-fit:contain;width:100%;height:135px;margin-bottom:10px}.collection-card h3{min-height:44px;font:18px/1.2 Georgia,serif}.collection-card p{color:#637354;margin-top:6px;font-size:12px}.home-panel>h3{margin:28px 0 14px;font:24px Georgia,serif}.levels{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;display:grid}.level-button{color:#47603e;background:#f6f1e5;border:1px solid #c3cbb4;border-radius:10px;min-width:0;min-height:44px}.save-error{text-align:center;color:#8a4935;flex-shrink:0;font-size:12px}.restoration-art{width:100%;height:210px;margin:10px auto;position:relative}.restoration-art img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.repair-step{color:#586e4a;margin-top:8px;font-size:14px}dialog{text-align:center;color:#393c30;background:#f7f3e8;border:1px solid #c9cbb4;border-radius:20px;width:min(420px,100% - 32px);max-height:calc(100dvh - 28px);padding:26px;overflow:auto}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#30372a80}dialog h2{margin-bottom:12px;font:28px Georgia,serif}dialog p{margin:12px 0;font-size:15px;line-height:1.5}.dialog-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}#result-message:empty{display:none}@media (width<=760px){.shell{gap:10px;padding:12px}.topbar{height:42px}.topbar h1{font-size:22px}.icon-button{width:40px;height:40px;font-size:22px}.shell main{grid-template-rows:74px minmax(0,1fr);grid-template-columns:1fr;gap:10px}.order-panel{text-align:left;align-self:stretch;align-items:center;gap:14px;padding:0 10px;display:flex}.order-art{flex-shrink:0;width:70px;height:70px;margin:0}.order-info{flex:1;min-width:0}.order-info h3{margin-bottom:10px;font-size:20px}.order-progress{font-size:12px}.play-panel{border-radius:16px;gap:7px;padding:12px}.board-heading{height:28px}.board-heading h2{font-size:21px}.toolbar{gap:10px}.toolbar button{flex:1;min-width:110px;max-width:190px}.primary,.secondary{font-size:14px}.notice{min-height:16px;font-size:11px;line-height:16px}.collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collection-image{height:125px}.collection-header h2{font-size:26px}.collection-card h3{font-size:17px}.levels{grid-template-columns:repeat(5,minmax(0,1fr))}.home-panel{padding:0 4px 16px}.restoration-art{height:180px}}@media (width<=380px){.shell{gap:8px;padding:8px}.topbar h1{font-size:19px}.order-info h3{font-size:18px}.play-panel{padding:8px}.shell main{grid-template-rows:65px minmax(0,1fr);gap:8px}.order-art{width:60px;height:60px}.toolbar button{min-width:100px}.collection-image{height:100px}.levels{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (height<=500px) and (width>=480px){.shell{gap:6px;padding:8px 16px}.topbar{height:36px}.topbar h1{font-size:21px}.icon-button{width:36px;height:36px}.shell main{grid-template-rows:minmax(0,1fr);grid-template-columns:150px minmax(0,1fr);gap:16px}.order-panel{align-self:center;padding:0;display:block}.order-art{width:120px;height:135px;margin:0 auto 10px}.order-info h3{margin-bottom:10px;font-size:20px}.play-panel{gap:5px;padding:8px}.board-heading{height:24px}.board-heading h2{font-size:20px}.notice{min-height:14px;font-size:11px;line-height:14px}.toolbar button{min-height:40px;padding:7px 16px}.restoration-art{height:125px}dialog{padding:16px}.collection{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}body{background:radial-gradient(at 100% 0,#e0dac4 0,#0000 55%),#eee9dd}#board-wrap{background:linear-gradient(#f3ead250,#f3ead250),url(../assets/generated/workbench.webp) 50%/cover}.play-panel{box-shadow:0 14px 40px #53462b0b}.order-art img,.collection-image{filter:drop-shadow(0 6px 5px #3b2d2517)}.tray-hit[data-valid-target=true]{box-shadow:0 0 10px #a6ca6533}.tray-hit[aria-pressed=true]{box-shadow:0 0 15px #f9cd7477}.toolbar .secondary{color:#352416;background:linear-gradient(#f7deb355,#e6c59255),url(../assets/generated/workbench.webp) 50%/cover;border:1px solid #9c734d;justify-content:center;align-items:center;gap:9px;display:flex;box-shadow:inset 0 1px 1px #fff1d499,0 2px #806042}.toolbar .secondary:hover:not(:disabled){background:linear-gradient(#fff0cd77,#efdbb566),url(../assets/generated/workbench.webp) 50%/cover}.toolbar .secondary:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px #65422855}.action-icon{object-fit:contain;width:24px;height:24px}#home-button{box-shadow:none;background:0 0;border:0}#home-button img{object-fit:contain;width:100%;height:100%;display:block}#help-button{color:#432d1a;background:linear-gradient(#e8cb9866,#d5ad7266),url(../assets/generated/workbench.webp) 50%/cover;border:1px solid #9c734d;font-family:Georgia,serif;box-shadow:inset 0 1px 1px #fff1d499,0 1px #806042}.assembly-art{aspect-ratio:1;isolation:isolate;width:100%;position:relative;overflow:visible}.assembly-art .assembly-part{max-width:none;height:auto;transform:translate(-50%,-50%) rotate(var(--rotation));filter:drop-shadow(0 3px 2px #39261222);position:absolute}.order-art>.assembly-art{width:100%;height:100%}.collection-card>.assembly-art{width:100%;max-width:180px;margin:auto}#restoration-result>.assembly-art{width:min(300px,65vw,45dvh);margin:0 auto}.assembly-art[data-effect=glow] .collection-card>.assembly-art{margin-bottom:12px}.order-art>.assembly-art{aspect-ratio:1;height:auto;max-height:100%;top:50%;transform:translateY(-50%)}.assembly-art .assembly-part{transform:translate(var(--anchor-x,-50%),var(--anchor-y,-50%)) rotate(var(--rotation));backface-visibility:hidden}.assembly-art{overflow:hidden}#restoration-result>.assembly-art{width:min(330px,70vw,48dvh)}.repair-steam{filter:blur(3px);opacity:0;z-index:6;pointer-events:none;background:linear-gradient(90deg,#0000,#d6d5cb,#0000);border-radius:50%;width:4%;height:15%;position:absolute;top:45%}.repair-light{mix-blend-mode:screen;opacity:0;z-index:6;pointer-events:none;background:radial-gradient(#fd7,#0000 72%);border-radius:50%;position:absolute}
