.packing-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:30px;max-width:1080px;margin:auto;align-items:start}.packing-board-panel{min-width:0}.packing-stage{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.packing-stage small{font-size:12px;font-weight:800;letter-spacing:.1em;color:#9b7038}.packing-stage h2{font-size:23px;margin:3px 0 0}.packing-stage>span{padding:9px 14px;background:#e8eddd;border-radius:24px;font-weight:800;font-size:14px;white-space:nowrap}.packing-stage>span.complete{background:#ddedd9;color:#397746}.packing-case{position:relative;background:#283f4d;border:13px solid #283f4d;border-top-width:21px;border-radius:30px;box-shadow:0 7px 0 #192b3a,0 15px 25px #19324714;margin:0 4px 15px;isolation:isolate}.packing-case:after{content:'';pointer-events:none;position:absolute;inset:-6px;border:2px dashed #64757a;border-radius:21px;z-index:-1}.packing-handle{position:absolute;width:30%;height:24px;border:9px solid #283f4d;border-radius:17px 17px 0 0;left:35%;top:-40px;z-index:-2}.packing-zip{position:absolute;right:-17px;top:16px;width:15px;height:34px;border:3px solid #c4af77;border-radius:7px;color:#e0c990;background:#8b794f;font-size:12px;text-align:center;transition:top .7s ease}.packing-case.is-closed .packing-zip{top:calc(100% - 30px)}.packing-board{position:relative;background:#e8e0c9;border-radius:14px;overflow:hidden;touch-action:none;user-select:none;box-shadow:inset 0 2px 10px #483b2725}.packing-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),1fr);position:absolute;inset:0}.packing-grid span{border:1px solid #c5bea840;background:linear-gradient(120deg,#fffcf021,#fffcf008)}#packing-scene{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.packing-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#948973;font-weight:800;font-size:19px;pointer-events:none;gap:12px}.packing-empty small{font-size:13px;font-weight:400}.packing-feedback{font-size:14px;min-height:46px;line-height:1.55;color:#586759;display:flex;align-items:center;padding:4px 7px}.packing-feedback.is-bad{color:#a54f35}.packing-controls{display:grid;grid-template-columns:105px minmax(0,1fr) 60px;gap:10px}.packing-controls button{min-height:59px;padding:9px 7px;border-radius:14px;font-weight:800}.packing-controls .primary{background:#507763;box-shadow:0 4px 0 #375541;font-size:16px}.packing-controls .primary:disabled{background:#d7dece;color:#526453;opacity:1;box-shadow:0 3px 0 #c5cdba}.packing-controls .secondary{background:#fffefa;border:1px solid #d7d9cf}.packing-controls #packing-rotate span{font-size:28px;vertical-align:middle;margin-right:5px}.packing-controls #packing-undo{font-size:22px;line-height:1}.packing-controls #packing-undo small{font-size:10px;display:block;margin-top:3px}.packing-tray-panel{background:#f0eadc;border:1px solid #e2d9c6;border-radius:23px;padding:22px;margin-top:3px}.packing-tray-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.packing-tray-heading h2{font-size:18px;margin:0}.packing-tray-heading>span{font-size:12px;color:#8c6938}.packing-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.packing-item{padding:9px 5px 8px;border:2px solid #e0dbcd;border-radius:15px;background:#fffdf7;position:relative;min-width:0;touch-action:none;user-select:none;transition:background .12s,border-color .12s,transform .12s}.packing-item.selected{border-color:#b88139;background:#fff1d2;box-shadow:0 3px 0 #bb8d4430;transform:translateY(-2px)}.packing-art{display:block;width:100%;height:86px;pointer-events:none;filter:drop-shadow(0 3px 1px #352a1810)}.packing-item b{display:block;text-align:center;font-size:14px;margin-top:3px}.packing-check{display:none;position:absolute;right:3px;top:3px;color:white;background:#648b66;border-radius:50%;width:22px;height:22px;line-height:22px;font-size:15px}.packing-item.packed .packing-check{display:block}.packing-item.packed:not(.selected){background:#e5eadb;border-color:#d4dec6}.packing-item.packed .packing-art{opacity:.5;filter:grayscale(.2)}.packing-extra{display:flex;justify-content:space-between;gap:8px;margin-top:14px}.packing-extra button{font-size:12px;min-height:44px;padding:6px 0}.packing-help{margin-top:14px;border-top:1px solid #dcd5c7;padding-top:12px;font-size:13px;color:#6a6e61}.packing-help summary{cursor:pointer;min-height:35px;line-height:35px}.packing-help p{line-height:1.85}.packing-help button{font-size:13px}.packing-result{max-width:670px;margin:26px auto 0}.packing-stars{font-size:32px;letter-spacing:8px;color:#d49b3e}.packing-carry{position:fixed;z-index:90;pointer-events:none;width:96px;height:96px;transform:translate(-50%,-50%) rotate(-6deg);filter:drop-shadow(0 10px 8px #29362945)}.packing-carry .packing-art{height:100%}.packing-ghost{pointer-events:none}.packing-active .game-head{max-width:1080px;margin-left:auto;margin-right:auto}.packing-active .game-head p{color:#7c806f}
@media(max-width:760px){.packing-active .header{min-height:64px;padding:9px 14px}.packing-active .header nav{display:none}.packing-active .brand-mark{height:39px;width:35px;font-size:23px}.packing-active .brand-sub{font-size:16px}.packing-active .brand{font-size:11px;gap:9px}.packing-active .header-tools{gap:4px}.packing-active .wallet{padding:5px 9px}.packing-active main{margin:0 12px;padding:13px 0 25px;min-height:0}.packing-active .game-head{margin-bottom:12px;gap:10px}.packing-active .game-head h1{font-size:21px;margin:0}.packing-active .game-head p{margin:4px 0 0;font-size:12px}.packing-active .back{width:38px;height:38px;min-width:38px}.packing-layout{display:flex;flex-direction:column;gap:15px;max-width:470px}.packing-board-panel,.packing-tray-panel{width:100%}.packing-stage{margin-bottom:17px;padding:0 5px;min-height:39px}.packing-stage small{font-size:10px}.packing-stage h2{font-size:17px;line-height:1.3}.packing-stage>span{font-size:12px;padding:7px 11px}.packing-case{border-width:10px;border-top-width:14px;margin:0 6px 8px;border-radius:23px}.packing-handle{height:17px;border-width:7px;top:-28px}.packing-case:after{border-radius:16px;inset:-5px}.packing-board{border-radius:11px}.packing-zip{right:-15px;top:12px;width:13px;height:28px;border-width:2px}.packing-empty{font-size:16px;gap:8px}.packing-empty small{font-size:11px}.packing-feedback{font-size:12px;min-height:36px;padding:4px 4px}.packing-controls{grid-template-columns:83px minmax(0,1fr) 49px;gap:7px}.packing-controls button{min-height:50px;border-radius:12px;font-size:14px}.packing-controls .primary{font-size:14px}.packing-controls #packing-rotate span{font-size:25px;margin-right:2px}.packing-tray-panel{border-radius:17px;padding:11px 9px;margin:0}.packing-tray-heading{margin-bottom:8px;padding:0 2px}.packing-tray-heading h2{font-size:14px}.packing-tray-heading>span{font-size:11px}.packing-tray{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.packing-item{padding:5px 3px 6px;border-radius:11px}.packing-art{height:53px}.packing-item b{font-size:11px;margin-top:2px}.packing-check{width:17px;height:17px;line-height:17px;font-size:12px;right:-2px;top:-3px}.packing-extra{margin-top:5px;gap:10px}.packing-extra button{font-size:11px;min-height:36px}.packing-help{margin-top:3px;padding-top:4px;font-size:12px}.packing-help summary{font-size:11px;min-height:32px;line-height:32px}.packing-result{padding:24px 16px}.packing-active footer{margin-top:10px}.packing-result h2{font-size:25px}.packing-stars{font-size:27px}}
@media(max-width:360px){.packing-active main{margin-left:8px;margin-right:8px}.packing-active .game-head h1{font-size:19px}.packing-active .brand-sub{font-size:14px}.packing-art{height:47px}.packing-controls .primary{font-size:12px}.packing-feedback{font-size:11px}}

.packing-controls #packing-undo{flex-direction:column;gap:0}.packing-controls button{line-height:1.2}.packing-item b{line-height:1.3}.packing-stage small{display:block;line-height:1.2}
@media(max-width:760px){.packing-active .icon-btn{font-size:22px;line-height:1.1}.packing-active .icon-btn span{line-height:1.2}.packing-active .brand{line-height:1.2}.packing-active .game-head h1{line-height:1.25}.packing-stage>span{line-height:1.2}.packing-tray-heading h2{line-height:1.3}.packing-art{height:50px}}

@media(max-width:760px){.packing-active .game-head p{display:none}}
