@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/i7dPIFZifjKcF5UAWdDRYEF8RXi4EwQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/i7dMIFZifjKcF5UAWdDRaPpZUFWaHi6WZ3Q.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#292a38;--paper:#faf9ef;--cream:#f1f0e6;--line:#bcbeb3;--blue:#4158d3;--yellow:#f8d851;--muted:#727575;--mono:'Space Mono',monospace;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:#e4e7d6;background-image:radial-gradient(#b7bba5 .55px,transparent .55px);background-size:5px 5px;color:var(--ink);font-family:var(--sans);font-size:14px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #ef6eab;outline-offset:3px}button{border:0}button,a,input,select{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.menubar{height:58px;border-bottom:2px solid var(--ink);display:flex;align-items:center;padding:0 28px;gap:32px;background:var(--paper)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:700;font-size:19px;letter-spacing:-1px;text-decoration:none;color:var(--ink);white-space:nowrap}.brand-icon{display:grid;place-items:center;background:var(--yellow);border:2px solid var(--ink);height:30px;width:29px;box-shadow:2px 2px 0 var(--ink);font-size:24px;line-height:1}.version{font-size:11px;background:#e8e8dc;padding:3px 5px;border:1px solid #b8b8ad;letter-spacing:0;margin-left:1px}.menubar nav{display:flex;gap:24px}.menubar nav button{padding:4px 0;background:none;font-size:14px}.menu-right{margin-left:auto;font-size:12px;font-family:var(--mono);color:#777870}.desktop-icon{font-size:23px}main{max-width:1800px;margin:auto;padding:27px 28px 0}.projectbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.project-heading{display:flex;align-items:center;gap:13px;min-width:0}.project-symbol{font-size:33px}.eyebrow{font:10px var(--mono);letter-spacing:1.3px;margin-bottom:5px;color:#6c7164}#project-name{font-size:25px;font-weight:700;letter-spacing:-.7px;background:none;border:0;padding:0;max-width:250px;width:100%;line-height:1.2}.project-ext{font:13px var(--mono);color:#7b8073;padding-top:19px;margin-left:-12px}.project-actions{display:flex;align-items:center;gap:12px}.save-status{font-size:12px;color:#626b5d;margin-right:9px;white-space:nowrap}.save-status:before{content:'✓';margin-right:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;border:1.5px solid var(--ink);background:var(--paper);box-shadow:2px 2px 0 var(--ink);padding:0 15px;border-radius:2px;font-weight:600;white-space:nowrap}.button:hover{background:#e6e8df}.button:active{transform:translate(2px,2px);box-shadow:none}.button.primary{background:var(--yellow)}.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover{background:#464965}kbd{font:10px var(--mono);border:1px solid #babcb3;border-radius:2px;padding:1px 4px;background:#faf9f0;white-space:nowrap}.primary kbd{border-color:#b39b32;background:#ffdf64}.workspace{display:grid;grid-template-columns:215px minmax(420px,1fr) 260px;gap:17px;align-items:start}.panel{border:1.5px solid var(--ink);background:var(--paper);border-radius:4px;overflow:hidden;box-shadow:3px 3px 0 #aaaf9c}.window-title{height:32px;display:flex;justify-content:space-between;align-items:center;padding:0 11px;border-bottom:1.5px solid var(--ink);font:11px var(--mono);font-weight:700;letter-spacing:.6px;background:#eceee3}.window-title.blue{background:var(--blue);color:white;letter-spacing:0;font-size:12px;font-weight:400}.window-dots{font-family:var(--sans);font-size:17px;letter-spacing:7px;white-space:nowrap}.library{grid-row:span 2;align-self:stretch}.library-body{padding:20px 12px 0;display:flex;flex-direction:column;min-height:620px;height:calc(100% - 32px)}.section-label{font:10px var(--mono);font-weight:700;letter-spacing:1.1px;color:#85887b}.scene-row{display:flex;gap:10px;align-items:center;text-align:left;width:100%;border:1px solid #afb5cf;background:#e8ebf8;border-radius:3px;padding:12px 9px;margin:11px 0 27px;font-weight:600}.scene-row>span:first-child{font-size:22px;color:var(--blue)}small{display:block}.scene-row small{font-size:10px;font-weight:400;margin-top:5px;color:#777a82}.scene-dot{height:6px;width:6px;border-radius:50%;background:var(--blue);margin-left:auto}.section-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.tiny{font:10px var(--mono);color:#888c80}.object-list{display:flex;flex-direction:column;gap:4px}.object-item{padding:8px;border:1px solid transparent;background:none;display:flex;align-items:center;gap:10px;text-align:left;border-radius:3px;width:100%;font-size:13px}.object-item:hover{background:#eeeede}.object-item.selected{border-color:#c4ae37;background:#fff3b2}.object-thumb{width:32px;height:32px;background:#e5e8df;border:1px solid #cfd1c3;display:grid;place-items:center}.object-thumb canvas{width:26px;height:26px;image-rendering:pixelated}.object-item small{font:10px var(--mono);color:#858575;margin-top:3px}.object-item .object-key{font:10px var(--mono);margin-left:auto;color:#a09d82}.library-tip{margin:26px 4px 22px;display:flex;gap:10px}.library-tip>span{font-size:29px;color:#73835c}.library-tip p{margin:0;font-size:14px;line-height:1.45}.library-tip small{font-size:11px;line-height:1.7;color:#7b8073;margin-top:9px}.library-bottom{border-top:1px solid #d9dccd;margin:auto -12px 0;padding:18px 12px;display:flex;gap:9px;font-size:11px;color:#6d7464}.library-bottom>span{font-size:21px}.library-bottom small{font:9px var(--mono);margin-top:5px}.editor-toolbar{height:47px;background:#f4f3e9;border-bottom:1px solid #c6c7bb;display:flex;justify-content:space-between;align-items:center;padding:0 12px}.tool-group{display:flex;gap:5px;align-items:center}.tool{height:29px;min-width:29px;font-size:21px;background:none;border:1px solid transparent;border-radius:2px;display:grid;place-items:center;line-height:1}.tool:hover{background:#e5e6da}.tool.active{background:var(--yellow);border-color:#b59e3f}.toolbar-divider{height:20px;border-left:1px solid #c0c4b7;margin:0 6px}.canvas-caption{font:10px var(--mono);letter-spacing:.7px;color:#777d70;margin-right:13px}.zoom-label{font:11px var(--mono);margin-left:10px}.canvas-surround{padding:16px 18px 17px;background:#dee3d7}.canvas-topline,.canvas-footline{display:flex;justify-content:space-between;font:9px var(--mono);color:#66715f;align-items:center}.canvas-topline{margin-bottom:11px;letter-spacing:.5px}.live-dot{height:5px;width:5px;background:#799064;display:inline-block;margin-right:5px}.game-frame{border:2px solid #353c38;box-shadow:0 3px 0 #b4bcac;overflow:hidden;background:#b7dfc9}#level-canvas{width:100%;display:block;aspect-ratio:16/9;image-rendering:pixelated;cursor:crosshair;touch-action:none}.canvas-footline{margin-top:13px}.editor-bottom{height:43px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#6f7868;padding:0 15px;gap:5px;background:#f3f4e9}.editor-bottom kbd{margin-right:3px}.editor-bottom kbd:not(:first-child){margin-left:9px}.little-star{color:#799763;margin-left:8px;font-size:16px}.inspector{grid-column:3;grid-row:span 2;align-self:stretch;display:flex;flex-direction:column}.settings-scroll{padding:19px 16px;flex:1}.settings-scroll .section-label{margin-bottom:18px}label{display:flex;align-items:center;font-size:12px;font-weight:600;margin:0 0 9px;gap:7px}select,input[type=number]{width:100%;height:36px;padding:0 9px;border:1px solid #b6b9ac;border-radius:3px;background:#fffef7;font-size:12px;outline-offset:1px}select{cursor:pointer}.setting-note{font-size:11px;color:#878c7e;line-height:1.5;margin-top:8px}hr{border:0;border-top:1px solid #dedfd1;margin:20px 0}.label-icon{font-size:15px}.yellow{color:#b49520}.pink{color:#ad6d97}.coral{color:#bf775d}.settings-scroll select+label{margin-top:19px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.two-fields label{font-size:11px;font-weight:400;color:#757c6c}.palette-preview{display:flex;gap:5px;margin-top:12px}.palette-preview span{height:18px;flex:1;border:1px solid #0002;border-radius:2px}.inspector-footer{margin-top:auto;min-height:42px;padding:12px 13px;display:flex;justify-content:space-between;align-items:center;background:#eceee1;border-top:1px solid #cacebd;font-size:10px}.asset-panel{grid-column:2}.asset-tabs{display:flex;align-items:center;border-bottom:1px solid #c5c9b8;background:#f2f3e8;padding:0 10px;height:42px}.asset-tab{background:none;font-size:12px;padding:13px 11px 10px;border-bottom:3px solid transparent;height:42px;white-space:nowrap}.asset-tab.active{border-bottom-color:var(--blue);color:var(--blue);font-weight:700}.asset-tab span{font:9px var(--mono);margin-left:5px;padding:1px 4px;background:#e2e5d7;border-radius:3px}.asset-tabs-note{font-size:10px;color:#949a89;margin-left:auto;margin-right:4px}.sprite-strip{padding:16px;display:grid;grid-template-columns:repeat(6,1fr);gap:11px}.sprite-card{background:none;padding:0;min-width:0;text-align:left}.sprite-card:hover .sprite-image{background:#e7ebd8;border-color:var(--blue)}.sprite-image{height:64px;display:grid;place-items:center;border:1px solid #bfc5b6;background-color:#e8ecdf;background-image:linear-gradient(45deg,#dce2d440 25%,transparent 25%),linear-gradient(-45deg,#dce2d440 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dce2d440 75%),linear-gradient(-45deg,transparent 75%,#dce2d440 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;border-radius:3px;position:relative}.sprite-image canvas{height:40px;width:40px;image-rendering:pixelated}.sprite-image .edit-mark{position:absolute;bottom:3px;right:5px;font-size:11px;color:#929a83}.sprite-card strong{font-size:10px;font-weight:500;display:block;margin-top:7px;white-space:nowrap}.sprite-card small{font:9px var(--mono);color:#979c8e;margin-top:3px}.desktop-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;height:51px;font:10px var(--mono);color:#75806b}.desktop-footer>span{display:flex;gap:8px;align-items:center}.desktop-footer button{background:none;color:inherit;font:inherit}.mini-square{width:7px;height:7px;background:#8c9c75;display:inline-block}.desktop-footer>span:nth-child(2){font-family:var(--sans);font-size:11px}.desktop-footer>span:nth-child(2)>span{margin-left:10px;font-size:19px}.desktop-footer button:hover{text-decoration:underline}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;z-index:100;background:var(--ink);border:1px solid #fff5;box-shadow:3px 3px #0003;color:white;padding:13px 22px;font-size:14px;transition:.2s;max-width:calc(100% - 24px)}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:2px solid var(--ink);border-radius:4px;padding:0;background:var(--paper);color:var(--ink);box-shadow:8px 8px 0 #20253366;max-width:calc(100% - 24px);max-height:calc(100% - 32px)}dialog::backdrop{background:#272e3770;backdrop-filter:blur(3px)}
@media(min-width:1500px){main{padding-top:35px}.workspace{grid-template-columns:240px minmax(420px,1fr) 285px;gap:20px}.library-body{min-height:690px}.canvas-surround{padding:21px 24px}.sprite-image{height:78px}.settings-scroll{padding:23px 20px}.settings-scroll label{font-size:14px}select,input[type=number]{height:40px;font-size:14px}.object-item{padding:12px 8px;font-size:14px}.window-title{font-size:12px}}
@media(max-width:1180px){.workspace{grid-template-columns:180px minmax(360px,1fr) 230px;gap:12px}main{padding:21px 18px 0}.menubar{padding:0 18px}.menu-right{display:none}.save-status{display:none}.project-actions{gap:9px}.button{padding:0 12px;font-size:12px}.project-ext{display:none}.asset-tabs-note{display:none}.sprite-strip{gap:7px;padding:12px}.sprite-card strong{font-size:9px}.canvas-caption{display:none}.editor-bottom>span:last-child{display:none}.library-body{padding-left:9px;padding-right:9px}.library-bottom{margin-left:-9px;margin-right:-9px}.object-item{gap:7px;font-size:12px}.library-tip{margin-top:23px}.library-tip p{font-size:12px}}
@media(max-width:960px){.workspace{grid-template-columns:170px minmax(0,1fr)}.inspector{grid-column:1/-1;grid-row:auto}.settings-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}.settings-scroll hr,.settings-scroll>.section-label{display:none}.settings-scroll>label{margin-top:10px}.settings-scroll .two-fields{margin:0}.palette-line{grid-column:1/3}.settings-scroll .setting-note{display:none}.library{grid-row:span 2}.library-body{min-height:550px}.asset-panel{grid-column:2}.project-heading{gap:8px}.project-symbol{display:none}.project-actions .button{min-height:38px}.project-actions kbd{display:none}#project-name{font-size:22px;max-width:200px}.eyebrow{font-size:9px}.desktop-footer>span:nth-child(2){display:none}.editor-bottom{height:37px}.sprite-strip{gap:9px}.sprite-image{height:54px}}
@media(max-width:660px){.menubar{padding:0 13px;gap:18px;height:53px}.brand{font-size:15px;gap:8px}.version,.desktop-icon{display:none}.menubar nav{gap:15px;margin-left:auto}.menubar nav button{font-size:12px}main{padding:20px 12px 0}.projectbar{flex-wrap:wrap;gap:16px;margin-bottom:19px}.project-heading{width:100%}#project-name{max-width:280px;font-size:26px}.eyebrow{font-size:9px}.project-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr}.button{padding:0 7px;font-size:12px}.workspace{display:flex;flex-direction:column;gap:15px}.panel{width:100%}.editor{order:1}.library{order:2}.asset-panel{order:3}.inspector{order:4}.library-body{min-height:0;padding:13px}.library-body>.section-label,.scene-row,.library-tip,.library-bottom{display:none}.section-line{margin-bottom:9px}.object-list{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.object-item{font-size:10px;padding:7px 4px;gap:5px;border-color:#ddd}.object-thumb{width:24px;height:24px;flex-shrink:0}.object-thumb canvas{width:20px;height:20px}.object-item small,.object-key{display:none}.canvas-surround{padding:12px}.canvas-topline,.canvas-footline{font-size:8px}.window-title.blue{font-size:10px}.window-dots{font-size:14px}.sprite-strip{grid-template-columns:repeat(3,1fr);padding:14px;gap:14px}.sprite-image{height:65px}.sprite-card strong{font-size:12px}.sprite-card small{font-size:10px}.settings-scroll{display:block;padding:18px}.settings-scroll label{margin-top:18px;font-size:14px}.settings-scroll select,.settings-scroll input{height:42px;font-size:14px}.settings-scroll .two-fields{margin-top:15px}.settings-scroll .two-fields label{margin-top:0;font-size:12px}.settings-scroll hr{display:block}.settings-scroll .section-label{display:block}.palette-line{margin-top:18px}.inspector-footer{font-size:12px}.desktop-footer{font-size:9px}.desktop-footer button{font-size:9px}}
.modal-title{height:37px;gap:20px}.modal-title button{background:#edf0e9;color:var(--ink);border:1px solid var(--ink);font-size:18px;line-height:20px;width:24px;height:23px;padding:0}.modal-body{padding:32px}.dialog-eyebrow{font:11px var(--mono);letter-spacing:1px;color:#808978;margin-bottom:10px}h1{font-size:32px;letter-spacing:-1px;margin:0 0 10px;line-height:1.2}.modal-body>p{font-size:15px;line-height:1.65;margin:0 0 23px;color:#747b6a}.new-modal{width:790px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:27px 0}.template-card{padding:7px 7px 13px;border:2px solid #bdc5b2;background:#f0f2e5;text-align:left;border-radius:3px}.template-card.chosen{border-color:var(--blue);background:#e9edfa;box-shadow:3px 3px 0 var(--blue)}.template-card canvas{display:block;width:100%;image-rendering:pixelated;border:1px solid #87977d;margin-bottom:12px}.template-card strong,.template-card small{padding:0 4px}.template-card strong{font-size:16px}.template-card small{font-size:11px;line-height:1.5;color:#7c8670;margin-top:7px}.new-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px}.muted{font-size:12px!important;color:#89917f!important;line-height:1.7}.new-bottom p{margin:0}.file-actions{display:flex;gap:26px;border-top:1px solid #cdd2bf;margin-top:24px;padding-top:19px}.text-button{font-size:13px;background:none;padding:0;text-decoration:underline;text-underline-offset:3px;color:#5a674b}.text-button:hover{color:var(--blue)}.import-label{margin:0;cursor:pointer;font-weight:400}.play-modal{width:min(860px,calc(100vw - 28px))}.play-hud{padding:15px 20px;display:flex;align-items:center;justify-content:space-between;font:12px var(--mono);gap:10px}.play-hud b{font-weight:700;margin-left:5px}#hud-goal{font-family:var(--sans);color:#737d65}#hud-lives{color:#c87968}.play-viewport{position:relative;background:#c2dfd0}.play-viewport canvas{width:100%;image-rendering:pixelated;display:block}.game-result{position:absolute;inset:0;display:grid;place-items:center;background:#23373c6e;backdrop-filter:blur(2px)}.result-card{text-align:center;border:2px solid var(--ink);box-shadow:5px 5px var(--ink);background:var(--paper);padding:27px 40px}.result-card>span{font-size:37px;color:#d4ad39}.result-card h2{font-size:30px;margin:6px 0}.result-card p{color:#7a846d;margin:8px 0 20px}.touch-controls{display:flex;justify-content:space-between;padding:12px 16px;background:#f0f2e6;border-bottom:1px solid #d0d6c1;gap:10px}.touch-controls>div{display:flex;gap:8px}.touch-controls button{border:1px solid #9ca98e;box-shadow:1px 2px #9ca98e;background:#fbfcf2;width:40px;height:32px;touch-action:none}.touch-controls button:active{transform:translateY(2px);box-shadow:none;background:var(--yellow)}.play-footer{display:flex;justify-content:space-between;gap:15px;padding:14px 20px;font:11px var(--mono);color:#7b8471}.play-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d4d7c8;padding:18px 20px;gap:20px}.play-bottom>span{font-size:12px;color:#8a927c}.validation-note{font-size:13px;line-height:1.6;padding:12px 16px;background:#fbebc3;color:#896a32;margin:0 16px 16px;border:1px solid #d6be85;border-radius:2px}.sprite-modal{width:640px}.sprite-modal-body{display:flex;gap:24px;padding:24px}.pixel-main{width:320px;flex-shrink:0}.pixel-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:8px}.button.small{font-size:11px;min-height:29px;box-shadow:1px 1px var(--ink);padding:0 8px;gap:4px}.pixel-toolbar .selected{background:var(--yellow)}#pixel-canvas{width:100%;aspect-ratio:1;display:block;border:1.5px solid var(--ink);image-rendering:pixelated;cursor:crosshair;touch-action:none}.pixel-caption{font:9px var(--mono);color:#868e7c;margin-top:10px;display:flex;justify-content:space-between}.pixel-sidebar{padding-top:3px;min-width:0}.pixel-preview{width:96px;height:96px;border:1px solid #c6cdbb;background:#e7eddd;display:grid;place-items:center;margin-top:12px}.pixel-preview canvas{height:64px;width:64px;image-rendering:pixelated}.pixel-sidebar p{font-size:12px;line-height:1.6;color:#8a927f;margin:13px 0 22px}.color-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:13px 0}.color-swatch{height:24px;min-width:24px;border:1px solid #0003;border-radius:1px}.color-swatch.selected{outline:2px solid var(--ink);outline-offset:2px}.custom-color{display:flex;justify-content:space-between;gap:5px;font-size:11px;font-weight:400;margin:18px 0}.custom-color input{width:31px;height:24px;padding:0;border:0;background:none;cursor:pointer}.pixel-sidebar>.text-button{display:block;margin-top:13px;font-size:11px}.modal-actions{border-top:1px solid #d1d6c5;padding:18px 24px;display:flex;align-items:center;gap:12px}.modal-actions>span{margin-right:auto;font-size:11px!important}.sound-strip{padding:15px 16px 10px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.sound-card button{display:flex;justify-content:space-between;align-items:center;width:100%;height:43px;background:#e6ecde;border:1px solid #bac5af;padding:0 12px}.sound-card button>span{font-size:24px;color:#819876}.sound-card button>b{font-size:12px;color:#68755c}.sound-card label{margin:9px 0 5px;font-size:11px}.sound-card select{font-size:10px;padding:0 4px;height:28px}.sound-volume{display:flex;gap:10px;align-items:center;padding:0 16px 14px}.sound-volume label{font-size:10px;font-weight:400;margin:0}.sound-volume input{width:85px;accent-color:var(--blue);cursor:pointer}.sound-volume span{font:10px var(--mono);color:#7d8870}.sound-volume small{margin-left:auto;font-size:9px;color:#8c947f}.export-modal{width:650px}.export-body{text-align:center;padding:30px}.export-icon{font-size:52px;margin-bottom:18px;color:var(--blue)}.export-specs{display:flex;justify-content:center;gap:20px;font:10px var(--mono);padding:18px 0;border-block:1px solid #d4d9c6;margin:24px 0}.export-download{font-size:15px;padding:13px 30px;margin:3px 0 12px}.export-body>.muted{font-size:11px!important}.export-project{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#edefdf;padding:20px;text-align:left;border:1px solid #c9d1ba}.export-project strong{font-size:13px}.export-project small{font-size:11px;line-height:1.6;color:#7e8a70;margin-top:4px}.export-project .button{font-size:12px}.help-modal{width:660px}.help-steps{padding:0;list-style:none;counter-reset:steps;margin:25px 0}.help-steps li{counter-increment:steps;position:relative;padding-left:44px;margin-bottom:21px}.help-steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:0;font:14px var(--mono);color:var(--blue);background:#e8ecfa;padding:5px}.help-steps strong{font-size:15px}.help-steps p{font-size:14px;line-height:1.65;color:#7e8771;margin:6px 0}.shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;font-size:12px;padding:20px;background:#ebefdf;margin-bottom:20px}.help-body>.button{width:100%}button:hover{filter:brightness(.98)}
@media(max-width:660px){.modal-body{padding:23px 20px}h1{font-size:27px}.template-grid{grid-template-columns:1fr;gap:12px}.template-card{display:grid;grid-template-columns:110px 1fr;column-gap:12px;align-items:center;padding:8px}.template-card canvas{grid-row:span 2;margin:0}.template-card strong{font-size:15px}.template-card small{font-size:12px;margin:0}.new-bottom{flex-direction:column;align-items:stretch;gap:15px}.file-actions{gap:20px}.text-button{font-size:12px}.sprite-modal-body{display:block;padding:18px}.pixel-main{width:min(320px,100%);margin:auto}.pixel-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;align-items:center}.pixel-sidebar>.section-label{display:none}.pixel-preview{margin:0;grid-row:span 2;width:80px;height:80px}.pixel-sidebar p{display:none}.color-palette{margin:0}.custom-color{margin:0}.pixel-sidebar>.text-button{margin:0}.modal-actions{padding:15px;flex-wrap:wrap;justify-content:flex-end}.modal-actions>span{flex-basis:100%}.export-specs{gap:10px;flex-wrap:wrap;font-size:10px}.export-project{flex-direction:column;text-align:center;gap:14px}.play-hud{padding:12px;font-size:10px;flex-wrap:wrap}#hud-goal{font-size:11px}.play-footer{padding:12px;font-size:9px;line-height:1.6}.play-footer .text-button{font-size:10px;white-space:nowrap}.play-bottom{padding:14px}.play-bottom>span{display:none}.play-bottom .button{margin-left:auto}.touch-controls{padding:10px;gap:8px}.touch-controls button{width:34px}.sound-strip{gap:8px;padding:12px}.sound-card button{padding:0 7px}.sound-card select{font-size:9px}.sound-volume{padding:0 12px 12px}.sound-volume small{display:none}.shortcuts{grid-template-columns:repeat(2,1fr);padding:15px}.result-card{padding:18px 28px}.result-card h2{font-size:26px}.export-body>p{font-size:14px}}
.inspector-tabs{display:flex;padding:0 12px;background:#f0f2e7;border-bottom:1px solid #c9cebd;gap:17px}.inspector-tabs>button{padding:13px 6px 10px;background:none;border-bottom:3px solid transparent;font-size:13px;color:#849079}.inspector-tabs>button.active{color:var(--blue);border-color:var(--blue);font-weight:700}.inspector-tabs span{font:9px var(--mono);background:#dce7bd;padding:2px 4px;color:#667645;margin-left:4px}.fx-quick{font:9px var(--mono);border:1px solid #9cb087;color:#5f7a48;padding:3px 5px;background:#ebf1d8;border-radius:2px}.effects-settings{padding:21px 17px;flex:1}.effects-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.effects-header .section-label{font-size:9px;letter-spacing:.7px}.effects-header h3{font-size:17px;letter-spacing:-.4px;margin:7px 0 0}.effects-intro{font-size:12px;line-height:1.6;color:#838e77;margin:13px 0 21px}.switch-label{display:block;position:relative;margin:0;width:33px;height:19px;flex-shrink:0}.switch-label input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}.switch-label span{display:block;background:#c4cbb9;border:1px solid #a7b49b;border-radius:20px;width:33px;height:19px}.switch-label span:after{content:'';position:absolute;width:13px;height:13px;background:#fffef5;top:3px;left:3px;border-radius:50%;transition:.15s;box-shadow:0 1px 2px #0003}.switch-label input:checked+span{background:#607744;border-color:#526735}.switch-label input:checked+span:after{transform:translateX(14px)}.switch-label input:focus-visible+span{outline:2px solid var(--blue);outline-offset:3px}.effect-sliders{margin-top:25px}.effect-control{margin-bottom:22px}.effect-control label{display:flex;justify-content:space-between;font-size:12px;margin:0 0 8px}.effect-control output{font:10px var(--mono);color:#8a977b}.effect-control input{width:100%;accent-color:var(--blue);height:5px;display:block;margin:8px 0 11px;cursor:pointer}.effect-control small{font-size:10px;color:#8a957d;line-height:1.5}.effect-footnote{display:flex;gap:8px;align-items:center;border-top:1px solid #d5dcc9;padding-top:15px;margin-top:10px}.effect-footnote>span{font-size:24px;color:#889d6c}.effect-footnote p{font-size:10px;line-height:1.7;color:#859276;margin:0}.effects-settings>.text-button{font-size:11px;margin-top:20px}.settings-scroll{padding-top:17px}.settings-scroll>.section-label{display:none}
@media(max-width:960px){.settings-scroll{display:block;columns:2;column-gap:24px}.settings-scroll>*{break-inside:avoid}.settings-scroll hr{display:block}.settings-scroll>label{margin-top:16px}.settings-scroll select+label{margin-top:18px}.settings-scroll .two-fields{margin-top:16px}.settings-scroll .palette-line{margin-top:16px}.effects-settings{padding:22px}.effect-sliders{display:grid;grid-template-columns:1fr 1fr;gap:2px 26px}.effects-settings>select{max-width:280px}.effects-header{justify-content:flex-start;gap:20px}.effects-intro{font-size:14px}.effect-control label{font-size:14px}.effect-control small{font-size:12px}.effects-header h3{font-size:20px}.effect-footnote p{font-size:12px}.effects-settings>.text-button{font-size:13px}}
@media(max-width:660px){.settings-scroll{columns:auto}.effects-settings{padding:20px}.effect-sliders{display:block}.effect-control{margin-bottom:26px}.fx-quick{font-size:8px}}
/* The workspace stays small; the deeper tools live one click away. */
.scene-row[hidden]{display:none!important}.add-object{background:none;font-size:12px;color:#677756;padding:0}.add-object:hover{color:var(--blue)}#level-list{margin:8px 0 23px;max-height:142px;overflow:auto}.level-list-row{display:flex;align-items:center;gap:8px;width:100%;background:none;border:1px solid transparent;border-radius:3px;padding:10px 7px;text-align:left;font-size:12px;margin-bottom:4px}.level-list-row>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-list-row.active{border-color:#abb8d5;background:#e8edfb}.level-number{font:10px var(--mono);color:#6d80bb;background:#dce4f5;padding:4px}.level-edit{margin-left:auto;font-size:18px}.object-list{max-height:395px;overflow:auto}.sprite-strip{display:flex;overflow-x:auto;padding-bottom:18px}.sprite-card{min-width:75px;flex:1}.asset-tabs .asset-tabs-note{font-size:10px;white-space:nowrap}.asset-tabs{padding:0 8px}.asset-tab{padding-left:9px;padding-right:9px}.effects-advanced{font-size:11px;width:100%;margin-top:19px;box-shadow:1px 1px var(--ink)}#game-preview{display:block;width:100%;height:min(73vh,650px);border:0;background:var(--paper)}.catalog-modal{width:min(1000px,calc(100vw - 32px))}.template-library{padding:26px}.template-heading p{font-size:14px;color:#7d8970;margin:10px 0 23px}.catalog-tools{display:flex;gap:12px}.catalog-tools input{flex:1;padding:10px 13px;background:#fffef6;border:1px solid #b7c2aa;border-radius:3px;font-size:14px;min-width:0}.catalog-tools select{width:180px;height:41px;font-size:13px}.recipe-filters{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 21px}.recipe-filters button{font-size:12px;padding:7px 12px;border:1px solid #c8d0ba;background:#f0f3e8;border-radius:3px}.recipe-filters button.active{background:#435ad5;color:white;border-color:#435ad5}.recipe-layout{display:grid;grid-template-columns:1fr 260px;gap:22px;align-items:start}.recipe-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-height:405px;overflow:auto;padding:2px 5px 5px 2px}.recipe-card{padding:0;background:#f3f5e9;border:1px solid #bfc9b0;border-radius:3px;overflow:hidden;text-align:left;min-width:0}.recipe-card.chosen{border:2px solid var(--blue);box-shadow:2px 2px var(--blue)}.recipe-card canvas{width:100%;image-rendering:pixelated;display:block;aspect-ratio:16/9;border-bottom:1px solid #c0cbb3}.recipe-card>div{padding:10px 12px}.recipe-card strong{font-size:13px}.recipe-card small{font:9px var(--mono);color:#849274;margin-top:6px;text-transform:capitalize}.recipe-detail{border:1px solid #cad2bd;background:#f0f3e6;padding:18px;max-height:410px;overflow:auto;border-radius:3px}.recipe-status{font:9px var(--mono);letter-spacing:.5px;background:#dce9bd;color:#617940;padding:4px 6px}.recipe-status.blueprint{background:#e9ddbf;color:#87713f}.recipe-detail h2{font-size:22px;line-height:1.2;letter-spacing:-.5px;margin:15px 0 9px}.recipe-detail>p{font-size:13px;line-height:1.65;color:#7e8a70}.recipe-detail dl{margin:16px 0 22px}.recipe-detail dl>div{display:flex;justify-content:space-between;gap:15px;font-size:11px;margin-top:9px}.recipe-detail dt{color:#8a947e}.recipe-detail dd{margin:0;text-transform:capitalize;text-align:right}.recipe-detail label{font-size:12px}.recipe-sprites{display:flex;justify-content:space-around;margin:17px 0}.recipe-sprites canvas{width:32px;height:32px;image-rendering:pixelated}.preset-included{font-size:10px;color:#879872;margin:17px 0}.recipe-detail .button{font-size:12px;width:100%;padding:0 9px}.blueprint-note{background:#faeccf;border:1px solid #d9c49a;padding:12px;font-size:12px;color:#857048;margin:15px 0;line-height:1.5}.blueprint-note p{font-size:12px;margin:6px 0 0;line-height:1.6}.file-actions .muted{margin-left:auto;max-width:260px;line-height:1.4;font-size:10px!important}.catalog-empty{font-size:14px;color:#89947d;padding:20px;grid-column:span 2}.customize-modal{width:850px;max-width:calc(100vw - 26px)}.customize-shell{display:grid;grid-template-columns:220px 1fr;min-height:460px;max-height:68vh}.customize-nav{padding:24px 13px;background:#edf0e2;border-right:1px solid #c6ceba;display:flex;flex-direction:column;gap:6px;overflow:auto}.customize-nav .section-label{font-size:9px;padding:0 9px 15px}.customize-nav>button{display:flex;align-items:center;gap:10px;font-size:13px;padding:11px 10px;background:none;text-align:left;border-radius:3px;border:1px solid transparent}.customize-nav>button.active{background:#e0e7fc;border-color:#b6c3e4;color:#4058bb;font-weight:600}.customize-nav>button>span{font-size:18px;width:22px}.source-link{display:block;font-size:12px;color:#5f7650;margin:25px 7px 0;line-height:1.8}.source-link small{font-size:10px;color:#909d83;text-decoration:none}.customize-content{padding:26px 29px;overflow:auto}.customize-content h1{font-size:27px}.customize-content>p{font-size:14px;color:#87927b;line-height:1.65;margin:8px 0 20px}.config-fields{margin:20px 0}.config-field{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e4d7;padding:10px 0;font-size:13px;margin:0;font-weight:500}.config-field span small{display:inline;color:#929e86;font-size:10px;margin-left:8px}.config-field input{width:88px;height:34px;font-size:13px}.check-row{display:flex;align-items:center;gap:10px;font-size:13px;margin:22px 0;font-weight:500}.check-row input{accent-color:var(--blue);width:17px;height:17px}.check-row small{font-size:10px;color:#92a080;margin-left:auto}.customize-content details,.object-body details{border-top:1px solid #ced6c0;margin-top:24px;padding-top:17px}.customize-content summary,.object-body summary{cursor:pointer;font-size:14px;font-weight:600;margin-bottom:18px}.box-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.box-fields label{display:block;font-size:11px;color:#839272;font-weight:400}.box-fields input{margin-top:7px;font-size:13px}.customize-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 23px;border-top:1px solid #c6cfb9;background:#f1f4e8}.customize-footer>span{font-size:11px;color:#8a987b}.customize-content>label{margin-top:20px;font-size:13px}.customize-content select{font-size:13px;height:39px}.customize-content .text-button{margin:12px 0}.pack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.pack-grid button{display:flex;flex-direction:column;align-items:center;gap:9px;border:1px solid #c7d0bb;padding:14px 6px;background:#eef2e2;border-radius:3px}.pack-grid button.active{border-color:var(--blue);background:#e5ebfc;box-shadow:2px 2px var(--blue)}.pack-grid canvas{height:40px;width:40px;image-rendering:pixelated}.pack-grid strong{font-size:10px;font-weight:500}.wide-input{width:100%;height:40px;border:1px solid #bcc8ab;border-radius:3px;padding:0 11px;background:#fffef7;font-size:14px}textarea{width:100%;padding:12px;border:1px solid #bbc7a9;border-radius:3px;background:#fffef7;font:14px/1.6 var(--sans);color:var(--ink);resize:vertical;min-height:60px;outline-offset:2px}.levels-modal{width:580px}.levels-body>label{margin-top:23px}.levels-body h1{font-size:27px}.level-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.level-actions .button{font-size:12px}.levels-body .modal-actions{padding:20px 0 0;justify-content:flex-end;margin-top:25px}.objects-modal{width:610px}.object-body h1{font-size:27px}.object-body>label{margin-top:21px}.object-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:24px}.object-form-grid select{font-size:12px}.object-body .modal-actions{margin-top:25px;justify-content:flex-end}.code-editor{font:12px/1.6 var(--mono);tab-size:2;background:#222d38;color:#d5e5cf;min-height:260px;margin-top:18px}.code-actions{display:flex;gap:15px;align-items:center;margin:15px 0}.code-actions .button{font-size:12px}.code-actions>span{font-size:12px;color:#7b8d68;line-height:1.5}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.7 var(--mono);background:#ebefdf;padding:14px}.fx-look-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:21px 0}.fx-look-grid button{font-size:10px;padding:0 0 10px;border:1px solid #bdc9ad;background:#f1f4e7;overflow:hidden;border-radius:3px}.look-preview{display:grid;place-items:center;height:52px;margin-bottom:9px;background:linear-gradient(135deg,#bad6a5,#ecd595);font-size:28px;color:#fff2b7;text-shadow:0 0 9px #ffff77}.look-clean{background:#b8d9b6}.look-dream{background:linear-gradient(30deg,#6f748e,#d6b1d0);filter:blur(.3px)}.look-arcade{background:linear-gradient(135deg,#142455,#674878);color:#93f5eb;text-shadow:0 0 12px cyan}.look-crt{background:repeating-linear-gradient(0deg,#445e53 0 2px,#38514a 2px 3px)}.look-film{background:linear-gradient(135deg,#647388,#b7a189);color:#dfd4b6}.look-noir{background:#3e4a53;color:#dbdfe4}.look-vhs{background:repeating-linear-gradient(0deg,#6f6c87 0 3px,#4f5b75 3px 4px);text-shadow:-2px 0 red,2px 0 cyan}.fx-group summary{display:flex;justify-content:space-between}.fx-group summary span{font:10px var(--mono);color:#8f9d7e}.advanced-fx-field{display:grid;grid-template-columns:1fr 130px 45px;align-items:center;gap:10px;font-size:12px;font-weight:400;margin-bottom:17px}.advanced-fx-field input{width:100%;accent-color:var(--blue);height:6px;cursor:pointer}.advanced-fx-field output{font:10px var(--mono);text-align:right;color:#81916d}.effects-honest-note{font-size:11px;color:#879779;line-height:1.7;margin:23px 0}#fx-live-test{font-size:12px}.tile-library-tools{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #d0d9c0}.tile-library-tools select{width:auto;min-width:0;font-size:11px;height:31px}.tile-library-tools label{font-size:10px;font-weight:400;margin:0;white-space:nowrap}.tiles-grid{display:grid;grid-template-columns:repeat(16,1fr);gap:3px;padding:12px 14px;max-height:206px;overflow:auto;align-items:start}.tile-pick{padding:0;border:1px solid #7b8477;background:#242334;aspect-ratio:1;min-width:0;display:grid;place-items:center}.tile-pick:hover,.tile-pick.active{border:2px solid #f7d551;background:#35344a}.tile-pick canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.tiles-credit{padding:0 14px 13px;font-size:10px;color:#81936c;display:flex;justify-content:space-between;gap:10px}.tiles-credit span{color:#a0ab94}.project-actions{gap:9px}.project-actions .button{font-size:12px;padding:0 11px}.save-status{display:none}.settings-scroll label{font-size:13px}.settings-scroll select{font-size:13px}.object-item{font-size:13px}.library-tip{margin-top:20px}
@media(max-width:1200px){.asset-tabs .asset-tabs-note{display:none}.projectbar{gap:10px}.project-actions .button{padding:0 9px;font-size:11px}}
@media(max-width:960px){.project-heading{min-width:150px}.project-ext{display:none}.project-actions .button kbd{display:none}.customize-shell{grid-template-columns:180px 1fr}.customize-nav{padding:19px 10px}.customize-nav>button{font-size:12px;gap:6px}.recipe-layout{grid-template-columns:1fr 230px}.recipe-detail{padding:14px}.object-list{max-height:380px}.library-tip{display:none}.library-body{min-height:500px}.library-bottom{font-size:10px}.recipe-cards{max-height:420px}.project-actions{flex-wrap:wrap;justify-content:flex-end}.settings-scroll select{font-size:14px}.settings-scroll label{font-size:14px}.sprite-card strong{font-size:11px}.desktop-footer{font-size:10px}}
@media(max-width:660px){.project-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.project-actions .button{padding:0 5px;font-size:10px;min-height:36px}.library-body>.section-line:first-child,#level-list{display:none}.library-body{min-height:0}.object-list{max-height:165px}.object-item{font-size:11px}.sprite-strip{display:grid;grid-template-columns:repeat(4,1fr)}.sprite-card{min-width:0}.sprite-card strong{font-size:10px}.sprite-image{height:58px}.asset-tabs{justify-content:space-between}.asset-tab{font-size:11px}.recipe-layout{grid-template-columns:1fr}.template-library{padding:18px}.recipe-detail{max-height:none}.recipe-cards{max-height:270px;gap:10px}.template-heading h1{font-size:25px}.template-heading p{font-size:13px}.catalog-tools{gap:8px}.catalog-tools input{font-size:12px}.catalog-tools select{width:130px;font-size:11px}.recipe-filters{gap:5px}.recipe-filters button{font-size:10px;padding:6px 8px}.recipe-card strong{font-size:12px}.recipe-card small{font-size:9px}.file-actions{gap:15px;flex-wrap:wrap}.file-actions .muted{margin:0;max-width:none;width:100%}.customize-shell{display:block;max-height:70vh;overflow:auto}.customize-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #c6ceba;padding:10px;position:sticky;top:0;z-index:2}.customize-nav .section-label,.source-link{display:none}.customize-nav>button{font-size:11px;padding:8px;white-space:nowrap}.customize-nav>button>span{font-size:14px;width:auto}.customize-content{padding:23px 20px;overflow:visible}.customize-content h1{font-size:24px}.customize-content>p{font-size:13px}.customize-footer{padding:13px}.customize-footer>span{font-size:10px;line-height:1.5}.customize-footer>.button{font-size:12px}.advanced-fx-field{grid-template-columns:1fr 90px 40px;font-size:11px}.fx-look-grid{gap:7px}.fx-look-grid button{font-size:9px}.pack-grid{gap:8px}.pack-grid strong{font-size:10px}.box-fields{gap:8px}.box-fields input{padding:0 7px}.config-field{font-size:13px}.object-form-grid{grid-template-columns:1fr}.tile-library-tools{flex-wrap:wrap}.tiles-grid{grid-template-columns:repeat(12,1fr)}.tile-library-tools select{font-size:12px}.tile-library-tools label{font-size:11px}.tiles-credit{font-size:9px}.tiles-credit span{display:none}.objects-modal{width:calc(100vw - 30px)}}

/* ---------- traits, layers, frames, backdrop (mechanics update) ---------- */
.object-group-label{font:10px var(--mono);letter-spacing:.08em;color:#8a8b7c;padding:10px 8px 3px;border-top:1px dashed #d4d5c8;margin-top:4px}
.object-group-label:first-child{border-top:0;margin-top:0}
.object-item .object-gear{margin-left:auto;font-size:13px;color:#a09d82;opacity:0;padding:2px 4px;border-radius:2px}
.object-item:hover .object-gear,.object-item.selected .object-gear{opacity:1}
.object-item .object-gear:hover{background:#fff;color:var(--ink)}
.object-item .object-gear+.object-key{margin-left:6px}
.layer-toggle{font:11px var(--mono);padding:0 9px;min-width:0;letter-spacing:.03em}
.layer-toggle.back-layer{background:#d9d2ec;border-color:#9b8bc4}
.game-frame{position:relative}
.level-scroll{-webkit-appearance:none;appearance:none;background:#c9cfc1;height:8px;border-radius:4px;margin:0;width:100%;display:block}
.level-scroll::-webkit-slider-thumb{-webkit-appearance:none;width:48px;height:8px;border-radius:4px;background:#5c6b5c;cursor:grab}
.level-scroll-x{margin-top:6px}
.level-scroll-y{position:absolute;right:-14px;top:0;width:288px;transform-origin:top right;transform:rotate(90deg) translateY(-100%);z-index:2}
.level-size-label{font:10px var(--mono);color:#8a8b7c}
.canvas-footline .tiny{font-size:10px;padding:1px 6px}
.trait-list{display:grid;gap:10px;margin:10px 0 14px}
.trait-card{border:1px solid #cfd1c4;background:#fff;border-radius:4px;padding:10px 12px}
.trait-head{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px}
.trait-head small{font:11px var(--sans);color:var(--muted);font-weight:400;flex:1;line-height:1.3}
.trait-head .tool{height:24px;min-width:24px;font-size:16px}
.trait-params{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 16px;margin-top:8px}
.trait-param{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;font-size:12px}
.trait-param>span{grid-column:1/-1;display:flex;justify-content:space-between;color:#4c4f45}
.trait-param>span small{font:10px var(--mono);color:#8a8b7c}
.trait-param input[type=range]{width:100%}
.trait-param output{font:11px var(--mono);min-width:34px;text-align:right}
.trait-param select,.trait-param textarea,.trait-param input:not([type=range]):not([type=checkbox]){grid-column:1/-1;width:100%;font:inherit;font-size:12px;padding:5px 7px;border:1px solid #cfd1c4;border-radius:3px;background:#faf9ef}
.trait-param.wide{grid-column:1/-1}
.trait-param.check{grid-template-columns:auto 1fr;gap:8px}
.trait-param.check span{grid-column:auto}
.trait-param textarea.code-editor{font:12px var(--mono);min-height:120px}
.trait-empty{padding:12px;border:1px dashed #cfd1c4;border-radius:4px}
.add-trait select{max-width:320px;font:inherit;font-size:12px;padding:5px 7px;border:1px solid #cfd1c4;border-radius:3px;background:var(--yellow)}
.anim-states{display:flex;gap:4px;margin-bottom:8px}
.anim-states button{font:12px var(--sans);padding:5px 11px;border:1px solid #cfd1c4;background:#fff;border-radius:3px}
.anim-states button.active{background:var(--yellow);border-color:#b59e3f;font-weight:600}
.frame-strip-wrap{margin-top:12px}
.frame-strip{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.frame-thumb{display:grid;justify-items:center;gap:2px;padding:4px;border:1px solid #cfd1c4;background:#fff;border-radius:3px}
.frame-thumb canvas{width:32px;height:32px;image-rendering:pixelated;background:#eef0e6}
.frame-thumb span{font:10px var(--mono)}
.frame-thumb.active{border-color:#b59e3f;background:#fff3b2}
.frame-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px}
.frame-tools label{display:flex;align-items:center;gap:6px}
.frame-tools output{font:11px var(--mono)}
#background-panel .two-fields input[type=color]{width:100%;height:32px;padding:2px;border:1px solid #cfd1c4;border-radius:3px;background:#fff}
.bg-image-row{display:flex;align-items:center;gap:10px;margin:8px 0}
.bg-image-preview{width:96px;height:54px;object-fit:cover;border:1px solid #cfd1c4;image-rendering:pixelated}
#background-panel hr{border:0;border-top:1px dashed #d4d5c8;margin:12px 0}
#background-panel .effect-control{margin:6px 0}

/* Sheet import and animation authoring share the editor's quiet, squared controls. */
.tileset-import-modal{width:min(980px,96vw)}
.tileset-import-body{padding:24px}.tileset-import-body h1{margin:8px 0}.tileset-import-body header p{line-height:1.5}
.tileset-import-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;margin-top:18px}
.tileset-import-layout aside{min-width:0}.tileset-import-layout label{display:block;margin:8px 0}.tileset-import-layout select{width:100%}
.tileset-import-grid{display:grid;grid-template-columns:repeat(var(--sheet-cols,8),minmax(24px,1fr));gap:4px;max-height:480px;overflow:auto;padding:4px;background:#e5e8da}
.tileset-import-grid button{padding:4px;aspect-ratio:1;border:1px solid #8d987d;background:#f8f7ec;min-width:0}.tileset-import-grid button.active{background:#f9df82;outline:2px solid #4b5bcc;outline-offset:-2px}.tileset-import-grid canvas{width:100%;height:100%;image-rendering:pixelated}
#tileset-box-canvas{display:block;width:min(100%,256px);height:auto;margin:12px auto;image-rendering:pixelated;touch-action:none;border:1px solid #76836a}
.tileset-import-actions{display:flex;flex-wrap:wrap;gap:8px}.tileset-import-actions button{white-space:normal}
.animation-picker{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:12px}.animation-picker label{flex:1;min-width:130px}.animation-picker select{width:100%}.animation-new{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.animation-new input{min-width:120px;flex:1}
@media(max-width:700px){.tileset-import-layout{grid-template-columns:1fr}.tileset-import-grid{max-height:220px}.tileset-import-body{padding:16px}.tileset-import-layout aside{display:block}}
.tileset-import-body{padding:16px 22px}.tileset-import-body header h1{font-size:26px;margin:5px 0}.tileset-import-body header p{margin:5px 0 12px;font-size:13px}.tileset-import-layout{margin-top:8px;gap:20px}.tileset-import-grid{grid-template-columns:repeat(var(--sheet-cols,8),minmax(24px,48px));justify-content:start;align-content:start;min-height:160px;margin-top:12px}.tileset-import-grid button{max-width:48px;max-height:48px}#tileset-box-canvas{width:160px;margin:8px auto}.tileset-import-layout aside>.muted{font-size:12px;line-height:1.4;margin:6px 0}.tileset-more-note{font-size:12px;margin-top:10px}.tileset-import-body .modal-actions{margin-top:14px;padding-top:12px;padding-bottom:0}
.tileset-import-body .modal-actions{position:sticky;bottom:0;background:var(--paper);z-index:2;padding:12px 0;margin-bottom:0;justify-content:flex-end;box-shadow:0 -6px 10px var(--paper)}
.sprite-modal .modal-actions{position:sticky;bottom:0;z-index:2;background:var(--paper);box-shadow:0 -6px 10px var(--paper)}
@media(min-width:700px) and (max-height:850px){.sprite-modal-body{padding:16px 24px}.sprite-modal #pixel-canvas{width:240px;margin-inline:auto}.sprite-modal .pixel-sidebar p{margin-bottom:12px}.sprite-modal .pixel-toolbar{gap:5px;margin-bottom:8px}.sprite-modal .animation-picker{margin-bottom:6px}.sprite-modal .animation-new{margin:6px 0}}
.tile-library-tools{flex-wrap:wrap}

/* Playtest grows in place so changing display mode never restarts the game. */
.play-modal{display:flex;flex-direction:column;height:min(820px,calc(100dvh - 40px));min-height:0}
.play-modal>.modal-title,.play-modal>.playtest-toolbar,.play-modal>.play-bottom,.play-modal>.validation-note{flex:0 0 auto}
.play-modal>.modal-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.play-modal>.modal-title>button{flex-shrink:0}
.playtest-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #cbd1bf;background:var(--paper)}
.playtest-toolbar>span{font-size:11px;color:#7b8471}.playtest-toolbar>div{display:flex;gap:8px}.playtest-toolbar button[aria-pressed=true]{background:var(--yellow)}
.play-modal>#game-preview{flex:1 1 0;height:auto;min-height:0;background:#263339}
.play-modal>.validation-note{margin:0;padding:7px 14px;border-width:1px 0 0;border-radius:0;font-size:11px;max-height:58px;overflow:auto}
.play-modal>.play-bottom{padding:10px 14px;gap:12px}.play-modal>.play-bottom .button{flex-shrink:0;font-size:12px}
#modal.playtest-expanded{width:calc(100vw - 24px);max-width:none;max-height:none}
#modal.playtest-expanded>.play-modal{width:100%;height:calc(100dvh - 28px)}
.play-modal:fullscreen{width:100vw!important;height:100dvh!important;max-width:none;max-height:none;background:var(--paper);padding:0}
@media(max-width:600px){.playtest-toolbar>span{display:none}.playtest-toolbar{justify-content:flex-end}.play-modal>.play-bottom>span{font-size:10px}.play-modal>.modal-title{gap:8px}.play-modal{height:calc(100dvh - 40px)}}

/* Sprite sheets are reviewed within Pixel Studio, without committing its draft. */
.sprite-drop-hint{font-size:11px;line-height:1.5;padding:9px 10px;border:1px dashed #b0bba0;background:#edf0e3;color:#657252}
.sprite-drop-active{outline:3px dashed var(--blue);outline-offset:-8px;background:#edf0fc}
.sheet-import-panel{padding:24px;min-width:0}.sheet-import-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.sheet-import-heading h2{font-size:23px;margin:9px 0}.sheet-import-panel>p{font-size:12px;line-height:1.6;color:#67735b}.sheet-source{padding:12px;background:repeating-conic-gradient(#e1e5d7 0 25%,#f5f5ed 0 50%) 0/16px 16px;border:1px solid #b7c0a9;margin:16px 0}.sheet-source canvas{display:block;max-width:100%;width:100%;height:180px;object-fit:contain;image-rendering:pixelated}.sheet-controls{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.sheet-controls label{flex:1;min-width:80px;font-size:11px;margin:0}.sheet-controls input,.sheet-controls select{width:100%;margin-top:5px}.sheet-controls input[type=number]{min-width:60px}.sheet-spacing{padding:10px 0;border-block:1px solid #cbd2be;font-size:12px}.sheet-check{display:flex;align-items:center;gap:8px;font-size:12px;margin:10px 0}.sheet-check input[type=checkbox]{width:auto;margin:0}.sheet-check input[type=color]{width:30px;height:25px;padding:0}.sheet-clip{display:flex;gap:16px;padding:16px 0;border-top:1px solid #cbd2be}.sheet-clip-fields{flex:1;min-width:0}.sheet-live{width:64px;height:64px;flex-shrink:0;image-rendering:pixelated;background:repeating-conic-gradient(#e1e5d7 0 25%,#f5f5ed 0 50%) 0/16px 16px;border:1px solid #b7c0a9;margin-top:12px}.sheet-clip small{font-size:11px;color:#687557}.sheet-frames{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.sheet-frames canvas{width:24px;height:24px;image-rendering:pixelated;background:#e3e8d9}.sheet-import-footer{position:sticky;bottom:0;background:var(--paper);padding:16px 0 0;display:flex;align-items:center;gap:12px;border-top:1px solid #cbd2be}.sheet-import-footer small{font-size:11px;line-height:1.5;color:#727d66;flex:1}.sheet-import-panel button:disabled{opacity:.5;cursor:not-allowed}#sheet-status{font-weight:600;color:#435437}
@media(max-width:600px){.sheet-import-panel{padding:16px}.sheet-import-heading{flex-wrap:wrap}.sheet-source canvas{height:140px}.sheet-clip{gap:10px}.sheet-live{width:48px;height:48px}.sheet-import-footer{flex-wrap:wrap}.sheet-import-footer small{flex-basis:100%}}

#tileset-overview{display:block;width:100%;height:auto;image-rendering:pixelated;border:1px solid #acb898;background:repeating-conic-gradient(#e1e5d7 0 25%,#f5f5ed 0 50%) 0/16px 16px;cursor:crosshair;margin:12px 0}.tiles-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;font-size:11px}.tiles-pagination label{display:flex;align-items:center;gap:6px;margin:0;font-weight:400}.tiles-pagination input{width:60px;height:29px;padding:4px}.tiles-pagination button:disabled{opacity:.45;cursor:not-allowed}

.sheet-controls label{display:block}.sheet-controls input:not([type=checkbox]):not([type=color]){height:36px;padding:0 9px;border:1px solid #b6b9ac;border-radius:3px;background:#fffef7;color:var(--ink);font:12px var(--sans);min-width:0}.sheet-clip-fields .sheet-controls label:last-child{flex:0 0 96px}
.sprite-modal{max-width:calc(100vw - 28px)}
