:root{color-scheme:dark;--bg: #06070c;--bg-elevated: rgba(14, 16, 26, .88);--bg-card: rgba(20, 24, 38, .78);--bg-cell: rgba(255, 255, 255, .032);--bg-cell-hover: rgba(255, 255, 255, .065);--border: rgba(255, 255, 255, .085);--border-strong: rgba(255, 255, 255, .15);--text: #f0f2f8;--text-muted: #8d95ab;--accent: #6b8cff;--accent-2: #a78bfa;--accent-warm: #f0b86e;--accent-soft: rgba(107, 140, 255, .14);--accent-glow: rgba(107, 140, 255, .38);--shadow-lg: 0 28px 90px rgba(0, 0, 0, .58);--shadow-md: 0 12px 40px rgba(0, 0, 0, .35);--radius: 12px;--radius-sm: 8px;--radius-lg: 20px;--font: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--display: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "Cascadia Code", "Consolas", monospace;--toolbar-h: 64px;--ease: cubic-bezier(.22, 1, .36, 1);--glass: blur(18px) saturate(1.35)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:#6b8cff59;color:#fff}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}#app,.app-shell,.home-page,.tile-viewer{height:100vh;height:100dvh}.app-shell{position:relative}.home-page{position:relative;display:flex;flex-direction:column;overflow:hidden}.home-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.home-bg-glow{position:absolute;border-radius:50%;opacity:.45}.home-bg-glow--1{width:520px;height:520px;top:-120px;left:-80px;background:radial-gradient(circle,rgba(107,140,255,.45),transparent 70%)}.home-bg-glow--2{width:480px;height:480px;bottom:-100px;right:-60px;background:radial-gradient(circle,rgba(167,139,250,.35),transparent 70%)}.home-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,black 20%,transparent 100%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,black 20%,transparent 100%)}.home-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:24px 40px}.home-logo{display:flex;align-items:center;gap:12px}.home-logo-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-size:16px;box-shadow:0 8px 24px var(--accent-glow)}.home-logo-text{font-family:var(--display);font-size:18px;font-weight:600;letter-spacing:-.02em}.home-version{font-size:12px;font-weight:500;color:var(--text-muted);padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-main{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;max-width:920px;width:100%;margin:0 auto;padding:0 40px 48px}.home-hero{margin-bottom:40px;animation:fade-up .7s var(--ease) both}.home-eyebrow{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.home-title{margin:0 0 16px;font-family:var(--display);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;line-height:1.08;letter-spacing:-.03em}.home-title span{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 55%,var(--accent-warm) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.home-subtitle{margin:0;max-width:520px;font-size:16px;line-height:1.65;color:var(--text-muted)}.home-tools{display:grid;gap:16px;animation:fade-up .7s var(--ease) .12s both}.tool-card{position:relative;display:flex;align-items:center;gap:20px;width:100%;padding:22px 24px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);text-align:left;color:inherit;cursor:pointer;overflow:hidden;transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease),background .28s var(--ease)}.tool-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(107,140,255,.08),transparent 55%);opacity:0;transition:opacity .28s var(--ease);pointer-events:none}.tool-card--primary:hover:before{opacity:1}.tool-card--primary:hover{transform:translateY(-3px);border-color:#6b8cff73;background:#1c2236e0;box-shadow:var(--shadow-lg),0 0 0 1px #6b8cff1f}.tool-card--primary:hover .tool-card-arrow{transform:translate(4px);color:var(--accent)}.tool-card--soon{opacity:.55;cursor:default}.tool-card-icon-wrap{flex-shrink:0;display:grid;place-items:center;width:72px;height:72px;border-radius:16px;background:linear-gradient(145deg,#6b8cff38,#a78bfa1f);border:1px solid rgba(107,140,255,.25);color:var(--accent)}.tool-card-icon-wrap--muted{background:#ffffff0a;border-color:var(--border);color:var(--text-muted)}.tool-card-icon{width:40px;height:40px}.tool-card-body{flex:1;min-width:0}.tool-card-body h2{margin:0 0 6px;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em}.tool-card-body p{margin:0;font-size:14px;line-height:1.55;color:var(--text-muted)}.tool-card-arrow{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border-radius:999px;background:#ffffff0d;color:var(--text-muted);transition:transform .25s var(--ease),color .25s var(--ease)}.tool-card-arrow svg{width:20px;height:20px}.tool-card-badge{flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:#ffffff0f;color:var(--text-muted);border:1px solid var(--border)}.home-footer{position:relative;z-index:1;padding:20px 40px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border);background:#0003;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center}.home-server-hint{font-family:var(--mono);font-size:11px;opacity:.75}.home-server-hint--error{color:#f87171;opacity:1}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.tile-viewer{display:flex;flex-direction:column;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(107,140,255,.08),transparent),var(--bg)}.tile-toolbar{height:var(--toolbar-h);display:flex;align-items:center;gap:14px;padding:0 20px;border-bottom:1px solid var(--border);background:#0a0c14d1;backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);box-shadow:0 1px #ffffff0a,0 8px 32px #00000038;flex-shrink:0;z-index:10}.btn-back{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px 0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff0a;color:var(--text-muted);font:500 13px var(--font);cursor:pointer;transition:color .2s,border-color .2s,background .2s}.btn-back svg{width:18px;height:18px}.btn-back:hover{color:var(--text);border-color:var(--border-strong);background:#ffffff12}.tile-toolbar-divider{width:1px;height:28px;background:var(--border)}.tile-toolbar-left{display:flex;align-items:center;gap:12px}.brand-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#6b8cff33,#a78bfa26);border:1px solid rgba(107,140,255,.25);color:var(--accent)}.brand-icon svg{width:20px;height:20px}.tile-toolbar-title{display:flex;align-items:center;gap:10px}.tile-toolbar-title strong{font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:-.01em}.tile-count{font:500 11px var(--mono);padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);border:1px solid rgba(107,140,255,.2)}.tile-toolbar-controls{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}.btn-toolbar{height:38px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font:500 12px var(--font);cursor:pointer;white-space:nowrap;transition:border-color .2s,background .2s,transform .15s var(--ease),box-shadow .2s}.btn-toolbar:hover{border-color:var(--accent);background:var(--accent-soft)}.btn-toolbar:active{transform:scale(.97)}.btn-toolbar--accent{border-color:#6b8cff66;background:linear-gradient(135deg,#6b8cff38,#a78bfa1f);color:#dce4ff;box-shadow:0 2px 12px #6b8cff1f}.btn-toolbar--accent:hover{border-color:#6b8cff8c;background:linear-gradient(135deg,#6b8cff4d,#a78bfa2e);box-shadow:0 4px 18px #6b8cff33;color:#fff}.btn-toolbar--warn{border-color:#fbbf2459;color:#fbbf24}.btn-toolbar--warn:hover{border-color:#fbbf248c;background:#fbbf241a;color:#fcd34d}.btn-toolbar:disabled,.btn-toolbar--accent:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--radius-sm);border:1px dashed rgba(255,255,255,.18);background:#ffffff08;color:var(--text-muted);font:500 12px var(--font);cursor:pointer;transition:color .18s,border-color .18s,background .18s,transform .12s var(--ease)}.btn-secondary:hover{color:var(--text);border-color:#6b8cff66;background:#6b8cff14}.btn-secondary:active{transform:scale(.97)}.btn-sm{height:32px;padding:0 12px;font-size:11px}.btn-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .15s var(--ease),box-shadow .2s}.btn-icon svg{width:18px;height:18px}.btn-icon:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 4px 14px #6b8cff26}.btn-icon:active{transform:scale(.94)}.btn-icon--accent{border-color:#6b8cff59;background:var(--accent-soft);color:var(--accent)}.btn-icon--accent:hover{border-color:#6b8cff8c;background:#6b8cff33}.btn-icon:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-icon-sm svg,.btn-icon-sm .ui-icon{width:14px;height:14px}.ui-icon-label{display:inline-flex;align-items:center;gap:7px;line-height:1}.ui-icon-label>span:last-child{line-height:1.2}.ui-icon{flex-shrink:0;display:block}.btn-icon .ui-icon,.btn-icon svg{width:18px;height:18px}.btn-replace-tile,.btn-download,.btn-delete{gap:8px}.btn-replace-tile .ui-icon,.btn-download .ui-icon,.btn-download svg,.btn-delete .ui-icon,.btn-delete svg{width:16px;height:16px}.library-modal-tab .ui-icon-label,.tile-page-btn .ui-icon-label{gap:6px}.btn-icon-sm{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.btn-icon-sm svg{width:14px;height:14px}.btn-icon-sm:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn-icon-sm--danger:hover{border-color:#f87171;color:#f87171;background:#f871711a}.btn-icon-sm--warn:hover{border-color:#fbbf24;color:#fbbf24;background:#fbbf241a}.import-panel{padding:16px 20px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#00000024,#6b8cff08)}.import-form{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end}.import-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.import-form input,.import-form select{height:36px;min-width:120px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font:400 13px var(--font)}.import-sheet-fields{display:flex;flex-wrap:wrap;gap:12px}.import-actions{display:flex;gap:8px}.import-detect{width:100%;margin:0;font-size:12px;color:var(--accent)}.inline-dialog-backdrop[hidden]{display:none!important;pointer-events:none!important}.inline-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:grid;place-items:center;padding:24px;background:#04060cb8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.inline-dialog{width:min(400px,100%);padding:22px;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:linear-gradient(165deg,#1a1e30fa,#0e101afa);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px}.inline-dialog h3{margin:0;font-size:16px}.inline-dialog label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.inline-dialog input{height:38px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font:400 14px var(--font)}.inline-dialog-actions{display:flex;gap:8px}.import-hint{width:100%;margin:0;font-size:12px;color:var(--text-muted)}.tile-empty{grid-column:1 / -1;padding:48px 24px;text-align:center;color:var(--text-muted);line-height:1.6}.tile-modal-meta{display:flex;gap:16px;padding:0 20px 12px;font:500 12px var(--mono);color:var(--text-muted)}.tile-modal-settings{padding:0 20px 16px;border-bottom:1px solid var(--border)}.tile-modal-settings-title{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.tile-settings-list{margin:0;display:grid;gap:8px}.tile-setting-row{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center;font-size:13px}.tile-setting-row dt{margin:0;color:var(--text-muted)}.tile-setting-row dd{margin:0;font-family:var(--mono)}.tile-setting-category{color:var(--accent)!important;font-weight:600}.category-modal{width:min(520px,100%)}.category-create-form{display:flex;gap:8px;padding:0 20px 16px;border-bottom:1px solid var(--border)}.category-create-form input{flex:1;height:38px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font:400 14px var(--font)}.category-list{padding:12px 20px;display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto}.category-list-empty{margin:0;padding:16px 0;text-align:center;color:var(--text-muted);font-size:13px}.category-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:#0003;padding:10px 12px;transition:border-color .18s,background .18s,box-shadow .18s}.category-row:hover{border-color:#6b8cff40;background:#121622e6}.category-row-view{display:flex;align-items:center;justify-content:space-between;gap:12px}.category-row-info{display:flex;flex-direction:column;gap:2px;min-width:0}.category-row-name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-row-meta{font-size:11px;color:var(--text-muted);font-family:var(--mono)}.category-row-actions{display:flex;gap:4px;flex-shrink:0}.category-row-edit{display:flex;gap:8px;margin-top:10px}.category-row-edit input{flex:1;height:36px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text)}.category-modal-hint{padding:0 20px 16px}.category-modal-error{padding:0 20px 16px;color:#f87171!important}.tile-group-filter{height:38px;max-width:220px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font:400 12px var(--font);outline:none;cursor:pointer;transition:border-color .2s}.tile-group-filter:focus{border-color:var(--accent)}.tile-kind-filter{height:38px;max-width:180px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font:400 12px var(--font);outline:none;cursor:pointer;transition:border-color .2s}.tile-kind-filter:focus{border-color:var(--accent)}.import-intro{width:100%;margin:0;font-size:12px;color:var(--text-muted);line-height:1.45}.search-wrap{position:relative;display:flex;align-items:center}.search-wrap svg{position:absolute;left:12px;width:16px;height:16px;color:var(--text-muted);pointer-events:none}.search-wrap input{width:200px;height:38px;padding:0 14px 0 36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font:400 13px var(--font);outline:none;transition:border-color .2s,box-shadow .2s}.search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6b8cff1f}.search-wrap input::placeholder{color:var(--text-muted)}.tile-toolbar-right{display:flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000038}.tile-toolbar-right button{width:32px;height:30px;display:grid;place-items:center;border:none;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;transition:background .15s,color .15s}.tile-toolbar-right button .ui-icon{width:16px;height:16px}.tile-toolbar-right button:hover{background:var(--accent-soft);color:var(--accent)}.tile-toolbar-right span{min-width:48px;text-align:center;font:500 12px var(--mono);color:var(--text-muted)}.tile-grid-wrap{flex:1;overflow:auto;padding:24px;position:relative;scrollbar-gutter:stable}.tile-grid-wrap::-webkit-scrollbar{width:10px;height:10px}.tile-grid-wrap::-webkit-scrollbar-track{background:transparent}.tile-grid-wrap::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:5px;border:2px solid transparent;background-clip:padding-box}.tile-grid-wrap::-webkit-scrollbar-thumb:hover{background:#ffffff2e;background-clip:padding-box}.tile-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-muted);font-size:14px;z-index:2}.tile-loading[hidden]{display:none}.tile-loading-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.08);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.tile-loading-error{color:#f87171;font-size:14px;max-width:520px;line-height:1.6;padding:24px}.tile-loading-error p{margin:8px 0 0;color:var(--text-muted);font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.tile-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 20px;border-top:1px solid var(--border);background:#0a0c14d1;backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);flex-shrink:0}.tile-page-btn{height:36px;padding:0 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff0a;color:var(--text);font:500 13px var(--font);cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.tile-page-btn:hover:not(:disabled){background:var(--accent-soft);border-color:#6b8cff59;color:var(--accent)}.tile-page-btn:disabled{opacity:.35;cursor:not-allowed}.tile-page-info{font:500 12px var(--mono);color:var(--text-muted);min-width:200px;text-align:center}.tile-grid-wrap::-webkit-scrollbar{width:10px}.tile-grid-wrap::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:5px}.tile-grid{display:grid;gap:10px}.tile-cell{position:relative;display:flex;flex-direction:column;border-radius:var(--radius);background:var(--bg-cell);border:1px solid transparent;min-height:88px;transition:background .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.tile-cell--selected{border-color:#6b8cff8c;background:#6b8cff1a;box-shadow:0 0 0 1px #6b8cff47,0 8px 24px #6b8cff1f}.tile-cell-checkbox{position:absolute;top:8px;left:8px;z-index:2;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.tile-cell-body{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:12px 10px 10px;border:none;border-radius:inherit;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:center;transition:transform .18s var(--ease);overflow:visible}.tile-cell-body:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tile-cell:hover{background:var(--bg-cell-hover);border-color:var(--border);transform:translateY(-2px);box-shadow:var(--shadow-md)}.tile-cell--selected:hover{background:#6b8cff24;transform:translateY(-2px)}.tile-cell:hover .tile-cell-body{transform:none}.tile-selection-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 20px;border-bottom:1px solid rgba(107,140,255,.2);background:linear-gradient(90deg,#6b8cff1f,#a78bfa0f);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tile-selection-bar[hidden]{display:none!important}.tile-page-btn[hidden]{visibility:hidden;pointer-events:none}.tile-selection-count{font:600 13px var(--font);color:var(--accent);min-width:120px}.tile-selection-move{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.tile-selection-move select{height:36px;min-width:140px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font:400 13px var(--font)}.tile-preview{position:relative;display:flex;align-items:center;justify-content:center;min-height:56px;width:100%;overflow:visible;margin-bottom:2px;border-radius:8px;background:linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.03) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.03) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.03) 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0;background-color:#0000002e}.tile-cell canvas,.tile-cell img,.tile-cell-body img,.tile-sprite{image-rendering:pixelated;image-rendering:crisp-edges;max-width:100%;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.tile-sprite{background-repeat:no-repeat;flex-shrink:0}.tile-id{font:600 10px var(--mono);color:var(--text);opacity:.85}.tile-pack{font:400 9px var(--font);color:var(--text-muted);text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-modal-backdrop[hidden]{display:none!important;pointer-events:none!important}.tile-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#04060cc7;backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);opacity:0;pointer-events:none;transition:opacity .28s var(--ease)}.tile-modal-backdrop.visible{opacity:1;pointer-events:auto}.tile-modal{width:min(640px,100%);max-height:min(90vh,820px);overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:linear-gradient(168deg,#1c2032f7,#0c0e18fa);box-shadow:var(--shadow-lg),0 0 0 1px #6b8cff1a,inset 0 1px #ffffff0f;transform:translateY(16px) scale(.97);transition:transform .28s var(--ease);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.tile-modal-backdrop.visible .tile-modal{transform:translateY(0) scale(1)}.tile-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--border)}.tile-modal-title{margin:0 0 4px;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em}.tile-modal-subtitle{margin:0;font-size:13px;color:var(--text-muted)}.tile-modal-close{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:#ffffff0a;color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.tile-modal-close svg{width:18px;height:18px}.tile-modal-close:hover{color:var(--text);background:#ffffff14;border-color:var(--border-strong)}.tile-modal--wide{width:min(960px,100%);max-height:min(92vh,900px);display:flex;flex-direction:column;overflow:hidden}.tile-modal-body{display:grid;grid-template-columns:260px 1fr;gap:0;flex:1;min-height:0;overflow:hidden}.tile-modal-sidebar{padding:20px;border-right:1px solid var(--border);background:linear-gradient(180deg,#0003,#6b8cff08);display:flex;flex-direction:column;gap:0;min-height:0;overflow:hidden}.tile-modal-sidebar-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border)}.tile-live-preview{display:flex;flex-direction:column;gap:10px}.tile-live-preview-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.tile-live-preview-title{font:600 11px var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.tile-live-preview-badge{font:600 9px var(--mono);padding:2px 7px;border-radius:999px;background:#ffffff0f;color:var(--text-muted);border:1px solid var(--border)}.tile-live-preview-scene{position:relative;border-radius:var(--radius);overflow:visible;border:1px solid var(--border);background:#0a0c14}.tile-live-preview-map{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:10px;overflow:visible}.tile-live-preview-neighbor{aspect-ratio:1;border-radius:4px;background:#ffffff08;border:1px solid rgba(255,255,255,.04);transition:opacity .2s,filter .2s}.tile-live-preview-cell{position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:6px;border:2px solid rgba(52,211,153,.45);background:#34d3990f;transition:border-color .2s,background .2s,box-shadow .2s;overflow:visible}.tile-live-preview-cell--neon{z-index:2}.tile-live-preview-cell[data-passability=block]{border-color:#f87171a6;background:#f871711a}.tile-live-preview-cell[data-passability=water]{border-color:#60a5faa6;background:#60a5fa1f;animation:preview-water 2.4s ease-in-out infinite}.tile-live-preview-cell[data-passability=lava]{border-color:#f97316bf;background:#f9731624;animation:preview-lava 1.6s ease-in-out infinite}.tile-live-preview-cell[data-passability=slow]{border-color:#a78bfaa6;background:#a78bfa1a}.tile-live-preview-cell[data-passability=fly_only]{border-style:dashed;border-color:#e879f9a6;background:#e879f914}.tile-live-preview-map:has(.tile-live-preview-cell--blocks-vision) .tile-live-preview-neighbor{opacity:.35;filter:blur(.5px)}.tile-live-preview-cell--ceiling{opacity:.75;box-shadow:inset 0 -8px 16px #00000073}.tile-live-preview-cell--no-stack{outline:2px dashed rgba(251,191,36,.35);outline-offset:-4px}@keyframes preview-water{0%,to{filter:brightness(1)}50%{filter:brightness(1.15)}}@keyframes preview-lava{0%,to{filter:brightness(1);box-shadow:inset 0 0 #f9731600}50%{filter:brightness(1.2);box-shadow:inset 0 0 12px #f9731640}}.tile-live-preview-layer-under{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border-radius:3px;background:linear-gradient(45deg,rgba(120,90,50,.35) 25%,transparent 25%),linear-gradient(-45deg,rgba(120,90,50,.35) 25%,transparent 25%);background-size:8px 8px;background-color:#503c1e40;z-index:0}.tile-live-preview-layer-tag{position:absolute;bottom:3px;left:50%;transform:translate(-50%);font:700 7px var(--mono);padding:1px 4px;border-radius:3px;background:#000000a6;color:var(--text-muted);white-space:nowrap;z-index:3}.tile-live-preview-light{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.tile-live-preview-vision{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 50%,transparent 28%,rgba(0,0,0,.55) 100%)}.tile-live-preview-cell .tile-modal-preview-wrap{position:relative;z-index:1;min-width:0;min-height:0;width:100%;height:100%;padding:4px;border:none;background:transparent;overflow:visible;display:flex;align-items:center;justify-content:center}.tile-live-preview-cell .tile-modal-preview-wrap--aura-on .tile-modal-preview{max-width:none;max-height:none;width:auto;height:auto}.tile-live-preview-icons{position:absolute;top:2px;left:2px;display:flex;flex-wrap:wrap;gap:2px;z-index:4}.tile-live-preview-icon{display:grid;place-items:center;min-width:14px;height:14px;padding:0 2px;border-radius:3px;font:700 8px var(--mono);background:#000000b8;border:1px solid var(--border)}.tile-live-preview-icon--block{color:#f87171}.tile-live-preview-icon--anim{color:var(--accent)}.tile-live-preview-icon--hp{color:#fbbf24;font-size:7px}.tile-live-preview-fx{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;min-height:22px}.tile-live-fx-pop{font:700 10px var(--mono);padding:2px 6px;border-radius:999px;animation:fx-float 2s ease-in-out infinite}.tile-live-fx-pop--damage{color:#f87171;background:#f8717126}.tile-live-fx-pop--heal{color:#34d399;background:#34d39926}.tile-live-fx-pop--mana{color:#60a5fa;background:#60a5fa26}.tile-live-fx-pop--stamina{color:#fbbf24;background:#fbbf2426}.tile-live-fx-pop--poison{color:#a78bfa;background:#a78bfa26}.tile-live-fx-pop--boost{color:#34d399;background:#34d3991f}.tile-live-fx-pop--slow{color:#a78bfa;background:#a78bfa1f}.tile-live-fx-pop--teleport{color:#e879f9;background:#e879f91f}.tile-live-fx-pop--custom{color:var(--accent);background:#6b8cff1f}@keyframes fx-float{0%,to{transform:translateY(0);opacity:.85}50%{transform:translateY(-4px);opacity:1}}.tile-live-preview-hp{display:grid;gap:4px}.tile-live-preview-hp-label{font-size:10px;color:var(--text-muted)}.tile-live-preview-hp-track{height:6px;border-radius:999px;background:#00000059;overflow:hidden;border:1px solid var(--border)}.tile-live-preview-hp-fill{height:100%;width:100%;background:linear-gradient(90deg,#f87171,#fbbf24);transition:width .2s}.tile-live-preview-notes{margin:0;padding:0 0 0 14px;font-size:10px;color:var(--text-muted);line-height:1.45;max-height:72px;overflow:auto}.tile-live-preview-notes li{margin-bottom:2px}.tile-live-preview{border-color:var(--aura-color, var(--accent));overflow:visible}.tile-live-preview-cell .tile-modal-preview-wrap--aura-on,.frame-slot-preview{overflow:visible}.tile-modal-preview-wrap--pulse{animation:aura-pulse 2s ease-in-out infinite}@keyframes aura-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.25)}}.tile-preview-badge{position:absolute;top:8px;right:8px;font:700 9px var(--mono);padding:2px 6px;border-radius:4px;background:var(--accent);color:#fff}.tile-modal-preview-wrap{position:relative}.tile-meta-chips{margin:0;display:grid;gap:8px;font-size:12px}.tile-meta-chips div{display:grid;grid-template-columns:64px 1fr;gap:8px}.tile-meta-chips dt{margin:0;color:var(--text-muted)}.tile-meta-chips dd{margin:0;font-family:var(--mono);overflow:hidden;text-overflow:ellipsis}.tile-meta-category-select{width:100%;max-width:160px;height:28px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:#00000059;color:var(--text);font:500 12px var(--font);cursor:pointer;font-family:var(--font)}.tile-meta-category-select:focus{border-color:var(--accent);outline:none}.tile-trait-chips{display:flex;flex-wrap:wrap;gap:6px}.tile-trait-chip{font:600 10px var(--mono);padding:3px 8px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.tile-trait-chip--accent{color:var(--accent);border-color:#6b8cff59;background:#6b8cff1f}.tile-trait-chip--warn{color:#fbbf24;border-color:#fbbf2459;background:#fbbf241a}.tile-trait-chip--ok{color:#34d399;border-color:#34d39959;background:#34d3991a}.tile-cell-badges{position:absolute;top:4px;right:4px;display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end;max-width:calc(100% - 8px);pointer-events:none}.tile-cell-badge{display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:4px;font:700 9px var(--mono);background:#0e101ad9;border:1px solid var(--border);color:var(--text-muted)}.tile-cell-badge--anim{color:var(--accent);border-color:#6b8cff73}.tile-cell-badge--neon{width:10px;min-width:10px;height:10px;border-radius:50%;background:var(--neon, var(--accent));box-shadow:0 0 6px var(--neon, var(--accent));border:none}.tile-cell-badge--block{color:#f87171;border-color:#f8717173}.tile-cell-badge--fx{color:#34d399;border-color:#34d39973}.tile-modal-title-input{width:100%;margin:0 0 4px;padding:0;border:none;background:transparent;color:var(--text);font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em;outline:none}.tile-modal-title-input:focus{color:var(--accent)}.tile-modal-header-main{flex:1;min-width:0}.btn-replace-tile{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:38px;border:1px dashed rgba(107,140,255,.45);border-radius:var(--radius-sm);background:#6b8cff14;color:var(--accent);font:600 13px var(--font);cursor:pointer;transition:background .15s,border-color .15s}.btn-replace-tile:hover{background:#6b8cff29;border-color:#6b8cffa6}.tile-modal-sidebar-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0;padding-top:4px}.tile-modal-sidebar-actions .btn-replace-tile,.tile-modal-sidebar-actions .btn-download,.tile-modal-sidebar-actions .btn-duplicate,.tile-modal-sidebar-actions .btn-delete{width:100%;justify-content:center;height:38px;min-height:38px;font-size:13px;box-sizing:border-box}.tile-modal-main{display:flex;flex-direction:column;overflow:hidden}.tile-modal-tab[hidden]{display:none!important}.tile-type-bar{padding:14px 16px 10px;border-bottom:1px solid var(--border);background:#0000001f}.tile-type-bar-label{display:flex;flex-direction:column;gap:8px;margin:0;font:600 11px var(--font);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.tile-type-select{height:40px;padding:0 36px 0 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background-color:#141824;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8L9.5 4.5' stroke='%238b93a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;color:var(--text);color-scheme:dark;font:600 14px var(--font);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.tile-type-select option{background-color:#141824;color:#eef1f8}.tile-type-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6b8cff26}.tile-type-hint{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--text-muted)}.tile-props-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.tile-props-grid--wide{grid-column:1 / -1}.tile-props-grid .tile-prop-toggle{margin-bottom:0}.tile-cell-badge--kind{color:#fbbf24;border-color:#fbbf2473}.tile-live-preview-cell[data-tile-kind=character]{border-color:#60a5fa8c;background:#60a5fa14}.tile-live-preview-cell[data-tile-kind=weapon]{border-color:#f871718c;background:#f8717114}.tile-live-preview-cell[data-tile-kind=armor]{border-color:#fbbf248c;background:#fbbf2414}.tile-live-preview-cell[data-tile-kind=headwear]{border-color:#a78bfa8c;background:#a78bfa14}.tile-live-preview-cell[data-tile-kind=item]{border-color:#34d3998c;background:#34d39914}.tile-live-preview-cell[data-tile-kind=effect]{border-color:#e879f98c;background:#e879f914}.tile-modal-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:10px 16px 0;border-bottom:1px solid var(--border);background:#0000001f}.tile-modal-tab{position:relative;height:36px;padding:0 14px;border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;color:var(--text-muted);font:500 12px var(--font);cursor:pointer;transition:color .18s,background .18s}.tile-modal-tab:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:var(--accent);transform:scaleX(0);transition:transform .2s var(--ease)}.tile-modal-tab:hover{color:var(--text);background:#ffffff0a}.tile-modal-tab.active{color:var(--accent);background:#6b8cff1a}.tile-modal-tab.active:after{transform:scaleX(1)}.tile-modal-panels{flex:1;overflow:auto;padding:16px 20px 20px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.tile-modal-panels::-webkit-scrollbar{width:8px}.tile-modal-panels::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.tile-modal-panel[hidden]{display:none!important}.tile-props-panel h3{margin:0 0 6px;font-size:15px}.tile-props-hint{margin:0 0 16px;font-size:12px;color:var(--text-muted);line-height:1.5}.tile-prop-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:12px;color:var(--text-muted)}.tile-prop-field--inline{flex-direction:row;align-items:center;gap:10px}.tile-prop-field input,.tile-prop-field select,.tile-prop-field textarea{height:38px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background-color:#121622;color:var(--text);color-scheme:dark;font:400 13px var(--font);transition:border-color .18s,box-shadow .18s,background .18s}.tile-prop-field input:hover,.tile-prop-field select:hover,.tile-prop-field textarea:hover,.import-form input:hover,.import-form select:hover,.search-wrap input:hover,.tile-group-filter:hover,.tile-kind-filter:hover,.category-create-form input:hover{border-color:var(--border-strong);background-color:#161b2a}.tile-prop-field input:focus,.tile-prop-field select:focus,.tile-prop-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6b8cff24;outline:none}.tile-modal select option,.tile-prop-field select option{background-color:#141824;color:#eef1f8}.tile-prop-field textarea{height:auto;padding:10px 12px;resize:vertical}.tile-prop-field input[type=color]{padding:4px;height:40px}.tile-prop-field input[type=range]{padding:0}.tile-prop-toggle{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:13px;cursor:pointer}.tile-prop-toggle input{width:16px;height:16px;accent-color:var(--accent)}.tile-frames-toolbar{display:flex;align-items:flex-end;gap:10px;margin-bottom:12px}.tile-effects-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.tile-effect-row{display:grid;grid-template-columns:auto repeat(4,minmax(64px,.75fr)) minmax(100px,1.2fr) auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0000002e}.tile-effect-row--library{display:flex;align-items:center;justify-content:space-between;gap:12px}.tile-effect-row--editable{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.tile-effect-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tile-effect-row--editable .tile-effect-row-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}@media(min-width:560px){.tile-effect-row--editable .tile-effect-row-fields{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile-effect-row--editable .tile-effect-remove{flex-shrink:0;align-self:flex-start}.tile-validation-panel{margin:0;padding:12px 20px;border-top:1px solid var(--border);background:#0000002e}.tile-validation-panel[hidden]{display:none!important}.tile-validation-title{display:block;margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.tile-validation-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.tile-validation-item{font-size:12px;line-height:1.4;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#0003}.tile-validation-item--warn{border-color:#fbbf2459;color:#fbbf24;background:#fbbf2414}.tile-validation-item--error{border-color:#f8717166;color:#f87171;background:#f871711a}.tile-effect-row-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.tile-effect-row-title{font-size:13px;line-height:1.3;display:inline-flex;align-items:center;gap:6px}.tile-effect-row-meta{font-size:12px;color:var(--text-muted)}.tile-effect-row-legacy{font-size:11px;color:#f59e0b}.tile-effect-template-badge{align-self:center;font-size:14px;opacity:.85}.tile-effect-field{display:flex;flex-direction:column;gap:4px;min-width:0;margin:0;font-size:10px;color:var(--text-muted)}.tile-effect-field span{white-space:nowrap}.tile-effect-field input,.tile-effect-field select{height:34px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font-size:12px;width:100%;min-width:0}.tile-effect-field--label{grid-column:span 1}.tile-effect-remove{align-self:end;margin-bottom:2px}.tile-effect-row input,.tile-effect-row select{height:34px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font-size:12px}.tile-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--border);background:linear-gradient(180deg,#0000001f,#00000047);flex-shrink:0}.tile-modal-footer-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tile-modal-status{font-size:12px;color:var(--text-muted);min-width:0}.tile-modal-status--error{color:#f87171}@media(max-width:768px){.tile-modal-body{grid-template-columns:1fr}.tile-modal-sidebar{border-right:none;border-bottom:1px solid var(--border)}.tile-effect-row{grid-template-columns:1fr 1fr}}.tile-modal-preview-wrap{display:grid;place-items:center;min-width:160px;min-height:160px;padding:20px;border-radius:var(--radius);background:linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.04) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.04) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.04) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;background-color:#00000040;border:1px solid var(--border)}.tile-modal-preview{image-rendering:pixelated;image-rendering:crisp-edges;max-width:100%;max-height:100%}.tile-modal-preview-wrap:not(.tile-modal-preview-wrap--aura-on) .tile-modal-preview{filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.tile-preview-canvas,.frame-slot-preview canvas{image-rendering:pixelated;image-rendering:crisp-edges;max-width:100%;height:auto;display:block;margin:0 auto}.tile-preview-canvas{overflow:visible}.frame-slot-preview{overflow:visible;min-height:72px;display:flex;align-items:center;justify-content:center}.btn-download{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px;border:1px solid rgba(107,140,255,.35);border-radius:var(--radius-sm);background:linear-gradient(135deg,#6b8cff38,#a78bfa24);color:var(--text);font:600 14px var(--font);cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s var(--ease),border-color .15s}.btn-download svg{width:18px;height:18px;color:var(--accent)}.btn-download:hover{transform:translateY(-1px);border-color:#6b8cff8c;box-shadow:0 8px 24px #6b8cff2e}.btn-duplicate{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px;border:1px solid rgba(52,211,153,.35);border-radius:var(--radius-sm);background:#34d39914;color:var(--text);font:600 14px var(--font);cursor:pointer;transition:transform .15s var(--ease),border-color .15s,background .15s}.btn-duplicate svg,.btn-duplicate .ui-icon{width:18px;height:18px;color:#34d399}.btn-duplicate:hover{transform:translateY(-1px);border-color:#34d3998c;background:#34d39924}.btn-delete{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px;border:1px solid rgba(248,113,113,.35);border-radius:var(--radius-sm);background:#f8717114;color:var(--text);font:600 14px var(--font);cursor:pointer;transition:transform .15s var(--ease),border-color .15s,background .15s}.btn-delete svg{width:18px;height:18px;color:#f87171}.btn-delete:hover{transform:translateY(-1px);border-color:#f871718c;background:#f8717124}.tile-modal-frames-section{padding:0 24px 24px}.tile-modal-frames-header{margin-bottom:16px}.frame-count-label{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:500;color:var(--text-muted)}.frame-count-label input{width:72px;height:38px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font:600 14px var(--mono);outline:none;transition:border-color .15s,box-shadow .15s}.frame-count-label input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6b8cff1f}.tile-modal-frames-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.frame-slot{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 10px;border-radius:var(--radius-sm);background:var(--bg-cell);border:1px solid var(--border)}.frame-slot-preview{display:grid;place-items:center;width:100%;min-height:72px;padding:8px;border-radius:8px;background:#00000038}.frame-slot-preview canvas{image-rendering:pixelated;image-rendering:crisp-edges;max-width:100%}.frame-slot-label{font:600 11px var(--mono);color:var(--text)}.frame-slot-hint{font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.frame-slot-upload{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:6px;border:1px dashed var(--border-strong);background:#ffffff08;color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.frame-slot-upload svg{width:14px;height:14px}.frame-slot-upload:hover{color:var(--accent);border-color:#6b8cff73;background:var(--accent-soft)}@media(max-width:860px){.home-header,.home-main,.home-footer{padding-left:20px;padding-right:20px}.tool-card{flex-wrap:wrap;padding:18px}.tool-card-arrow{display:none}.tile-toolbar{flex-wrap:wrap;height:auto;padding:12px 16px;gap:10px}.tile-toolbar-controls{width:100%;margin-left:0;flex-wrap:wrap}.search-wrap{flex:1;min-width:140px}.search-wrap input{width:100%}.tile-group-filter{flex:1;max-width:none}}@media(max-width:480px){.btn-back span{display:none}.btn-back{padding:0 10px}.tile-modal-preview-row{flex-direction:column;align-items:stretch}.btn-download{justify-content:center}}.fatal-error{min-height:100vh;display:grid;place-content:center;padding:24px;text-align:center;gap:12px}.fatal-error h1{margin:0;font-size:22px}.fatal-error p{margin:0;color:var(--text-muted);line-height:1.6}.fatal-hint code{background:#ffffff0f;padding:2px 6px;border-radius:4px}.fatal-error button{margin-top:8px;height:40px;padding:0 20px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text);cursor:pointer}.tile-eq-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);overflow:visible}.tile-eq-section h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text)}.tile-eq-section h4:not(:first-child){margin-top:16px}.tile-eq-color-preview{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid var(--border)}.tile-eq-color-swatch{width:28px;height:28px;border-radius:6px;border:2px solid rgba(255,255,255,.25);box-shadow:0 0 12px currentColor;flex-shrink:0}.tile-eq-set-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;align-items:end;padding:10px;margin-bottom:8px;border-radius:var(--radius-sm);background:#0003;border:1px solid var(--border)}.tile-eq-set-desc{grid-column:1 / -2}.tile-eq-set-row label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-muted)}.tile-eq-set-row input{width:100%;min-width:0}.tile-eq-enh-slider output{float:right;font-weight:700;color:var(--accent)}.tile-eq-enh-slider input[type=range]{width:100%;margin-top:4px}.tile-eq-enh-ticks{display:flex;justify-content:space-between;margin-top:4px;font-size:9px;color:var(--text-muted);opacity:.65;pointer-events:none}.tile-eq-enh-ticks span:nth-child(6),.tile-eq-enh-ticks span:nth-child(11),.tile-eq-enh-ticks span:nth-child(16),.tile-eq-enh-ticks span:last-child{font-weight:600;opacity:1}.tile-eq-enh-live-preview{display:flex;align-items:center;gap:16px;margin:14px 0;padding:16px;border-radius:var(--radius);background:linear-gradient(145deg,#00000052,#6b8cff0a);border:1px solid var(--border);overflow:visible}.tile-eq-enh-live-canvas-wrap{flex-shrink:0;width:112px;height:112px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#0d1018;border:1px solid var(--border);overflow:visible;transition:box-shadow .2s,border-color .2s}.tile-eq-enh-live-canvas-wrap:not(.tile-eq-enh-live-canvas-wrap--off){border-color:var(--aura-color, var(--accent));box-shadow:0 0 20px color-mix(in srgb,var(--aura-color, var(--accent)) 35%,transparent)}.tile-eq-enh-live-canvas-wrap canvas{display:block;max-width:100%;max-height:100%;image-rendering:pixelated}.tile-eq-enh-live-meta{display:flex;flex-direction:column;gap:6px;min-width:0}.tile-eq-enh-live-meta strong{font-size:15px;color:var(--text)}.tile-eq-enh-live-meta span{font-size:12px;color:var(--text-muted);line-height:1.4}.tile-eq-enh-live-color{font-family:var(--mono);font-size:11px!important}.tile-eq-tier-strip-label{margin:0 0 8px;font-size:11px;color:var(--text-muted)}.tile-eq-tier-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;overflow:visible}.tile-eq-tier-chip{display:flex;flex-direction:column;align-items:center;gap:4px;width:88px;padding:8px 6px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff08;cursor:pointer;transition:border-color .18s,background .18s,transform .12s var(--ease),box-shadow .18s;font:inherit;color:inherit}.tile-eq-tier-chip:hover{background:#ffffff12;transform:translateY(-2px);box-shadow:0 6px 16px #00000038}.tile-eq-tier-chip--active{border-color:var(--accent);background:#6b8cff24;box-shadow:0 0 0 1px #6b8cff33,0 6px 18px #6b8cff1f}.tile-eq-tier-chip-swatch{width:40px;height:40px;border-radius:50%;background:#141824;border:1px solid rgba(255,255,255,.12)}.tile-eq-tier-chip-range{font-size:10px;font-weight:600;color:var(--text)}.tile-eq-tier-chip-name{font-size:9px;color:var(--text-muted);text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-eq-details--tiers{overflow:visible}.tile-eq-details--tiers .tile-eq-enh-tiers{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;overflow:visible}.tile-eq-tier-card{display:grid;grid-template-columns:88px 1fr 36px;gap:12px;align-items:start;padding:12px;border-radius:var(--radius-sm);background:#00000038;border:1px solid var(--border);overflow:visible}.tile-eq-tier-card-preview{display:flex;flex-direction:column;align-items:center;gap:6px}.tile-eq-aura-swatch,.tile-eq-tier-chip-swatch{display:block}.tile-eq-aura-swatch{width:64px;height:64px;border-radius:50%;background:#141824;border:1px solid rgba(255,255,255,.15);flex-shrink:0}.tile-eq-tier-card-range{font-size:10px;font-weight:600;color:var(--text-muted);text-align:center}.tile-eq-tier-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;min-width:0}.tile-eq-tier-card-label{grid-column:1 / -1}.tile-eq-tier-card-fields label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-muted);min-width:0}.tile-eq-tier-card-fields input[type=number],.tile-eq-tier-card-fields input[type=text]{width:100%;height:34px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#141824;color:var(--text);font-size:12px}.tile-eq-tier-card-fields input[type=color]{width:100%;height:34px;padding:2px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#141824;cursor:pointer}.tile-eq-tier-card-remove{align-self:start;margin-top:4px}.tile-eq-chance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;margin-top:8px}.tile-eq-chance-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border-radius:6px;background:#ffffff0a;font-size:11px}.tile-eq-chance-cell input{width:100%;text-align:center;padding:4px}.tile-eq-details{margin-top:10px;overflow:visible}.tile-eq-details summary{cursor:pointer;font-size:12px;color:var(--text-muted);margin-bottom:8px;-webkit-user-select:none;user-select:none}.tile-wpn-proc-heading{margin-top:18px}.tile-wpn-proc-list{margin-bottom:10px}.tile-cell-badge--enh{color:#fbbf24;border-color:#fbbf2480;font-size:10px;font-weight:700}.tile-live-preview-icon--kind{border:2px solid var(--eq-rarity, transparent);box-shadow:0 0 8px color-mix(in srgb,var(--eq-rarity, transparent) 50%,transparent)}@media(max-width:720px){.tile-eq-tier-card{grid-template-columns:1fr}.tile-eq-tier-card-preview{flex-direction:row;justify-content:flex-start}.tile-eq-tier-card-remove{justify-self:end}}.tile-wpn-rarity-bar{margin:16px 0 12px;padding:14px;border-radius:var(--radius);background:linear-gradient(145deg,#00000047,#6b8cff0a);border:1px solid var(--border)}.tile-wpn-rarity-bar-label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px}.tile-wpn-rarity-tabs{display:flex;flex-wrap:wrap;gap:6px}.tile-wpn-rarity-tab{padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .12s var(--ease)}.tile-wpn-rarity-tab:hover{color:var(--text);border-color:#ffffff38;transform:translateY(-1px)}.tile-wpn-rarity-tab.active{color:#eef2ff;border-color:#6b8cff80;background:linear-gradient(135deg,#6b8cff3d,#a78bfa1f);box-shadow:0 4px 14px #6b8cff26}.tile-wpn-rarity-hint{margin:8px 0 10px}.tile-wpn-preview-rarity{margin-top:8px}.tile-wpn-tier-panel{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.tile-wpn-tier-panel[hidden]{display:none!important}.tile-wpn-tier-title{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text)}.tile-wpn-proc-heading{margin:16px 0 6px;font-size:13px;font-weight:600}.tile-props-grid--weapon-shared{margin-bottom:4px}.library-modal{width:min(720px,100%);max-height:min(90vh,820px);display:flex;flex-direction:column;overflow:hidden}.library-modal .tile-modal-header{flex-shrink:0}.library-modal-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0;background:#0000001a}.library-modal-tab{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 6px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:500;line-height:1.2;white-space:normal;text-align:center;transition:color .18s,background .18s,border-color .18s,transform .15s var(--ease)}.library-modal-tab:hover{color:var(--text);background:#ffffff0d;border-color:var(--border)}.library-modal-tab.active{color:#e8edff;border-color:#6b8cff73;background:linear-gradient(135deg,#6b8cff38,#a78bfa1a);box-shadow:0 4px 14px #6b8cff1f}.library-modal-tab .ui-icon-label{flex-direction:column;gap:4px;align-items:center;justify-content:center;text-align:center;line-height:1.15}.library-modal-tab .ui-icon-label span{max-width:100%;overflow:hidden;text-overflow:ellipsis}@media(min-width:720px){.library-modal-tabs{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 20px 14px}.library-modal-tab{font-size:12px;border-radius:999px;min-height:40px;padding:8px}.library-modal-tab .ui-icon-label{flex-direction:row;gap:6px}}@media(max-width:380px){.library-modal-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.library-panel{flex:1;overflow:auto;padding:16px 24px;min-height:0}.library-panel[hidden]{display:none!important}.library-toolbar{display:flex;flex-wrap:nowrap;gap:12px;align-items:center;margin-bottom:14px}.library-toolbar-field{display:flex;flex-direction:row;align-items:center;gap:10px;flex:1;min-width:0;margin:0}.library-toolbar-label{flex-shrink:0;font-size:12px;color:var(--text-muted);white-space:nowrap}.library-toolbar-field select{flex:1;min-width:0;height:38px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background-color:#141824;color:var(--text);color-scheme:dark;font:400 13px var(--font);cursor:pointer}.library-toolbar-field input[type=text]{flex:1;min-width:0;height:38px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background-color:#141824;color:var(--text);font:400 13px var(--font)}.library-toolbar .btn-toolbar{flex-shrink:0;white-space:nowrap}.library-toolbar--end{justify-content:flex-end}@media(max-width:520px){.library-toolbar{flex-wrap:wrap}.library-toolbar-field{flex:1 1 100%}.library-toolbar .btn-toolbar{width:100%}}.library-modal .category-modal-error{flex-shrink:0;margin:0;padding:0 24px 16px}.library-list{display:flex;flex-direction:column;gap:8px}.library-list-empty{color:var(--text-muted);font-size:13px;margin:0;padding:20px 0;text-align:center}.library-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:#00000038;padding:12px 14px;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s var(--ease)}.library-row:hover{border-color:#6b8cff47;background:#121624d9;box-shadow:0 6px 20px #0003}.library-row:has(.library-row-edit:not([hidden])){border-color:#6b8cff66;background:#6b8cff0f;box-shadow:0 0 0 1px #6b8cff1f}.library-row-view{display:flex;gap:12px;align-items:center;justify-content:space-between}.library-row-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.library-row-name{font-size:14px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.library-row-meta{font-size:11px;color:var(--text-muted);line-height:1.4;word-break:break-word}.library-row-desc{font-size:12px;color:var(--text-muted);line-height:1.45}.library-row-actions{display:flex;gap:4px;flex-shrink:0;align-items:center}.library-row-edit{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.library-row-edit .tile-props-grid,.library-row-edit .tile-prop-field{margin-bottom:0}.library-row-edit-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}.effect-picker-modal{max-width:520px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.effect-picker-list{flex:1;overflow:auto;padding:12px 16px;display:flex;flex-direction:column;gap:6px;min-height:120px}.effect-picker-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;background:#00000026;transition:border-color .18s,background .18s,transform .15s var(--ease)}.effect-picker-item:hover{border-color:#ffffff29;background:#ffffff0a;transform:translate(2px)}.effect-picker-item input[type=checkbox]{margin-top:2px;flex-shrink:0}.effect-picker-item:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.effect-picker-item-body{display:flex;flex-direction:column;gap:2px;font-size:12px;min-width:0}.effect-picker-item-body strong{font-size:13px;line-height:1.3}.effect-picker-footer{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}.effect-picker-footer [data-count]{flex:1;font-size:12px;color:var(--text-muted)}.library-section-title{margin:20px 0 10px;padding-bottom:8px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border)}.library-color-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:middle;border:1px solid rgba(255,255,255,.2)}.library-enhancement-form textarea{min-height:100px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background-color:#141824;color:var(--text);font:400 12px var(--mono);resize:vertical}.library-enhancement-form .btn-toolbar{margin-top:10px}.tile-effects-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}.library-checkbox-group{margin:12px 0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#00000026}.library-checkbox-group legend{font-size:12px;color:var(--text-muted);padding:0 4px}.library-checkbox-grid{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px}.library-checkbox-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.library-checkbox-item input{accent-color:var(--accent)}.library-row-edit--set .library-set-bonuses,.library-row-edit--tile-type textarea{margin-top:8px}.library-row-edit--set .tile-eq-set-row{margin-bottom:8px}.library-row-edit--set [data-add-set-bonus]{margin:8px 0 12px}.library-modal:has(.library-row-edit--set:not([hidden])){width:min(920px,100%)}.library-quick-defaults summary{font-size:12px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.library-quick-defaults summary::-webkit-details-marker{display:none}.library-quick-defaults summary:before{content:"▸ ";display:inline-block;transition:transform .15s var(--ease)}.library-quick-defaults[open] summary:before{transform:rotate(90deg)}.library-quick-defaults-grid{margin-top:10px}.library-checkbox-item--inline{align-self:end;padding-bottom:8px}.library-content-section{margin-bottom:20px}.library-content-section h3{margin:0 0 10px;font-size:14px}.library-content-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.library-content-toolbar input{flex:1;min-width:140px;height:38px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font:400 13px var(--font)}.slug-picker-row{display:flex;gap:8px;align-items:center;width:100%}.slug-picker-row select{flex:1;min-width:0}.slug-picker-modal{width:min(420px,100%);max-height:70vh;display:flex;flex-direction:column}.slug-picker-list{flex:1;overflow:auto;padding:12px 16px;display:flex;flex-direction:column;gap:6px}.slug-picker-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0003;color:var(--text);cursor:pointer;text-align:left;font:inherit}.slug-picker-item span{font-size:11px;color:var(--text-muted);font-family:var(--mono)}.interaction-detail-panel{margin-top:12px;padding:12px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:#0000001f}.interaction-detail-panel h4{margin:0 0 10px;font-size:13px;color:var(--accent)}.interaction-detail-section+.interaction-detail-section{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.bulk-edit-modal{width:min(560px,100%)}.bulk-edit-form-body{padding:0 20px 20px}.bulk-edit-fieldset{margin:0 0 16px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0000001f}.bulk-edit-fieldset legend{padding:0 6px;font-size:12px;font-weight:600;color:var(--accent);letter-spacing:.02em}.bulk-edit-fieldset .tile-prop-field,.bulk-edit-fieldset .tile-prop-toggle{margin-top:10px}.bulk-edit-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;padding-top:12px;border-top:1px dashed var(--border)}.btn-toolbar--wide{width:100%;justify-content:center}.import-preview-grid{width:100%;margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0003}.import-preview-count{margin:0 0 8px;font-size:12px;color:var(--text-muted)}.import-preview-grid-inner{display:flex;flex-wrap:wrap;gap:4px}.import-preview-thumb{image-rendering:pixelated;border:1px solid var(--border);border-radius:2px}.import-preview-more{font-size:11px;color:var(--text-muted);padding:8px}.tile-tag-filter,.tile-sort-filter{height:38px;max-width:130px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000047;color:var(--text);font:400 12px var(--font)}.item-buff-section{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#6b8cff0f}.item-buff-section h4{margin:0 0 10px;font-size:13px}@media(max-width:860px){.tile-kind-filter{flex:1 1 calc(50% - 6px);max-width:none;min-width:0}.tile-toolbar-title .tile-count{display:none}.tile-toolbar-right{margin-left:auto}.tile-selection-bar{padding:12px 14px}.tile-selection-count{flex:1 1 100%;min-width:0}.tile-selection-move{flex:1 1 100%}.tile-selection-move select{flex:1;min-width:0}.tile-selection-bar .btn-toolbar{flex:1 1 calc(50% - 5px);justify-content:center;min-height:40px}.import-panel{padding:12px 14px}.import-form{gap:10px}.import-form label{flex:1 1 calc(50% - 8px);min-width:120px}.import-intro,.import-detect,.import-hint{flex:1 1 100%}.tile-pagination{padding:10px 12px;gap:8px}.tile-page-info{font-size:12px;text-align:center;flex:1;min-width:0}.tile-page-btn{padding:0 10px;min-height:40px}.tile-page-btn .ui-icon-label span{display:none}.category-create-form{flex-wrap:wrap;padding:0 14px 14px}.category-create-form input{flex:1 1 100%;min-width:0}.category-create-form .btn-toolbar{width:100%;justify-content:center}.category-list{padding:12px 14px;max-height:none}.library-row-view{flex-wrap:wrap;align-items:flex-start}.library-row-actions{width:100%;justify-content:flex-end;margin-top:4px}.library-panel{padding:12px 14px}.library-modal .tile-modal-header{padding:16px 14px 12px}.library-modal .tile-modal-subtitle{font-size:12px;line-height:1.45}}@media(max-width:640px){.tile-modal-backdrop{padding:0;align-items:stretch;place-items:stretch}.tile-modal-backdrop .tile-modal,.tile-modal-backdrop .library-modal,.tile-modal-backdrop .category-modal,.tile-modal-backdrop .bulk-edit-modal,.tile-modal-backdrop .effect-picker-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;border-left:none;border-right:none;transform:none!important;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}.tile-modal-header{padding:14px 14px 12px;gap:10px}.tile-modal-title{font-size:17px}.tile-modal-subtitle{font-size:12px;line-height:1.4}.tile-modal-close{width:40px;height:40px}.tile-modal--wide{max-height:100%}.tile-modal-body{grid-template-columns:1fr}.tile-modal-sidebar{border-right:none;border-bottom:1px solid var(--border);padding:14px;max-height:42vh}.tile-modal-sidebar-scroll{max-height:28vh}.tile-modal-main{min-height:0;display:flex;flex-direction:column;overflow:hidden}.tile-type-bar{padding:10px 12px 8px;flex-shrink:0}.tile-modal-tabs{padding:8px 10px 0;gap:3px;flex-shrink:0}.tile-modal-tab{height:auto;min-height:36px;padding:6px 10px;font-size:11px;border-radius:6px 6px 0 0}.tile-modal-panels{padding:12px 14px 16px}.tile-modal-footer{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0))}.tile-modal-status{order:2;text-align:center}.tile-modal-footer-actions{flex-wrap:wrap;width:100%}.tile-modal-footer-actions .btn-toolbar{flex:1 1 calc(50% - 4px);justify-content:center;min-height:42px}.tile-modal-footer-actions .btn-toolbar--accent{flex:1 1 100%}.tile-modal-sidebar-actions .btn-download,.tile-modal-sidebar-actions .btn-duplicate,.tile-modal-sidebar-actions .btn-delete,.tile-modal-sidebar-actions .btn-replace-tile{min-height:42px}.tile-props-grid{grid-template-columns:1fr!important}.tile-prop-field--inline{flex-direction:column;align-items:stretch}.tile-effect-row{grid-template-columns:1fr}.tile-frames-toolbar{flex-direction:column;align-items:stretch}.tile-frames-toolbar .btn-toolbar{width:100%;justify-content:center}.effect-picker-footer{flex-wrap:wrap;padding-bottom:calc(12px + env(safe-area-inset-bottom,0))}.effect-picker-footer .btn-toolbar{flex:1;justify-content:center;min-height:42px}}@media(max-width:480px){.home-header,.home-main,.home-footer{padding-left:16px;padding-right:16px}.home-title{font-size:clamp(1.75rem,8vw,2.25rem)}.home-subtitle{font-size:14px}.tool-card{padding:16px}.tool-card-body h2{font-size:16px}.tile-toolbar{padding:10px 12px;gap:8px}.tile-toolbar-left{flex:1;min-width:0}.tile-toolbar-title strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-toolbar-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.tile-group-filter,.tile-kind-filter,.tile-tag-filter,.tile-sort-filter{width:100%;max-width:none;grid-column:span 1}.search-wrap{grid-column:1 / -1;width:100%}.search-wrap input{width:100%;min-height:40px}.tile-toolbar-controls>.btn-icon{width:40px;height:40px;justify-self:start}.tile-toolbar-controls>.btn-icon--accent{justify-self:end}.tile-toolbar-right{grid-column:1 / -1;width:100%;justify-content:center;padding:6px}.tile-toolbar-right button{width:40px;height:36px}.btn-back span{display:none}.btn-back{padding:0 10px;min-width:40px;justify-content:center}.tile-grid-wrap{padding:10px 12px}.tile-cell-body{padding:10px 8px 8px}.tile-selection-bar .btn-toolbar{flex:1 1 100%}.library-row-edit-actions{flex-direction:column;align-items:stretch}.library-row-edit-actions .btn-toolbar{width:100%;justify-content:center}.library-modal:has(.library-row-edit--set:not([hidden])){width:100%}.tile-wpn-rarity-tabs{gap:4px}.tile-wpn-rarity-tab{padding:8px 10px;font-size:11px;min-height:36px}}@media(hover:none)and (pointer:coarse){.btn-icon,.btn-icon-sm,.tile-modal-close,.library-modal-tab,.tile-modal-tab,.tile-page-btn,.btn-toolbar{-webkit-tap-highlight-color:transparent}.btn-icon:active,.btn-toolbar:active,.library-modal-tab:active,.tile-modal-tab:active{transform:scale(.98)}.tile-cell:hover{transform:none}}
