:root{--bg-gradient-start: #0f0f0f;--bg-gradient-end: #1a1a1a;--surface-card: #1b1b1b;--surface-card-hover: #222222;--surface-menu: #121212;--surface-modal: #111111;--border-subtle: #2a2a2a;--border-accent: #f59e0b;--border-accent-strong: #d97706;--text-main: #e5e7eb;--text-muted: #9ca3af;--text-placeholder: #6b7280;--text-accent: #fbbf24;--btn-bg: #d97706;--btn-bg-hover: #f59e0b;--btn-text: #000000;--radius-lg: 12px;--radius-xl: 16px;--shadow-soft: 0 18px 45px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top,var(--bg-gradient-end),#000000) fixed;color:var(--text-main)}#root{min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column;padding:1.5rem 1.5rem 2rem;background:radial-gradient(circle at 0% 0%,rgba(245,158,11,.08),transparent 55%),radial-gradient(circle at 100% 100%,rgba(245,158,11,.04),transparent 55%),linear-gradient(135deg,var(--bg-gradient-start),var(--bg-gradient-end))}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;min-height:96px;border-radius:var(--radius-xl);background:linear-gradient(to right,#111111f2,#0a0a0afa);border:1px solid rgba(42,42,42,.9);box-shadow:var(--shadow-soft);margin-bottom:1.5rem}.app-brand{display:flex;align-items:center;gap:1rem}.app-logo{font-size:2rem;line-height:1}.app-titles{display:flex;flex-direction:column}.app-title{font-size:1.35rem;font-weight:600;letter-spacing:.03em;color:var(--text-main)}.app-subtitle{font-size:.85rem;color:var(--text-muted);margin-top:2px;letter-spacing:.04rem}.app-actions{display:flex;gap:1rem}.app-main{margin-top:1.25rem;display:flex;flex-direction:column;gap:1.25rem}@media(max-width:900px){.app-main{grid-template-columns:minmax(0,1fr)}}.gallery-section{background:transparent;border-radius:var(--radius-xl);padding:.25rem .15rem}.gallery-grid{background:radial-gradient(circle at top left,rgba(245,158,11,.04),transparent 55%),#1b1b1bd9;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:.8rem .9rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 30px #0000008c;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;transition:border-color .12s ease-out,background-color .12s ease-out,transform .12s ease-out}.gallery-card-title{font-size:.9rem;font-weight:500;margin-bottom:.15rem}.gallery-card-text{font-size:.8rem;color:var(--text-muted)}.gallery-card-empty{border-color:#94a3b866}.text-accent{color:var(--text-accent)}.section-header{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.6rem;padding:0 .2rem}.section-title{font-size:.95rem;font-weight:600;letter-spacing:.08rem;text-transform:uppercase;color:var(--text-main)}.section-controls{display:flex;gap:.35rem;align-items:center}.section-control-btn{border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);border-radius:6px;padding:.2rem .45rem;font-size:.75rem;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.section-control-btn:hover{border-color:var(--border-accent);color:var(--text-main);background:#f59e0b14}.section-control-btn.delete{color:#fca5a5;border-color:#f8717180}.section-control-btn.delete:hover{border-color:#f87171;background:#f8717126;color:#fee2e2}.sheet-editor-body.two-column-layout{display:grid;grid-template-columns:5fr 2fr;gap:1.25rem;align-items:flex-start}.left-sections{display:flex;flex-direction:column;gap:1.25rem}.right-sidebar{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.mini-section{background:radial-gradient(circle at top left,rgba(245,158,11,.06),transparent 55%),#111111f2;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);padding:1rem;box-shadow:var(--shadow-soft);width:100%;max-width:300px}.mini-section-title{margin:0 0 .75rem;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.mini-section-placeholder{border:2px dashed var(--border-subtle);background:#ffffff05;padding:.75rem;border-radius:var(--radius-xl);text-align:center;margin-top:.75rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;transition:background .15s ease,border-color .15s ease;width:100%;max-width:300px}.mini-section-placeholder:hover{border-color:var(--border-accent);background:#f59e0b0f;color:var(--text-main)}.hp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(30px,1fr));gap:.5rem;justify-content:start}.hp-input{width:100%x;text-align:center}.card{background:radial-gradient(circle at top left,rgba(245,158,11,.08),transparent 60%),#1b1b1bcc;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);padding:1.25rem 1.4rem;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .12s ease-out,background-color .12s ease-out,transform .12s ease-out}.card:hover{border-color:var(--border-accent);background-color:#222c;transform:translateY(-1px)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.4rem}.card-title{font-size:1.1rem;font-weight:600}.card-subtitle{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted)}.card-body{display:flex;flex-direction:column;gap:.85rem}.field-group{display:flex;flex-direction:column;gap:.28rem}.field-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.field-input{padding:.55rem .7rem;border-radius:8px;border:1px solid var(--border-subtle);background-color:#121212f2;color:var(--text-main);font-size:.9rem;outline:none;transition:border-color .12s ease-out,box-shadow .12s ease-out,background-color .12s ease-out}.field-input::placeholder{color:var(--text-placeholder)}.field-input:focus{border-color:var(--border-accent);box-shadow:0 0 0 1px #f59e0b66;background-color:#121212}.btn{border-radius:999px;padding:.45rem .9rem;font-size:.85rem;font-weight:500;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out,transform 80ms ease-out;white-space:nowrap}.btn:active{transform:translateY(1px) scale(.99)}.btn-primary{background-color:var(--btn-bg);color:var(--btn-text);border-color:var(--border-accent-strong)}.btn-primary:hover{background-color:var(--btn-bg-hover)}.btn-outline{background-color:transparent;color:var(--text-main);border-color:var(--border-subtle)}.btn-outline:hover{border-color:var(--border-accent)}.btn-sm{padding:.25rem .6rem;font-size:.75rem}.btn-danger-ghost{border-radius:999px;padding:.45rem .9rem;font-size:.85rem;font-weight:500;border:1px solid rgba(248,113,113,.6);background-color:transparent;color:#fecaca;cursor:pointer;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out,transform 80ms ease-out}.btn-danger-ghost:hover{background-color:#f871711f;border-color:#f87171;color:#fee2e2}.folder-card{display:flex;flex-direction:row;align-items:center;text-align:left;gap:.75rem;padding:.8rem .9rem;border-radius:14px;border:1px solid var(--border-subtle);background:radial-gradient(circle at top left,rgba(245,158,11,.06),transparent 55%),#1b1b1be6;box-shadow:0 10px 24px #0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out,transform .12s ease-out}.folder-card:hover{border-color:var(--border-accent);background-color:#222222f2;transform:translateY(-1px)}.folder-icon-badge{width:40px;height:40px;border-radius:12px;background:#f59e0b2e;display:flex;align-items:center;justify-content:center;flex-shrink:0}.folder-icon{font-size:1.1rem;line-height:1}.folder-color-gold{background:#f59e0b33}.folder-color-violet{background:#8b5cf638}.folder-color-emerald{background:#10b98138}.folder-color-crimson{background:#ef444438}.folder-meta{display:flex;flex-direction:column;gap:.1rem}.folder-name{font-size:.9rem;font-weight:600;color:var(--text-main)}.folder-description{font-size:.8rem;color:var(--text-muted)}.folder-count{font-size:.8rem;margin-top:.1rem;color:var(--text-accent)}.field-input-multiline{resize:vertical;min-height:2.5rem}.folder-move-item{display:flex;align-items:center;gap:.6rem;width:100%;border-radius:10px;padding:.45rem .5rem;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;transition:border-color .12s ease-out,background-color .12s ease-out}.folder-move-item:hover{border-color:var(--border-subtle);background-color:#151515}.folder-move-meta{display:flex;flex-direction:column;gap:.1rem}.folder-move-name{font-size:.85rem;color:var(--text-main)}.folder-move-description{font-size:.75rem;color:var(--text-muted)}.folder-contents{margin-top:.6rem}.folder-sheet-grid{margin-top:.4rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.6rem}.folder-move-list{display:flex;flex-direction:column;gap:.4rem}.menu-item{width:100%;text-align:left;padding:.5rem .7rem;background:transparent;border:none;color:var(--text-main);border-radius:8px;font-size:.9rem;cursor:pointer;transition:background-color .12s ease-out,color .12s ease-out}.menu-item:hover{background-color:#1e1e1e}.modal-backdrop{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:40}.modal{width:100%;max-width:420px;background-color:#111111f2;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);padding:1.1rem 1.25rem 1rem;box-shadow:var(--shadow-soft)}.modal-header{margin-bottom:.4rem}.modal-title{margin:0;font-size:1rem}.modal-body{font-size:.9rem;color:var(--text-muted);margin-bottom:.8rem}.modal-footer{margin-top:1rem;display:flex;justify-content:flex-end;gap:.5rem}.modal-footer-split{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.modal-folder{max-width:560px}.modal-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.modal-folder-header{display:flex;align-items:flex-start;gap:.75rem}.modal-folder-titles{display:flex;flex-direction:column;gap:.25rem}.modal-folder-name{margin:0;font-size:1rem;font-weight:600}.modal-folder-description{margin:0;font-size:.85rem;color:var(--text-muted)}.modal-header-actions{display:flex;gap:.4rem}.icon-button{border-radius:999px;padding:.25rem .6rem;border:1px solid var(--border-subtle);background-color:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out}.icon-button:hover{background-color:#222222e6;border-color:var(--border-accent);color:var(--text-main)}.modal-folder-name-input{margin-bottom:.35rem}.modal-folder-description-input{font-size:.85rem}.icon-choices{display:flex;gap:.4rem}.icon-choice{width:32px;height:32px;border-radius:999px;border:1px solid var(--border-subtle);background-color:#111111f2;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:border-color .12s ease-out,background-color .12s ease-out,transform 80ms ease-out}.icon-choice-active{border-color:var(--border-accent);background-color:#222222f2;transform:translateY(-1px)}.color-choices{display:flex;gap:.4rem}.color-dot{width:18px;height:18px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform 80ms ease-out,box-shadow .12s ease-out,border-color .12s ease-out}.color-gold{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.color-violet{background:linear-gradient(135deg,#8b5cf6,#a855f7)}.color-emerald{background:linear-gradient(135deg,#10b981,#22c55e)}.color-crimson{background:linear-gradient(135deg,#ef4444,#f97316)}.color-dot-active{transform:translateY(-1px) scale(1.05);box-shadow:0 0 0 1px #000000b3;border-color:var(--border-accent)}.sheet-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.sheet-section-empty{font-size:.8rem;color:var(--text-muted)}.section-placeholder{border:2px dashed var(--border-subtle);background:#ffffff05;padding:.75rem;border-radius:var(--radius-xl);text-align:center;margin-top:.75rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;transition:background .15s ease,border-color .15s ease}.section-placeholder-inner{text-align:center;padding:1.25rem 0;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.section-placeholder:hover{border-color:var(--border-accent);background:#f59e0b0f}.sheets-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.sheet-card{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:.6rem .65rem;border-radius:12px;border:1px solid var(--border-subtle);background:#111111f2;box-shadow:0 8px 18px #0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out,transform .12s ease-out}.sheet-card-in-folder{box-shadow:0 4px 12px #0009;padding:.5rem .55rem}.sheet-card:hover{border-color:var(--border-accent);background:#1c1c1cfa;transform:translateY(-1px)}.sheet-card-thumb{position:relative;width:100%;padding-top:75%;border-radius:10px;overflow:hidden;background:radial-gradient(circle at top left,rgba(245,158,11,.08),transparent 60%),#111;border:1px solid var(--border-subtle)}.sheet-card-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sheet-card-thumb-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--text-muted)}.sheet-card-body{display:flex;flex-direction:column;gap:.15rem}.sheet-card-name{font-size:.9rem;font-weight:500;color:var(--text-main)}.sheet-card-description{font-size:.7rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sheet-menu-button{position:absolute;top:.4rem;right:.45rem;width:22px;height:22px;border-radius:999px;border:1px solid transparent;background-color:#111111f2;color:var(--text-muted);font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out,transform 80ms ease-out}.sheet-menu-button:hover{background-color:#222222fa;border-color:var(--border-subtle);color:var(--text-main)}.sheet-menu{position:absolute;top:2rem;right:.45rem;min-width:140px;padding:.35rem .25rem;border-radius:10px;background-color:#111111fa;border:1px solid var(--border-subtle);box-shadow:0 18px 40px #000000b3;z-index:20}.sheet-menu-item{width:100%;text-align:left;padding:.35rem .6rem;border:none;background:transparent;color:var(--text-main);font-size:.8rem;border-radius:6px;cursor:pointer;transition:background-color .12s ease-out,color .12s ease-out}.sheet-menu-item:hover{background-color:#1e1e1e}.sheet-menu-item-danger{color:#fecaca}.sheet-menu-item-danger:hover{background-color:#f871711f}.sheet-editor{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.sheet-editor-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sheet-editor-body{gap:1rem}.sheet-locked .stat-name-input,.sheet-locked .sheet-section-title-input{opacity:1!important;cursor:default!important;color:var(--text-muted)!important;pointer-events:none}.sheet-locked .stat-name-input:hover,.sheet-locked .stat-name-input:focus,.sheet-locked .sheet-section-title-input:hover,.sheet-locked .sheet-section-title-input:focus{opacity:1!important;color:var(--text-muted)!important;box-shadow:none!important}.sheet-section{background:radial-gradient(circle at top left,rgba(245,158,11,.06),transparent 55%),#111111f2;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);padding:1rem 1.1rem;box-shadow:var(--shadow-soft)}.sheet-section-title{margin:0 0 .75rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}.sheet-section-title-input{width:100%;border:none;background:transparent;padding:0;margin:0;font-size:.9rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}.sheet-section-title-input:focus{outline:none;border:none;box-shadow:none;color:var(--text-main)}.custom-section-body{margin-top:.5rem;width:100%;display:block;resize:vertical}.sheet-section .field-input{width:100%}.sheet-section.section-placeholder{border:2px dashed var(--border-subtle);background:#ffffff05}.sheet-section.section-placeholder:hover{border:2px dashed var(--border-accent)}.sheet-editor-header-right{display:flex;align-items:center;gap:.5rem}.sheet-editor-lock-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-amber)}.basic-info-card{display:grid;grid-template-columns:330px minmax(0,1fr);gap:1rem;align-items:stretch}.basic-info-art{width:100%;position:relative;overflow:hidden;height:0;padding-top:75%;border-radius:12px;border:1px solid var(--border-subtle);background:#111}.basic-info-art-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.basic-info-art-placeholder{flex:1;min-height:180px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--text-muted)}.basic-info-fields{display:flex;flex-direction:column;gap:.6rem}.basic-info-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.basic-info-row:first-child{grid-template-columns:1fr 1fr}.field-wide{width:100%}.ability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(1px,140px));gap:.75rem;justify-content:flex-start}.ability-card{position:relative;background:#111;border-radius:12px;border:1px solid var(--border-subtle);width:100%;padding:.8rem;display:flex;flex-direction:column;gap:.45rem}.ability-card .field-input{text-align:center;font-size:.9rem;height:38px;padding:.3rem .4rem}.ability-name-input{text-transform:uppercase;letter-spacing:.05em;font-weight:600;text-align:center;padding:.35rem .5rem;font-size:.9rem}.ability-score-input{font-size:1.45rem;font-weight:700;text-align:center;padding:.4rem 0rem}.ability-mod-input{font-size:1rem;font-weight:600;text-align:center;padding:.35rem .5rem;color:var(--text-muted)}.ability-delete{position:absolute;top:4px;right:6px;border:none;background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;padding:0;line-height:1}.ability-delete:hover{color:var(--accent-amber)}.stat-name-input{border:none;background:transparent;padding:0;margin:0;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.11em;color:var(--text-muted);width:100%;cursor:text;opacity:.75;transition:opacity .15s}.stat-card{margin-top:1rem;width:100%;overflow:hidden}.stat-value-input{width:100%;box-sizing:border-box;margin-top:.55rem}.stats-fields{gap:.75rem}.stat-name-input:hover,.stat-name-input:focus{outline:none;border:none;box-shadow:none;color:var(--text-main);opacity:1}.stat-values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(30px,1fr));gap:.5rem;width:100%;margin-top:.35rem}.stat-subcontrols{display:flex;justify-content:flex-end;gap:.25rem;margin-top:.35rem}.stat-subcontrol{font-size:.7rem;padding-inline:.4rem}.section-type-select{background:#0f0f0ff2;border-radius:999px;border:1px solid var(--border-subtle);font-size:.7rem;padding:.15rem .5rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.section-type-select:focus{outline:none;border-color:var(--accent-amber)}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,2fr));gap:.75rem;margin-top:.5rem}.check-card{position:relative;background:#111;border-radius:12px;border:1px solid var(--border-subtle);width:100%;padding:.7rem;display:flex;flex-direction:column;gap:.4rem}.check-card-header{display:flex;align-items:center;gap:.4rem}.check-card-header .check-input{flex-shrink:0}.check-section-body{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.check-row,.mini-check-row{display:flex;align-items:flex-start;gap:.5rem}.check-input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1px solid var(--border-subtle);border-radius:4px;background:rgba(255,255,255 .03);cursor:pointer;position:relative;transition:all .15 ease}.check-input:hover{border-color:var(--accent-amber);box-shadow:0 0 4px #ffaa1e4d}.check-input:checked{background:linear-gradient(135deg,rgba(255 180,40,.9),#ff8c14e6);border-color:var(--accent-amber)}.check-input:checked:after{content:"";position:absolute;inset:0;margin:auto;width:10px;height:10px;background:#141414e6;mask:url("data:image/svg+xml;utf8,<svg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'><path d='M6.173 12.252L2.027 8.106l1.414-1.414 2.732 2.732 6.388-6.388 1.414 1.414-7.802 7.802z'/></svg>") center/contain no-repeat}.check-main,.mini-check-main{flex:1;display:flex;flex-direction:column;gap:.25rem}.check-extra-input,.mini-check-extra-input{font-size:.75rem}.check-row-controls{display:flex;flex-direction:column;gap:.15rem;margin-left:.25rem}.custom-check-add{margin-top:.4rem;width:100%;justify-content:center}@media(max-width:480px){.modal-backdrop{padding:.75rem}.modal{padding:.9rem 1rem}.modal-header-row{flex-direction:column;align-items:stretch}.modal-header-actions{justify-content:flex-end}.sheet-editor-header{flex-direction:column;align-items:flex-start}}@media(max-width:600px){.gallery-grid,.sheets-grid,.folder-sheet-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){.app-shell{padding:1rem .75rem 1.25rem}.app-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem;margin-bottom:1rem}.app-actions{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:.5rem}.app-actions .btn{flex:1 1 120px;justify-content:center}}@media(max-width:900px){.basic-info-card,.basic-info-row,.basic-info-row:first-child{grid-template-columns:minmax(0,1fr)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.sheets-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.folder-sheet-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.ability-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:1024px){.sheet-editor{padding:0 .5rem}.sheet-editor-body.sheet-editor-body.two-column-layout{grid-template-columns:minmax(0,1fr)}.right-sidebar{align-items:stretch}.mini-section,.mini-section-placeholder{max-width:none}}.dice-fab-wrapper{position:fixed;right:1.5rem;bottom:1.5rem;z-index:1000}.dice-fab{width:3.5rem;height:3.5rem;border-radius:999px;border:none;cursor:pointer;font-size:1.8rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px #00000059;background:linear-gradient(135deg,#ff6b3d,#ffb347);color:#fff}.dice-palette{position:absolute;bottom:4.2rem;right:-.2rem;background:#141419;border-radius:12px;padding:.5rem .6rem;box-shadow:0 16px 30px #00000080;display:block;gap:5rem}.dice-palette-die{border-radius:8px;border:1px solid #ff8f5a;background:#1d1d24;color:#ffe3d1;width:50px;height:50px;margin-top:.5rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.dice-palette-die:hover{background:#ff8f5a;color:#1d1d24;transform:translateY(-1px)}.dice-modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:999}.dice-modal{background:#141419;color:#f5f5f5;border-radius:12px;padding:1.25rem 1.5rem;width:min(90vw,420px);box-shadow:0 20px 40px #0009}.dice-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.dice-modal-close{border:none;background:transparent;color:inherit;font-size:1.6rem;cursor:pointer}.dice-modal-body{display:flex;flex-direction:column;gap:1.25rem}.dice-modal-dice-list{display:flex;flex-wrap:wrap;gap:.5rem}.dice-button{flex:1 0 calc(33.33% - .5rem);min-width:4rem;padding:.45rem .75rem;border-radius:8px;border:1px solid #ff8f5a;background:#1d1d24;color:#ffe3d1;font-size:.9rem;cursor:pointer;transition:background .15s ease,transform .1s ease}.dice-button:hover{background:#ff8f5a;color:#1d1d24;transform:translateY(-1px)}.dice-modal-result{text-align:center;min-height:120px;display:flex;flex-direction:column;gap:.75rem;align-items:center;justify-content:center}.dice-throw-wrapper{perspective:600px}.dice-throw{width:128px;height:128px;border-radius:14px;background:radial-gradient(circle at 20% 20%,#fff,#f1e1d7);display:flex;align-items:center;justify-content:center;font-size:4.5rem;text-align:center;font-weight:700;color:#333;box-shadow:0 12px 25px #00000073;animation:dice-throw .7s ease-out}@keyframes dice-throw{0%{transform:translateY(-180px) rotate3d(1,1,0,0);opacity:0}40%{transform:translateY(15px) rotate3d(1,1,0,280deg);opacity:1}70%{transform:translateY(-6px) rotate3d(1,1,0,340deg)}to{transform:translateY(0) rotate3d(1,1,0,360deg)}}
