.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--zinc-900: #18181b;--zinc-800: #27272a;--zinc-700: #3f3f46;--zinc-600: #52525b;--zinc-500: #71717a;--zinc-400: #a1a1aa;--zinc-200: #e4e4e7;--border-muted: #2e2e33;--row-stripe: #222228;--surface-table-header: #1f1f23;font-family:ui-monospace,Cascadia Code,Cascadia Mono,Segoe UI Mono,Roboto Mono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--zinc-200);background-color:var(--zinc-900);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#818cf8;text-decoration:inherit}a:hover{color:#a5b4fc}body{margin:0;min-width:320px;min-height:100vh}input,select,textarea{font-family:inherit}h1{font-size:1.5em;line-height:1.1}@media(min-width:640px){h1{font-size:2em}}@media(min-width:1024px){h1{font-size:1.35em}}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--zinc-800);color:var(--zinc-200);cursor:pointer;transition:border-color .25s;touch-action:manipulation}button:hover{border-color:#818cf8}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.app-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--zinc-800);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;font-size:.9em;color:var(--zinc-400)}.app-footer-line{text-align:center}.app-footer-version{font-variant-numeric:tabular-nums}.app-footer a{color:#818cf8}.app-footer a:hover{color:#a5b4fc}@media(min-width:1024px){.app-footer{margin-top:1rem;padding-top:.5rem;font-size:.8em}}.character-form{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.character-form-error{width:100%;margin:0 0 .5rem;padding:.5rem .75rem;font-size:.9em;color:#fca5a5;background-color:#ef444426;border:1px solid #dc2626;border-radius:4px}.character-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9em;font-weight:500;flex:1 1 120px;min-width:0}.character-form input,.character-form select{min-height:44px;box-sizing:border-box;padding:.5rem .75rem;font-size:1rem;min-width:0;width:100%;background-color:var(--zinc-800);border:1px solid var(--zinc-700);color:var(--zinc-200)}.character-form .add-character-btn{align-self:flex-end;min-height:44px;padding:0 1rem;font-size:.9em;cursor:pointer;background:#6366f1;color:#fff;border:none;border-radius:4px}.character-form .add-character-btn:hover{background:#4f46e5}@media(min-width:640px){.character-form input,.character-form select{min-width:140px;width:auto}}@media(min-width:1024px){.character-form{gap:.5rem;margin-top:.5rem}.character-form label{font-size:.85em}.character-form input,.character-form select,.character-form .add-character-btn{min-height:32px}.character-form input,.character-form select{padding:.3rem .5rem;font-size:.9em;min-width:100px}}.dungeon-form{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.dungeon-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9em;font-weight:500;flex:1 1 100px;min-width:0}.dungeon-form .dungeon-form-preset-label{flex:1 1 100%;min-width:min(100%,280px)}.dungeon-form input,.dungeon-form select{min-height:44px;box-sizing:border-box;padding:.5rem .75rem;font-size:1rem;min-width:0;width:100%;background-color:var(--zinc-800);border:1px solid var(--zinc-700);color:var(--zinc-200)}.dungeon-form .add-dungeon-btn{min-height:44px;box-sizing:border-box;padding:0 1rem;font-size:.9em;cursor:pointer;background:#6366f1;color:#fff;border:none;border-radius:4px}.dungeon-form .add-dungeon-btn:hover{background:#4f46e5}@media(min-width:640px){.dungeon-form input,.dungeon-form select{min-width:100px;width:auto}}@media(min-width:1024px){.dungeon-form{gap:.5rem}.dungeon-form label{font-size:.85em}.dungeon-form input,.dungeon-form select,.dungeon-form .add-dungeon-btn{min-height:32px}.dungeon-form input,.dungeon-form select{padding:.3rem .5rem;font-size:.9em;min-width:80px}}.dungeon-table-container{margin-top:1.5rem}.dungeon-table{width:100%;border-collapse:collapse}.dungeon-table th,.dungeon-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border-muted)}.dungeon-table th{background:var(--surface-table-header);border-bottom-color:var(--zinc-700)}.dungeon-table tbody tr td:not(.dungeon-table-sticky-col){background-color:var(--zinc-900)}.dungeon-table tbody tr:nth-child(odd) td:not(.dungeon-table-sticky-col){background-color:var(--row-stripe)}.dungeon-table-sticky-col{position:sticky;left:0;z-index:1;background:#141c2a;box-shadow:1px 0 #38bdf81f;min-width:160px;max-width:220px}.dungeon-table th.dungeon-table-sticky-col{background:#1a2740;z-index:2}.dungeon-table tbody tr:nth-child(odd) td.dungeon-table-sticky-col{background-color:#182234}.dungeon-table tbody tr:nth-child(2n) td.dungeon-table-sticky-col{background-color:#141c2a}.dungeon-table-dungeon-header{width:100%}.dungeon-table-dungeon-header-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;width:100%}.dungeon-table-dungeon-header-label{font-weight:600;flex-shrink:0}.dungeon-table-sort{display:inline-flex;align-items:center;gap:.35rem}.dungeon-table-sort-select,.dungeon-table-sort-dir-btn{font-size:.9em;background:var(--zinc-700);color:var(--zinc-200);border:1px solid var(--zinc-600);border-radius:4px;cursor:pointer}.dungeon-table-sort-select{padding:.25rem .5rem}.dungeon-table-sort-dir-btn{padding:.2rem .5rem}.dungeon-table-sort-select:hover,.dungeon-table-sort-select:focus{border-color:#6366f1;outline:none}.dungeon-table-sort-dir-btn:hover{background:var(--zinc-600)}.dungeon-table-name-search{display:block;width:100%;box-sizing:border-box;margin-top:.4rem;font-size:.9em;padding:.3rem .5rem;background:#0f1729;color:var(--zinc-200);border:1px solid rgba(56,189,248,.25);border-radius:4px}.dungeon-table-name-search::placeholder{color:var(--zinc-500)}.dungeon-table-name-search:hover{border-color:#38bdf866}.dungeon-table-name-search:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 1px #38bdf859}.dungeon-table-empty-state{color:var(--zinc-400);font-size:.95em;text-align:center;padding:1.5rem 1rem;vertical-align:middle}.dungeon-table-empty-state .dungeon-table-empty-text{display:block;margin-bottom:.75rem}.dungeon-table-empty-state .add-from-template-btn{font-size:.9em;padding:.4rem .75rem;cursor:pointer;background:var(--zinc-700);color:var(--zinc-200);border:1px solid var(--zinc-600);border-radius:4px}.dungeon-table-empty-state .add-from-template-btn:hover{background:var(--zinc-600)}.dungeon-table-empty-state--filter .dungeon-table-empty-text{margin-bottom:0}.dungeon-table-dungeon-cell{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.dungeon-table-dungeon-cell-text{display:flex;align-items:flex-start;gap:.5rem;min-width:0;flex:1}.dungeon-table-dungeon-cell-text .dungeon-mode{flex-shrink:0}.dungeon-table-dungeon-cell-text .dungeon-name{white-space:normal;word-break:break-word;overflow-wrap:break-word}.dungeon-table .dungeon-name{font-weight:600;font-size:.95em}.dungeon-table .dungeon-name--tier-1{color:#94a3b8}.dungeon-table .dungeon-name--tier-2{color:#7dd3fc}.dungeon-table .dungeon-name--tier-3{color:#38bdf8}.dungeon-table .dungeon-name--tier-4{color:#0ea5e9}.dungeon-table .dungeon-name--tier-5{color:#3b82f6}.dungeon-table .dungeon-name--tier-6{color:#6366f1}.dungeon-table .dungeon-name--tier-7{color:#8b5cf6}.dungeon-table .dungeon-name--tier-8{color:#a78bfa}.dungeon-table .dungeon-name--tier-9{color:#f97316}.dungeon-table .dungeon-name--tier-10{color:#ef4444}.dungeon-table .dungeon-name--tier-11{color:#dc2626}.dungeon-table .dungeon-mode{padding:.1rem .35rem;font-size:.75em;font-weight:600;border-radius:3px}.dungeon-table .dungeon-mode--normal{color:#4ade80;background-color:#22c55e1f}.dungeon-table .dungeon-mode--heroic{color:#fbbf24;background-color:#f59e0b1f}.dungeon-table .class-icon{width:20px;height:20px;object-fit:contain}.dungeon-table-character-header{display:flex;align-items:center;gap:.35rem .5rem;flex-wrap:wrap}.dungeon-table-character-header-name{display:flex;align-items:center;gap:.35rem;flex-shrink:0;white-space:nowrap}.dungeon-table-character-header-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto;flex-shrink:0;flex-wrap:nowrap}.dungeon-table-character-name{font-weight:600}.dungeon-table-character-cell{vertical-align:middle;text-align:center}.dungeon-toggle{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;min-width:44px;min-height:44px;padding:.5rem;margin:-.5rem}.dungeon-toggle input{position:absolute;opacity:0;width:0;height:0}.dungeon-toggle-slider{position:relative;width:2.75rem;height:1.5rem;background-color:var(--zinc-700);border-radius:1.5rem;transition:background-color .2s}.dungeon-toggle-slider:before{content:"";position:absolute;width:1.125rem;height:1.125rem;left:.1875rem;top:.1875rem;background-color:var(--zinc-200);border-radius:50%;transition:transform .2s}.dungeon-toggle input:checked+.dungeon-toggle-slider{background-color:#6366f1}.dungeon-toggle input:checked+.dungeon-toggle-slider:before{transform:translate(1.25rem)}.dungeon-table .reset-character-btn,.dungeon-table .delete-character-btn,.dungeon-table .delete-dungeon-btn{min-height:44px;min-width:44px;padding:.5rem;display:inline-flex;align-items:center;justify-content:center;font-size:.85em;cursor:pointer;color:var(--zinc-200);background:var(--zinc-700);border:1px solid var(--zinc-600);border-radius:4px}.dungeon-table .delete-dungeon-btn{flex-shrink:0}.dungeon-table .reset-character-btn:hover,.dungeon-table .delete-character-btn:hover,.dungeon-table .delete-dungeon-btn:hover{background:var(--zinc-600)}.dungeon-table .reset-character-btn.reset-btn--inactive{opacity:.3;cursor:default}.dungeon-table .reset-character-btn.reset-btn--inactive:hover{background:var(--zinc-700)}@media(min-width:640px){.dungeon-table th,.dungeon-table td{padding:.5rem 1rem}.dungeon-table .dungeon-mode{font-size:.8em;padding:.12rem .45rem}.dungeon-toggle{min-width:0;min-height:0;padding:0;margin:0}.dungeon-toggle-slider{width:2.5rem;height:1.25rem;border-radius:1.25rem}.dungeon-toggle-slider:before{width:1rem;height:1rem;left:.125rem;top:.125rem}.dungeon-toggle input:checked+.dungeon-toggle-slider:before{transform:translate(1.25rem)}.dungeon-table .reset-character-btn,.dungeon-table .delete-character-btn,.dungeon-table .delete-dungeon-btn{min-height:0;min-width:0;padding:.25rem .6rem}}@media(min-width:1024px){.dungeon-table-container{margin-top:.5rem}.dungeon-table-sticky-col{min-width:130px;max-width:200px}.dungeon-table-dungeon-header-row,.dungeon-table-character-header{gap:.25rem .35rem}.dungeon-table-sort-select,.dungeon-table-sort-dir-btn{font-size:.8em}.dungeon-table-sort-select{padding:.2rem .35rem}.dungeon-table-sort-dir-btn{padding:.15rem .35rem}.dungeon-table-name-search{font-size:.8em;padding:.2rem .35rem;margin-top:.3rem}.dungeon-table-empty-state{font-size:.9em;padding:.75rem 1rem}.dungeon-table-empty-state .add-from-template-btn{font-size:.8em;padding:.25rem .5rem}.dungeon-table th,.dungeon-table td{padding:.25rem .5rem}.dungeon-table .dungeon-name{font-size:.85em}.dungeon-table .dungeon-mode{font-size:.7em;padding:.1rem .35rem}.dungeon-table .class-icon{width:16px;height:16px}.dungeon-table-character-name{font-size:.9em}.dungeon-table-dungeon-cell{gap:.35rem}.dungeon-toggle-slider{width:2rem;height:1rem;border-radius:1rem}.dungeon-toggle-slider:before{width:.75rem;height:.75rem;left:.125rem;top:.125rem}.dungeon-toggle input:checked+.dungeon-toggle-slider:before{transform:translate(1rem)}.dungeon-table .reset-character-btn,.dungeon-table .delete-character-btn,.dungeon-table .delete-dungeon-btn{font-size:.8em;padding:.2rem .4rem}}#root{max-width:1280px;margin:0 auto;padding:1rem}@media(min-width:640px){#root{padding:2rem}}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.app-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.character-section{margin-top:1rem}.dungeon-section{margin-top:1.5rem}.dungeon-section-header{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem}.dungeon-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 1rem}@media(min-width:640px){.dungeon-table-wrapper{margin:0;padding:0}}.storage-error{margin-top:1rem;padding:.5rem .75rem;font-size:.9em;color:#fca5a5;background-color:#ef444426;border:1px solid #dc2626;border-radius:4px}.empty-state{color:var(--zinc-400);font-size:.95em;margin:0}.form-toggle-btn,.reset-dungeons-btn{height:44px;box-sizing:border-box;padding:0 1rem;font-size:.9em;cursor:pointer;background:var(--zinc-700);color:var(--zinc-200);border:1px solid var(--zinc-600);border-radius:4px}.form-toggle-btn:hover,.reset-dungeons-btn:hover{background:var(--zinc-600)}.reset-dungeons-btn.reset-btn--inactive{opacity:.3;cursor:default}.reset-dungeons-btn.reset-btn--inactive:hover{background:var(--zinc-700)}@media(min-width:1024px){#root{padding:1rem 1.5rem}.app-header{gap:.5rem}.character-section{margin-top:.5rem}.dungeon-section{margin-top:.75rem}.dungeon-section-header{gap:.5rem;margin-bottom:.5rem}.storage-error{margin-top:.5rem;padding:.35rem .5rem;font-size:.85em}.form-toggle-btn,.reset-dungeons-btn{height:32px;padding:0 .65rem;font-size:.8em}}
