@font-face{font-family:"Baloo 2";src:url(/fonts/Baloo2.woff2)format("woff2");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/Nunito.woff2)format("woff2");font-weight:200 1000;font-style:normal;font-display:swap}:root{--night-950:#0a1426;--night-900:#0f1d36;--night-800:#152a4b;--night-700:#1d3a66;--night-600:#2a4f86;--night-line:#34568c;--on-night:#f4f7fc;--on-night-muted:#a9bad6;--panel-bg:#fbf5e9;--panel-bg-raised:#fffdf8;--panel-bg-active:#fff0c9;--panel-line:#e3d5bd;--ink:#2b2521;--muted-ink:#6d6158;--go:#3c9d3c;--go-edge:#276e27;--pause:#2f67c7;--pause-edge:#1f4890;--reset:#ec8526;--reset-edge:#b35f12;--danger:#cf4436;--success:#2f8a3a;--accent:#ffc53d;--focus:#ffc53d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-s:8px;--radius-m:10px;--radius-l:14px;--touch-target:44px;--header-height:56px;--drawer-peek-height:72px;--rail-left-width:280px;--rail-right-width:320px;--landscape-dock-width:200px;--landscape-rail-width:64px;--font-ui:"Nunito", ui-rounded, "SF Pro Rounded", "Varela Round", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-title:"Baloo 2", var(--font-ui);--text-xs:11px;--text-s:13px;--text-m:15px;--text-l:18px;--text-xl:22px;--z-toast:6;--z-inspector-scrim:22;--z-toolbar:24;--z-drawer-scrim:26;--z-sheet:30;--z-menu:40;--z-dialog-scrim:50;--z-dialog:52;--shadow-sheet:0 -10px 28px #050c1a59;color:var(--on-night);background:var(--night-900);font-family:var(--font-ui);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}@supports not selector(::-webkit-scrollbar){:root{scrollbar-color:#d4c19c transparent}*{scrollbar-width:thin}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:#d4c19c padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:#b99c69}[hidden]{display:none!important}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--night-900);min-height:100vh}h1,h2,p{margin:0}button,select{font:inherit}button:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn,.icon-button,.panel-close,.drawer-toggle,.drawer-close,.object-card{cursor:pointer;touch-action:manipulation}.btn{min-width:var(--touch-target);min-height:var(--touch-target);padding:0 var(--space-4);border:2px solid var(--night-950);border-radius:var(--radius-m);font-size:var(--text-s);white-space:nowrap;justify-content:center;align-items:center;gap:6px;font-weight:800;line-height:1.1;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.45}.btn:not(:disabled):active{transform:translateY(1px)}.btn-go{border-color:var(--go-edge);color:#fff;background:var(--go)}.btn-pause{border-color:var(--pause-edge);color:#fff;background:var(--pause)}.btn-reset{border-color:var(--reset-edge);color:#fff;background:var(--reset)}.btn-neutral{border-color:var(--panel-line);color:var(--ink);background:var(--panel-bg-raised)}.workspace-toolbar .btn-neutral,.camera-controls .btn-neutral{border-color:var(--night-line);color:var(--on-night);background:var(--night-700)}.icon-button{width:var(--touch-target);height:var(--touch-target);border:2px solid var(--night-line);border-radius:var(--radius-m);color:var(--on-night);background:var(--night-700);place-items:center;font-size:20px;display:grid}.objective-button{width:auto;min-width:var(--touch-target);padding:0 var(--space-2);cursor:pointer;justify-content:center;align-items:center;gap:6px;display:inline-flex}.objective-button-glyph{width:24px;height:24px;color:var(--night-950);background:var(--accent);border-radius:50%;place-items:center;font-size:16px;font-weight:900;line-height:1;display:grid}.objective-button-label{font-size:var(--text-s);font-weight:800;display:none}.panel{border:2px solid var(--night-950);border-radius:var(--radius-l);min-width:0;color:var(--ink);background:var(--panel-bg);flex-direction:column;display:flex;overflow:hidden}.panel-header{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);color:var(--on-night);background:var(--night-800);display:flex}.panel-title{font-size:var(--text-s);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-weight:800;overflow:hidden}.panel-body{gap:var(--space-2);min-height:0;padding:var(--space-3);flex-direction:column;display:flex}.panel-note{color:var(--muted-ink);font-size:var(--text-s)}.panel-close{width:var(--touch-target);height:var(--touch-target);flex:0 0 var(--touch-target);border:2px solid var(--night-line);border-radius:var(--radius-m);color:var(--on-night);background:var(--night-700);place-items:center;font-size:24px;line-height:1;display:grid}.app-shell{isolation:isolate;background:url(/assets/background-DG_9MvmW.png) 50%/cover no-repeat fixed;flex-direction:column;display:flex;position:relative}.app-shell-board{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden}.app-shell-page{min-height:100vh;min-height:100dvh}.app-shell-page .app-main{flex:1}.page-content{width:100%;max-width:960px;padding:var(--space-5) max(var(--space-4), env(safe-area-inset-right)) max(var(--space-5), env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));margin:0 auto}.page-content-levels{max-width:1180px;padding-top:var(--space-4)}.page-content>.panel{max-width:560px}.home-page{--home-w:min(100vw - 48px, 1240px);--home-shelf:clamp(56px, 7vw, 100px);--home-ink:#17233d;--home-edge:#cdbb98;max-width:none;min-height:calc(100vh - var(--header-height) - 1px);min-height:calc(100dvh - var(--header-height) - 1px);color:#4a4037;padding:0;overflow:clip}.home-page>.pwa-invitation,.home-storage-note{width:min(100% - 48px,1240px);margin:var(--space-4) auto 0}.home-hero{padding:clamp(14px, calc(var(--home-w) * .026), 34px) 0 calc(var(--home-shelf) * .62);position:relative}.home-shelf{height:var(--home-shelf);filter:drop-shadow(0 10px 10px #3c240a4d);justify-content:center;display:flex;position:absolute;inset:auto 0 0}.home-shelf>span{aspect-ratio:2172/246;background:url(/assets/home/etabli.webp) 50%/100% 100%;flex:none;height:100%}.home-shelf>span:nth-child(odd){transform:scaleX(-1)}.home-prop{filter:drop-shadow(0 6px 6px #321c0652);pointer-events:none;background:50%/contain no-repeat;position:absolute}.home-prop-plans{aspect-ratio:800/590;background-image:url(/assets/home/plans.webp);width:clamp(200px,21vw,330px);top:14px;right:-6vw;transform:rotate(9deg)}.home-prop-screwdriver{z-index:2;bottom:calc(var(--home-shelf) * .3);aspect-ratio:900/227;background-image:url(/assets/home/tournevis.webp);width:clamp(170px,17vw,270px);left:-3.5vw;transform:rotate(-4deg)}.home-prop-bolts{z-index:2;right:1.5vw;bottom:calc(var(--home-shelf) * .42);aspect-ratio:500/458;background-image:url(/assets/home/boulons.webp);width:clamp(54px,5.4vw,84px)}.home-prop-square{aspect-ratio:1;background-image:url(/assets/home/equerre.webp);width:clamp(150px,15vw,230px);bottom:-90px;right:-4.5vw;transform:rotate(-8deg)}.home-stage{width:var(--home-w);grid-template-columns:47fr 47fr;align-items:end;column-gap:6%;margin:0 auto;display:grid;position:relative}.home-sheet{margin-bottom:clamp(12px, calc(var(--home-w) * .02), 56px);filter:drop-shadow(0 6px 10px #462c0c42);align-self:start;position:relative}.home-sheet:before{z-index:1;content:"";background:radial-gradient(circle at 35% 30%,#ff8d7c,#cf4436 55%,#8f2a20);border-radius:50%;width:16px;height:16px;position:absolute;top:12px;left:50%;box-shadow:1px 3px 3px #28140573}.home-hero-copy{padding:clamp(18px, calc(var(--home-w) * .032), 40px) 25% clamp(20px, calc(var(--home-w) * .032), 40px) clamp(18px, calc(var(--home-w) * .032), 40px);clip-path:polygon(0% 1.62px,7.1% .75px,14.3% 3.25px,21.4% .36px,28.6% 2.68px,35.7% 1.83px,42.9% .29px,50% 2.54px,57.1% .19px,64.3% 2.17px,71.4% .35px,78.6% .45px,85.7% 2.12px,92.9% 4.13px,calc(100% - .62px) 0%,calc(100% - 1.12px) 12.5%,calc(100% - 3.14px) 25%,calc(100% - 4.74px) 37.5%,calc(100% - 2.89px) 50%,calc(100% - 1.98px) 62.5%,calc(100% - 4.88px) 75%,calc(100% - .23px) 87.5%,100% calc(100% - 5.15px),92.9% calc(100% - 1.74px),85.7% calc(100% - .87px),78.6% calc(100% - .71px),71.4% calc(100% - 1.85px),64.3% calc(100% - 4.9px),57.1% calc(100% - 1.08px),50% calc(100% - 3.49px),42.9% calc(100% - 3.83px),35.7% calc(100% - 2.23px),28.6% calc(100% - 3.29px),21.4% calc(100% - .38px),14.3% calc(100% - .36px),7.1% calc(100% - 1.24px),3.4px 100%,2.14px 87.5%,1.57px 75%,2.93px 62.5%,2.27px 50%,1.5px 37.5%,3.97px 25%,3.49px 12.5%);background:linear-gradient(#fffcf4b8,#fffcf4b8),url(/assets/home/papier.webp) 40px 60px/320px}.home-hero h2{color:var(--home-ink);font-family:var(--font-title);font-size:clamp(26px, calc(var(--home-w) * .039), 48px);letter-spacing:-.01em;font-weight:800;line-height:1.02}.home-hero h2 em{color:#b85a00;font-style:normal}.home-hero-copy>p{max-width:34ch;font-size:clamp(14px, calc(var(--home-w) * .015), 18.5px);margin-top:14px;font-weight:500;line-height:1.45}.home-hero-actions{margin-top:clamp(12px, calc(var(--home-w) * .022), 28px);gap:12px;display:flex}.home-play,.home-create{min-height:clamp(44px, calc(var(--home-w) * .042), 52px);padding:0 clamp(12px, calc(var(--home-w) * .0145), 18px);color:var(--home-ink);font-family:var(--font-title);font-size:clamp(14px, calc(var(--home-w) * .0148), 18px);white-space:nowrap;border-radius:14px;align-items:center;gap:10px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.home-play{padding:0 clamp(18px, calc(var(--home-w) * .024), 30px) 0 clamp(14px, calc(var(--home-w) * .019), 24px);font-size:clamp(18px, calc(var(--home-w) * .0195), 24px);background:linear-gradient(#ffd266,#ffb720);font-weight:800}.home-play svg{fill:currentColor}.home-create{box-shadow:inset 0 0 0 2px var(--home-edge);background:#ffffffb3}.home-frame{aspect-ratio:1434/884;filter:drop-shadow(0 12px 12px #321c0657);position:relative}.home-frame:after{content:"";pointer-events:none;background:url(/assets/home/cadre.webp) 50%/100% 100%;position:absolute;inset:0}.home-board{background:#f6ead3;position:absolute;inset:10.2% 8.4% 10.4%;overflow:hidden}.home-machine{width:100%;height:100%;display:block}.home-machine-toggle{z-index:2;color:#17233d;cursor:pointer;background:#fff7e6;border:1px solid #cdbb98;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;bottom:12%;right:10%}.home-machine-toggle:focus-visible{outline-offset:2px;outline:3px solid #e0a322}.home-bolt{z-index:3;filter:drop-shadow(0 10px 8px #321c065c);width:19%;margin:0;position:absolute;bottom:-1.5%;left:35%}.home-bolt img{width:100%;display:block}.home-places-zone{padding:clamp(14px,2vw,28px) 0 clamp(16px,2.4vw,34px);position:relative}.home-places{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,22px);width:min(100% - 48px,1240px);margin:0 auto;display:grid;position:relative}.home-place{color:inherit;box-shadow:inset 0 0 0 1px var(--panel-line), 0 3px 0 #d9c7a3, 0 10px 16px #462c0c29;background:linear-gradient(#fffcf4cc,#fffcf4cc),url(/assets/home/papier.webp) 0 0/320px;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,1.4vw,22px);padding:clamp(14px,1.6vw,22px);text-decoration:none;transition:transform .12s;display:grid}.home-place-art{aspect-ratio:1;background:#f3e6cb;border-radius:14px;place-items:center;width:clamp(60px,6.6vw,96px);display:grid;box-shadow:inset 0 0 0 1px #e2d0a9}.home-place-art img{filter:drop-shadow(0 3px 2px #321c064d);max-width:76%;max-height:76%}.home-place-copy{min-width:0;display:block}.home-place h3{color:var(--home-ink);font-family:var(--font-title);margin:0;font-size:clamp(20px,1.9vw,26px);font-weight:800;line-height:1.1}.home-place p{margin-top:4px;font-size:clamp(13.5px,1.1vw,15.5px);font-weight:500;line-height:1.35}.home-place-go{width:40px;height:40px;color:var(--home-ink);box-shadow:inset 0 0 0 2px var(--home-edge);background:#fff9;border-radius:50%;place-items:center;display:grid}.home-meter{color:var(--home-ink);align-items:center;gap:10px;margin-top:9px;font-size:13.5px;font-weight:800;display:flex}.home-meter progress{appearance:none;background:#e4d6b8;border:0;border-radius:8px;flex:1;width:100%;max-width:150px;height:8px;overflow:hidden}.home-meter progress::-webkit-progress-bar{background:#e4d6b8}.home-meter progress::-webkit-progress-value{background:var(--go);border-radius:8px}.home-meter progress::-moz-progress-bar{background:var(--go);border-radius:8px}.home-storage-note{z-index:1;color:#7a4a12;font-size:var(--text-s);font-weight:700;position:relative}.home-page a:focus-visible{outline:3px solid var(--pause);outline-offset:4px}@media (hover:hover){.home-play:hover,.home-create:hover{filter:brightness(1.05)}.home-place:hover{transform:translateY(-2px)}}@media (min-width:861px){.home-page{--home-w:min(100vw - 48px, 1240px, max(760px, (100vh - var(--header-height) - 270px) * 2.75))}}@media (max-width:1100px){.home-page{--home-w:min(100vw - 32px, 1240px)}.home-places{width:min(100% - 32px,1240px)}.home-place{grid-template-columns:auto minmax(0,1fr)}.home-place-go{display:none}}@media (min-width:861px) and (max-width:1100px){.home-page{--home-w:min(100vw - 32px, 1240px, max(760px, (100vh - var(--header-height) - 270px) * 2.75))}}@media (max-width:860px){.home-page{--home-shelf:clamp(54px, 12vw, 96px)}.home-prop-plans,.home-prop-square,.home-prop-screwdriver,.home-hero-actions{display:none}.home-stage{grid-template-columns:minmax(0,1fr)}.home-sheet{margin-bottom:12px;transform:none}.home-sheet:before{display:none}.home-places-zone{padding-bottom:12px}.home-hero-copy{padding-right:clamp(18px, calc(var(--home-w) * .032), 40px)}.home-hero h2{font-size:clamp(32px,7vw,50px)}.home-hero-copy>p{max-width:46ch}.home-frame{width:84%;margin-left:auto}.home-bolt{width:27%;bottom:-1%;left:-1%}.home-prop-bolts{z-index:4;right:3vw;bottom:calc(var(--home-shelf) * .3)}.home-place{grid-template-columns:minmax(0,1fr);align-content:start;justify-items:start}.home-place-primary{background:linear-gradient(#ffd97a,#ffc02e);box-shadow:inset 0 2px #ffffff8c,0 4px #d9900a,0 10px 16px #78460038}.home-place-primary .home-place-art{box-shadow:none;background:#ffffff8c}.home-place-primary p{color:#4a3200}.home-place-primary progress{background:#fff9}.home-place-primary progress::-webkit-progress-bar{background:#fff9}.home-place-primary .home-place-go{color:var(--accent);background:var(--home-ink);box-shadow:none}}@media (max-width:600px){.home-page{--home-w:calc(100vw - 24px)}.home-hero{padding-top:12px}.home-sheet{margin-bottom:10px}.home-hero-copy{padding:18px 20px 20px}.home-hero-copy>p{margin-top:8px}.home-frame{width:88%}.home-bolt{width:30%;left:-2%}.home-prop-bolts{display:none}.home-places-zone{padding-top:10px}.home-places{grid-template-columns:minmax(0,1fr);gap:8px;width:calc(100% - 24px)}.home-place{grid-template-columns:auto minmax(0,1fr) auto;place-items:center stretch;padding:10px 12px}.home-place-art{width:54px}.home-place p{margin-top:1px}.home-meter{margin-top:5px}.home-place-go{display:grid}}.level-chapters{flex-direction:column;gap:48px;display:flex}.dev-mode-note{margin-bottom:var(--space-3);border:1px solid var(--night-line);color:var(--on-night-muted);background:var(--night-950);font-size:var(--text-xs);border-radius:999px;padding:6px 10px;font-weight:700;display:inline-flex}.level-section{flex-direction:column;gap:18px;display:flex}.level-section-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-top:var(--space-2);display:flex}.level-section-head h2{color:var(--on-night);font-size:24px;font-weight:900;line-height:1.15}.level-section-title{align-items:baseline;gap:12px;display:flex}.level-section-heading{min-width:0}.level-section-count{color:var(--on-night-muted);white-space:nowrap;font-weight:700}.level-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:22px;display:grid}.level-preview{aspect-ratio:16/9;background:#f6ead3;position:relative;overflow:hidden}.level-preview-image{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.level-card{border:1px solid var(--panel-line);border-radius:var(--radius-l);min-width:0;color:var(--ink);background:var(--panel-bg);flex-direction:column;transition:transform .12s,box-shadow .12s;display:flex;overflow:hidden}.level-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #00000047}.level-card-locked:hover{box-shadow:none;transform:none}.level-card-thumb{border-bottom:1px solid var(--panel-line);position:relative}.level-card-thumb-action{z-index:1;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.level-card-thumb-action:disabled{cursor:default}.level-card-thumb-action:focus-visible{outline:3px solid var(--night-950);outline-offset:-3px}.level-card-thumb-action:not(:disabled):hover~.level-card-thumb{outline-offset:-3px;outline:3px solid #ffb720}.level-card-thumb-action:not(:disabled):hover~.level-card-body .level-card-title{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.level-card-heading{align-items:flex-start;gap:6px;display:flex}.level-card-heading .level-card-title{flex:1;min-width:0}.level-card-menu{z-index:2;flex:none;margin:-6px -4px 0 0;position:relative}.level-card-menu-toggle{color:#6d5c45;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;display:grid}.level-card-menu-toggle:not(:disabled):hover,.level-card-menu-toggle[aria-expanded=true]{color:#17233d;background:#6d5c4524}.level-card-menu-toggle:disabled{cursor:default;opacity:.4}.level-card-menu-list{z-index:2;background:#fdf6e6;border-radius:12px;min-width:168px;padding:5px;display:grid;position:absolute;top:100%;right:0;box-shadow:inset 0 0 0 2px #cdbb98,0 10px 22px #452d124d}.level-card-menu-list[hidden]{display:none}.level-card-menu-item{color:#17233d;cursor:pointer;min-height:40px;font:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;font-size:14.5px;font-weight:700;display:flex}.level-card-menu-item:not(:disabled):hover{background:#f3e6cc}.level-card-menu-item:disabled{cursor:default;opacity:.45}.level-card-menu-item-danger{color:#c0392b}.level-card-menu-item-danger:not(:disabled):hover{background:#fbe9e6}.app-shell-page .level-card:has(.level-card-menu-toggle[aria-expanded=true]){z-index:3}.level-card-number,.level-card-tier,.level-card-lock{pointer-events:none;align-items:center;height:30px;display:inline-flex;position:absolute}.level-card-number{border-radius:var(--radius-s);min-width:30px;color:var(--on-night);background:var(--night-900);font-size:var(--text-m);justify-content:center;padding:0 8px;font-weight:900;line-height:1;top:10px;left:10px}.level-card-tier{color:var(--ink);background:var(--panel-bg-raised);border-radius:999px;gap:6px;padding:0 10px 0 8px;font-size:13px;font-weight:800;top:10px;right:10px;box-shadow:0 2px 6px #00000026}.level-card-tier-resolved svg{color:var(--go)}.level-card-tier-elegant svg{color:#d99a00}.level-card-tier-minimal svg{color:#c46a12}.level-card-lock{color:var(--muted-ink);background:var(--panel-bg-raised);white-space:nowrap;border-radius:999px;gap:6px;padding:0 14px 0 10px;font-size:14px;font-weight:800;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0000001f}.level-card-locked .level-preview-image{filter:grayscale()contrast(.85)brightness(1.05);opacity:.55}.level-card-locked .level-card-title,.level-card-locked .level-card-description{opacity:.6}.level-card-body{flex-direction:column;flex:1;gap:4px;padding:14px 16px 16px;display:flex}.level-card-title{overflow-wrap:anywhere;margin:0;font-size:19px;font-weight:900;line-height:1.45}.level-card-meta{color:var(--muted-ink);font-size:var(--text-s);overflow-wrap:anywhere;font-weight:700;line-height:1.45}.level-card-attribution span+span:before{content:" · "}.level-card-description{color:var(--muted-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:14.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.level-card-sketch-note{width:-moz-fit-content;width:fit-content;margin-bottom:var(--space-1);color:#6b4c08;background:var(--panel-bg-active);letter-spacing:.06em;text-transform:uppercase;border:1px solid #d6b66d;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900;display:block}.my-levels{gap:48px;display:grid}.my-levels-empty{border:1px dashed var(--night-line);border-radius:var(--radius-l);color:var(--on-night-muted);background:var(--night-800);padding:22px 24px;line-height:1.45}.my-levels-notice{color:var(--on-night)}.my-levels-play-anyway{justify-self:start}@media (max-width:699px){.header-action-label{display:none}.level-label{flex-direction:column;align-items:center;line-height:1.2}.level-label>*{max-width:100%}.level-separator{display:none}.level-mode,.level-attribution{font-size:12px}}@media (min-width:700px){.page-content-levels{padding:40px var(--space-6) 64px}}.app-shell-board .app-main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.workspace{gap:var(--space-2);min-height:0;padding:var(--space-2) max(var(--space-3), env(safe-area-inset-right)) calc(var(--space-3) + var(--drawer-peek-height) + env(safe-area-inset-bottom)) max(var(--space-3), env(safe-area-inset-left));flex-direction:column;flex:1;display:flex}.workspace-no-drawer{padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom))}.workspace-toolbar{z-index:var(--z-toolbar);height:var(--touch-target);min-height:var(--touch-target);align-items:center;gap:var(--space-2);flex-wrap:nowrap;flex:none;display:flex;position:relative;container:toolbar/inline-size}.toolbar-group{gap:var(--space-2);display:flex}.toolbar-button{padding:0 var(--space-3)}.toolbar-primary{padding:0 var(--space-5);font-size:var(--text-m);margin-left:auto}.toolbar-status{justify-content:flex-end;align-items:center;gap:var(--space-2);min-width:0;color:var(--on-night-muted);font-size:var(--text-s);flex-wrap:nowrap;flex:auto;font-weight:700;display:flex}.toolbar-status-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-right:auto;overflow:hidden}.toolbar-status .btn{flex:none}.placement-cancel-short{display:none}@container toolbar (width<=559px){.workspace-toolbar,.toolbar-group{gap:6px}.toolbar-button{padding:0 var(--space-2)}.toolbar-button-label,.toolbar-status-text,.placement-cancel-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.placement-cancel-short{display:inline}.toolbar-status{justify-content:flex-start;gap:6px}.toolbar-status .btn{min-width:var(--touch-target);padding:0 var(--space-2);white-space:normal;flex:0 auto;font-size:12px}.toolbar-primary{padding:0 var(--space-4)}.toolbar-reset{min-width:var(--touch-target);padding:0 var(--space-2);white-space:normal;font-size:12px}}@container toolbar (width<=339px){.placement-cancel-kind{display:none}}.toolbar-status strong{color:var(--on-night)}.placement-cancel{min-width:44px;min-height:44px}.toolbar-feedback{z-index:var(--z-toast);padding:var(--space-2) var(--space-3);border:2px solid var(--danger);border-radius:var(--radius-m);color:var(--ink);background:var(--panel-bg-raised);font-size:var(--text-s);margin:6px 0 0;line-height:1.35;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 20px #050c1a59}.toolbar-notice{z-index:var(--z-toast);align-items:center;gap:var(--space-2);padding:0 0 0 var(--space-3);border:1px solid var(--night-line);border-radius:var(--radius-m);color:var(--on-night-muted);background:var(--night-700);font-size:var(--text-s);margin:6px 0 0;line-height:1.35;display:flex;position:absolute;top:100%;left:0;right:0}.toolbar-notice p{flex:auto;margin:0}.toolbar-notice-dismiss{width:var(--touch-target);height:var(--touch-target);color:inherit;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.wiring-guide{z-index:var(--z-toast);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border:2px solid var(--accent);border-radius:var(--radius-m);color:var(--ink);background:var(--panel-bg-raised);font-size:var(--text-s);margin:6px 0 0;line-height:1.35;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 20px #050c1a59}.wiring-guide-copy{flex:1;gap:2px;min-width:0;display:grid}.wiring-guide-copy p{margin:0}.wiring-guide-prompt{font-weight:700}.wiring-guide-refusal{color:var(--danger)}.wiring-guide .btn{min-height:var(--touch-target);flex:none}.board-scene-row{flex:1 1 0;min-height:120px;display:flex}.scene-frame{border:3px solid var(--night-950);border-radius:var(--radius-l);width:100%;height:100%;box-shadow:0 0 0 2px var(--night-line);touch-action:none;overscroll-behavior:contain;background-color:#d9d2c7;position:relative;overflow:hidden}.board-canvas{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.beam-size-handle-stem{z-index:2;transform-origin:0;background:var(--night-900);pointer-events:none;height:2px;position:absolute}.beam-size-handle{z-index:3;width:var(--touch-target);height:var(--touch-target);color:var(--accent);cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.beam-size-handle:active{cursor:grabbing}.beam-size-handle:before{z-index:0;border:2px solid var(--night-950);background:var(--night-800);content:"";pointer-events:none;border-radius:50%;width:28px;height:28px;position:absolute}.beam-size-handle>svg{z-index:1;position:relative}.beam-size-handle:hover:before,.beam-size-handle:focus-visible:before{background:var(--night-600)}.placement-preview-status{z-index:4;right:var(--space-2);bottom:var(--space-2);border-radius:var(--radius-s);color:var(--on-night);background:#0a1426d1;padding:6px 9px;font-size:12px;font-weight:700;position:absolute}.camera-controls{justify-content:center;gap:var(--space-2);touch-action:manipulation;flex:none;display:flex}.camera-button{min-width:var(--touch-target);min-height:var(--touch-target);padding:0 var(--space-3);border:2px solid var(--night-line);border-radius:var(--radius-m);color:var(--on-night);background:var(--night-700);font-size:var(--text-s);cursor:pointer;font-weight:800}.camera-reset{flex:0 260px}.status-slot{overscroll-behavior:contain;flex-direction:column;flex:0 0 104px;height:104px;min-height:104px;display:flex;overflow-y:auto}.inspector{gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex}.inspector-open{align-self:flex-end}.inspector-scene-list{flex:none}.inspector-scene-toggle{width:100%;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--panel-line);border-radius:var(--radius-m);color:var(--muted-ink);background:var(--panel-bg-raised);text-align:left;font-weight:700}.inspector-scene-toggle[aria-expanded=true]{border-color:var(--accent)}.inspector-scene-list ul{gap:var(--space-1);margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid}.inspector-scene-list ul[hidden]{display:none}.inspector-scene-list li button{width:100%;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--panel-line);border-radius:var(--radius-m);color:var(--muted-ink);background:var(--panel-bg-raised);text-align:left}.inspector-scene-list li button[aria-pressed=true]{border-color:var(--accent);color:var(--ink)}.board-hint{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-1) 0 var(--space-1) var(--space-3);border:2px solid var(--accent);border-radius:var(--radius-m);color:var(--ink);background:var(--panel-bg-raised);font-size:var(--text-s);flex:none;line-height:1.35;display:flex}.board-hint-icon{flex:none}.board-hint-text{flex:auto;min-width:0;margin:0}.board-hint-dismiss{width:var(--touch-target);height:var(--touch-target);color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex:none;place-items:center;display:grid}.pwa-invitation{flex-wrap:wrap}.pwa-invitation .board-hint-text{flex-basis:10em}.pwa-invitation-actions{flex:none;align-items:center;margin-left:auto;display:flex}.level-result{flex-direction:row;flex:none}.level-result .panel-header{min-height:0;padding:0 var(--space-2);flex:none}.level-result .panel-title{font-size:var(--text-xs)}.level-result .panel-body{min-width:0;padding:6px var(--space-2);flex:1;gap:6px}.level-result-victory .panel-header{background:var(--success)}.level-result-failure .panel-header{background:var(--danger)}.level-result-reason{font-size:12px;line-height:1.3}.level-result-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.level-result-actions .btn{min-width:0;padding:0 var(--space-2);white-space:normal;text-align:center;flex:1 1 0}.context-panel .panel-body{overflow-y:auto}.context-identity{font-size:var(--text-m);font-weight:800}.context-restriction{color:var(--muted-ink);font-size:var(--text-s)}.context-move-controls,.context-rotation-controls{gap:var(--space-2);flex-wrap:wrap;display:flex}.context-role{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.context-role-option[aria-pressed=true]{border-color:var(--ink);background:var(--accent);font-weight:800}.context-move-controls .btn{font-size:var(--text-l)}.context-size-control{font-size:var(--text-s);gap:5px;font-weight:700;display:grid}.context-size-control select{min-height:var(--touch-target);padding:0 var(--space-2);border:2px solid var(--panel-line);border-radius:var(--radius-m);color:var(--ink);background:var(--panel-bg-raised)}.context-circuits{gap:var(--space-2);font-size:var(--text-s);margin:0;padding:0;list-style:none;display:grid}.context-circuits li{align-items:center;gap:var(--space-2);padding:var(--space-2);border:2px solid var(--panel-line);border-radius:var(--radius-m);flex-wrap:wrap;display:flex}.context-circuit-title{flex-basis:100%;font-weight:700}.context-circuits .context-role{flex:auto}.context-wiring{gap:var(--space-2);font-size:var(--text-s);display:grid}.context-wiring p{margin:0}.context-delete{border-color:var(--danger);color:var(--danger);align-self:flex-start}.context-panel{z-index:var(--z-sheet);border-radius:var(--radius-l) var(--radius-l) 0 0;max-height:min(68dvh,440px);box-shadow:var(--shadow-sheet);border-width:2px 0 0;position:fixed;bottom:0;left:0;right:0}.context-panel .panel-body{padding-right:max(var(--space-3), env(safe-area-inset-right));padding-bottom:max(var(--space-3), env(safe-area-inset-bottom));padding-left:max(var(--space-3), env(safe-area-inset-left))}.drawer-scrim,.inspector-scrim,.dialog-scrim{cursor:pointer;touch-action:manipulation;background:#050c1a73;border:0;width:100%;height:100%;position:fixed;inset:0}.drawer-scrim{z-index:var(--z-drawer-scrim)}.inspector-scrim{z-index:var(--z-inspector-scrim)}.dialog-scrim{z-index:var(--z-dialog-scrim)}.dialog{z-index:var(--z-dialog);width:min(420px, calc(100vw - 2 * var(--space-4)));max-height:calc(100dvh - 2 * var(--space-4));position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 40px #050c1a8c}.dialog .panel-body{padding:var(--space-4);overflow-y:auto}.dialog-text{font-size:var(--text-m);font-weight:700;line-height:1.4}.victory-dialog .panel-header{background:var(--success)}.victory-dialog .panel-title{font-size:var(--text-l);letter-spacing:.04em}.victory-dialog .panel-body{gap:var(--space-3);padding-bottom:var(--space-1)}@media (prefers-reduced-motion:no-preference){.victory-dialog{animation:.22s ease-out victory-dialog-in}}@keyframes victory-dialog-in{0%{opacity:0;transform:translate(-50%,-46%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)}}.victory-tiers{justify-content:center;gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.victory-tier{min-width:0;max-width:120px;padding:var(--space-2) var(--space-1);border:2px solid var(--panel-line);border-radius:var(--radius-m);background:var(--panel-bg-raised);flex-direction:column;flex:1 1 0;align-items:center;gap:2px;display:flex}.victory-tier[data-earned=true]{border-color:var(--accent);background:var(--panel-bg-active)}.victory-tier-icon{font-size:32px;line-height:1.1}.victory-tier-name{color:var(--muted-ink);font-size:var(--text-s);font-weight:600}.victory-tier[data-earned=true] .victory-tier-name{color:var(--ink);font-weight:800}.victory-tier[data-earned=false] .victory-tier-icon{filter:grayscale();opacity:.35}.victory-summary{gap:var(--space-1);text-align:center;flex-direction:column;flex:1;min-width:0;display:flex}.victory-summary-row{align-items:center;gap:var(--space-3);min-height:96px;display:flex}.victory-bolt{aspect-ratio:1;width:92px}.victory-count{font-size:var(--text-m);font-weight:700;line-height:1.3}.victory-challenge{color:var(--muted-ink);font-size:var(--text-s);line-height:1.35}.victory-actions{gap:var(--space-2);flex-direction:column;display:flex}.victory-actions .btn{gap:var(--space-2);width:100%}.victory-next{min-height:52px;font-size:var(--text-l)}.victory-see-scene{min-height:var(--touch-target);color:var(--muted-ink);font:inherit;font-size:var(--text-s);text-underline-offset:3px;cursor:pointer;touch-action:manipulation;background:0 0;border:0;font-weight:700;text-decoration:underline}@media (max-height:480px){.victory-dialog .panel-body{gap:var(--space-2);padding:var(--space-2) var(--space-3)}.victory-tier{justify-content:center;gap:var(--space-1);padding:var(--space-1);flex-direction:row}.victory-tier-icon{font-size:22px}.victory-actions{grid-template-columns:1fr 1fr;display:grid}.victory-next{min-height:var(--touch-target);font-size:var(--text-m)}.victory-see-scene{grid-column:1/-1}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.export-reasons{padding-left:var(--space-4);font-size:var(--text-s);line-height:1.4}.export-status{min-height:1.4em;font-size:var(--text-s);font-weight:700}.export-link{gap:var(--space-1);font-size:var(--text-s);flex-direction:column;flex-shrink:0;font-weight:700;display:flex}.export-link-field{width:100%;padding:var(--space-2);border:2px solid var(--night-950);border-radius:var(--radius-m);font:inherit;min-height:6.5em;color:var(--ink);background:var(--panel-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;word-break:break-all;resize:none;font-weight:400}.export-name-field{word-break:normal;min-height:0}.export-name-field[aria-invalid=true]{border-color:var(--danger)}.settings-page{gap:var(--space-4);justify-items:stretch;display:grid}.settings-page .export-name-field{min-height:var(--touch-target)}.export-field-error{color:var(--danger);font-size:var(--text-s);font-weight:700}.object-drawer{z-index:var(--z-sheet);overscroll-behavior:contain;height:min(72dvh,440px);min-height:0;max-height:calc(100dvh - 12px);padding:0 max(var(--space-3), env(safe-area-inset-right)) max(var(--space-3), env(safe-area-inset-bottom)) max(var(--space-3), env(safe-area-inset-left));border-top:2px solid var(--night-950);border-radius:var(--radius-l) var(--radius-l) 0 0;color:var(--ink);background:var(--panel-bg);box-shadow:var(--shadow-sheet);touch-action:pan-y;flex-direction:column;transition:height .18s;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.object-drawer-collapsed{height:var(--drawer-peek-height)}.drawer-handle{z-index:1;background:var(--on-night-muted);border-radius:99px;width:40px;height:4px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.drawer-heading{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:56px;margin:0 calc(-1 * max(var(--space-3), env(safe-area-inset-right))) var(--space-3) calc(-1 * max(var(--space-3), env(safe-area-inset-left)));padding:14px max(var(--space-3), env(safe-area-inset-right)) var(--space-1) max(var(--space-3), env(safe-area-inset-left));color:var(--on-night);background:var(--night-800);flex:none;display:flex}.drawer-heading>div{min-width:0}.eyebrow{color:var(--accent);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:800}.drawer-heading h2{font-size:var(--text-m);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.object-count{color:var(--on-night-muted);font-size:var(--text-xs);white-space:nowrap;margin-left:auto;font-weight:700}.drawer-toggle,.drawer-close{width:var(--touch-target);height:var(--touch-target);flex:0 0 var(--touch-target);border:2px solid var(--night-950);border-radius:var(--radius-m);place-items:center;line-height:1;display:grid}.drawer-toggle{color:var(--night-950);background:var(--accent);font-size:22px}.drawer-close{color:var(--on-night);background:var(--night-700);border-color:var(--night-line);font-size:24px}.object-drawer-collapsed .drawer-heading{margin-bottom:0}.drawer-content{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.object-list{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.object-group{grid-column:1/-1;grid-template-columns:subgrid;gap:var(--space-2);display:grid}.object-group+.object-group{margin-top:var(--space-2)}.object-group-title{color:var(--muted-ink);letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;margin:0;font-size:11px;font-weight:800}.object-card{align-items:center;gap:var(--space-2);min-height:72px;padding:var(--space-2);border:2px solid var(--panel-line);border-radius:var(--radius-l);color:var(--muted-ink);background:var(--panel-bg-raised);text-align:left;transition:border-color .12s,background .12s,transform .12s;display:flex}.object-card:disabled{cursor:not-allowed;opacity:.5}.object-card:not(:disabled):active{transform:translateY(1px)}.object-card-selected{border-color:var(--night-700);background:var(--panel-bg-active);box-shadow:inset 0 0 0 1px var(--night-700)}.object-thumb{flex:0 0 56px;width:56px;height:40px;display:block;position:relative}.object-thumb img{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.object-card-copy{flex:1;gap:2px;min-width:0;display:grid}.object-card-copy strong{color:var(--ink);font-size:var(--text-s)}.object-card-copy span{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.object-card-action{color:var(--night-700);font-size:22px;font-weight:700}.drawer-hint{min-height:18px;margin-top:var(--space-3);color:var(--muted-ink);font-size:var(--text-xs);text-align:center}@media (orientation:portrait) and (max-height:699px){:root{--drawer-peek-height:64px}.drawer-heading{min-height:48px;padding-top:var(--space-3)}}@media (orientation:landscape) and (max-width:999px),(orientation:landscape) and (max-height:699px){:root{--header-height:48px}.workspace{grid-template-columns:minmax(0, 1fr) var(--landscape-dock-width);gap:var(--space-2);padding:var(--space-2) max(var(--space-3), env(safe-area-inset-right)) max(var(--space-2), env(safe-area-inset-bottom)) calc(var(--landscape-rail-width) + max(var(--space-3), env(safe-area-inset-left)));grid-template-rows:auto minmax(0,1fr);display:grid}.workspace-no-drawer{padding-left:max(var(--space-3), env(safe-area-inset-left))}.workspace-toolbar{grid-area:1/1/2/2}.camera-controls{gap:var(--space-1);grid-area:1/2/2/3}.camera-reset{width:var(--touch-target);flex:0 0 var(--touch-target);padding:0;font-size:0;overflow:hidden}.board-scene-row{grid-area:2/1/3/2;min-height:0}.status-slot{grid-area:2/2/3/3;height:auto;min-height:0}.level-result{flex-direction:column}.level-result .panel-header{min-height:40px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3)}.level-result .panel-title{font-size:var(--text-s)}.level-result .panel-body{padding:var(--space-2) var(--space-3)}.inspector-open{align-self:stretch}.level-result-actions{flex-direction:column}.object-drawer{border-top:0;border-right:2px solid var(--night-950);border-radius:0 var(--radius-l) var(--radius-l) 0;width:min(44vw,360px);height:100dvh;max-height:100dvh;inset:0 auto 0 0;box-shadow:10px 0 28px #050c1a59}.object-drawer .drawer-handle{display:none}.drawer-heading{padding-top:max(var(--space-2), env(safe-area-inset-top))}.object-drawer-collapsed{top:calc(var(--header-height) + env(safe-area-inset-top,0px));width:var(--landscape-rail-width);border-radius:0 var(--radius-l) 0 0;background:var(--night-800);height:auto;padding:0}.object-drawer-collapsed .drawer-heading{padding:var(--space-2) 0;justify-content:center;margin:0}.object-drawer-collapsed .drawer-heading>div,.object-drawer-collapsed .object-count{display:none}.context-panel{border-radius:var(--radius-l) 0 0 var(--radius-l);border-width:0 0 0 2px;width:min(44vw,360px);max-height:100dvh;inset:0 0 0 auto;box-shadow:-10px 0 28px #050c1a59}.context-panel .panel-header{padding-top:max(var(--space-1), env(safe-area-inset-top))}}@media (min-width:1000px) and (min-height:700px){:root{--header-height:60px}.objective-button{padding:0 var(--space-3) 0 var(--space-2)}.objective-button-label{display:inline}.app-shell-board .app-main{gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-5);flex-direction:row}.drawer-scrim{display:none}.object-drawer{z-index:auto;width:var(--rail-left-width);flex:0 0 var(--rail-left-width);height:auto;max-height:100%;padding:0 var(--space-3) var(--space-3);border:2px solid var(--night-950);border-radius:var(--radius-l);box-shadow:none;transition:none;position:relative;inset:auto}.object-drawer .drawer-handle,.object-drawer .drawer-toggle{display:none}.drawer-heading{min-height:48px;margin:0 calc(-1 * var(--space-3)) var(--space-3);padding:var(--space-2) var(--space-3)}.object-list{grid-template-columns:1fr}.workspace{grid-template-columns:minmax(0, 1fr) var(--rail-right-width);column-gap:var(--space-4);row-gap:var(--space-3);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;padding:0;display:grid}.workspace-toolbar{grid-area:1/1/2/2}.board-scene-row{grid-area:2/1/3/2}.camera-controls{grid-area:3/1/4/2}.status-slot{grid-area:1/2/4/3;height:auto;min-height:0}.level-result{flex-direction:column}.level-result .panel-header{min-height:40px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3)}.level-result .panel-title{font-size:var(--text-s)}.level-result .panel-body{padding:var(--space-2) var(--space-3)}.context-panel{z-index:auto;border-radius:var(--radius-l);max-height:none;box-shadow:none;border-width:2px;position:static}.context-panel .panel-body{padding:var(--space-3)}}@media (min-width:1000px) and (max-width:1279px) and (min-height:700px){:root{--rail-left-width:236px;--rail-right-width:264px}.object-card-copy span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.bench-frame-meter{right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));z-index:50;background:var(--night-900);color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:8px;margin:0;padding:6px 10px;position:fixed}.app-shell-desk{--desk-ink:#17233d;--desk-edge:#cdbb98;--desk-paper:#fdf6e6;color:#4a4037}.app-shell-desk .app-main{padding:12px max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));flex-direction:row;gap:12px}.app-shell-desk .workspace .btn,.app-shell-desk .workspace .objective-button{height:44px;min-height:44px;color:var(--desk-ink);background:var(--desk-paper);box-shadow:inset 0 0 0 2px var(--desk-edge);font-family:var(--font-title);border:0;border-radius:12px;font-size:16px;font-weight:700}.app-shell-desk .workspace .btn-go{color:#fff;background:var(--go);box-shadow:none}.app-shell-desk .workspace .btn-pause{color:#fff;background:var(--pause);box-shadow:none}.app-shell-desk .workspace .btn-reset{color:#fff;background:var(--reset);box-shadow:none}.app-shell-desk .workspace{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;padding:0;display:grid;position:relative}.app-shell-desk .workspace-toolbar{grid-area:1/1/2/2}.workspace-toolbar-desk{gap:10px}.toolbar-icons{background:var(--desk-paper);box-shadow:inset 0 0 0 2px var(--desk-edge);border-radius:12px;gap:0;overflow:hidden}.app-shell-desk .workspace .toolbar-icons .btn{min-width:44px;box-shadow:none;background:0 0;border-radius:0;padding:0}.app-shell-desk .workspace .toolbar-icons .btn+.btn{box-shadow:-2px 0 #e2d3b4}.toolbar-title{min-width:0;color:var(--desk-ink);font-family:var(--font-title);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:19px;font-weight:800;overflow:hidden}.toolbar-heading{flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.toolbar-heading .toolbar-title{flex:0 auto}.toolbar-title-default{opacity:.55;font-style:italic}.app-shell-desk .workspace .title-action{flex:none;min-width:36px;height:36px;min-height:0;padding:0}.app-shell-desk .workspace .title-action:disabled{cursor:default;opacity:.45}.workspace-toolbar-desk .toolbar-status{flex:1}.app-shell-desk .workspace .objective-button{gap:8px;padding:0 14px}.app-shell-desk .workspace .objective-button-glyph{width:auto;height:auto;color:inherit;background:0 0}.app-shell-desk .workspace .objective-button-label{font-size:inherit;font-weight:inherit;display:inline}.app-shell-desk .workspace .toolbar-primary{padding:0 16px}.app-shell-desk .toolbar-feedback,.app-shell-desk .toolbar-notice{max-width:min(640px,100% - 32px);color:var(--desk-ink);background:var(--desk-paper);box-shadow:inset 0 0 0 2px var(--desk-edge);border:0;border-radius:12px;margin-top:16px;font-weight:700;left:50%;right:auto;transform:translate(-50%)}.app-shell-desk .toolbar-feedback{box-shadow:inset 0 0 0 2px #e3b3ab}.app-shell-desk .board-scene-row{grid-area:2/1/3/2;min-height:0}.app-shell-desk .scene-frame{border:2px solid var(--desk-edge);box-shadow:none;background-color:#f6ead3;border-radius:14px}.app-shell-desk .status-slot{z-index:var(--z-toast);flex:none;grid-area:auto;width:min(560px,100% - 32px);height:auto;min-height:0;max-height:60%;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.app-shell-desk .object-drawer{z-index:0;width:252px;height:auto;max-height:100%;color:var(--desk-ink);box-shadow:none;background:0 0;border:0;border-radius:0;flex:0 0 252px;padding:12px 10px 14px;transition:none;position:relative;inset:auto;overflow:visible;transform:none}.app-shell-desk .object-drawer:before{z-index:-1;background-blend-mode:multiply;content:"";pointer-events:none;transform:rotate(var(--card-tilt));transform-origin:50% 12px;background:#ffedc7 url(/assets/home/papier.webp) 0 0/320px;position:absolute;inset:0;-webkit-mask:url(/assets/campaign/paper-edge.svg) 0 0/100% 100% no-repeat;mask:url(/assets/campaign/paper-edge.svg) 0 0/100% 100% no-repeat}.app-shell-desk .object-drawer:after{content:"";pointer-events:none;background:url(/assets/campaign/pin2.png) 50%/contain no-repeat;width:30px;height:30px;position:absolute;top:-8px;left:0}.app-shell-desk .drawer-content{scrollbar-gutter:auto;min-width:0}.app-shell-desk .drawer-heading{min-height:0;color:var(--desk-ink);background:0 0;align-items:center;margin:0;padding:7px 5px 12px}.app-shell-desk .drawer-heading h2{font-family:var(--font-title);font-size:25px;font-weight:800}.app-shell-desk .object-count{color:#7a6a58;background:0 0;font-size:12px;font-weight:700;display:block}.drawer-search-toggle{color:#17233d;cursor:pointer;background:#fff8e8;border:2px solid #cdbb98;border-radius:10px;flex:0 0 40px;place-items:center;width:40px;height:40px;padding:0;display:grid}.drawer-search{flex:none;padding-bottom:10px}.drawer-search input{color:#17233d;background:#fffaf0;border:2px solid #cdbb98;border-radius:8px;width:100%;min-width:0;height:40px;padding:6px 10px;font-size:13px}.app-shell-desk .object-list,.app-shell-desk .object-group,.app-shell-desk .object-group-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.app-shell-desk .object-list{padding:0 2px 4px}.object-group-cards{grid-column:1/-1;grid-template-columns:subgrid;gap:var(--space-2);display:grid}.object-group-panel{grid-column:1/-1;grid-template-rows:0fr;min-width:0;transition:grid-template-rows .18s ease-out;display:grid}.object-group-panel[data-expanded=true]{grid-template-rows:1fr}.object-group-panel>.object-group-cards{opacity:0;min-width:0;min-height:0;transition:opacity .15s ease-out;overflow:hidden}.object-group-panel[data-expanded=true]>.object-group-cards{opacity:1}.app-shell-desk .object-group,.app-shell-desk .object-group-title{grid-column:1/-1}.app-shell-desk .object-group+.object-group{margin-top:5px}.app-shell-desk .object-group-title{font-size:inherit;letter-spacing:normal;text-transform:none;margin:0}.object-group-toggle{color:#fffaf0;width:100%;min-height:50px;font-family:var(--font-title);text-align:left;cursor:pointer;background:#a66b30 url(/assets/catalogue/wood.svg) 50%/100% 100%;border:1px solid #805025;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:18px;font-weight:800;line-height:1.1;display:flex;position:relative;box-shadow:inset 0 0 0 2px #f3d7ab3d,0 2px 2px #55321229}.object-group-toggle:before{border-radius:inherit;content:"";pointer-events:none;background:radial-gradient(circle at 5px 5px,#73563b 1px,#dbb77c 2px,#0000 3px),radial-gradient(circle at calc(100% - 5px) 5px,#73563b 1px,#dbb77c 2px,#0000 3px),radial-gradient(circle at 5px calc(100% - 5px),#73563b 1px,#dbb77c 2px,#0000 3px),radial-gradient(circle at calc(100% - 5px) calc(100% - 5px),#73563b 1px,#dbb77c 2px,#0000 3px);position:absolute;inset:0}.object-group-toggle img{object-fit:contain;pointer-events:none;flex:0 0 34px;width:34px;height:34px}.object-group-toggle svg{flex:0 0 20px;margin-left:auto;transition:transform .18s ease-out}.object-group-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.app-shell-desk .object-card{min-height:86px;color:var(--desk-ink);text-align:center;background:#fffcf4e6;border:0;border-radius:8px;flex-direction:column;justify-content:center;gap:5px;padding:8px 4px}.app-shell-desk .object-card-selected{background:linear-gradient(#ffd97a,#ffc02e)}.app-shell-desk .object-thumb{flex:0 0 48px;width:64px;height:48px}.app-shell-desk .object-thumb svg{width:100%;height:100%}.app-shell-desk .object-card-copy strong{color:var(--desk-ink);font-size:12.5px;font-weight:800;line-height:1.15}.app-shell-desk .object-card-copy span{font-size:11px;display:block}.app-shell-desk .object-list-author .object-card-copy span,.app-shell-desk .object-card-action{display:none}.floating-bar{z-index:5;position:absolute;transform:translate(-50%,-100%)}.floating-bar-below{transform:translate(-50%)}.object-bar{color:#17233d;white-space:nowrap;background:linear-gradient(#fffcf4e0,#fffcf4e0),#fdf6e6 url(/assets/home/papier.webp) 0 0/320px;border-radius:14px;flex-direction:column;gap:6px;min-width:190px;padding:8px;display:flex;position:relative;box-shadow:inset 0 0 0 2px #cdbb98}.object-bar-head{align-items:center;gap:6px;padding-left:4px;display:flex}.object-bar-name{font-family:var(--font-title);margin-right:auto;padding-right:6px;font-size:15.5px;font-weight:800}.object-bar button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.object-bar button:focus-visible{outline:3px solid var(--pause);outline-offset:1px}.object-bar-command{border-radius:9px;place-items:center;width:32px;height:32px;display:grid;box-shadow:inset 0 0 0 2px #cdbb98}.object-bar .object-bar-remove{color:#c0392b;box-shadow:inset 0 0 0 2px #e3b3ab}.object-bar-choices,.object-bar-stepper{background:#eadbbb;border-radius:10px;align-items:center;padding:3px;display:flex}.object-bar-choices button,.object-bar-stepper button{color:#6d5c45;border-radius:8px;flex:1;height:32px;padding:0 12px;font-size:13.5px;font-weight:700}.object-bar-choices button[aria-pressed=true]{color:#17233d;background:linear-gradient(#ffd266,#ffb720)}.object-bar-stepper button{color:#17233d;background:#fdf6e6;flex:0 0 36px;place-items:center;padding:0;display:grid}.object-bar-stepper button:disabled{cursor:not-allowed;opacity:.45}.object-bar-stepper output{text-align:center;flex:1;font-size:14px;font-weight:800}.object-bar-note{color:#6d5c45;padding:0 4px 2px;font-size:13px;font-weight:600}.wire-selection{z-index:2;fill:none;opacity:.75;pointer-events:none;stroke:#ffc53d;stroke-linecap:round;stroke-linejoin:round;stroke-width:9px;width:100%;height:100%;position:absolute;inset:0}@media (max-width:1099px){.toolbar-title{visibility:hidden}.toolbar-heading{justify-content:flex-end}.toolbar-heading .toolbar-title{display:none}.app-shell-desk .workspace .title-action{min-width:44px;height:auto;min-height:44px}.app-shell-desk .workspace .objective-button{min-width:44px;padding:0}.app-shell-desk .workspace .objective-button-label{display:none}.app-shell-desk .app-main{gap:10px;padding-top:10px}.app-shell-desk .object-drawer{flex-basis:92px;width:92px;padding:0}.app-shell-desk .drawer-heading{justify-content:center;padding:2px 0 6px}.app-shell-desk .drawer-heading>div,.app-shell-desk .drawer-hint{display:none}.app-shell-desk .object-list,.app-shell-desk .object-group,.app-shell-desk .object-group-cards{grid-template-columns:minmax(0,1fr)}.app-shell-desk .object-group-title{height:auto;margin:0;overflow:visible}.app-shell-desk .object-group-toggle{justify-content:center;gap:4px;min-height:34px;padding:4px}.app-shell-desk .object-group-toggle img{flex-basis:24px;width:24px;height:24px}.app-shell-desk .object-group-toggle span,.app-shell-desk .object-drawer:after{display:none}.app-shell-desk .object-card-copy strong{font-size:11px}}@media (orientation:landscape) and (max-height:520px){.app-shell-desk .app-main{padding-top:8px;padding-bottom:max(8px, env(safe-area-inset-bottom));gap:8px}.app-shell-desk .object-drawer{flex-basis:84px;width:84px}.app-shell-desk .workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto;gap:8px}.app-shell-desk .workspace-toolbar{grid-area:1/2/2/3;grid-template-columns:44px 44px;grid-auto-rows:44px;align-content:start;gap:6px;height:auto;display:grid;position:static;overflow-y:auto}.app-shell-desk .board-scene-row{grid-area:1/1/2/2}.app-shell-desk .toolbar-icons,.app-shell-desk .workspace-toolbar-desk .toolbar-status{display:contents}.app-shell-desk .workspace .toolbar-icons .btn,.app-shell-desk .workspace .toolbar-icons .btn+.btn{background:var(--desk-paper);box-shadow:inset 0 0 0 2px var(--desk-edge);border-radius:12px}.app-shell-desk .workspace-toolbar .btn{min-width:0;padding:0}.app-shell-desk .toolbar-title,.app-shell-desk .toolbar-status-text,.app-shell-desk .toolbar-status strong{display:none}.app-shell-desk .workspace-toolbar .toolbar-button-label,.app-shell-desk .workspace-toolbar .placement-cancel-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell-desk .workspace .toolbar-primary,.app-shell-desk .workspace .placement-cancel{order:-1;grid-column:1/-1}.app-shell-desk .workspace .toolbar-primary{gap:4px;font-size:15px}.app-shell-desk .workspace .toolbar-primary .toolbar-button-label{clip-path:none;width:auto;height:auto;position:static}.app-shell-desk .toolbar-feedback,.app-shell-desk .toolbar-notice,.app-shell-desk .wiring-guide{margin-top:0;top:8px}.app-shell-desk .wiring-guide{left:8px;right:112px}.app-shell-desk .status-slot{max-height:80%;left:calc(50% - 52px)}}@media (orientation:portrait) and (max-width:699px){.app-shell-desk .app-main{padding:8px max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));flex-direction:column;gap:8px}.app-shell-desk .workspace{flex:1;gap:8px}.app-shell-desk .workspace-toolbar-desk{gap:6px}.app-shell-desk .workspace .toolbar-primary{margin-left:auto}.app-shell-desk .object-drawer{flex:none;order:2;width:auto;max-height:none}.app-shell-desk .drawer-heading{display:none}.app-shell-desk .object-group-title{flex:0 0 36px;align-self:stretch}.app-shell-desk .drawer-content{overflow:auto hidden}.app-shell-desk .object-list{gap:6px;padding:0 0 4px;display:flex}.app-shell-desk .object-group{flex:none;align-items:stretch;gap:4px;margin:0;display:flex}.app-shell-desk .object-group-toggle{background-image:url(/assets/catalogue/wood-vertical.svg);border-radius:4px;flex-direction:column;justify-content:center;gap:0;width:36px;height:100%;min-height:74px;padding:2px}.app-shell-desk .object-group-toggle img{flex-basis:20px;width:20px;height:20px}.app-shell-desk .object-group-toggle svg{flex-basis:10px;width:10px;height:10px;margin-left:0;transform:rotate(-90deg)}.app-shell-desk .object-group-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.app-shell-desk .object-group-panel{grid-template-rows:1fr;grid-template-columns:0fr;transition:grid-template-columns .18s ease-out}.app-shell-desk .object-group-panel[data-expanded=true]{grid-template-columns:1fr}.app-shell-desk .object-group-cards{gap:4px;display:flex}.app-shell-desk .object-card{border-radius:5px;flex:0 0 58px;gap:3px;min-width:0;min-height:74px;padding:5px 2px}.app-shell-desk .object-thumb{flex-basis:38px;width:44px;height:38px}.app-shell-desk .object-card-copy strong{font-size:9px;line-height:1.15}}@media (orientation:portrait) and (max-width:419px){.app-shell-desk .workspace-toolbar .toolbar-primary .toolbar-button-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell-desk .workspace .toolbar-primary{padding:0}}@media (orientation:portrait) and (max-width:359px){.app-shell-desk .toolbar-icons[aria-label="Cadrage du plateau"] .btn:not(:last-child){display:none}}.app-shell-page{color:#4a4037}.app-shell-page .app-main{position:relative;overflow:clip}.page-head,.app-shell-page .page-content:not(.home-page){width:min(100% - 48px,1240px);max-width:none;margin:0 auto;padding:0}.app-shell-page .page-content:not(.home-page){padding:0 0 max(40px, env(safe-area-inset-bottom));position:relative}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;padding:22px 0 18px;display:flex;position:relative}.page-head h2{color:#17233d;font-family:var(--font-title);letter-spacing:-.01em;margin:0;font-size:clamp(30px,3.4vw,44px);font-weight:800;line-height:1.05}.page-head-context{color:#7a6a58;font-size:var(--text-s);margin-top:2px;font-weight:700}.page-head-actions{align-items:center;gap:8px;display:flex}.app-shell-page .app-main .btn{color:#17233d;font-family:var(--font-title);background:#fdf6e6;border:0;border-radius:12px;font-size:16px;font-weight:700;box-shadow:inset 0 0 0 2px #cdbb98}.app-shell-page .app-main .btn-go{box-shadow:none;background:linear-gradient(#ffd266,#ffb720)}.app-shell-page .app-main .btn-reset{color:#fff;background:var(--reset);box-shadow:none}.page-head-actions .header-action-label{display:inline}.page-progress{align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.page-progress strong{color:#17233d;font-weight:800}.page-progress progress{appearance:none;background:#e4d6b8;border:0;border-radius:8px;width:180px;height:10px;overflow:hidden}.page-progress progress::-webkit-progress-bar{background:#e4d6b8}.page-progress progress::-webkit-progress-value{background:var(--go);border-radius:8px}.page-progress progress::-moz-progress-bar{background:var(--go);border-radius:8px}.page-prop{pointer-events:none;background:50%/contain no-repeat;display:none;position:absolute}@media (min-width:1500px){.page-prop{display:block}.page-prop-plans{aspect-ratio:800/590;background-image:url(/assets/home/plans.webp);width:280px;top:150px;right:-150px;transform:rotate(12deg)}.page-prop-square{aspect-ratio:1;background-image:url(/assets/home/equerre.webp);width:170px;top:620px;right:-70px;transform:rotate(-8deg)}.page-prop-screwdriver{aspect-ratio:900/227;background-image:url(/assets/home/tournevis.webp);width:230px;top:420px;left:-110px;transform:rotate(62deg)}}@media (min-width:1700px){.app-shell-page .page-content-levels:not(.home-page){width:min(100% - 48px,1560px)}.page-head:has(+.page-content-levels){width:min(100% - 48px,1560px)}}.app-shell-page .app-main .panel,.app-shell-page .my-levels-empty,.app-shell-page .my-levels-notice{color:#4a4037;background:#fdf6e6;border:0;border-radius:12px;box-shadow:inset 0 0 0 2px #cdbb98}.app-shell-page .app-main .panel-header{color:#8a6a3c;background:0 0;border-bottom:2px solid #e2d3b4}.app-shell-page .level-chapters,.app-shell-page .my-levels{gap:26px;display:grid}.app-shell-page .level-section-head{border-bottom:2px solid #dcc9a0;justify-content:flex-start;align-items:baseline;gap:12px;margin-bottom:16px;padding-bottom:8px;display:flex}.app-shell-page .level-section-head h2{color:#17233d;font-family:var(--font-title);font-size:22px;font-weight:800}.app-shell-page .level-section-count{color:#7a6a58;background:0 0;font-size:14px;font-weight:700}.app-shell-page .level-cards{grid-template-columns:repeat(auto-fill,minmax(max(236px,20% - 18.6px),1fr));gap:28px 22px;padding:0 0 6px}.app-shell-page .level-card{z-index:0;box-shadow:none;filter:drop-shadow(2px 5px 4px #5e411a38);background:0 0;border:0;border-radius:0;padding:13px 13px 12px;transition:none;position:relative;overflow:visible;container-type:inline-size}.app-shell-page .level-card:before{z-index:-1;transform:rotate(var(--card-tilt));content:"";pointer-events:none;background:linear-gradient(#fffcf4cc,#fffcf4cc),url(/assets/home/papier.webp) 0 0/320px;position:absolute;inset:0;-webkit-mask:url(/assets/campaign/paper-edge.svg) 0 0/100% 100% no-repeat;mask:url(/assets/campaign/paper-edge.svg) 0 0/100% 100% no-repeat}.app-shell-page .level-card:nth-child(3n+2):before{transform:rotate(var(--card-tilt)) scale(-1, 1);background-position:0 0,140px 90px}.app-shell-page .level-card:nth-child(3n):before{transform:rotate(var(--card-tilt)) scale(1, -1);background-position:0 0,60px 210px}.app-shell-page .level-card:hover{box-shadow:none;transform:none}.level-card-attachment{display:none}.app-shell-page .level-card-attachment{z-index:2;top:-24px;left:var(--attachment-left);width:var(--attachment-width);height:var(--attachment-height);transform:translateX(-50%) rotate(var(--attachment-angle));pointer-events:none;-webkit-user-select:none;user-select:none;background:50%/100% 100% no-repeat;display:block;position:absolute}.app-shell-page .level-card-attachment-pin1{filter:drop-shadow(1px 3px 2px #452d124d);background-image:url(/assets/campaign/pin1.png)}.app-shell-page .level-card-attachment-pin2{filter:drop-shadow(1px 3px 2px #452d124d);background-image:url(/assets/campaign/pin2.png)}.app-shell-page .level-card-attachment-tape{top:calc(var(--attachment-height) * -.55);background-image:url(/assets/campaign/tape.png)}.app-shell-page .level-card-thumb{border:0;border-radius:7px;overflow:hidden;box-shadow:inset 0 0 0 1px #e2d0a973}.app-shell-page .level-card-number{background:var(--night-800);min-width:28px;height:28px;font-family:var(--font-title);border-radius:7px;padding:2px 6px 0;font-size:15px;font-weight:800;top:6px;left:6px}.app-shell-page .level-card-tier{color:#2c7a2c;height:26px;box-shadow:none;background:#fdf6e6;gap:5px;padding:0 9px 0 7px;font-size:12.5px;top:6px;right:6px}.app-shell-page .level-card-tier svg{color:inherit}.app-shell-page .level-card-tier-elegant{color:#b85a00}.app-shell-page .level-card-tier-minimal{color:#17233d;background:linear-gradient(#ffd266,#ffb720)}.app-shell-page .level-card-lock{color:#6d5c45;box-shadow:none;background:#fdf6e6}.app-shell-page .level-card-body{padding:9px 4px 0}.app-shell-page .level-card-title{color:#17233d;font-family:var(--font-title);font-size:19px;font-weight:800;line-height:1.15}.app-shell-page .level-card-meta{color:#8a6a3c;font-size:12.5px;font-weight:700}.app-shell-page .level-card-description{-webkit-line-clamp:3;color:#4a4037;font-size:13.5px;font-weight:500;line-height:1.35}.page-head:has(+.my-levels) .page-head-title{padding-bottom:8px;position:relative}.page-head:has(+.my-levels) .page-head-title:after{content:"";border-top:4px solid #ffb720;border-radius:50%;width:128px;height:12px;position:absolute;bottom:0;left:0;transform:rotate(-5deg)}.app-shell-page .my-levels{gap:26px}.app-shell-page .page-content.my-levels{width:min(100% - 48px,1388px)}.my-levels .my-levels-collection{background:#f6daaf url(/assets/my-levels/background1.png) 50%/640px;border:1px solid #ecdbb8;border-radius:16px;gap:16px;padding:20px 24px 24px;position:relative;box-shadow:inset 0 0 0 3px #fffcf466,0 5px 10px #6b48192e}.my-levels .my-levels-received{background:#cce2f8 url(/assets/my-levels/background2.png) 50%/640px;border-color:#97bde0;box-shadow:inset 0 0 0 3px #edf6ff66,0 5px 10px #2a476626}.my-levels-collection:after{content:"";pointer-events:none;background:url(/assets/my-levels/tape.png) 50%/100% 100% no-repeat;width:110px;height:42px;position:absolute;top:-9px;left:-18px;transform:rotate(-38deg)}.my-levels-received:after{opacity:.8}.my-levels-received:before{opacity:.25;content:"";pointer-events:none;background:url(/assets/my-levels/schema.png) 100% 100%/contain no-repeat;width:280px;height:min(100%,300px);position:absolute;bottom:0;right:0}.app-shell-page .my-levels .level-section-head{border:0;align-items:center;gap:12px;margin:0;padding:0;position:relative}.my-levels .level-section-icon{color:#8a6030;fill:#edd6a5;stroke-width:1.6px;flex:none}.my-levels-received .level-section-icon{color:#173c65;fill:#9bc9f8}.app-shell-page .my-levels .level-section-head h2{font-size:25px;line-height:1.1}.app-shell-page .my-levels .level-section-count{font-size:17px;font-weight:500}.my-levels .level-section-count:before{content:"("}.my-levels .level-section-count:after{content:")"}.my-levels .level-section-description{color:#7a6a58;margin-top:3px;font-size:14px;line-height:1.3}.my-levels-received .level-section-description{color:#526a83}.app-shell-page .my-levels .level-cards{grid-template-columns:repeat(auto-fill,minmax(max(236px,25% - 17.5px),1fr));padding-top:10px}.app-shell-page .my-levels .my-levels-empty{background:#fffcf480;border-color:#8a603059}.app-shell-page .my-levels-received .my-levels-empty{color:#526a83;background:#f5faff66;border-color:#396da059}.import-toast{z-index:var(--z-toast);right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));color:#263c24;background:#fffaf0;border:2px solid #6a9c57;border-radius:12px;grid-template-columns:24px minmax(0,1fr) 36px;align-items:center;gap:12px;width:min(440px,100% - 32px);padding:12px 10px 12px 16px;display:grid;position:fixed;box-shadow:0 6px 24px #3a271240}.import-toast-alert{color:#803c2d;border-color:#c9654f}.import-toast p{overflow-wrap:anywhere;font-size:14px;font-weight:700;line-height:1.4}.import-toast-close{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.import-toast-close:hover{background:#5e411a1a}@media (min-width:1500px){.app-shell-page:has(.my-levels) .page-prop-plans{background-image:url(/assets/my-levels/torn-blueprint.png)}}@media (max-width:600px){.app-shell-page .page-content.my-levels{width:calc(100% - 24px)}.my-levels .my-levels-collection{padding:16px 12px}.app-shell-page .my-levels .level-section-head h2{font-size:21px}.my-levels .level-section-icon{width:28px;height:28px}.app-shell-page .my-levels .level-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.my-levels .level-section-description{font-size:12px}.import-toast{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom))}.page-head,.app-shell-page .page-content:not(.home-page){width:calc(100% - 24px)}.page-head{padding:14px 0 12px}.page-progress progress{width:120px}.page-head-actions .header-action-label{display:none}.app-shell-page .level-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-shell-page .level-card{padding:6px 6px 8px}.app-shell-page .level-card-body{padding:7px 2px 0}.app-shell-page .level-card-title{font-size:16px}.app-shell-page .level-card-description{font-size:12px}.app-shell-page .level-card-number{min-width:24px;height:24px;font-size:13px}.app-shell-page .level-card-tier{gap:0;height:24px;padding:0 6px;font-size:0}}.app-shell-desk .workspace-toolbar-desk .toolbar-status-text{color:#17233d;font-family:var(--font-title);text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:800;overflow:hidden}.app-shell-desk .workspace-toolbar-desk .toolbar-status{min-width:0;padding-left:4px}@media (orientation:landscape) and (max-height:520px){.app-shell-desk .workspace .toolbar-restart .toolbar-button-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (orientation:portrait) and (max-width:699px){.app-shell-desk .workspace-toolbar .toolbar-button-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell-desk .workspace-toolbar .btn{min-width:44px;padding:0}.app-shell-desk .workspace-toolbar-desk .toolbar-status-text{white-space:normal;font-size:14px}}.dialog{color:#4a4037;background:linear-gradient(#fffcf4e6,#fffcf4e6),#fdf6e6 url(/assets/home/papier.webp) 0 0/320px;border:0;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 2px #cdbb98}.dialog .panel-header{color:#17233d;background:0 0;min-height:0;padding:12px 12px 0 18px}.dialog .panel-title{font-family:var(--font-title);letter-spacing:0;text-transform:none;font-size:24px;font-weight:800}.dialog .panel-close{color:#17233d;background:0 0;border:0;border-radius:10px;flex-basis:40px;width:40px;height:40px;box-shadow:inset 0 0 0 2px #cdbb98}.dialog .panel-body{padding:12px 18px 18px}.dialog .btn{color:#17233d;font-family:var(--font-title);background:#fdf6e6;border:0;border-radius:12px;font-size:16px;font-weight:700;box-shadow:inset 0 0 0 2px #cdbb98}.dialog .btn-go{box-shadow:none;background:linear-gradient(#ffd266,#ffb720)}.dialog .btn-reset{color:#fff;background:var(--reset);box-shadow:none}.victory-dialog{width:min(540px, calc(100vw - 2 * var(--space-4)))}.victory-dialog .panel-header{background:0 0;padding:16px 14px 0 22px}.victory-dialog .panel-title{letter-spacing:-.01em;font-size:36px;line-height:1}.victory-dialog .panel-body{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:10px 18px;padding:8px 22px 14px;display:grid}.victory-summary-row{display:contents}.victory-bolt{aspect-ratio:auto;grid-area:1/1/3/2;align-self:end;width:auto;margin:0}.victory-bolt img{width:100%;display:block}.victory-tiers{grid-area:1/2/2/3;justify-content:flex-start;align-self:end;gap:8px}.victory-tier,.victory-tier[data-earned=true]{color:#8a7a62;background:#eadbbb;border:0;border-radius:12px;flex-direction:column;flex:0 auto;align-items:center;gap:2px;width:auto;min-width:82px;padding:8px 10px 6px;display:flex}.victory-tier[data-earned=true]{color:#17233d;background:linear-gradient(#ffd266,#ffb720)}.victory-tier-icon{color:inherit}.victory-tier-name,.victory-tier[data-earned=true] .victory-tier-name{color:inherit;font-family:var(--font-title);font-size:14px;font-weight:700}.victory-summary{text-align:left;grid-area:2/2/3/3;align-self:start}.victory-count{color:#17233d;font-family:var(--font-title);font-size:19px;font-weight:800}.victory-challenge{color:#6d5c45;font-size:14px;font-weight:600}.victory-remix-error,.victory-actions{grid-column:1/-1}.victory-actions{border-top:2px solid #e2d3b4;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:12px;display:grid}.victory-actions .victory-next,.victory-actions .btn-go,.victory-see-scene{grid-column:1/-1}.victory-actions .victory-next{min-height:52px;font-size:20px;font-weight:800}.victory-actions .btn:not(.btn-go):only-of-type,.victory-actions .victory-replay:nth-last-child(2){grid-column:1/-1}.victory-see-scene{color:#6d5c45}@media (max-width:480px){.victory-dialog .panel-body{grid-template-columns:96px minmax(0,1fr);gap:8px 12px;padding:6px 14px 10px}.victory-dialog .panel-title{font-size:30px}.victory-tier,.victory-tier[data-earned=true]{flex:1;min-width:0;padding:6px 4px 4px}.victory-tier-name,.victory-tier[data-earned=true] .victory-tier-name{font-size:12.5px}}.app-shell-page:has(.settings-page){background-color:#f3dcaf}.app-shell-page .app-main .settings-page{width:min(100% - 64px,1080px)}.page-head:has(+.settings-page){width:min(100% - 64px,1080px)}.page-head:has(+.settings-page){padding-bottom:10px}.app-shell-page .app-main .settings-page{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:26px}.settings-intro{color:#73604b;grid-column:1/-1;margin:0 0 4px;font-size:16px}.app-shell-page .app-main .settings-panel{color:#4a4037;background:#f6daaf url(/assets/my-levels/background1.png) 50%/640px;border:1px solid #dec7a0;border-radius:14px;min-width:0;max-width:none;position:relative;overflow:visible;box-shadow:inset 0 0 0 3px #fffcf466,0 5px 10px #6b48192e}.settings-panel:before{pointer-events:none;content:"";background:url(/assets/my-levels/tape.png) 50%/100% 100% no-repeat;width:94px;height:32px;position:absolute;top:-14px;right:24px;transform:rotate(5deg)}.app-shell-page .app-main .settings-panel-progress{background:#cce2f8 url(/assets/my-levels/background2.png) 50%/640px;border-color:#97bde0;box-shadow:inset 0 0 0 3px #edf6ff66,0 5px 10px #2a476626}.settings-panel-progress:before{right:32px;transform:rotate(-6deg)}.app-shell-page .app-main .settings-panel .panel-header{border:0;justify-content:flex-start;min-height:78px;padding:22px 24px 8px}.app-shell-page .app-main .settings-panel .panel-title{color:#17233d;font-family:var(--font-title);letter-spacing:-.02em;text-transform:none;align-items:center;gap:12px;font-size:28px;font-weight:800;display:flex}.settings-panel-symbol{background:#fffae999;border:2px solid #b28c55;border-radius:12px 16px 10px 14px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.settings-panel-progress .settings-panel-symbol{background:#edf6ff99;border-color:#648db3}.settings-panel-symbol svg{width:25px;height:25px}.app-shell-page .app-main .settings-panel .panel-body{gap:14px;padding:10px 24px 24px}.settings-panel .panel-note{color:#685742;margin:0;font-size:14px;line-height:1.5}.settings-panel-progress .panel-note{color:#405b75}.settings-panel-profile .export-link{color:#4a4037;gap:8px;font-size:15px}.settings-panel-profile .export-name-field{color:#17233d;background:#fffaf0;border:2px solid #bda77f;border-radius:8px;min-height:46px;padding:0 13px}.settings-panel-profile .level-result-actions{flex-direction:column;gap:10px;margin-top:4px}.settings-panel .btn{white-space:normal;min-height:46px;padding:10px 14px}.app-shell-page .app-main .settings-panel .btn-go{color:#17233d;background:linear-gradient(#ffd365,#ffb71e);border-color:#d99a22;box-shadow:0 3px #c59233}.settings-progress-caption,.settings-progress-count{color:#253d57;margin:0;font-size:15px}.settings-progress-caption{font-weight:800}.settings-progress-meter{color:#253d57;align-items:center;gap:14px;font-weight:800;display:flex}.settings-progress-meter>span{white-space:nowrap}.settings-progress-meter progress{appearance:none;background:#abc5dc;border:0;border-radius:10px;width:100%;height:16px;overflow:hidden}.settings-progress-meter progress::-webkit-progress-bar{background:#abc5dc;border-radius:10px}.settings-progress-meter progress::-webkit-progress-value{background:#568940;border-radius:10px}.settings-progress-meter progress::-moz-progress-bar{background:#568940;border-radius:10px}.settings-transfer{border-top:1px solid #9ebcd6;gap:14px;margin-top:2px;padding-top:16px;display:grid}.settings-transfer-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-transfer-actions .btn{color:#253d57;background:#edf5fc;border-color:#8caac6}.settings-panel-progress>.panel-body>.btn-reset{color:#8d381e;text-underline-offset:3px;background:0 0;border:0;justify-content:flex-start;align-self:start;min-height:44px;padding:8px 0;text-decoration:underline}.app-shell-page .app-main .settings-panel-about{background:#fdf6e6 url(/assets/home/papier.webp) 50%/400px;grid-column:1/-1}.settings-panel-about:before{display:none}.settings-about-list{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.settings-about-details{grid-template-columns:repeat(2,auto);gap:12px 32px;margin:0;display:grid}.settings-about-details>div{flex-wrap:wrap;align-items:center;gap:4px;font-size:14px;display:flex}.settings-about-details dt{align-items:center;gap:8px;font-weight:800;display:flex}.settings-about-details dt svg{width:18px;height:18px}.settings-about-details dd{color:#685742;margin:0}.settings-repository-link{color:#4a4037;background:#fffaf0;border:2px solid #bda77f;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex}.settings-repository-link:hover{background:#fff4d9;text-decoration:underline}@media (max-width:900px){.app-shell-page .app-main .settings-page{grid-template-columns:minmax(0,1fr)}.settings-panel-profile .level-result-actions{flex-direction:row}}@media (max-width:600px){.app-shell-page .app-main .settings-page{width:calc(100% - 32px)}.page-head:has(+.settings-page){width:calc(100% - 32px)}.app-shell-page .app-main .settings-panel .panel-header,.app-shell-page .app-main .settings-panel .panel-body{padding-left:18px;padding-right:18px}.settings-transfer-actions,.settings-about-details{grid-template-columns:minmax(0,1fr)}.settings-panel-profile .level-result-actions .btn{font-size:14px}}@media (max-width:760px){.wide-only{display:none!important}}.export-kind{gap:var(--space-2) var(--space-4);border:0;flex-wrap:wrap;flex-shrink:0;min-width:0;margin:0;padding:0;display:flex}.export-kind-option{align-items:center;gap:var(--space-2);min-height:30px;font-weight:700;display:inline-flex}.export-kind-option input{width:1.25rem;height:1.25rem;accent-color:var(--go)}.export-kind-refusal{color:var(--danger);font-weight:700}.header-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.header-actions .btn-neutral,.header-actions .objective-button{border:1px solid var(--night-line);color:var(--on-night);background:var(--night-800)}.header-actions .btn-go{box-shadow:inset 0 -3px 0 var(--go-edge);border:0}.header-actions .icon-button:not(.objective-button){background:0 0;border-width:1px}@media (hover:hover){.header-actions .btn-neutral:not(:disabled):hover,.header-actions .icon-button:hover{background:var(--night-700)}}.app-header{min-height:calc(var(--header-height) + env(safe-area-inset-top,0px));align-items:center;gap:var(--space-3);padding:max(var(--space-2), env(safe-area-inset-top)) max(var(--space-3), env(safe-area-inset-right)) var(--space-2) max(var(--space-3), env(safe-area-inset-left));border-bottom:1px solid var(--night-800);color:var(--on-night);background:var(--night-950);font-family:var(--font-ui);flex:none;grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative}.brand-lockup{align-items:center;gap:var(--space-2);color:inherit;text-decoration:none;display:flex}.brand-logo{background:url(/assets/home/logo.webp) 0/contain no-repeat;width:146px;height:32px;display:block}.main-nav{justify-content:center;align-self:stretch;gap:var(--space-1);min-width:0;margin-block:calc(var(--space-2) * -1);display:flex;overflow:hidden}.main-nav a{align-items:center;gap:var(--space-2);padding:0 var(--space-4);color:var(--on-night-muted);white-space:nowrap;border-block:3px solid #0000;font-weight:700;text-decoration:none;display:flex}.main-nav a[aria-current=page]{border-bottom-color:var(--accent);color:var(--accent);background:#ffffff0d}.main-nav a:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}@media (hover:hover){.main-nav a:hover{color:var(--on-night)}}@media (max-width:760px){.main-nav{visibility:hidden}}.level-label{min-width:0;max-width:100%;color:var(--on-night);white-space:nowrap;justify-self:center;align-items:baseline;font-size:16px;font-weight:800;display:flex;overflow:hidden}.level-title,.level-mode,.level-attribution{text-overflow:ellipsis;min-width:0;overflow:hidden}.level-title{flex:0 1000 auto}.level-separator,.level-mode,.level-attribution{color:var(--on-night-muted);font-size:14px;font-weight:700}.level-separator{white-space:pre;flex:none;margin:0 4px}.level-mode,.level-attribution{flex:0 auto}.level-menu{z-index:var(--z-menu);top:calc(100% + var(--space-2));right:max(var(--space-3), env(safe-area-inset-right));width:min(280px, calc(100vw - 2 * var(--space-3)));max-height:calc(100dvh - var(--header-height) - env(safe-area-inset-top,0px) - 2 * var(--space-2));overscroll-behavior:contain;color:#17233d;clip-path:inset(-100vmax);background:linear-gradient(#fffcf4e0,#fffcf4e0),#fdf6e6 url(/assets/home/papier.webp) 0 0/320px;border:0;border-radius:14px;flex-direction:column;gap:4px;padding:8px;display:flex;position:absolute;overflow-y:auto;box-shadow:inset 0 0 0 2px #cdbb98,0 0 0 100vmax #0a142659}.level-menu .btn{color:#17233d;box-shadow:none;font-family:var(--font-title);background:0 0;border:0;border-radius:10px;flex:none;justify-content:flex-start;gap:10px;padding:0 12px;font-size:17px;font-weight:700}@media (min-width:761px){.app-header:has(.main-nav) .menu-toggle{display:none}}@media (min-width:1100px){.app-header:has(.main-nav) .header-actions:not(:has(>:not(.menu-toggle))){width:146px}}@media (min-width:761px) and (max-width:1099px){.main-nav a{font-size:var(--text-s);gap:6px;padding:0 10px}}@media (min-width:761px) and (max-width:899px){.main-nav a svg{display:none}}.menu-toggle{background:#ffffff1a;border:0;border-radius:12px}.menu-toggle[aria-expanded=true]{color:var(--night-950);background:var(--accent)}.level-menu .btn.level-menu-current{background:linear-gradient(#ffd266,#ffb720)}.level-menu::-webkit-scrollbar-thumb{background-color:#d4c19c}@media (max-width:419px){.brand-logo{width:118px;height:26px}}@media (max-width:359px){.app-header{gap:6px;padding-left:8px;padding-right:8px}.brand-logo{width:86px}}@media (orientation:landscape) and (max-width:999px),(orientation:landscape) and (max-height:699px){.app-header{padding-top:max(var(--space-1), env(safe-area-inset-top));padding-bottom:var(--space-1)}:is(.level-separator:has(+.level-mode),.level-mode){display:none}}@media (min-width:1000px) and (min-height:700px){.app-header{padding-left:20px;padding-right:20px}}@supports not selector(::-webkit-scrollbar){.level-menu{scrollbar-color:#d4c19c transparent}}
