:root{--paper:#f5f3eb;--ink:#273f37;--muted:#7a8276;--green:#285447;--coral:#db714d;--line:#e0e3d8;--yellow:#e8c87c;--white:#fffef9;--cell:70px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);min-width:320px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #d68b42;outline-offset:4px}button{transition:background .15s,transform .15s,box-shadow .15s}button:not(:disabled):active{transform:translateY(1px)}button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}a{color:inherit}h1,h2,p{margin:0}.app-shell{max-width:1240px;margin:auto;padding:0 42px}.topbar{height:99px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-weight:750;font-size:21px;letter-spacing:-.8px}.brand-icon{width:43px;height:43px;border-radius:13px;background:var(--green);display:grid;place-items:center}.brand-icon svg{width:32px;fill:none;stroke:#f8e6b7;stroke-width:1.5;stroke-linejoin:round}.brand-caption{display:block;text-transform:uppercase;font-size:8px;letter-spacing:2.15px;font-weight:550;color:#7a8276;margin-top:4px}.top-actions{display:flex;align-items:center;gap:14px}.text-button,.icon-button{height:39px;display:flex;align-items:center;justify-content:center;gap:7px;background:none}.text-button{font-size:13px;font-weight:600;padding:0 12px}.grid-icon{font-size:23px;font-weight:400}.icon-button{width:37px;border:1px solid #d8ded0;border-radius:50%;color:#5b6c5d}.icon-button:hover,.text-button:hover{background:#e8ebdf}.help-button{font-size:17px;font-family:Georgia,serif}.intro{display:flex;justify-content:space-between;align-items:center;padding:29px 0 25px;gap:20px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.7px;display:flex;align-items:center;gap:7px;margin-bottom:10px}.status-dot{background:var(--coral);width:6px;height:6px;border-radius:100%}h1{font-family:Georgia,"Times New Roman",serif;font-size:39px;font-weight:500;letter-spacing:-1.4px;line-height:1.15}.intro p{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.55}.overall-progress{display:flex;gap:11px;align-items:center;margin-right:3px;flex-shrink:0}.star-symbol{font-size:39px;color:#d29a46}.overall-progress b{font-size:21px;font-weight:650}.overall-progress b span{font-size:12px;font-weight:450;color:#92998d}.overall-progress small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:24px;align-items:start}.shelf-panel{background:#fffef9;border:1px solid #e1e4d8;border-radius:22px;padding:23px 25px 13px;overflow:hidden;box-shadow:0 7px 16px #273f3703}.shelf-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1px}.section-kicker{font-size:8px;letter-spacing:1.6px;font-weight:650;color:#8a9283}.phase-caption{font-size:14px;color:#a4af98;margin-top:5px;font-weight:600}.phase-caption span{margin-left:7px;color:var(--ink);font-size:13px}.shelf-top-right{display:flex;gap:17px;align-items:center}.slow-label{font-size:10px;color:#7a8772;display:flex;gap:6px;align-items:center}.slow-label span{height:5px;width:5px;background:#8b9c72;border-radius:50%}.counter{font-size:11px;background:#f0f2e8;padding:7px 11px;border-radius:20px;letter-spacing:1px}.warehouse-scene{max-width:510px;margin:auto;position:relative}.scene-line{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 12px}.wall-clock{width:29px;height:29px;background:#fffdf6;border:3px solid #d2b387;border-radius:50%;position:relative;transform:rotate(-10deg);box-shadow:0 2px 0 #decfb9}.wall-clock:after,.wall-clock:before{content:"";position:absolute;background:#687960;height:7px;width:1.5px;left:11px;top:4px;transform-origin:bottom}.wall-clock:after{transform:rotate(105deg);height:6px;top:5px}.wall-sign{font-size:7px;letter-spacing:1.6px;color:#a1a88f;border:1px solid #dce1d1;padding:6px 10px;transform:rotate(1deg)}.plant{height:39px;width:35px;position:relative;opacity:.18;filter:grayscale(1);transition:opacity .4s}.plant.unlocked{opacity:1;filter:none}.plant b{position:absolute;bottom:0;width:19px;height:16px;left:8px;background:#d78963;clip-path:polygon(0 0,100% 0,85% 100%,15% 100%)}.plant i{position:absolute;width:9px;height:22px;background:#648369;left:13px;bottom:10px;border-radius:100% 0;transform:rotate(-28deg)}.plant i:nth-child(2){transform:rotate(21deg);left:20px;bottom:14px}.plant i:nth-child(3){transform:rotate(-68deg);left:6px;bottom:11px}.shelf-frame{padding:11px 11px 0;border-radius:10px;background:#c9aa7c;border:1px solid #b7996f;box-shadow:0 5px 0 #ad906a,0 11px 0 -4px #d3d8c650,0 20px 26px -17px #31462f55}.board{position:relative;display:grid;grid-template-columns:repeat(var(--cols,6),1fr);grid-template-rows:repeat(var(--rows,5),1fr);aspect-ratio:var(--cols,6)/var(--rows,5);background:#f0ebdc;box-shadow:inset 0 2px 7px #6f573c19;border:1px solid #bba881;touch-action:none;user-select:none;-webkit-user-select:none}.board .cell{z-index:1;background:transparent;border-right:1px dashed #c9c9b780;border-bottom:1px dashed #c9c9b780;border-radius:0;padding:0;min-width:0;position:relative}.board .cell:after{content:"";position:absolute;inset:4px;border-radius:5px;transition:background .1s}.board .cell:hover:after{background:#6b987e18}.board .cell:focus-visible{outline:2px solid #2b6651;outline-offset:-4px;z-index:4}.cell.ghost-ok{background:#74a58548}.cell.ghost-bad{background:#dd785c49}.cell.path{background:#8aad8230}.cell.path-blocked{background:#d8927332}.cell.blocked{background:repeating-linear-gradient(45deg,#dac8ad,#dac8ad 7px,#c4b393 7px,#c4b393 9px);border:2px solid #bbaa8c}.shelf-foot{height:10px;background:linear-gradient(#c5a677,#c8a97a);border-top:1px solid #b09670}.exit-lane{display:flex;align-items:center;gap:14px;justify-content:center;padding:17px 15px 14px;color:#98a68f}.exit-lane span{height:1px;background:#dde3d3;flex:1}.exit-lane b{font-size:8px;font-weight:650;letter-spacing:2px}.parcel{--parcel:#cfaa79;--parcel-dark:#ae8756;--parcel-light:#e9cda2;position:relative;background:var(--parcel);border:1px solid var(--parcel-dark);border-radius:6px;box-shadow:inset 0 3px 0 var(--parcel-light),inset 0 -4px 0 #0000000b,0 2px 2px #4a382018;touch-action:none;user-select:none;-webkit-user-select:none;isolation:isolate}.parcel:before{content:"";position:absolute;top:0;bottom:0;left:40%;width:19%;background:#faf0cd66;border-left:1px solid #fff4cc40;border-right:1px solid #fff4cc40;z-index:-1}.parcel:after{content:"";position:absolute;left:7px;bottom:7px;width:14px;height:7px;background:repeating-linear-gradient(90deg,#4d51419c 0,#4d51419c 1px,transparent 1px,transparent 3px);opacity:.6}.parcel.color-0{--parcel:#d8a16f;--parcel-dark:#b18054;--parcel-light:#efc397}.parcel.color-1{--parcel:#9fac8d;--parcel-dark:#7b8d69;--parcel-light:#bdc6a9}.parcel.color-2{--parcel:#7daba9;--parcel-dark:#5d8c8b;--parcel-light:#a7ceca}.parcel.color-3{--parcel:#ce8c7c;--parcel-dark:#ad6c61;--parcel-light:#e6ad9c}.parcel.color-4{--parcel:#b8a3bd;--parcel-dark:#95819b;--parcel-light:#d2bfd5}.parcel.color-5{--parcel:#d2bb78;--parcel-dark:#b19a58;--parcel-light:#e9d8a0}.board .parcel{z-index:3;position:absolute;left:calc(var(--x) / var(--cols) * 100% + 4px);top:calc(var(--y) / var(--rows) * 100% + 4px);width:calc(var(--w) / var(--cols) * 100% - 8px);height:calc(var(--h) / var(--rows) * 100% - 8px);cursor:grab;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px}.parcel .parcel-id{display:grid;place-items:center;background:#fff8e9e8;color:#3b4d40;border-radius:4px;font-weight:750;font-size:18px;width:28px;height:27px;line-height:1;transform:rotate(-3deg);box-shadow:0 1px 1px #735a3c12}.parcel .parcel-name{font-size:9px;color:#344d40;max-width:90%;overflow:hidden;white-space:nowrap;font-weight:600}.parcel .parcel-dimension{position:absolute;right:6px;bottom:5px;color:#3d493cb3;font-size:8px}.parcel.selected{outline:3px solid #2c6253;outline-offset:1px;z-index:5}.parcel.current:not(.selected){outline:2px dashed #345d48;outline-offset:1px}.parcel.selected .parcel-id{background:#fffdf3}.parcel.obstructing{outline:2px solid #c45843;outline-offset:1px}.parcel.dragging-origin{opacity:.3}.board-toolbar{border-top:1px solid #e9ecdf;display:flex;justify-content:space-between;align-items:center;padding:12px 0;gap:8px}.selection-label{font-size:11px;color:#7d8875;line-height:1.4}.selection-label b{color:var(--ink)}.tool-buttons{display:flex;gap:5px;flex-shrink:0}.small-button{background:#eff1e7;border-radius:7px;padding:8px 9px;font-size:10px;white-space:nowrap}.small-button span{font-size:16px;vertical-align:-1px;margin-right:3px}.small-button:hover:not(:disabled){background:#dfe5d4}.small-button:disabled{opacity:.4}.small-button.square{font-size:19px;line-height:1;padding:5px 10px}.action-area{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#edf1e5;padding:12px 13px;border-radius:11px}.action-hint{color:#68785c;font-size:11px;line-height:1.5;max-width:210px}.primary-button{border-radius:8px;background:var(--green);color:#fffef6;padding:13px 18px;min-height:43px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:20px;white-space:nowrap;box-shadow:0 2px 0 #14382d}.primary-button:hover:not(:disabled){background:#346750}.primary-button:disabled{background:#c4cebb;box-shadow:none;color:#f8faf4}.primary-button span{font-size:18px;line-height:1;font-weight:400}.under-shelf{display:flex;justify-content:space-between;padding-top:11px;color:#929b88;font-size:9px}.under-shelf span:first-child{color:#78866b}.desk-panel{display:flex;flex-direction:column;gap:17px}.queue-panel,.intake-panel{background:#fffef9;border:1px solid #e1e4d8;border-radius:18px;padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:5px}.panel-heading h2{font-size:14px;font-weight:650;letter-spacing:-.25px}.tiny-label{font-size:7px;letter-spacing:1.1px;font-weight:650;color:#8d9683}.panel-description{font-size:10px;color:#909985;line-height:1.5;margin-top:6px}.queue{display:flex;gap:9px;overflow:auto;padding-top:16px;padding-bottom:1px;scrollbar-width:thin;scrollbar-color:#d4dacb transparent}.queue-person{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:45px;position:relative;flex-shrink:0}.avatar{width:37px;height:39px;border-radius:50% 50% 43% 43%;background:#d2b993;position:relative;overflow:hidden;border:3px solid #f9f7ef;box-shadow:0 0 0 1px #dedfd0}.avatar:before{content:"";position:absolute;width:27px;height:20px;border-radius:100% 100% 0 0;bottom:-8px;left:2px;background:var(--shirt,#758e6e)}.avatar .face{position:absolute;width:17px;height:20px;border-radius:7px 7px 8px 8px;left:7px;top:7px;background:#f7d8b5;box-shadow:0 -5px 0 #695541}.avatar .face:before{content:"";width:2px;height:2px;position:absolute;background:#6b513b;left:4px;top:6px;box-shadow:7px 0 0 #6b513b}.avatar .face:after{content:"";position:absolute;width:5px;height:2px;border-bottom:1px solid #b08668;left:6px;top:11px;border-radius:100%}.queue-person:nth-child(2n) .face{box-shadow:0 -5px 0 #9b6e42,-3px 0 0 #9b6e42}.queue-person:nth-child(3n) .face{box-shadow:0 -4px 0 #4e5448,3px 0 0 #4e5448}.queue-person.current .avatar{box-shadow:0 0 0 2px #d58558}.queue-person.current:before{content:"1";position:absolute;right:-1px;top:-2px;background:#dc8056;color:white;width:14px;height:14px;font-size:8px;display:grid;place-items:center;z-index:2;border-radius:50%}.queue-person.delivered{opacity:.35}.queue-person .queue-name{font-size:9px;color:#6c7c63;max-width:45px;overflow:hidden;text-overflow:ellipsis}.queue-person .queue-letter{font-size:10px;font-weight:750;color:#365844;border:1px solid #d7dfcd;background:#f4f6ee;border-radius:4px;padding:2px 5px}.number-badge{background:#f1eee3;color:#968566;font-size:10px;font-weight:600;border-radius:50%;width:21px;height:21px;display:grid;place-items:center}.intake{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px;min-height:95px;align-items:center}.intake-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:82px;gap:8px}.intake .parcel{width:54px;height:48px;display:grid;place-items:center}.intake .parcel.long{width:65px;height:35px}.intake .parcel.tall{width:34px;height:58px}.intake .parcel.big{width:57px;height:57px}.intake .parcel .parcel-id{width:21px;height:20px;font-size:13px}.intake .parcel:after{width:9px;height:5px;left:4px;bottom:4px}.intake-slot .slot-caption{font-size:8px;letter-spacing:.2px;color:#89937d}.intake .parcel:hover{transform:translateY(-3px)}.packing-tip{border-top:1px solid #edf0e5;display:flex;gap:11px;padding-top:14px;margin-top:13px;align-items:center}.tip-icon{font-size:24px;color:#b79c65;background:#f3ecdb;min-width:32px;height:33px;border-radius:8px;display:grid;place-items:center}.packing-tip p{font-size:10px;line-height:1.6;color:#8a917e}.packing-tip strong{font-weight:600;color:#67775b}.intake-empty{grid-column:1/-1;display:flex;gap:12px;align-items:center;color:#7d8e6e;font-size:11px;line-height:1.6;padding:12px 0}.intake-empty .check-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e8eede;font-size:18px;flex-shrink:0}.growth-panel{padding:4px 6px 0}.growth-panel h2{font-size:12px}.upgrades{display:flex;gap:8px;margin-top:12px}.upgrade{flex:1;text-align:center;background:#eeeee4;border:1px dashed #daddce;border-radius:9px;padding:9px 4px 7px;opacity:.6}.upgrade.unlocked{background:#e8eddf;border:1px solid #d6ddc6;opacity:1}.upgrade svg{display:block;width:24px;height:24px;margin:0 auto 5px;fill:none;stroke:#82936c;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.upgrade span{display:block;font-size:9px;color:#798769}.upgrade small{font-size:8px;color:#98a087;margin-top:3px;display:block}.growth-caption{font-size:8px;color:#99a18e;margin-top:8px}.footer{display:flex;justify-content:space-between;gap:15px;color:#9ba390;font-size:9px;padding:22px 3px 25px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:50;background:#2e4c3f;color:#fff9e8;box-shadow:0 8px 30px #243b3b22;font-size:12px;padding:14px 22px;border-radius:12px;max-width:min(90vw,500px);text-align:center;transition:opacity .2s,transform .2s;line-height:1.5}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#8f5141}.drag-ghost{display:none;position:fixed;pointer-events:none;z-index:100;opacity:.9;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 8px #3333)}.drag-ghost .parcel{height:100%;width:100%;display:grid;place-items:center}.modal{padding:0;border:1px solid #dbe0d0;background:#fffef8;color:var(--ink);border-radius:24px;max-width:530px;width:calc(100% - 30px);max-height:90dvh;box-shadow:0 30px 90px #19372b35;overflow:auto}.modal::backdrop{background:#253e325c;backdrop-filter:blur(5px)}.modal-inner{padding:34px;position:relative}.modal-close{position:absolute;right:17px;top:15px;background:#edf0e4;border-radius:50%;width:31px;height:31px;font-size:19px;color:#708162}.modal-eyebrow{font-size:9px;letter-spacing:1.8px;color:#9a946f;margin-bottom:12px}.modal h2{font-family:Georgia,"Times New Roman",serif;font-size:32px;letter-spacing:-1px;font-weight:500;line-height:1.15}.modal p{font-size:13px;line-height:1.65;color:#7b8871;margin-top:14px}.modal .primary-button{margin-top:24px;width:100%}.rules{display:grid;gap:17px;margin:25px 0}.rule{display:flex;gap:14px;font-size:12px;line-height:1.6;color:#7b8871}.rule b{color:#364d3d}.rule-number{min-width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#eef0e3;color:#6e855b;font-size:12px}.rule-footer{font-size:10px!important;padding:13px;background:#f2f3e9;border-radius:10px}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:24px}.level-button{background:#f0f2e8;border:1px solid #dfe5d4;border-radius:12px;padding:15px 5px 12px;display:grid;gap:7px;font-size:19px;font-weight:600}.level-button .level-stars{font-size:10px;letter-spacing:1px;color:#b99759}.level-button:disabled{opacity:.35}.level-button.active{border:2px solid #5e8060;padding:14px 4px 11px}.result-modal{text-align:center;overflow:hidden}.result-stars{color:#d5a04f;letter-spacing:9px;font-size:48px;margin:15px 0 20px}.result-stars .empty{color:#e6e7d9}.result-detail{display:flex;justify-content:center;gap:35px;margin:25px 0}.result-detail b{display:block;font-size:25px;font-weight:600}.result-detail span{display:block;font-size:10px;color:#8b9680;margin-top:6px}.modal-secondary{display:block;background:none;font-size:11px;color:#849375;margin:16px auto 0;padding:7px}.unlock-note{background:#eef1e4;font-size:11px;color:#7c8b69;padding:12px;border-radius:10px;line-height:1.5}.confetti{position:absolute;width:6px;height:11px;top:-20px;left:var(--left);background:var(--color);animation:fall 2.7s ease-out var(--delay) both;pointer-events:none}@keyframes fall{to{transform:translateY(480px) rotate(400deg);opacity:0}}.loading-note{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:#758269}.has-radio .wall-sign{background:#f4e7c9;border-color:#d9bc80}.has-sign .wall-sign{color:#38725d;border-color:#a6c1a0;box-shadow:0 0 10px #d2e4b8}.board.wiggle{animation:wiggle .3s}@keyframes wiggle{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media(min-width:1440px){.app-shell{max-width:1300px}.game-layout{grid-template-columns:minmax(0,1fr) 310px}.warehouse-scene{max-width:540px}.intro{padding:34px 0}.desk-panel{gap:21px}.queue-panel,.intake-panel{padding:23px}}
@media(max-width:1000px){.app-shell{padding:0 24px}.game-layout{grid-template-columns:minmax(0,1fr) 255px;gap:17px}.shelf-panel{padding:20px 17px 13px}.queue-panel,.intake-panel{padding:17px}.board-toolbar{flex-wrap:wrap}.action-area{flex-wrap:wrap;gap:9px}.action-hint{max-width:none}.primary-button{width:100%}.intake{gap:5px}.intake .parcel.long{width:57px}.slow-label{display:none}.intro p{max-width:470px}}
@media(max-width:720px){.app-shell{padding:0 14px}.topbar{height:72px}.brand{font-size:18px;gap:9px}.brand-icon{width:36px;height:36px;border-radius:11px}.brand-icon svg{width:27px}.brand-caption{font-size:6px;letter-spacing:1.9px}.top-actions{gap:6px}.text-button{padding:0 8px;font-size:11px}.text-button .grid-icon{display:none}.icon-button{width:31px;height:31px}.intro{padding:20px 2px 18px;gap:8px}.eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:8px}h1{font-size:30px;letter-spacing:-1px}.intro p{font-size:10px;max-width:290px;margin-top:7px}.overall-progress{gap:5px;align-self:start;padding-top:14px}.star-symbol{font-size:24px}.overall-progress b{font-size:16px}.overall-progress b span{font-size:9px}.overall-progress small{font-size:7px;max-width:50px;line-height:1.4}.game-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.desk-panel{display:contents}.queue-panel{grid-row:1;padding:11px 14px;display:grid;grid-template-columns:110px 1fr;column-gap:10px;border-radius:13px}.queue-panel .panel-heading{display:block;align-self:end}.queue-panel .panel-heading h2{font-size:12px}.queue-panel .tiny-label{display:none}.queue-panel .panel-description{grid-column:1;font-size:9px;align-self:start}.queue{grid-column:2;grid-row:1/span 2;padding:2px 2px 2px 0;gap:8px;align-self:center}.queue-person{min-width:32px;gap:3px}.queue-person .queue-name{display:none}.avatar{width:29px;height:29px;border-width:2px}.avatar .face{left:5px;top:6px;width:15px;height:17px}.avatar .face:before{left:3px;top:6px}.avatar .face:after{left:5px;top:11px}.avatar:before{left:0;bottom:-10px}.queue-letter{font-size:8px!important;padding:1px 4px!important}.queue-person.current:before{width:12px;height:12px;right:-2px;font-size:7px}.intake-panel{grid-row:2;padding:10px 13px;border-radius:13px}.intake-panel .panel-heading h2{font-size:12px}.intake-panel .panel-description{font-size:9px;margin-top:4px}.intake-panel .number-badge{height:17px;width:17px;font-size:9px}.intake{display:flex;gap:13px;overflow-x:auto;min-height:60px;margin-top:9px;padding:4px 3px;align-items:center;scrollbar-width:thin}.intake-slot{min-height:56px;min-width:49px;gap:4px}.intake .parcel{width:41px;height:37px;border-radius:4px}.intake .parcel.long{width:53px;height:30px}.intake .parcel.tall{width:29px;height:43px}.intake .parcel.big{width:43px;height:43px}.intake .parcel .parcel-id{width:18px;height:17px;font-size:11px}.intake-slot .slot-caption{font-size:7px}.packing-tip{display:none}.intake-empty{padding:0;min-height:48px;font-size:10px}.intake-empty .check-icon{height:28px;width:28px;font-size:14px}.shelf-panel{grid-row:3;padding:14px 13px 11px;border-radius:16px}.shelf-top{margin-bottom:0}.section-kicker{font-size:7px}.phase-caption{font-size:12px;margin-top:4px}.phase-caption span{font-size:11px}.counter{font-size:9px;padding:5px 9px}.warehouse-scene{max-width:440px}.scene-line{height:41px;padding:0 10px}.wall-clock{height:24px;width:24px;border-width:2px}.wall-clock:before,.wall-clock:after{left:9px;top:3px}.wall-clock:after{top:4px}.wall-sign{font-size:6px;padding:4px 7px;letter-spacing:1.1px}.plant{transform:scale(.8);transform-origin:bottom right;height:32px}.shelf-frame{padding:8px 8px 0;border-radius:7px;box-shadow:0 4px 0 #ad906a,0 10px 20px -10px #31462f55}.shelf-foot{height:7px}.board .parcel{left:calc(var(--x) / var(--cols) * 100% + 3px);top:calc(var(--y) / var(--rows) * 100% + 3px);width:calc(var(--w) / var(--cols) * 100% - 6px);height:calc(var(--h) / var(--rows) * 100% - 6px);border-radius:4px;gap:1px}.parcel .parcel-id{height:21px;width:22px;font-size:14px}.parcel .parcel-name{font-size:7px}.parcel .parcel-dimension{display:none}.parcel:after{left:4px;bottom:4px;width:9px;height:5px}.exit-lane{padding:12px 8px 9px}.exit-lane b{font-size:6px;letter-spacing:1.5px}.board-toolbar{padding:10px 0;flex-wrap:nowrap}.selection-label{font-size:9px}.small-button{font-size:9px;padding:7px}.small-button span{font-size:13px;margin-right:1px}.small-button.square{padding:6px 8px;font-size:16px}.tool-buttons{gap:4px}.action-area{padding:10px;display:grid;grid-template-columns:1fr auto;gap:10px}.action-hint{font-size:9px}.primary-button{font-size:10px;padding:11px 13px;gap:9px;min-height:39px;width:auto}.primary-button span{font-size:16px}.under-shelf{font-size:8px}.growth-panel{grid-row:4;padding:5px 6px}.upgrades{margin-top:9px}.upgrade{display:flex;align-items:center;text-align:left;gap:8px;padding:9px}.upgrade svg{width:21px;height:21px;margin:0}.upgrade span{font-size:8px}.upgrade small{font-size:7px;margin-top:2px}.growth-caption{font-size:7px}.footer{font-size:7px;padding:15px 2px 23px;line-height:1.5}.footer span:last-child{max-width:150px;text-align:right}.modal-inner{padding:28px 23px}.modal h2{font-size:28px}.modal p{font-size:12px}.modal .primary-button{font-size:12px}.level-grid{gap:8px}.level-button{font-size:17px}.toast{bottom:15px;font-size:11px;padding:12px 17px}}
@media(max-width:370px){.app-shell{padding:0 10px}.intro h1{font-size:26px}.overall-progress small{display:none}.brand-caption{letter-spacing:1.4px}.board-toolbar{flex-wrap:wrap}.queue-panel{grid-template-columns:98px 1fr}.parcel .parcel-name{display:none}.action-area{grid-template-columns:1fr}.primary-button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.desk-radio{position:relative;width:29px;height:21px;border-radius:4px;background:#cda36d;border:1px solid #b58d5b;opacity:0;transform:rotate(-3deg);transition:opacity .4s}.desk-radio:before{content:"";position:absolute;height:10px;width:1px;background:#8d936e;left:21px;top:-10px;transform:rotate(25deg);transform-origin:bottom}.desk-radio i{position:absolute;left:3px;top:5px;width:12px;height:12px;border-radius:50%;background:repeating-linear-gradient(0deg,#6e7655,#6e7655 1px,#b1b392 1px,#b1b392 3px)}.desk-radio b{position:absolute;right:3px;top:5px;width:5px;height:5px;border-radius:50%;background:#f3dcaa}.has-radio .desk-radio{opacity:1}

/* Compact touch layout: keep the queue, intake and shelf close together. */
@media (max-width:720px) {
  .app-shell { padding-inline:12px; }
  .topbar { height:60px; }
  .brand { font-size:17px; gap:8px; }
  .brand-icon { width:33px; height:33px; }
  .brand-caption { font-size:7px; letter-spacing:1.35px; }
  .top-actions { gap:3px; }
  .text-button { min-height:44px; padding-inline:7px; font-size:12px; }
  .icon-button { width:44px; height:44px; border-color:transparent; }
  .icon-button:hover { border-color:#d8ded0; }
  .help-button { font-size:20px; }
  .intro { padding:12px 1px 13px; align-items:flex-start; }
  .intro > div:first-child { min-width:0; }
  .eyebrow { font-size:8px; letter-spacing:1px; margin-bottom:6px; }
  .intro h1 { font-size:27px; letter-spacing:-.9px; }
  .intro p { font-size:11px; line-height:1.4; margin-top:6px; color:#6d7965; }
  .overall-progress { padding-top:12px; gap:4px; }
  .overall-progress b { font-size:17px; }
  .overall-progress b span { font-size:10px; }
  .overall-progress small { font-size:9px; color:#6c7863; max-width:55px; }
  .star-symbol { font-size:22px; }
  .game-layout { gap:9px; }
  .queue-panel, .intake-panel, .shelf-panel, .queue, .intake { min-width:0; }
  .queue-panel { padding:9px 12px; grid-template-columns:105px minmax(0,1fr); column-gap:8px; }
  .queue-panel .panel-heading h2 { font-size:12px; }
  .queue-panel .panel-description { font-size:10px; line-height:1.35; color:#6b7960; margin-top:4px; }
  .queue { gap:8px; padding-block:3px; overscroll-behavior-x:contain; }
  .queue-person { min-width:33px; gap:4px; }
  .queue-letter { font-size:10px!important; padding:1px 5px!important; }
  .intake-panel { padding:9px 12px; }
  .intake-panel .panel-heading h2 { font-size:13px; }
  .intake-panel .panel-description { font-size:10px; line-height:1.35; color:#6b7960; }
  .intake-panel .number-badge { width:21px; height:21px; font-size:10px; }
  .intake { gap:10px; margin-top:4px; padding:5px 4px; min-height:68px; touch-action:pan-x; overscroll-behavior-x:contain; }
  .intake-slot { flex:0 0 auto; min-width:52px; min-height:61px; gap:4px; }
  .intake .parcel { width:44px; height:44px; min-width:44px; min-height:44px; }
  .intake .parcel.long { width:64px; height:44px; }
  .intake .parcel.tall { width:44px; height:64px; }
  .intake .parcel.big { width:56px; height:56px; }
  .intake .parcel .parcel-id { width:23px; height:22px; font-size:14px; }
  .intake-slot .slot-caption { font-size:10px; color:#68775d; }
  .intake-empty { min-height:44px; font-size:11px; }
  .shelf-panel { padding:11px 11px 10px; }
  .section-kicker { display:none; }
  .phase-caption { margin-top:0; font-size:12px; }
  .phase-caption span { font-size:12px; }
  .counter { font-size:11px; padding:4px 9px; }
  .scene-line { height:33px; padding-inline:7px; }
  .wall-sign { font-size:7px; letter-spacing:.65px; padding:4px 5px; }
  .plant { height:27px; transform:scale(.7); }
  .shelf-frame { padding:6px 6px 0; }
  .board .parcel .parcel-name { font-size:9px; }
  .exit-lane { padding:10px 8px 8px; }
  .exit-lane b { font-size:9px; letter-spacing:1.3px; color:#697e5c; }
  .board-toolbar { padding:7px 0; gap:7px; align-items:center; }
  .selection-label { min-width:0; font-size:11px; color:#68765e; }
  .tool-buttons { gap:4px; }
  .small-button { min-height:44px; padding:7px 9px; font-size:11px; }
  .small-button span { font-size:16px; margin-right:2px; }
  .small-button.square { min-width:44px; min-height:44px; padding:7px; font-size:20px; }
  .action-area { gap:9px; padding:9px; grid-template-columns:minmax(0,1fr) auto; }
  .action-hint { font-size:11px; line-height:1.4; color:#586d4d; }
  .primary-button { min-height:44px; padding:11px 13px; font-size:12px; }
  .under-shelf { gap:12px; padding-top:9px; font-size:10px; line-height:1.35; color:#78836c; }
  .under-shelf span:last-child { text-align:right; }
  .growth-panel { padding:5px 4px; }
  .growth-panel h2 { font-size:13px; }
  .growth-panel .tiny-label { font-size:8px; color:#748369; }
  .upgrade { min-width:0; gap:6px; padding:8px 6px; }
  .upgrade span { font-size:10px; }
  .upgrade small { font-size:9px; }
  .growth-caption { font-size:10px; line-height:1.4; color:#7b866f; }
  .footer { font-size:10px; line-height:1.4; padding:13px 2px 20px; }
  .footer span:first-child { max-width:130px; }
  .footer span:last-child { max-width:180px; }
  .modal-inner { padding:27px 23px; }
  .modal-close { right:10px; top:9px; width:44px; height:44px; }
  .modal h2 { padding-right:22px; }
  .modal-eyebrow { max-width:calc(100% - 28px); line-height:1.5; }
  .rule-footer { font-size:11px!important; }
  .modal-secondary { min-height:44px; font-size:12px; }
  .toast { font-size:12px; bottom:max(12px, env(safe-area-inset-bottom)); }
}
@media (max-width:370px) {
  .app-shell { padding-inline:10px; }
  .brand { font-size:16px; gap:6px; }
  .brand-icon { width:30px; height:30px; }
  .brand-caption { letter-spacing:1px; }
  .text-button { padding-inline:5px; font-size:11px; }
  .top-actions { gap:1px; }
  .intro h1 { font-size:25px; }
  .overall-progress { padding-top:10px; }
  .overall-progress small { display:none; }
  .queue-panel { grid-template-columns:96px minmax(0,1fr); }
  .board-toolbar { flex-wrap:wrap; }
  .selection-label { flex-basis:100%; }
  .tool-buttons { width:100%; }
  .small-button:not(.square) { flex:1; }
  .action-area { grid-template-columns:minmax(0,1fr); }
  .primary-button { width:100%; }
  .board .parcel .parcel-name { display:none; }
  .wall-sign { font-size:6px; }
  .upgrade { flex-direction:column; align-items:flex-start; gap:4px; }
}

@media (max-width:720px) {
  .intake-panel { display:grid; grid-template-columns:95px minmax(0,1fr); column-gap:9px; align-items:center; }
  .intake-panel .panel-heading { grid-column:1; grid-row:1; gap:5px; }
  .intake-panel .panel-heading h2 { font-size:12px; line-height:1.3; }
  .intake-panel .number-badge { flex-shrink:0; width:18px; height:18px; }
  .intake-panel .panel-description { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .intake-panel .intake { grid-column:2; grid-row:1; margin-top:0; }
  .intake-panel .intake-empty { font-size:10px; gap:8px; }
}
@media (max-width:370px) {
  .intake-panel { grid-template-columns:86px minmax(0,1fr); column-gap:7px; }
  .intake-panel .panel-heading h2 { font-size:11px; }
}

#attempt-stars{color:#9a783d;font-variant-numeric:tabular-nums}
@media(max-width:720px){.brand{font-size:15px;letter-spacing:-.6px;gap:7px}.brand-caption{font-size:6px;letter-spacing:1.4px}.brand-icon{width:31px;height:31px}.top-actions{gap:2px}}
@media(max-width:370px){.brand{font-size:13px;gap:5px}.brand-caption{letter-spacing:.7px}.brand-icon{width:27px;height:29px}.top-actions{gap:0}.text-button{font-size:10px;padding-inline:3px}}
.modal-tabs{display:flex;gap:8px;margin:19px 0 14px}.modal-tabs button{flex:1;min-height:42px;border:1px solid #dce3d3;background:#f1f3e9;border-radius:9px;font-size:12px}.modal-tabs .active{background:#2b5546;color:#fff7e7;border-color:#2b5546}.chapter-tabs{display:flex;gap:6px;overflow:auto;padding:3px 1px 8px}.chapter-tabs button{flex:1;min-width:36px;min-height:38px;background:#eeeee2;border-radius:8px;font-size:12px;color:#839072}.chapter-tabs button.active{background:#e4cc92;color:#5d4f30}.chapter-title{font-size:14px;font-weight:600;margin:6px 0 0}.level-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}.level-button{font-size:17px;padding:12px 4px 9px}.level-button.active{padding:11px 3px 8px}.personal-score{padding:18px;border-radius:12px;background:#edf1e4;display:flex;flex-direction:column;gap:6px}.personal-score span{font-size:11px;color:#788a66}.personal-score b{font-size:29px}.personal-score small{font-size:10px;color:#7f8f70}.ranking-list{list-style:none;margin:20px 0 0;padding:0}.ranking-list li{display:grid;grid-template-columns:30px 1fr auto;gap:9px;padding:12px 0;border-bottom:1px solid #e3e8d9;font-size:12px}.ranking-list li span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-list .rank{color:#b18c45}.ranking-list b{font-weight:600}
@media(max-width:720px){.chapter-tabs button{min-width:34px;min-height:44px}.modal-tabs button{min-height:44px}.level-button{min-height:58px;font-size:15px}.level-grid{gap:6px}.level-button .level-stars{font-size:9px}.chapter-title{font-size:13px}}
.ranking-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.ranking-filters button{background:#eeeee2;border:1px solid #dce1d2;border-radius:7px;font-size:11px;min-height:36px;padding:8px 10px;flex:1}.ranking-filters button.active{background:#e7ce92;border-color:#d7b86f;color:#645128}@media(max-width:720px){.ranking-filters button{min-height:44px;font-size:10px;padding:7px}}

/* Owned decorations are rendered only from platform inventory. */
.premium-nook{display:flex;align-items:flex-end;justify-content:center;gap:6px;min-height:66px;border-radius:10px 10px 0 0;background:linear-gradient(#eef0e4,#e5e8d7);margin:0 12px 9px;padding:4px 9px 0}.premium-nook[hidden]{display:none}.room-decor{max-width:110px;flex:1;min-width:0}.room-decor svg{display:block;width:100%;height:68px}.shop-open{margin-top:12px;min-height:44px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#e7ecdd;color:#3b5e49;border:1px solid #d4deca;border-radius:10px;font-size:12px}.shop-grid{display:grid;gap:13px;margin-top:21px}.shop-item{padding:15px;border:1px solid #e1e5d7;border-radius:14px;background:#f5f6ed;display:grid;grid-template-columns:83px minmax(0,1fr);gap:9px 14px;align-items:center}.shop-art svg{display:block;width:83px;height:69px}.shop-item h3{font-family:Georgia,serif;font-size:20px;font-weight:500;margin:0 0 5px}.shop-item p{font-size:11px;line-height:1.5;margin:0}.shop-item small{display:block;color:#899674;font-size:10px;margin-top:6px}.shop-item .primary-button{grid-column:1/-1;margin-top:3px;font-size:12px;width:100%}.owned-label,.shop-soon{grid-column:1/-1;font-size:11px;color:#6e845b;padding-top:4px}.owned-label:before{content:'✓ ';font-weight:700}.shop-soon{color:#8c947e}.shop-status,.shop-unavailable{font-size:12px!important;line-height:1.5!important;background:#eef1e5;padding:12px;border-radius:9px}.shop-modal>p{font-size:12px;line-height:1.6}.shop-modal .primary-button:disabled{opacity:.55;cursor:default}@media(max-width:720px){.premium-nook{min-height:57px;padding-top:1px;margin-inline:5px}.room-decor svg{height:58px}.shop-open{font-size:12px}.shop-item{grid-template-columns:70px minmax(0,1fr);padding:12px;gap:8px 11px}.shop-art svg{width:70px;height:63px}.shop-item h3{font-size:18px}}

/* Fit the puzzle and its controls inside the VK frame, independently of the site. */
html.vk-embedded, .vk-embedded body { width:100%; height:100%; min-width:0; overflow:hidden; }
.vk-embedded .app-shell { height:100dvh; max-width:1100px; padding:6px 12px 10px; display:flex; flex-direction:column; }
.vk-embedded .topbar { height:42px; min-height:42px; border:0; justify-content:flex-end; }
.vk-embedded .brand { display:none; }
.vk-embedded .top-actions { gap:4px; }
.vk-embedded .top-actions button { min-height:40px; height:40px; }
.vk-embedded .app-shell > main { min-height:0; flex:1; display:flex; flex-direction:column; }
.vk-embedded .intro { flex:none; height:48px; padding:3px 2px 7px; gap:12px; }
.vk-embedded .intro h1 { font-size:21px; line-height:1.15; letter-spacing:-.6px; }
.vk-embedded .intro .eyebrow { font-size:8px; margin-bottom:3px; }
.vk-embedded .intro p, .vk-embedded .overall-progress small, .vk-embedded .footer { display:none; }
.vk-embedded .overall-progress { padding:0; gap:5px; margin:0; }
.vk-embedded .overall-progress b { font-size:16px; }
.vk-embedded .overall-progress b span { font-size:10px; }
.vk-embedded .star-symbol { font-size:24px; }
.vk-embedded .game-layout { min-height:0; flex:1; display:grid; grid-template-columns:minmax(0,1fr) 214px; gap:12px; align-items:stretch; }
.vk-embedded .shelf-panel { min-height:0; padding:10px 12px; display:grid; grid-template-rows:20px minmax(0,1fr) 44px auto 18px auto; gap:4px; }
.vk-embedded .section-kicker, .vk-embedded .slow-label, .vk-embedded .scene-line, .vk-embedded .exit-lane { display:none; }
.vk-embedded .shelf-top { margin:0; }
.vk-embedded .phase-caption, .vk-embedded .phase-caption span { margin-top:0; font-size:12px; }
.vk-embedded .counter { padding:4px 8px; font-size:10px; }
.vk-embedded .warehouse-scene { min-height:0; width:100%; max-width:none; margin:0; display:flex; flex-direction:column; align-items:center; justify-content:center; container-type:size; --decor-height:0px; }
.vk-embedded .warehouse-scene:has(.premium-nook:not([hidden])) { --decor-height:48px; }
.vk-embedded .premium-nook:not([hidden]) { flex:none; width:100%; max-width:260px; height:48px; min-height:0; padding:0; margin:0; }
.vk-embedded .room-decor svg { height:48px; }
.vk-embedded .shelf-frame { flex:none; padding:6px 6px 0; width:fit-content; border-radius:7px; }
.vk-embedded .board { width:min(calc(100cqw - 16px), calc((100cqh - 16px - var(--decor-height)) * var(--cols,6) / var(--rows,5))); }
.vk-embedded .shelf-foot { height:6px; }
.vk-embedded .board-toolbar { margin:0; padding:0; min-width:0; }
.vk-embedded .selection-label { font-size:10px; }
.vk-embedded .small-button { min-height:36px; padding:6px 8px; font-size:10px; }
.vk-embedded .small-button.square { min-width:36px; font-size:18px; }
.vk-embedded .action-area { min-height:48px; padding:6px 8px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.vk-embedded .action-hint { font-size:10px; line-height:1.35; max-width:none; }
.vk-embedded .primary-button { min-height:40px; padding:9px 12px; font-size:11px; }
.vk-embedded .under-shelf { padding:0; font-size:9px; align-items:center; }
.vk-embedded #run-status { font-size:9px; line-height:1.3; margin:0; max-height:24px; overflow:hidden; }
.vk-embedded .desk-panel { display:flex; flex-direction:column; min-height:0; gap:10px; overflow:auto; overscroll-behavior:contain; }
.vk-embedded .queue-panel, .vk-embedded .intake-panel { flex:none; display:block; padding:12px; border-radius:14px; }
.vk-embedded .panel-heading h2 { font-size:12px; }
.vk-embedded .panel-description { font-size:10px; margin-top:4px; }
.vk-embedded .queue { display:flex; flex-wrap:wrap; gap:8px; padding:9px 0 0; }
.vk-embedded .queue-person { min-width:30px; }
.vk-embedded .queue-person .queue-name { display:none; }
.vk-embedded .queue-panel .tiny-label { display:none; }
.vk-embedded .intake-panel .panel-description, .vk-embedded .packing-tip { display:none; }
.vk-embedded .intake { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; min-height:0; padding:3px; overflow:visible; }
.vk-embedded .intake-slot { min-width:0; min-height:60px; }
.vk-embedded .intake .parcel { min-width:0; min-height:0; width:44px; height:42px; }
.vk-embedded .intake .parcel.long { width:50px; height:32px; }
.vk-embedded .intake .parcel.tall { width:32px; height:50px; }
.vk-embedded .intake .parcel.big { width:48px; height:48px; }
.vk-embedded .intake-empty { padding:3px 0; min-height:44px; font-size:10px; }
.vk-embedded .growth-panel { display:contents; }
.vk-embedded .growth-panel > :not(.shop-open) { display:none; }
.vk-embedded .shop-open { position:fixed; left:max(12px, calc((100vw - 1076px) / 2)); top:7px; z-index:10; margin:0; width:145px; min-height:40px; padding:8px 10px; font-size:11px; }
.vk-embedded .modal { max-height:calc(100dvh - 24px); width:calc(100% - 24px); margin:auto; overscroll-behavior:contain; }
.vk-embedded .modal-inner { padding:25px 24px; }
.vk-embedded .modal-close { width:40px; height:40px; top:8px; right:8px; }
.vk-embedded .toast { bottom:10px; padding:10px 16px; font-size:11px; }
@media(max-width:560px) {
  .vk-embedded .app-shell { padding:5px 8px 8px; }
  .vk-embedded .topbar { height:42px; min-height:42px; }
  .vk-embedded .top-actions { gap:0; }
  .vk-embedded .text-button { padding-inline:5px; font-size:11px; }
  .vk-embedded .intro { height:34px; padding:2px 2px 5px; align-items:center; }
  .vk-embedded .intro h1 { font-size:17px; }
  .vk-embedded .intro .eyebrow { display:none; }
  .vk-embedded .overall-progress b { font-size:14px; }
  .vk-embedded .game-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr); gap:7px; }
  .vk-embedded .desk-panel { display:contents; }
  .vk-embedded .queue-panel { grid-row:1; display:grid; grid-template-columns:82px minmax(0,1fr); column-gap:5px; padding:6px 9px; }
  .vk-embedded .queue-panel .panel-heading { display:block; }
  .vk-embedded .queue-panel .panel-description { font-size:9px; margin-top:2px; }
  .vk-embedded .queue { flex-wrap:nowrap; min-width:0; overflow:auto; padding:2px 0; gap:7px; }
  .vk-embedded .queue-person { min-width:30px; }
  .vk-embedded .avatar { width:28px; height:28px; }
  .vk-embedded .queue-letter { font-size:9px!important; }
  .vk-embedded .intake-panel { grid-row:2; display:grid; grid-template-columns:82px minmax(0,1fr); padding:5px 9px; column-gap:5px; }
  .vk-embedded .intake-panel .panel-heading { grid-column:1; grid-row:1; }
  .vk-embedded .intake { grid-column:2; grid-row:1; display:flex; min-width:0; overflow:auto; gap:10px; padding:4px; margin:0; }
  .vk-embedded .intake-slot { flex:none; min-width:48px; min-height:56px; }
  .vk-embedded .intake .parcel { width:40px; height:40px; }
  .vk-embedded .intake .parcel.long { width:50px; height:32px; }
  .vk-embedded .intake .parcel.tall { width:32px; height:50px; }
  .vk-embedded .shelf-panel { grid-row:3; padding:7px 8px; border-radius:14px; gap:3px; grid-template-rows:18px minmax(0,1fr) 44px auto 16px auto; }
  .vk-embedded .phase-caption, .vk-embedded .phase-caption span { font-size:10px; }
  .vk-embedded .phase-caption span { margin-left:4px; }
  .vk-embedded .board-toolbar { gap:5px; }
  .vk-embedded .selection-label { font-size:9px; }
  .vk-embedded .small-button { min-height:40px; padding:6px 7px; font-size:9px; }
  .vk-embedded .small-button.square { min-width:36px; }
  .vk-embedded .action-area { min-height:44px; padding:5px 6px; }
  .vk-embedded .action-hint { font-size:9px; }
  .vk-embedded .primary-button { min-height:40px; font-size:10px; padding-inline:10px; }
  .vk-embedded .shop-open { left:8px; top:6px; width:132px; }
  .vk-embedded .modal-inner { padding:25px 19px; }
  .vk-embedded .modal h2 { font-size:25px; }
}
/* Reset the standalone mobile grid placement at VK's narrower desktop width. */
.vk-embedded .shelf-panel { grid-column:1; grid-row:1; }
.vk-embedded .desk-panel { grid-column:2; grid-row:1; }
@media(max-width:560px) {
  .vk-embedded .shelf-panel { grid-column:1; grid-row:3; }
}

/* Compact game navigation and full-size touch targets. */
.vk-embedded .topbar { height:44px; min-height:44px; }
.vk-embedded .top-actions { padding-right:94px; gap:2px; }
.vk-embedded .top-actions button { min-width:44px; min-height:44px; height:44px; }
.vk-embedded .grid-icon { display:none; }
.vk-embedded .intro { height:34px; align-items:center; padding:0 2px 6px; }
.vk-embedded .intro .eyebrow { display:flex; position:fixed; z-index:11; top:21px; left:max(14px, calc((100vw - 1072px) / 2)); margin:0; font-size:11px; letter-spacing:.2px; }
.vk-embedded .intro .status-dot { display:none; }
.vk-embedded .intro h1 { font-size:19px; }
.vk-embedded .shop-open { left:auto; right:max(12px, calc((100vw - 1076px) / 2)); top:6px; width:88px; min-height:44px; padding:8px 10px; justify-content:center; font-size:12px; white-space:nowrap; }
.vk-embedded .shop-open span { display:none; }
.vk-embedded .game-layout { grid-template-columns:minmax(0,1fr) 236px; }
.vk-embedded .scene-line { display:flex; flex:none; width:100%; max-width:470px; height:28px; padding:0 10px; }
.vk-embedded .wall-clock { transform:scale(.75); transform-origin:center; }
.vk-embedded .wall-sign { font-size:7px; padding:3px 8px; }
.vk-embedded .scene-line .plant { height:28px; transform:scale(.75); }
.vk-embedded .board { width:min(calc(100cqw - 16px), calc((100cqh - 44px - var(--decor-height)) * var(--cols,6) / var(--rows,5))); }
.vk-embedded .queue { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-x:contain; }
.vk-embedded .intake .parcel { min-width:44px; min-height:44px; width:44px; height:44px; }
.vk-embedded .intake .parcel.long { width:64px; height:44px; }
.vk-embedded .intake .parcel.tall { width:44px; height:64px; }
.vk-embedded .intake .parcel.big { width:56px; height:56px; }
.vk-embedded .intake-slot { min-height:80px; }
.vk-embedded .small-button, .vk-embedded .small-button.square, .vk-embedded .primary-button { min-width:44px; min-height:44px; }
.vk-embedded .modal-close { width:44px; height:44px; }
@media(max-width:560px) {
  .vk-embedded .top-actions { padding-right:84px; }
  .vk-embedded .intro .eyebrow { display:flex; top:21px; left:10px; font-size:10px; }
  .vk-embedded .intro h1 { font-size:17px; }
  .vk-embedded .shop-open { right:8px; left:auto; width:78px; font-size:11px; }
  .vk-embedded .game-layout { grid-template-columns:minmax(0,1fr); }
  .vk-embedded .intake-slot { min-width:64px; min-height:80px; }
  .vk-embedded .small-button { font-size:10px; }
}

/* A mobile route keeps a phone-sized shell on a wide, upright preview. */
@media(min-width:561px) and (min-height:650px) {

  .vk-embedded[data-vk-layout="mobile"] .app-shell { padding:5px 8px 8px; }
  .vk-embedded[data-vk-layout="mobile"] .topbar { height:42px; min-height:42px; }
  .vk-embedded[data-vk-layout="mobile"] .top-actions { gap:0; }
  .vk-embedded[data-vk-layout="mobile"] .text-button { padding-inline:5px; font-size:11px; }
  .vk-embedded[data-vk-layout="mobile"] .intro { height:34px; padding:2px 2px 5px; align-items:center; }
  .vk-embedded[data-vk-layout="mobile"] .intro h1 { font-size:17px; }
  .vk-embedded[data-vk-layout="mobile"] .intro .eyebrow { display:none; }
  .vk-embedded[data-vk-layout="mobile"] .overall-progress b { font-size:14px; }
  .vk-embedded[data-vk-layout="mobile"] .game-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr); gap:7px; }
  .vk-embedded[data-vk-layout="mobile"] .desk-panel { display:contents; }
  .vk-embedded[data-vk-layout="mobile"] .queue-panel { grid-row:1; display:grid; grid-template-columns:82px minmax(0,1fr); column-gap:5px; padding:6px 9px; }
  .vk-embedded[data-vk-layout="mobile"] .queue-panel .panel-heading { display:block; }
  .vk-embedded[data-vk-layout="mobile"] .queue-panel .panel-description { font-size:9px; margin-top:2px; }
  .vk-embedded[data-vk-layout="mobile"] .queue { flex-wrap:nowrap; min-width:0; overflow:auto; padding:2px 0; gap:7px; }
  .vk-embedded[data-vk-layout="mobile"] .queue-person { min-width:30px; }
  .vk-embedded[data-vk-layout="mobile"] .avatar { width:28px; height:28px; }
  .vk-embedded[data-vk-layout="mobile"] .queue-letter { font-size:9px!important; }
  .vk-embedded[data-vk-layout="mobile"] .intake-panel { grid-row:2; display:grid; grid-template-columns:82px minmax(0,1fr); padding:5px 9px; column-gap:5px; }
  .vk-embedded[data-vk-layout="mobile"] .intake-panel .panel-heading { grid-column:1; grid-row:1; }
  .vk-embedded[data-vk-layout="mobile"] .intake { grid-column:2; grid-row:1; display:flex; min-width:0; overflow:auto; gap:10px; padding:4px; margin:0; }
  .vk-embedded[data-vk-layout="mobile"] .intake-slot { flex:none; min-width:48px; min-height:56px; }
  .vk-embedded[data-vk-layout="mobile"] .intake .parcel { width:40px; height:40px; }
  .vk-embedded[data-vk-layout="mobile"] .intake .parcel.long { width:50px; height:32px; }
  .vk-embedded[data-vk-layout="mobile"] .intake .parcel.tall { width:32px; height:50px; }
  .vk-embedded[data-vk-layout="mobile"] .shelf-panel { grid-row:3; padding:7px 8px; border-radius:14px; gap:3px; grid-template-rows:18px minmax(0,1fr) 44px auto 16px auto; }
  .vk-embedded[data-vk-layout="mobile"] .phase-caption, .vk-embedded[data-vk-layout="mobile"] .phase-caption span { font-size:10px; }
  .vk-embedded[data-vk-layout="mobile"] .phase-caption span { margin-left:4px; }
  .vk-embedded[data-vk-layout="mobile"] .board-toolbar { gap:5px; }
  .vk-embedded[data-vk-layout="mobile"] .selection-label { font-size:9px; }
  .vk-embedded[data-vk-layout="mobile"] .small-button { min-height:40px; padding:6px 7px; font-size:9px; }
  .vk-embedded[data-vk-layout="mobile"] .small-button.square { min-width:36px; }
  .vk-embedded[data-vk-layout="mobile"] .action-area { min-height:44px; padding:5px 6px; }
  .vk-embedded[data-vk-layout="mobile"] .action-hint { font-size:9px; }
  .vk-embedded[data-vk-layout="mobile"] .primary-button { min-height:40px; font-size:10px; padding-inline:10px; }
  .vk-embedded[data-vk-layout="mobile"] .shop-open { left:8px; top:6px; width:132px; }
  .vk-embedded[data-vk-layout="mobile"] .modal-inner { padding:25px 19px; }
  .vk-embedded[data-vk-layout="mobile"] .modal h2 { font-size:25px; }

  .vk-embedded[data-vk-layout="mobile"] .app-shell { width:480px; max-width:100%; }
  .vk-embedded[data-vk-layout="mobile"] .game-layout { grid-template-columns:minmax(0,1fr); }
  .vk-embedded[data-vk-layout="mobile"] .shelf-panel { grid-column:1; grid-row:3; }
  .vk-embedded[data-vk-layout="mobile"] .top-actions { padding-right:84px; }
  .vk-embedded[data-vk-layout="mobile"] .intro .eyebrow { display:flex; top:21px; left:calc((100vw - 480px) / 2 + 10px); font-size:10px; }
  .vk-embedded[data-vk-layout="mobile"] .shop-open { right:calc((100vw - 480px) / 2 + 8px); left:auto; width:78px; min-height:44px; font-size:11px; }
  .vk-embedded[data-vk-layout="mobile"] .intake-slot { min-width:64px; min-height:80px; }
}
@media(min-width:561px) and (min-height:650px) {
  .vk-embedded[data-vk-layout="mobile"] .small-button,
  .vk-embedded[data-vk-layout="mobile"] .small-button.square,
  .vk-embedded[data-vk-layout="mobile"] .primary-button { min-width:44px; min-height:44px; }
}

/* Landscape phones use a tool rail, leaving the shelf the full window height. */
@media(max-height:480px) and (min-width:561px) {
  .vk-embedded .intro { display:none; }
  .vk-embedded .shelf-panel { grid-template-columns:minmax(0,1fr) 108px; grid-template-rows:minmax(0,1fr) 52px; gap:6px; padding:8px; }
  .vk-embedded .shelf-top, .vk-embedded .under-shelf, .vk-embedded #run-status, .vk-embedded .scene-line { display:none; }
  .vk-embedded .warehouse-scene { grid-column:1; grid-row:1 / span 2; }
  .vk-embedded .warehouse-scene:has(.premium-nook:not([hidden])) { --decor-height:32px; }
  .vk-embedded .premium-nook:not([hidden]), .vk-embedded .room-decor svg { height:32px; }
  .vk-embedded .board { width:min(calc(100cqw - 16px), calc((100cqh - 16px - var(--decor-height)) * var(--cols,6) / var(--rows,5))); }
  .vk-embedded .board-toolbar { grid-column:2; grid-row:1; align-self:center; display:flex; flex-direction:column; border:0; }
  .vk-embedded .selection-label { display:none; }
  .vk-embedded .tool-buttons { display:flex; flex-direction:column; width:100%; gap:7px; }
  .vk-embedded .small-button { width:100%; min-height:44px; }
  .vk-embedded .action-area { grid-column:2; grid-row:2; display:block; padding:3px; }
  .vk-embedded .action-hint { display:none; }
  .vk-embedded .primary-button { width:100%; min-height:44px; padding:5px; white-space:normal; line-height:1.25; gap:4px; font-size:10px; }
  .vk-embedded .queue-panel { padding:8px; }
  .vk-embedded .queue-panel .panel-description { display:none; }
  .vk-embedded .queue { padding-top:5px; }
}
/* Focus changes must never pan the document behind the fixed game frame. */
html.vk-embedded, .vk-embedded body { position:fixed; inset:0; }
.vk-embedded .app-shell { position:fixed; inset:0; margin:auto; }
html.vk-embedded, .vk-embedded body, .vk-embedded .app-shell { overflow:clip; }
