:root{--bg:#100e0c;--bg-elev:#1b1814;--bg-row:#141210;--line:#f4eee41a;--text:#f4eee4;--muted:#a89f91;--accent:#ff6b3d;--danger:#ff5d5d;--shadow:0 24px 60px #00000073;--sans:system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--sans);background:var(--bg);color:var(--text)}button,input{font:inherit;color:inherit}.app{width:min(1120px,100% - 32px);margin:0 auto;padding:28px 0 80px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.brand{flex-direction:column;flex:1;gap:4px;min-width:min(100%,280px);display:flex}.title-input{font-size:clamp(2rem,5vw,3.4rem);font-family:var(--sans);background:0 0;border:0;border-bottom:1px solid #0000;width:100%;padding:0 0 6px;font-weight:700;line-height:1}.title-input:hover,.title-input:focus{border-bottom-color:var(--line);outline:none}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--line);background:var(--bg-elev);cursor:pointer;border-radius:999px;padding:9px 14px;transition:all .15s}.btn:hover{border-color:#f4eee447;transform:translateY(-1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#1a140c;font-weight:700}.btn.ghost{background:0 0}.btn.danger{color:var(--danger);background:0 0;border-color:#ff5d5d66}.board{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.tier-row{background:var(--bg-row);grid-template-columns:92px minmax(0,1fr) 36px;min-height:96px;display:grid}.tier-row.is-dragging{opacity:.4}.tier-row+.tier-row{border-top:1px solid #000}.tier-label{font-family:var(--sans);cursor:pointer;word-break:break-word;border:0;padding:10px 8px;font-size:clamp(1.6rem,3vw,2.5rem);font-weight:700;line-height:1.05}.tier-handle{border:0;border-left:1px solid var(--line);cursor:grab;touch-action:none;background:#171410;place-items:center;padding:0;display:grid}.tier-handle:active{cursor:grabbing}.tier-handle-grip{background-image:radial-gradient(circle, var(--muted) 1.15px, transparent 1.25px), radial-gradient(circle, var(--muted) 1.15px, transparent 1.25px);opacity:.85;background-position:0 0,5px 0;background-size:5px 6px,5px 6px;width:10px;height:18px}.tier-label-overlay{width:92px;min-height:96px;box-shadow:var(--shadow);justify-content:center;align-items:center;display:flex}.tier-items,.pool-items{background:var(--bg-row);flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:96px;padding:6px;transition:background .15s;display:flex}.tier-items.is-over{background:color-mix(in srgb, var(--tier-color) 50%, transparent)}.pool-items.is-over{background:#ff6b3d14}.tier-items:has(.drop-hint){place-content:center;align-items:center}.drop-hint{color:var(--muted);text-align:center;margin:0;font-size:.85rem}.item-wrap{cursor:grab;width:84px;height:84px}.item-wrap:active{cursor:grabbing}.item{cursor:grab;-webkit-user-select:none;user-select:none;background:#2b2621;border-radius:6px;justify-content:center;align-items:center;width:84px;height:84px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d}.item:active{cursor:grabbing}.item img{object-fit:cover;pointer-events:none;width:100%;height:100%}.item-fallback{font-family:var(--sans);color:#efe6d8;text-align:center;padding:8px;font-size:1.7rem;font-weight:700;line-height:1}.item-caption{text-align:center;color:var(--text);padding:5px 6px 6px;font-size:.68rem;font-weight:700;line-height:1.15;position:absolute;bottom:0;left:0;right:0}.item-caption.on-image{background:linear-gradient(#0000,#000000c7)}.item-edit{color:var(--text);opacity:0;cursor:pointer;background:#100e0cc7;border:0;border-radius:999px;padding:3px 7px;font-size:.64rem;font-weight:700;position:absolute;top:4px;right:4px}.item:hover .item-edit,.item:focus-within .item-edit{opacity:1}.item-overlay{cursor:grabbing;box-shadow:0 16px 32px #00000073}.add-tile{cursor:pointer;color:var(--muted);background:0 0;border:1px dashed #f4eee438;flex-direction:column;gap:4px;font-size:.75rem;font-weight:600}.add-plus{color:var(--text);font-size:1.5rem;line-height:1}.pool{margin-top:28px}.pool-items{border:1px solid var(--line);background:var(--bg-elev);border-radius:14px;min-height:110px}.dialog-backdrop{z-index:20;background:#080604b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);background:#201c18;border-radius:18px;padding:22px}.dialog h2{font-family:var(--sans);margin:0 0 16px;font-size:2rem;font-weight:700}.form{gap:14px;display:grid}.form label,.color-field{color:var(--muted);gap:6px;font-size:.82rem;font-weight:700;display:grid}.form input[type=text],.form input:not([type=color]){border:1px solid var(--line);width:100%;color:var(--text);background:#141210;border-radius:10px;padding:10px 12px}.form input:focus{outline-offset:1px;outline:2px solid #ff6b3d73}.hint{color:var(--muted);margin:0;font-size:.82rem;font-weight:500}.preview{background:#141210;border-radius:8px;width:84px;height:84px;overflow:hidden}.preview img{object-fit:cover;width:100%;height:100%}.color-field{border:0;margin:0;padding:0}.swatches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0}.swatch.selected{border-color:#fff;box-shadow:0 0 0 2px #000}.custom-color{clip-path:circle(50%);cursor:pointer;background:conic-gradient(from 90deg,#ff5d5d,#ff9a3c,#ffd166,#8ac926,#3a86ff,#7b5ea7,#f72585,#ff5d5d);border-radius:50%;flex-shrink:0;width:28px;height:28px;position:relative;overflow:hidden}.custom-color.selected{border-color:#fff;box-shadow:0 0 0 2px #000}.custom-color input[type=color]{appearance:none;opacity:0;cursor:pointer;border:0;width:64px;height:64px;margin:0;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.custom-color input[type=color]::-webkit-color-swatch-wrapper{border:0;padding:0}.custom-color input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}.custom-color input[type=color]::-moz-color-swatch{border:0;border-radius:50%}.dialog-footer{justify-content:space-between;gap:8px;margin-top:20px;display:flex}.dialog-footer-right{gap:8px;display:flex}@media (width<=700px){.app{width:min(100% - 16px,1120px);padding-top:16px}.tier-row{grid-template-columns:72px minmax(0,1fr) 32px}.item,.item-wrap,.add-tile{width:72px;height:72px}}
