:root{font-family:Arial Narrow,PingFang SC,Microsoft YaHei,sans-serif;color:#172d28;background:#e7e0d0;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#e7e0d0;background-image:linear-gradient(rgba(24,51,45,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(24,51,45,.055) 1px,transparent 1px);background-size:24px 24px}button{font:inherit}button:focus-visible{outline:3px solid #ffcc4d;outline-offset:2px}.app-shell{max-width:1480px;margin:auto;min-height:100vh;padding:28px 34px 18px}header{display:flex;align-items:center;gap:15px;border-bottom:3px solid #18332d;padding-bottom:16px}.brand-mark{width:52px;height:52px;padding:10px 12px;background:#ef5a39;transform:rotate(-2deg);display:flex;flex-direction:column;justify-content:space-between}.brand-mark span{display:block;height:4px;background:#fff7df}.eyebrow,.label{margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.17em;color:#ef5a39}h1{margin:0;font-size:clamp(26px,4vw,42px);letter-spacing:.08em;line-height:.95}.move-counter{margin-left:auto;display:grid;grid-template-columns:auto auto;gap:0 16px;align-items:center}.move-counter span{font-size:12px;font-weight:800;writing-mode:vertical-lr;letter-spacing:.12em}.move-counter strong{font-family:Georgia,serif;font-size:44px;line-height:1;color:#ef5a39}.level-tabs{display:flex;gap:8px;padding:15px 0;overflow-x:auto}.level-tabs button{min-width:190px;flex:1;border:1px solid #9b9b86;background:#ffffff59;padding:10px 13px;text-align:left;cursor:pointer;color:#18332d}.level-tabs button span{font-family:Georgia,serif;margin-right:12px;color:#ef5a39}.level-tabs button.active{background:#18332d;color:#fff7df;border-color:#18332d}.level-tabs button i{float:right;font-size:10px;font-style:normal;opacity:.55}.level-tabs button:disabled{cursor:not-allowed;opacity:.55}main{border:1px solid #9b9b86;background:#f6f2e2e0;box-shadow:8px 8px #18332d1f}.brief-card{padding:20px 24px;display:flex;justify-content:space-between;gap:20px;align-items:flex-end;border-bottom:1px solid #9b9b86}.brief-card h2{margin:0 0 7px;font-size:24px}.brief-card p:last-child{margin:0;color:#52605c;line-height:1.6}.legend{display:flex;gap:13px;flex-wrap:wrap;white-space:nowrap;font-size:11px;font-weight:700}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:9px;height:9px;background:#a2a18f;border-radius:50%}.legend i.must{background:#ef5a39}.legend i.easy{background:#e7b932}.workspace{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(420px,1.55fr) minmax(260px,.8fr);min-height:610px}.table-zone,.bag-zone,.check-board{padding:21px;min-width:0}.table-zone{border-right:1px solid #9b9b86}.check-board{border-left:1px solid #9b9b86}.bag-zone{background:#264b42;color:#fff7df}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:17px}.section-title>span{font-family:Georgia,serif;border:1px solid currentColor;width:31px;height:31px;display:grid;place-items:center;border-radius:50%;font-size:12px}.section-title h3{margin:0 0 2px;text-transform:uppercase;letter-spacing:.07em;font-size:15px}.section-title p{margin:0;font-size:11px;opacity:.65}.table-grid{min-height:390px;border:1px dashed #8d9285;padding:10px;display:flex;flex-direction:column;gap:8px;transition:.15s}.table-grid.drop-active,.pocket.drop-active{outline:3px solid #e7b932;outline-offset:-4px}.item-card{width:100%;display:flex;gap:10px;align-items:center;border:1px solid #b4b09f;background:#fffdf5;color:#18332d;padding:9px;cursor:grab;text-align:left;box-shadow:2px 2px #18332d21;transition:transform .12s,border-color .12s}.item-card:hover{transform:translate(-1px,-1px)}.item-card.selected{border:2px solid #ef5a39;padding:8px;transform:rotate(-1deg)}.item-icon{flex:0 0 36px;height:36px;display:grid;place-items:center;background:#ef5a39;color:#fff;font-weight:900;border-radius:50% 45% 48% 42%}.item-text{min-width:0}.item-text b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.item-text small{display:block;color:#6c756f;font-size:10px;margin-top:3px}.empty{text-align:center;color:#788079;margin:auto;font-size:13px}.touch-tip{margin-top:10px;padding:8px;background:#ffdf88;font-size:12px;display:flex;justify-content:space-between;align-items:center}.touch-tip button{border:0;background:transparent;text-decoration:underline;cursor:pointer}.bag-shape{border:3px solid #f4d980;padding:24px 18px 17px;position:relative;margin-top:36px;border-radius:28px 28px 10px 10px;background:#1d3b34;box-shadow:inset 0 0 0 5px #264b42}.handle{width:42%;height:35px;border:7px solid #f4d980;border-bottom:0;border-radius:24px 24px 0 0;position:absolute;left:29%;top:-37px}.pocket{border:1px dashed rgba(255,247,223,.55);padding:12px;margin-bottom:12px;min-height:92px;cursor:pointer;transition:.15s}.pocket:last-child{margin-bottom:0}.pocket.overfull{border:2px solid #ef5a39;padding:11px}.pocket-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.pocket-head b{display:block;font-size:13px}.pocket-head small{display:block;opacity:.55;font-size:10px;margin-top:2px}.pocket-head>span{font-family:Georgia,serif;font-size:14px}.capacity{height:3px;background:#ffffff26;margin-bottom:9px}.capacity i{display:block;height:100%;background:#f4d980;transition:width .2s}.overfull .capacity i{background:#ef5a39}.pocket-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pocket-items>p{grid-column:1 / -1;margin:8px 0;text-align:center;opacity:.4;font-size:11px}.pocket .item-card{padding:6px;box-shadow:none}.pocket .item-card.selected{padding:5px}.pocket .item-icon{flex-basis:28px;height:28px;font-size:11px}.pocket .item-text b{font-size:11px}.pocket .item-text small{font-size:9px}.rule-list{border-top:2px solid #18332d}.rule-list div{padding:11px 0;border-bottom:1px solid #b4b09f;display:grid;grid-template-columns:1fr auto;gap:4px 10px}.rule-list b{font-size:12px}.rule-list span{font-family:Georgia,serif;font-size:12px}.rule-list small{grid-column:1 / -1;color:#65706b;line-height:1.45;overflow-wrap:anywhere}.inspect{border:0;width:100%;padding:13px;margin:18px 0 10px;background:#ef5a39;color:#fff;font-weight:800;letter-spacing:.08em;cursor:pointer;box-shadow:3px 3px #18332d}.inspect:active{transform:translate(2px,2px);box-shadow:1px 1px #18332d}.result{padding:15px;border:1px solid #9b9b86;min-height:145px}.result p{margin:0;font-weight:800;font-size:13px}.result strong{display:block;font-family:Georgia,serif;font-size:42px;line-height:1.2}.result strong small{font-family:inherit;font-size:13px}.result>span{color:#64716c;font-size:11px}.result ul{margin:7px 0 0;padding-left:18px;font-size:11px;line-height:1.6;max-height:100px;overflow-y:auto}.result.success{background:#d8e8cb;border-color:#4f765a}.result.warning{background:#ffe3c5;border-color:#ef5a39}.result.idle{color:#7b817b}.result button{margin-top:12px;border:0;background:#18332d;color:#fff;padding:7px 10px;cursor:pointer}.reset{border:0;background:transparent;color:#53645e;text-decoration:underline;width:100%;margin-top:13px;cursor:pointer;font-size:11px}footer{padding-top:16px;text-align:center;font-size:10px;letter-spacing:.12em;color:#66716c}@media(max-width:1000px){.workspace{grid-template-columns:1fr 1.4fr}.check-board{grid-column:1 / -1;border-left:0;border-top:1px solid #9b9b86;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.check-board .section-title,.check-board .rule-list{grid-column:1}.check-board .inspect,.check-board .result,.check-board .reset{grid-column:2}.check-board .inspect{grid-row:1;align-self:start}.check-board .result{grid-row:2 / 4}.check-board .reset{grid-row:4}}@media(max-width:680px){.app-shell{padding:15px 12px}.move-counter span{display:none}.move-counter{display:block}.move-counter strong{font-size:34px}.brief-card{align-items:flex-start;flex-direction:column;padding:17px}.workspace{display:block}.table-zone{border-right:0;border-bottom:1px solid #9b9b86}.table-grid{min-height:160px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.bag-zone{padding-bottom:28px}.check-board{display:block;border-top:1px solid #9b9b86}.pocket-items{grid-template-columns:1fr}.level-tabs button{min-width:160px}.legend{white-space:normal}}@media(max-width:390px){.table-grid{grid-template-columns:1fr}.brand-mark{width:44px;height:44px}h1{font-size:26px}}
