:root{font-family:Inter,Avenir Next,Avenir,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#203d35;background:#f8f7f2;font-synthesis:none;font-weight:400;--ink:#203d35;--muted:#84908a;--line:#e6e8df;--orange:#f18a48;--mint:#dceade}*{box-sizing:border-box}body{margin:0;min-width:360px}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.4}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #f18a48;outline-offset:4px}button{transition:background .18s,box-shadow .18s,transform .18s}button:not(:disabled):active{transform:translateY(1px)}h1,h2,h3,p{margin:0}svg{flex-shrink:0}button svg{vertical-align:middle}.app-shell{max-width:1800px;margin:auto}.topbar{height:94px;padding:0 40px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:30px;background:#fcfbf7}.brand{display:flex;align-items:center;gap:12px;padding:0;white-space:nowrap;font-size:26px;font-weight:780;letter-spacing:-1.6px}.brand-by{font-weight:450}.brand-dot{color:var(--orange)}.brand-mark{display:grid;grid-template-columns:repeat(2,12px);gap:3px;transform:rotate(-5deg)}.brand-mark i{height:12px;background:var(--ink);border-radius:3px}.brand-mark i:nth-child(2){background:var(--orange)}.brand-mark i:nth-child(3){background:#a1bba4}.top-divider{height:32px;width:1px;background:var(--line);margin:0 1px 0 7px}.eyebrow{display:block;font-size:9px;letter-spacing:1.55px;font-weight:700;color:#89968e;line-height:1.6}.project-title button{display:flex;align-items:center;gap:25px;padding:3px 0;font-weight:650;font-size:13px}.header-progress{margin-left:auto;width:155px}.header-progress>span{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.header-progress strong{color:var(--ink);font-weight:700}.progress-track{height:5px;border-radius:20px;overflow:hidden;background:#e6e9df}.progress-track>span{display:block;height:100%;background:#7a9c7d;border-radius:inherit;transition:width .5s ease}.header-progress .progress-track>span{background:var(--orange)}.header-actions{display:flex;align-items:center;gap:10px;margin-left:10px}.icon-button{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:#687b70}.icon-button:hover{background:#edf0e7}.action-divider{height:22px;width:1px;background:var(--line);margin:0 7px}.build-layout{display:grid;grid-template-columns:240px minmax(0,1fr) 270px;gap:25px;padding:32px 32px 21px;align-items:start}.side-panel{background:#fffefa;border:1px solid var(--line);border-radius:18px;padding:24px 20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-heading h2{font-size:17px;font-weight:720;letter-spacing:-.6px;margin-top:5px}.orange-text{color:var(--orange)}.count-badge{background:#f2f1e9;border-radius:7px;min-width:27px;height:27px;display:grid;place-items:center;font-size:11px;font-weight:650}.panel-intro{font-size:11px;line-height:1.6;color:var(--muted);margin-top:11px}.inventory-filters{margin-top:24px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:18px;flex-wrap:wrap}.all-colors{padding:7px 12px;border:1px solid transparent;font-size:11px;border-radius:7px}.all-colors.active{border-color:#d6ded1;background:#edf2e8;font-weight:650}.color-filter{width:24px;height:24px;border-radius:50%;padding:4px;border:1px solid transparent}.color-filter span{display:block;width:100%;height:100%;border-radius:50%;border:1px solid #203d3514}.color-filter.active{border-color:var(--ink)}.inventory-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.4px;color:#9aa39b;font-weight:600;margin:21px 2px 10px}.inventory-list{display:flex;flex-direction:column;gap:9px;max-height:466px;overflow-y:auto;scrollbar-width:thin;padding:3px 3px 7px;margin:0 -3px}.inventory-piece{display:flex;align-items:center;text-align:left;width:100%;min-height:77px;padding:7px 9px 7px 3px;border:1px solid #e8ebe2;border-radius:11px;background:#fffefa;position:relative;flex-shrink:0}.inventory-piece:not(:disabled):hover{background:#f4f6ed;border-color:#b9c9b4}.inventory-piece.selected{border-color:#7f9a78;box-shadow:0 0 0 2px #e4ecdc;background:#f2f5eb}.inventory-piece.future-piece{opacity:.42}.piece-info{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.piece-info strong{font-size:11px;font-weight:650;text-transform:capitalize;white-space:nowrap}.piece-info>span{font-size:8px;color:#929b90;white-space:nowrap}.piece-quantity{font-size:10px;background:#f1f1e8;border-radius:5px;min-width:22px;height:22px;display:grid;place-items:center;position:relative;margin-left:4px}.piece-quantity i{position:absolute;width:6px;height:6px;background:#7c9b72;border-radius:50%;right:-2px;top:-2px;border:1px solid white}.brick-preview{width:65px;height:53px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:visible;transform:scale(.75)}.toy-brick{position:relative;display:grid;grid-template-columns:repeat(var(--stud-columns),1fr);grid-template-rows:repeat(var(--stud-rows),1fr);gap:3px;padding:5px;background:var(--brick-color);border-radius:3px;transform:rotateX(42deg) rotate(-29deg);box-shadow:-1px 1px color-mix(in srgb,var(--brick-color),black 10%),-2px 2px color-mix(in srgb,var(--brick-color),black 15%),-3px 3px color-mix(in srgb,var(--brick-color),black 18%),-4px 4px color-mix(in srgb,var(--brick-color),black 23%),-5px 5px color-mix(in srgb,var(--brick-color),black 25%),-7px 9px 7px #203d3515}.toy-brick i{display:block;width:100%;height:100%;max-width:11px;max-height:10px;border-radius:50%;background:color-mix(in srgb,var(--brick-color),white 16%);box-shadow:0 2px color-mix(in srgb,var(--brick-color),black 25%),inset 0 1px 1px #ffffff45}.toy-plate{box-shadow:-1px 1px color-mix(in srgb,var(--brick-color),black 20%),-2px 2px color-mix(in srgb,var(--brick-color),black 25%),-4px 7px 6px #203d3515}.toy-slope{border-radius:3px 3px 7px}.inventory-tip{display:flex;gap:10px;border-top:1px solid var(--line);margin-top:20px;padding-top:20px;color:#8e9b8d}.inventory-tip svg{margin-top:2px}.inventory-tip p{font-size:10px;line-height:1.9}.inventory-tip strong{font-weight:400;color:#657b65}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:#7a8a7b;padding:4px 0}.text-button:hover{color:var(--ink)}.keyboard-button{margin-top:23px;width:100%;justify-content:flex-start;font-size:9px}.keyboard-button>span{margin-left:auto;background:#f4f3ec;padding:2px 5px;border:1px solid var(--line);border-radius:3px}.workspace{min-width:0}.workspace-heading{padding:9px 5px 26px}.chapter-label{font-size:8px;letter-spacing:1.55px;font-weight:650;color:#849382;display:flex;align-items:center;gap:8px}.chapter-label>span:not(.live-dot){margin:0 4px;color:#b9c1b4}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8aa17b;flex-shrink:0}.workspace-heading h1{font-size:clamp(34px,3.55vw,52px);line-height:1.12;font-weight:650;letter-spacing:-2.3px;margin-top:16px}.workspace-heading h1>span{font-weight:440;color:#70846e}.workspace-heading>p{font-size:11px;color:#8a9588;margin-top:14px;line-height:1.8;max-width:440px}.build-board{border:1px solid #e2e7db;border-radius:18px;background:#edf1e6;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:470px;box-shadow:inset 0 0 60px #ffffff60}.board-topline{display:flex;justify-content:space-between;align-items:center;position:absolute;z-index:2;top:20px;left:20px;right:20px;pointer-events:none}.project-chip{display:flex;align-items:center;gap:7px;background:#f9faf3c9;border:1px solid #dfe5d6;border-radius:7px;padding:7px 10px;font-size:9px;font-weight:550;box-shadow:0 2px 4px #203d3503}.board-stage{font-size:8px;letter-spacing:1px;color:#98a38f}.scene-surface{height:440px;min-height:440px;flex:1;position:relative;width:100%;isolation:isolate}.scene-surface>div{height:100%!important;width:100%!important}.scene-surface canvas{touch-action:none}.scene-invitation{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;color:#71816a;min-height:27px;padding:0 15px;text-align:center;position:relative;pointer-events:none}.board-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:15px 18px 18px}.camera-controls{display:flex;align-items:center;background:#fafbf4d9;border:1px solid #dce3d3;border-radius:8px;padding:3px;gap:3px}.camera-controls button{width:28px;height:28px;color:#8b9b80;border-radius:5px;display:grid;place-items:center}.camera-controls button:hover,.camera-controls button.active{background:#e8eddf;color:#536c4d}.camera-controls>span{height:14px;background:#dce2d4;width:1px;margin:0 3px}.guide-toggle{display:flex;align-items:center;gap:7px;font-size:9px;color:#718169}.toggle-track{height:14px;width:25px;background:#cbd2c2;border-radius:10px;padding:2px;margin-left:3px}.toggle-track i{height:10px;width:10px;display:block;background:#fff;border-radius:50%;transition:transform .2s}.guide-toggle.active .toggle-track{background:#859f79}.guide-toggle.active .toggle-track i{transform:translate(11px)}.workspace-bottom{display:flex;justify-content:space-between;align-items:center;padding:17px 3px;gap:8px}.workspace-bottom>span{display:flex;align-items:center;gap:5px;font-size:8px;color:#9aa393}.dot-separator{padding:0 3px}.workspace-bottom>div{display:flex;gap:16px;align-items:center}.rotate-button{border:1px solid #dfe4d8;background:#fffdf6;padding:8px 10px;border-radius:7px;font-size:9px;display:flex;align-items:center;gap:6px}.rotate-button:hover{background:#eef1e6}kbd{font:inherit;font-size:9px;border:1px solid #dfe4d8;border-radius:4px;padding:2px 4px;box-shadow:0 1px #e2e6da;color:#829177;background:#fcfcf6}.rotate-button kbd{margin-left:7px}.feedback-message{min-height:18px;font-size:10px;text-align:center;color:#8e9b87;line-height:1.7}.instructions-panel{padding:24px 20px 19px}.instructions-panel .panel-heading>svg{color:#8e9e84}.step-title{display:flex;gap:12px;align-items:center;margin-top:25px}.step-title>span{background:#ecf0e2;border:1px solid #e0e6d6;width:36px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:15px;font-weight:600;color:#7b9170;flex-shrink:0}.step-title .eyebrow{font-size:8px;letter-spacing:1px}.step-title h3{font-size:15px;letter-spacing:-.4px;line-height:1.3;margin-top:3px;font-weight:650}.step-description{font-size:10px;line-height:1.9;color:#8a9586;margin-top:13px}.instruction-preview{height:160px;background:#f2f3eb;border:1px solid #e9ebdf;border-radius:12px;margin-top:17px;position:relative;overflow:hidden}.instruction-preview>div{height:100%!important}.instruction-preview>span{position:absolute;bottom:9px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:5px;font-size:8px;color:#a0aa94;pointer-events:none}.required-heading{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.required-heading>.eyebrow{font-size:8px}.required-heading>span:last-child{font-size:8px;color:#9aa38f}.required-pieces{margin-top:7px}.required-pieces>div{display:flex;align-items:center;padding:7px 0;border-bottom:1px solid #f0f0e8;gap:4px}.brick-preview-small{width:47px;height:37px;transform:scale(.55);margin-left:-5px;margin-right:0}.required-pieces strong{font-weight:550;font-size:10px;text-transform:capitalize}.required-color{font-size:8px;color:#9ba38f;display:flex;align-items:center;gap:4px;margin-top:4px}.required-color i{width:5px;height:5px;border-radius:50%;border:1px solid #203d3515}.required-quantity{margin-left:auto;font-size:10px;color:#7a8c6e}.step-progress{margin-top:19px}.step-progress>span{display:flex;justify-content:space-between;font-size:9px;color:#9aa58d;margin-bottom:8px}.step-progress strong{font-size:9px;color:#7b8d6a;font-weight:500}.step-progress .progress-track{height:4px}.step-navigation{display:flex;gap:8px;margin-top:16px}.previous-step{border:1px solid #e2e6d8;border-radius:8px;width:37px;display:grid;place-items:center;flex-shrink:0}.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--ink);color:#fffdf4;border:1px solid var(--ink);border-radius:9px;padding:12px 15px;font-size:11px;font-weight:550;min-height:41px}.primary-button:not(:disabled):hover{background:#345748;box-shadow:0 4px 12px #203d3515}.primary-button:disabled{background:#eff0e5;border-color:#e4e6d8;opacity:1;color:#afb59f}.step-navigation .primary-button{flex:1;justify-content:space-between;font-size:10px;padding:10px 12px}.build-progress-card{background:#f4f3e9;border:1px solid #e9e8db;border-radius:11px;padding:16px;margin-top:23px}.build-progress-card>div:first-child{display:flex;align-items:center;justify-content:space-between}.build-progress-card .eyebrow{font-size:7px;letter-spacing:1.2px}.build-progress-card strong{font-size:23px;font-weight:500;letter-spacing:-1px}.build-progress-card small{font-size:11px;margin-left:1px}.build-progress-card>.progress-track{margin-top:11px;height:4px}.build-progress-card>.progress-track>span{background:var(--orange)}.build-progress-card>p{font-size:8px;color:#9a9f8c;margin-top:10px}.build-progress-card>p>span{padding:0 3px;color:#c3c6b7}.stage-dots{display:flex;gap:5px;flex-wrap:wrap;margin-top:13px}.stage-dots>span{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:7px;border:1px solid #d9dece;color:#a2ab95}.stage-dots>span.current{border-color:#a5b395;background:#e5eadb;color:#6b815b}.stage-dots>span.done{background:#829d73;border-color:#829d73;color:#fff}.app-footer{border-top:1px solid var(--line);margin:0 32px;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:7px;letter-spacing:1.3px;color:#a1aa98}.app-footer>span:nth-child(2){display:flex;align-items:center;gap:6px;letter-spacing:0;font-size:9px}.mobile-tabs{display:none}.inventory-empty{text-align:center;padding:35px 0;color:#849b76}.inventory-empty p{font-size:11px;line-height:1.8;margin-top:15px}.filter-empty{font-size:11px;padding:20px 8px;color:var(--muted);line-height:1.8}.gallery{padding:65px 6% 55px}.gallery-heading{text-align:center}.gallery-heading h1{font-size:42px;font-weight:600;letter-spacing:-1.8px;margin-top:14px}.gallery-heading p{font-size:13px;color:var(--muted);margin-top:14px}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:44px}.model-card{border:1px solid var(--line);border-radius:18px;background:#fffdf8;overflow:hidden}.model-card-visual{height:260px;position:relative;background:color-mix(in srgb,var(--model-accent),#f3f4e9 85%);isolation:isolate}.model-card-visual>div{height:100%!important}.model-number{position:absolute;top:19px;left:20px;font-size:8px;letter-spacing:1.3px;color:#83937d;z-index:1}.difficulty{position:absolute;bottom:15px;left:20px;background:#fffdf4b0;padding:5px 9px;border:1px solid #e2e7d9;border-radius:5px;font-size:9px;color:#73866d}.model-card-copy{padding:24px}.model-card-title{display:flex;align-items:center;justify-content:space-between}.model-card-title h2{font-size:24px;font-weight:600;letter-spacing:-.8px}.model-card-copy>p{font-size:11px;color:var(--muted);margin-top:9px;line-height:1.8;min-height:40px}.model-meta{display:flex;justify-content:space-between;font-size:10px;color:#89977e;margin:20px 0}.model-meta span{display:flex;align-items:center;gap:7px}.model-card .primary-button{width:100%;justify-content:space-between}.saved-status{display:block;text-align:center;font-size:9px;color:#9da78f;margin-top:13px}.gallery-footnote{display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;color:#90a080;margin-top:35px}.dialog-backdrop,.completion-backdrop{position:fixed;inset:0;background:#203d354d;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;z-index:30;padding:24px}.dialog{width:450px;max-width:100%;max-height:90dvh;overflow:auto;background:#fffdf7;border:1px solid #ffffff80;box-shadow:0 30px 100px #203d3530;border-radius:22px;padding:29px;outline:none}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog h2{font-size:24px;letter-spacing:-.9px;font-weight:600}.dialog-heading .icon-button{flex-shrink:0}.dialog-subline{color:#8b9784;font-size:11px;line-height:1.8;margin:8px 0 23px}.settings-row{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;padding:19px 0;border-bottom:1px solid var(--line);gap:10px}.settings-row>span:first-child{display:flex;align-items:center;gap:12px}.settings-row svg{color:#85967a}.settings-row strong{display:block;font-size:12px;font-weight:600}.settings-row small{display:block;font-size:10px;color:#93a087;margin-top:6px}.switch{display:block;flex-shrink:0;width:33px;height:20px;border-radius:20px;background:#d8dfce;padding:3px}.switch i{display:block;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s}.switch.on{background:#829d73}.switch.on i{transform:translate(13px)}.reset-section{margin-top:26px}.reset-section>.text-button{color:#b16f4a}.reset-section>strong{font-size:13px;font-weight:600}.reset-section>p{font-size:11px;color:#8e9984;line-height:1.9;margin-top:9px}.dialog-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}.secondary-button{border:1px solid #dce2d2;border-radius:9px;padding:11px;font-size:10px;background:#fafbf4}.help-steps{display:flex;flex-direction:column;gap:18px}.help-steps>p{display:flex;gap:13px;font-size:11px;color:#8a9780;line-height:1.9}.help-steps>p>span:first-child{height:28px;min-width:28px;background:#eef2e5;border-radius:8px;display:grid;place-items:center;font-size:10px;color:#819573}.help-steps strong{color:var(--ink);font-weight:600}.shortcut-list{margin-top:24px;display:flex;flex-direction:column;gap:13px;border-top:1px solid var(--line);padding-top:20px}.shortcut-list>span{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7c8e72}.help-note{font-size:10px;line-height:1.9;color:#8e9b84;background:#f2f4e9;padding:12px;border-radius:8px;margin:22px 0}.full-width{width:100%}.completion-backdrop{z-index:25}.completion-card{position:relative;background:#fffdf5;border-radius:25px;border:1px solid #fff9;box-shadow:0 30px 100px #203d3530;width:490px;padding:34px;text-align:center;max-height:94dvh;overflow:auto}.completion-close{position:absolute;right:16px;top:16px;z-index:2}.trophy-icon{width:63px;height:63px;background:#f7e9ca;color:#c5933e;border-radius:20px;display:grid;place-items:center;margin:0 auto 20px;transform:rotate(-8deg)}.completion-card>.eyebrow{font-size:8px;color:#91a17d}.completion-card h1{font-size:34px;letter-spacing:-1.4px;font-weight:600;margin:11px 0}.completion-card h1>span{color:var(--orange)}.completion-card>p{font-size:12px;color:#89977c;line-height:1.9}.completion-model{height:190px;margin:8px 0}.completion-model>div{height:100%!important}.completion-stats{display:flex;justify-content:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin-bottom:22px;gap:0}.completion-stats>span{flex:1;font-size:9px;color:#929f85;border-right:1px solid var(--line)}.completion-stats>span:last-child{border:0}.completion-stats strong{display:block;color:var(--ink);font-size:22px;font-weight:550;letter-spacing:-.5px;margin-bottom:5px}.replay-button{margin-top:16px}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-20px;left:calc(var(--i)*4.7%);width:6px;height:11px;background:#f18a48;border-radius:2px;opacity:0;animation:confetti-fall 4s calc(var(--i)*-.17s) ease-in infinite}.confetti i:nth-child(3n){background:#9db78c;width:8px;height:8px}.confetti i:nth-child(3n+1){background:#e7c677}.confetti i:nth-child(2n){animation-duration:5.3s}@keyframes confetti-fall{0%{opacity:0;transform:translateY(0) rotate(0)}12%{opacity:.8}80%{opacity:.7}to{opacity:0;transform:translateY(700px) rotate(460deg)}}@media(min-width:1450px){.build-layout{grid-template-columns:260px minmax(0,1fr) 290px;gap:34px;padding:40px 42px 25px}.topbar{padding:0 43px}.workspace-heading{padding-bottom:30px}.workspace-heading h1{font-size:53px}.scene-surface{height:490px}.inventory-list{max-height:510px}.side-panel{padding:27px 23px}.instruction-preview{height:180px}.app-footer{margin:0 42px}.inventory-piece{min-height:82px}.piece-info strong{font-size:12px}.piece-info>span{font-size:9px}.brick-preview{width:70px}.workspace-heading>p{font-size:12px}.workspace-bottom>span{font-size:9px}.instructions-panel .step-description{font-size:11px}}@media(max-width:1160px){.build-layout{grid-template-columns:210px minmax(0,1fr) 230px;gap:16px;padding:25px 20px}.topbar{padding:0 25px;gap:20px}.side-panel{padding:21px 15px}.panel-heading h2{font-size:15px}.piece-info strong{font-size:10px}.piece-info>span{font-size:7px}.brick-preview{width:53px;transform:scale(.64)}.workspace-heading h1{font-size:38px;letter-spacing:-1.8px}.workspace-heading>p{font-size:10px}.workspace-heading{padding-bottom:24px}.board-topline{left:13px;right:13px}.board-stage{font-size:7px}.board-controls{padding:10px 10px 15px}.guide-toggle{gap:4px;font-size:8px}.camera-controls{gap:0}.camera-controls button{width:24px}.scene-invitation{font-size:8px}.workspace-bottom{align-items:flex-start}.workspace-bottom>span{font-size:7px;gap:3px;line-height:1.8;flex-wrap:wrap;max-width:110px}.workspace-bottom>div{gap:10px}.rotate-button{font-size:8px;padding:7px}.rotate-button kbd{display:none}.instructions-panel{padding:21px 15px}.step-title{gap:9px}.step-title h3{font-size:13px}.step-description{font-size:9px}.instruction-preview{height:145px}.step-navigation .primary-button{font-size:9px}.build-progress-card{padding:12px}.build-progress-card .eyebrow{font-size:6px}.required-pieces strong{font-size:9px}.brick-preview-small{width:43px;transform:scale(.5)}.app-footer{margin:0 20px}.model-grid{gap:17px}.model-card-copy{padding:20px}.model-card-title h2{font-size:21px}}@media(max-width:960px){.header-progress{width:110px}.topbar{height:80px}.brand{font-size:23px}.project-title .eyebrow{font-size:7px}.header-actions{gap:3px;margin-left:0}.topbar{gap:15px}.build-layout{grid-template-columns:215px minmax(0,1fr);gap:20px}.workspace{grid-column:2;grid-row:1 / span 2}.inventory-panel{grid-column:1;grid-row:1}.instructions-panel{grid-column:1;grid-row:2}.inventory-list{max-height:290px}.inventory-tip{display:none}.keyboard-button{margin-top:14px}.instructions-panel .panel-heading{display:none}.step-title{margin-top:0}.required-pieces{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.required-pieces>div{gap:0;flex-wrap:wrap}.required-pieces .brick-preview{display:none}.required-quantity{margin-left:5px}.instruction-preview{height:130px}.build-progress-card{margin-top:16px}.workspace-heading h1{font-size:44px}.scene-surface{height:540px;min-height:440px}.workspace-bottom>span{max-width:none;font-size:8px}.gallery{padding:45px 25px}.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.model-card:last-child{grid-column:1 / span 2;display:grid;grid-template-columns:1fr 1fr}.model-card:last-child .model-card-visual{height:100%;min-height:260px}.gallery-heading h1{font-size:36px}.app-footer>span:last-child{display:none}}@media(max-width:660px){body{min-width:360px}.topbar{height:73px;padding:0 17px;gap:12px}.brand{font-size:22px;letter-spacing:-1.2px;gap:8px}.brand-mark{grid-template-columns:repeat(2,9px);gap:2px}.brand-mark i{height:9px;border-radius:2px}.top-divider,.project-title,.header-progress,.action-divider{display:none}.header-actions{margin-left:auto;gap:1px}.icon-button{width:32px;height:32px}.header-actions svg{width:17px;height:17px}.build-layout{display:flex;flex-direction:column;padding:23px 15px 20px;gap:16px}.workspace{order:0;width:100%}.workspace-heading{padding:0 5px 22px}.chapter-label{font-size:7px;letter-spacing:1.3px}.workspace-heading h1{font-size:39px;letter-spacing:-1.7px;margin-top:13px}.workspace-heading h1 br{display:none}.workspace-heading h1>span{display:block}.workspace-heading>p{font-size:10px;margin-top:11px;max-width:310px;line-height:1.8}.scene-surface{height:440px;min-height:440px}.build-board{border-radius:15px;min-height:510px}.board-topline{top:15px;left:14px;right:14px}.project-chip{font-size:9px}.board-stage{font-size:7px}.board-controls{padding:11px 13px 15px}.camera-controls button{width:27px;height:27px}.guide-toggle{font-size:9px;gap:6px}.scene-invitation{font-size:9px;min-height:29px}.workspace-bottom{padding:14px 2px;align-items:center}.workspace-bottom>span{font-size:7px;max-width:145px;gap:3px}.workspace-bottom>div{gap:12px}.rotate-button{font-size:9px;padding:8px}.feedback-message{font-size:10px;min-height:19px}.mobile-tabs{display:flex;order:1;width:100%;border:1px solid var(--line);border-radius:11px;background:#eff1e7;padding:4px;gap:5px}.mobile-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;border-radius:8px;padding:11px;color:#85947a}.mobile-tabs button.active{background:#fffefa;color:var(--ink);box-shadow:0 2px 4px #203d3507}.side-panel{display:none;width:100%;order:2;border-radius:14px;padding:21px}.side-panel.mobile-active{display:block}.panel-heading h2{font-size:19px}.panel-intro{font-size:11px}.inventory-filters{margin-top:17px;padding-bottom:15px}.inventory-label{margin-top:16px}.inventory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:330px;gap:8px}.inventory-piece{padding-right:7px;min-height:76px}.brick-preview{width:51px;transform:scale(.6)}.piece-info strong{font-size:9px}.piece-info>span{font-size:6px;letter-spacing:-.1px}.piece-quantity{font-size:9px;min-width:18px;height:20px;margin-left:2px}.keyboard-button{font-size:10px;margin-top:16px}.instructions-panel .panel-heading{display:flex}.step-title{margin-top:22px}.step-title h3{font-size:17px}.step-title>span{width:42px;height:44px}.step-description{font-size:12px}.instruction-preview{height:200px}.required-pieces{display:flex;flex-direction:column}.required-pieces>div{flex-wrap:nowrap;padding:9px 0;gap:7px}.required-pieces .brick-preview{display:flex;transform:scale(.6);width:53px}.required-pieces strong{font-size:12px}.required-color{font-size:9px}.required-quantity{margin-left:auto;font-size:12px}.required-heading .eyebrow{font-size:9px}.step-progress>span,.step-progress strong{font-size:11px}.step-navigation .primary-button{font-size:12px;min-height:44px}.previous-step{width:45px}.build-progress-card{padding:18px}.build-progress-card .eyebrow{font-size:8px}.build-progress-card>p{font-size:10px}.stage-dots>span{width:22px;height:22px;font-size:9px}.app-footer{margin:0 20px;min-height:72px;justify-content:center;flex-direction:column;gap:10px;padding:15px 0}.app-footer>span:first-child{font-size:7px}.app-footer>span:nth-child(2){font-size:9px}.gallery{padding:38px 20px}.gallery-heading h1{font-size:32px;line-height:1.2}.gallery-heading p{font-size:12px;line-height:1.8}.model-grid{grid-template-columns:1fr;gap:23px;margin-top:29px}.model-card:last-child{display:block;grid-column:auto}.model-card-visual{height:260px}.model-card:last-child .model-card-visual{height:260px}.model-card-title h2{font-size:25px}.model-card-copy{padding:23px}.model-card-copy>p{min-height:0}.model-meta{font-size:11px}.gallery-footnote{font-size:10px;line-height:1.8;align-items:flex-start;margin-top:27px}.gallery-footnote svg{margin-top:3px}.dialog-backdrop,.completion-backdrop{padding:15px}.dialog{padding:23px;max-height:92dvh;border-radius:18px}.dialog h2{font-size:22px}.dialog-heading .icon-button{width:25px}.dialog-subline{font-size:11px}.completion-card{padding:29px 23px;border-radius:20px}.completion-card h1{font-size:31px}.completion-card>p{font-size:11px}.completion-model{height:170px}.completion-card .primary-button{font-size:10px}.completion-stats>span{font-size:8px}}.scene-surface{flex:none}.collection-summary{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin:27px 0 30px;font-size:12px;color:#647c68;line-height:1.7}.collection-summary>span:first-child{display:flex;align-items:center;gap:7px}.collection-summary strong{font-weight:650}.summary-dot{padding:0 10px;color:#95a18e}.gallery-filters{display:grid;grid-template-columns:minmax(230px,1.7fr) repeat(3,minmax(140px,1fr));gap:15px;background:#eeefe6;border:1px solid #e2e6d9;border-radius:15px;padding:20px}.gallery-filters label{display:flex;flex-direction:column;gap:9px;min-width:0;font-size:11px;font-weight:600;color:#586e5c}.gallery-filters input,.gallery-filters select{font:inherit;font-weight:400;font-size:12px;color:var(--ink);background:#fffdf8;border:1px solid #d5dece;border-radius:8px;min-height:44px;width:100%;padding:10px 12px}.gallery-filters select{cursor:pointer;padding-right:24px}.project-search>div{position:relative}.project-search svg{position:absolute;left:12px;top:14px;color:#7a8c72;pointer-events:none}.gallery-filters .project-search input{padding-left:37px}.gallery-filters input::placeholder{color:#7b8878}.gallery-filters input:focus-visible,.gallery-filters select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.gallery-results{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:56px;font-size:12px;color:#63765e}.clear-filters{font-size:12px;min-height:44px;padding:10px 4px;color:#755039;text-decoration:underline;text-underline-offset:4px}.gallery .model-grid{margin-top:5px;align-items:stretch}.gallery .model-card{display:flex;flex-direction:column;grid-column:auto}.gallery .model-card-visual,.gallery .model-card:last-child .model-card-visual{height:260px;min-height:260px}.gallery .model-card-copy{display:flex;flex-direction:column;flex:1}.gallery .model-card-copy>p{min-height:40px}.gallery .model-meta{margin-top:auto;padding-top:20px}.model-theme{font-size:10px;font-weight:650;letter-spacing:.6px;color:#677e64;margin-bottom:8px}.model-card-visual .model-number{color:#536b52;background:#f8f8efdb;padding:6px 8px;border-radius:5px;top:13px;left:13px;pointer-events:none}.model-card-visual .difficulty{font-size:10px;color:#4f6849;background:#fffdf4ed;left:13px;bottom:13px;pointer-events:none}.project-status{position:absolute;right:13px;bottom:13px;display:flex;align-items:center;gap:5px;border:1px solid #dce5d2;border-radius:5px;padding:5px 9px;background:#fffdf4ed;font-size:10px;font-weight:600;color:#536b4f;pointer-events:none}.status-in-progress{background:#fff0d9;color:#895b31;border-color:#ead3ac}.status-completed{background:#e2edde;color:#355b3e;border-color:#c5d8bd}.gallery-preview{width:100%;height:100%}.gallery-preview canvas{touch-action:pan-y}.gallery-preview-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:33px;padding:35px 20px}.preview-brick{width:95px;height:53px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:7px;padding:9px;border-radius:5px;background:var(--model-accent);transform:rotate(-14deg) skew(12deg);box-shadow:-3px 7px color-mix(in srgb,var(--model-accent),#203d35 22%),-7px 17px 15px #203d3514}.preview-brick i{border-radius:50%;background:color-mix(in srgb,var(--model-accent),white 28%);box-shadow:0 2px #203d352a}.preview-caption{font-size:10px;color:#667b60;text-align:center;line-height:1.6}.gallery-empty{border:1px dashed #cbd6c3;border-radius:16px;background:#f0f3e9;text-align:center;padding:45px 24px;color:#6c8062}.gallery-empty>svg{margin-bottom:14px}.gallery-empty h2{color:var(--ink);font-size:22px;letter-spacing:-.5px;font-weight:600}.gallery-empty p{font-size:12px;line-height:1.9;max-width:390px;margin:12px auto 20px}.gallery-empty button{font-size:12px;min-height:44px;padding:11px 20px}@media(max-width:1100px){.gallery-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-filters .project-search{grid-column:1 / -1}}@media(max-width:660px){.collection-summary{font-size:11px;gap:6px;margin:22px 0;flex-direction:column}.gallery-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:16px}.gallery-filters label:last-child{grid-column:1 / -1}.gallery-filters input,.gallery-filters select{font-size:16px}.gallery-results{font-size:11px}.gallery .model-card-copy>p{min-height:0}.gallery .model-grid{gap:23px}.gallery-empty h2{font-size:20px}}@media(max-width:359px){body{min-width:320px}.topbar{padding:0 12px;gap:8px}.brand{font-size:20px;gap:6px}.inventory-list{grid-template-columns:1fr}.piece-info strong{font-size:11px}.piece-info>span{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
