@charset "UTF-8";.roll-panel{position:fixed;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));margin:0 auto;max-width:26rem;z-index:90;background:var(--bg-raised);border:1px solid var(--gold-dim);border-radius:var(--radius);box-shadow:0 10px 32px #0000008c;padding:.7rem .8rem .8rem;display:flex;flex-direction:column;gap:.55rem;color:var(--text)}.roll-panel-head{display:flex;align-items:flex-start;gap:.5rem}.roll-panel-title{flex:1;min-width:0;overflow-wrap:anywhere}.roll-panel-title strong{font-family:var(--font-display);font-size:1.05rem}.roll-panel-title small{color:var(--text-dim);font-size:.85rem;margin-left:.25rem}.roll-panel-close{flex:none;min-width:40px;min-height:40px;border-radius:8px;background:var(--bg-input);border:1px solid var(--border);color:var(--text);cursor:pointer;font-size:1rem}.roll-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem}.roll-modes button{min-height:40px;padding:0 .3rem;border-radius:8px;cursor:pointer;font-size:.82rem;background:var(--bg-input);border:1px solid var(--border);color:var(--text-dim)}.roll-modes button.on{border-color:var(--gold);color:var(--gold);background:#c9a45c1f}.roll-actions{display:flex;gap:.4rem}.roll-actions .roll-go{min-height:44px;min-width:7.5rem;font-size:1rem}.roll-out{min-height:2.6rem}.roll-hint,.roll-error{margin:0;font-size:.85rem}.roll-hint{color:var(--text-dim)}.roll-error{color:var(--bad)}.roll-result{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem}.roll-result--attack{flex-direction:column;align-items:stretch}.roll-line{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.roll-what{font-family:var(--font-display);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);min-width:4.2rem}.roll-total{font-family:var(--font-display);font-size:1.9rem;line-height:1.1;color:var(--gold)}.roll-sum{color:var(--text-dim);font-size:.9rem;overflow-wrap:anywhere}.roll-pair{color:var(--text-dim);font-size:.8rem;width:100%}.roll-nat{font-weight:700;font-size:.9rem;width:100%}.roll-nat--20{color:var(--ok)}.roll-nat--1{color:var(--bad)}.sg-row--roll{cursor:pointer;border-radius:4px}.sg-row--roll:hover,.sg-row--roll:focus-visible{background:#c9a45c1a}.sg-row--rolling{background:#c9a45c29}.sg-box .sg-roll-btn{position:absolute;right:.3rem;bottom:.3rem}.sg-roll-btn{min-width:36px;min-height:36px;padding:0 .4rem;border-radius:8px;cursor:pointer;background:var(--bg-input);border:1px solid var(--border);color:var(--text);font-size:.95rem;line-height:1;text-transform:none;letter-spacing:0}.sg-attack-line{display:block;font-size:.8rem;color:var(--gold);font-weight:600}.sg-attack-note{color:var(--text-dim);font-weight:400}.sg-attack-btn{min-height:36px}@media(pointer:coarse){.sg-row--roll{min-height:36px}}.gear-attack{order:3;flex:1 1 100%}.gear-attack>summary{cursor:pointer;font-size:.85rem;color:var(--text-dim);padding:.3rem 0;min-height:36px;display:flex;align-items:center;gap:.4rem}.gear-attack .gear-attack-body{display:flex;flex-wrap:wrap;gap:.4rem .7rem;align-items:center;padding:.2rem 0 .3rem}.gear-attack input[type=text]{width:7rem}.gear-attack .gear-attack-num{width:3.5rem}.gtb{position:fixed;top:0;left:0;right:0;z-index:var(--gtb-z, 1000);height:40px;box-sizing:border-box;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#111827eb;color:#f9fafb;font:400 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;letter-spacing:normal;text-align:left}.gtb *,.gtb *:before,.gtb *:after{box-sizing:border-box}body.gtb-on{padding-top:40px}.gtb[hidden]{display:none}.gtb-home{flex-shrink:0;margin-left:-8px;padding:6px 8px;border-radius:6px;color:#f9fafb;text-decoration:none;white-space:nowrap}.gtb-home:hover{background:#ffffff1a;color:#f9fafb;text-decoration:none}.gtb a:focus-visible,.gtb button:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.gtb-acct{position:relative;min-width:0;display:flex}.gtb-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:min(55vw,260px);height:28px;margin:0;padding:0 10px;border:1px solid rgba(249,250,251,.4);border-radius:999px;background:transparent;color:#f9fafb;font:inherit;line-height:1;cursor:pointer}.gtb-chip:hover{background:#ffffff1a}.gtb-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gtb-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:210px;max-width:calc(100vw - 32px);padding:4px;background:#1f2937;border:1px solid #374151;border-radius:8px;box-shadow:0 8px 24px #00000073}.gtb-menu button{display:block;width:100%;margin:0;padding:9px 12px;border:0;border-radius:6px;background:transparent;color:#f9fafb;font:inherit;text-align:left;white-space:nowrap;cursor:pointer}.gtb-menu button:hover,.gtb-menu button:focus-visible{background:#374151;outline:none}:root{--bg: #14121f;--bg-raised: #1d1a2e;--bg-input: #26223a;--border: #363152;--text: #e8e5f4;--text-dim: #9b95b8;--primary: #8b5cf6;--primary-hover: #7c4ddf;--primary-fill: #7c4ddf;--primary-fill-hover: #6b3fcf;--primary-text: #a78bfa;--danger: #e5484d;--success: #46a758;--ok: #7dd88f;--warn: #e8c87a;--bad: #ff9b9e;--backfire: #e08aa8;--radius: 10px;--font-display: "Cinzel", "Iowan Old Style", Georgia, serif;--font-flavor: "Cormorant Garamond", Georgia, serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--gold: #c9a45c;--gold-dim: #6d5c35;--reagent-consumed: #e0925e;--reagent-persistent: #7fb0e0;--reagent-condition: #b79ae0}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5;min-height:100vh}a{color:var(--primary-text);text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.75rem 1.25rem;background:var(--bg-raised);border-bottom:1px solid var(--border)}.app-header .brand{font-size:1.15rem}.app-header .header-actions{display:flex;align-items:center;gap:.75rem}.app-header .header-actions .username{color:var(--text-dim);font-size:.9rem}:root{--gtb-z: 90}body.gtb-on .app-shell,body.gtb-on .auth-page,body.gtb-on .page-loading{min-height:calc(100vh - 40px)}body.gtb-on .offline-bar,body.gtb-on .editor-topbar{top:40px}body.gtb-on .box-inspector,body.gtb-on .sheet-preview{top:calc(3.2rem + 40px)}body.gtb-on .dash-error{top:calc(.5rem + 40px)}.page{width:100%;max-width:960px;margin:0 auto;padding:1.5rem 1.25rem}.page-title{font-size:1.5rem;margin-bottom:1.25rem}.page-loading{display:grid;place-items:center;min-height:100vh;color:var(--text-dim)}.page-failed{max-width:34rem;margin:3rem auto;padding:0 1rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-dim);border:1px dashed var(--border);border-radius:var(--radius)}.empty-state .hint{font-size:.85rem;margin-top:.5rem}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{width:100%;max-width:400px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:2rem}.auth-card .brand{text-align:center;font-size:1.75rem;background:linear-gradient(135deg,var(--primary-text),var(--primary-fill));-webkit-background-clip:text;background-clip:text;color:transparent}.auth-card .tagline{text-align:center;color:var(--text-dim);font-size:.9rem;margin:.25rem 0 1.5rem}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--text-dim);font-size:.8rem;margin:1.1rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.btn--sso{text-align:center;border-color:var(--border)}.btn--sso:hover{border-color:var(--primary);text-decoration:none}.auth-same{text-align:center;margin:.6rem 0 0;font-size:.8rem}.auth-held{text-align:center;margin:0 0 1rem}.forgot-row{display:block;min-height:1.7rem}.forgot-link{display:inline-block;margin-top:.35rem;font-size:.8rem;color:var(--primary-text);text-decoration:underline;text-underline-offset:2px}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-dim);font-size:.9rem}.auth-footer--small{font-size:.8rem;margin-top:.6rem}.auth-footer a{text-decoration:underline;text-underline-offset:2px}input,textarea,select{padding:.55rem .7rem;background:var(--bg-input);border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);color:var(--text);font-size:1rem;font-family:inherit}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input[type=checkbox],input[type=radio]{width:auto;padding:0}select{color-scheme:dark}option{background:var(--bg-input);color:var(--text)}input[type=range]{padding:0;background:none;border:none}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;color:var(--text-dim);margin-bottom:.35rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.6rem .75rem}.form-group :is(input,textarea,select):focus-visible,.library-search:focus-visible{outline:none}.btn{display:inline-block;padding:.6rem 1.1rem;border:1px solid transparent;border-radius:calc(var(--radius) - 4px);font-size:.95rem;cursor:pointer;background:var(--bg-input);color:var(--text)}.btn--primary{background:var(--primary-fill);color:#fff}.btn--primary:hover:not(:disabled){background:var(--primary-fill-hover)}.btn--ghost{background:transparent;border-color:var(--border);color:var(--text-dim)}.btn--ghost:hover:not(:disabled){color:var(--text);border-color:var(--text-dim)}.btn--full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-header-row .page-title{margin-bottom:0}.page-header-row .actions{display:flex;gap:.5rem}.page-loading-inline{color:var(--text-dim);padding:2rem 0;text-align:center}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem}.game-card,.spell-card{text-align:left;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;color:var(--text);cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:.5rem}.game-card:hover,.spell-card:hover{border-color:var(--primary)}.game-card .card-top-row,.spell-card .card-top-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.game-card .card-top-row h3,.spell-card .card-top-row h3{font-size:1.05rem;min-width:0;overflow-wrap:anywhere}.game-card .card-desc,.spell-card .card-desc{color:var(--text-dim);font-size:.88rem;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-card .card-meta,.spell-card .card-meta{display:flex;justify-content:space-between;color:var(--text-dim);font-size:.8rem;margin-top:auto}.game-card .card-meta .join-code,.spell-card .card-meta .join-code{font-family:monospace;letter-spacing:.05em}.game-card--framed{position:relative;padding:0;display:flex;flex-direction:column}.game-card--framed .game-card-open{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;flex:1}.game-card--framed .game-card-link{color:inherit;text-decoration:none}.game-card--framed .game-card-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius)}.game-card--framed .game-card-link:focus-visible{outline:none}.game-card--framed .game-card-link:focus-visible:after{outline:2px solid var(--primary);outline-offset:2px}.game-card--framed .join-code{position:relative;z-index:1}.game-card--framed .card-foot{display:flex;justify-content:flex-end;padding:0 .8rem .6rem;position:relative;z-index:1}.game-card--archived{opacity:.65}.role-badge{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.role-badge--dm{background:#8b5cf633;color:#c4b0fa}.role-badge--player{background:#46a7582e;color:var(--ok)}.header-title{display:flex;align-items:center;gap:.6rem;min-width:0;margin-right:auto}.header-title .brand{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.join-code-btn{font-family:monospace}.effect-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--bg-input);border:1px solid var(--border);border-radius:999px;padding:.12rem .3rem .12rem .6rem}.effect-end{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.78rem;padding:.1rem .35rem;border-radius:999px}.effect-end:hover{color:var(--text);background:#e5484d40}.effect-end:disabled{opacity:.5;cursor:default}.effect-chip .effect-end{min-width:2rem;min-height:2rem;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center}.tab-bar{display:flex;gap:.25rem;padding:0 1.25rem;border-bottom:1px solid var(--border);overflow-x:auto;background:linear-gradient(to right,var(--bg-raised) 30%,transparent) left/2rem 100% no-repeat local,linear-gradient(to left,var(--bg-raised) 30%,transparent) right/2rem 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.5),transparent) left/.8rem 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.5),transparent) right/.8rem 100% no-repeat scroll,var(--bg-raised)}.tab-bar button{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);padding:.7rem .9rem;cursor:pointer;white-space:nowrap;font-family:var(--font-display);font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.tab-bar button.active{color:var(--text);border-bottom-color:var(--primary)}.overview{display:flex;flex-direction:column;gap:1rem}.panel{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem}.panel h2{font-size:1.05rem}.panel h3{font-size:1rem}.panel textarea{margin-top:.5rem}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.panel-header>.btn{white-space:nowrap;flex-shrink:0}.panel-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.6rem}.panel-text{color:var(--text-dim);white-space:pre-wrap}.panel-text--empty{font-style:italic}.btn--sm{padding:.35rem .7rem;font-size:.85rem}.stat-row{display:flex;gap:1rem;margin-top:.9rem;flex-wrap:wrap}.stat{display:flex;flex-direction:column;align-items:center;background:var(--bg-input);border-radius:calc(var(--radius) - 4px);padding:.5rem .9rem;min-width:90px}.stat .stat-value{font-size:1.3rem;font-weight:600}.stat .stat-label{font-size:.75rem;color:var(--text-dim)}.mini-stat{font-size:.8rem;color:var(--text-dim);background:var(--bg-input);padding:.25rem .6rem;border-radius:999px}.mana-bar{display:flex;align-items:center;gap:.6rem}.mana-bar .mana-track{flex:1;height:14px;background:var(--bg-input);border-radius:999px;overflow:hidden}.mana-bar .mana-fill{height:100%;border-radius:999px;transition:width .3s ease}.mana-bar .mana-fill--high{background:linear-gradient(90deg,#4f8ef6,var(--primary))}.mana-bar .mana-fill--mid{background:linear-gradient(90deg,#d99a2b,#f0b429)}.mana-bar .mana-fill--low{background:linear-gradient(90deg,#c23a3f,var(--danger))}.mana-bar .mana-text{font-family:monospace;font-size:.95rem;min-width:3.5rem;text-align:right}.mana-bar--compact .mana-track{height:9px}.mana-bar--compact .mana-text{font-size:.8rem}.settings-intro{color:var(--text-dim);font-size:.9rem;margin-bottom:1.1rem}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.setting-row:last-child{border-bottom:none}.setting-info{display:flex;flex-direction:column;min-width:160px}.setting-info .setting-label{font-weight:600}.setting-info .setting-hint{font-size:.8rem;color:var(--text-dim)}.setting-options{display:flex;gap:.4rem;flex-wrap:wrap}.chip{background:var(--bg-input);border:1px solid var(--border);border-radius:999px;color:var(--text-dim);padding:.35rem .8rem;font-size:.85rem;cursor:pointer}.chip--active{background:#8b5cf62e;border-color:var(--primary);color:var(--text)}.chip--stale{border-color:var(--danger);color:var(--bad)}.setting-number{width:90px;padding:.4rem .6rem}.setting-cooldown{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.player-card .mana-bar{margin:.4rem 0 .2rem}.section-heading{font-size:1.2rem}.brand,.section-heading,.modal-header h2{font-family:var(--font-display);font-weight:700;letter-spacing:.02em}@media(max-width:480px){.app-shell .tab-bar{padding:0 .4rem;gap:0}.app-shell .tab-bar button{padding:.65rem .55rem;letter-spacing:.05em}}.spell-index{display:flex;flex-direction:column;background:linear-gradient(168deg,#1d1932,#14111f);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.idx-row{display:flex;align-items:center;gap:1rem;padding:.55rem 1rem;border-bottom:1px solid rgba(201,164,92,.12);transition:background .15s}.idx-row:last-child{border-bottom:none}.idx-row:hover{background:#8b5cf614}.idx-row.sg-spell-row--still{cursor:default}.idx-row.sg-spell-row--still:hover{background:none}.idx-open{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.12rem;background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:.15rem 0}.idx-line{display:flex;align-items:center;gap:.55rem;min-width:0}.idx-name{font-family:var(--font-display);font-size:1.06rem;font-weight:700;letter-spacing:.015em;line-height:1.28;min-width:0}.idx-leader{flex:1 1 1.5rem;min-width:1.5rem;height:.5em;border-bottom:2px dotted rgba(201,164,92,.3)}.idx-effect{font-family:var(--font-flavor);font-style:italic;font-weight:500;font-size:.95rem;color:var(--text-dim);line-height:1.3;max-width:62ch;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.idx-details{display:block;font-size:.85rem;color:var(--text-dim);line-height:1.3;overflow-wrap:anywhere}.idx-side{flex-shrink:0;display:flex;align-items:center;gap:.65rem}.idx-odds{font-size:.75rem;color:var(--text-dim);white-space:nowrap}.idx-blocked{font-size:.75rem;color:var(--text-dim);text-align:right;max-width:14rem;line-height:1.25}.idx-cast{font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-indent:.16em;text-transform:uppercase;color:#f3efff;background:linear-gradient(180deg,#6d4fd4,#533e9c);border:none;border-radius:8px;padding:.42rem .95rem;cursor:pointer;transition:background .15s,text-shadow .15s}.idx-cast:hover{background:linear-gradient(180deg,#7d5ff0,#6248c0);text-shadow:0 0 10px rgba(255,255,255,.5)}.idx-cast--learn{background:none;border:1px solid var(--border);color:var(--gold)}.idx-cast--learn:hover{background:#c9a45c1a;text-shadow:0 0 10px rgba(201,164,92,.5)}@supports (grid-template-columns: subgrid){@media(min-width:701px){.spell-index{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:1rem}.idx-row{grid-column:1/-1;display:grid;grid-template-columns:subgrid}.idx-row>.idx-open{grid-area:1/1;justify-self:stretch}.idx-row>.entry-reagents{grid-area:1/2}.idx-row>.idx-side{grid-area:1/3;justify-content:flex-end;flex-wrap:wrap;row-gap:.3rem;max-width:14rem}}}@media(max-width:700px){.idx-row{flex-wrap:wrap;gap:.3rem 1rem;padding:.6rem .85rem}.idx-open{flex:1 1 100%}.idx-side{flex:1 1 0;min-width:0;flex-wrap:wrap;justify-content:flex-end}.idx-blocked{text-align:right;max-width:none}}.entry-name{font-family:var(--font-display);font-size:1.12rem;font-weight:700;letter-spacing:.015em;line-height:1.3}.mana-gem{flex-shrink:0;width:1.8rem;height:2.05rem;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:radial-gradient(circle at 35% 28%,#a8bfff,#4a6cd4 48%,#22336f);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.98rem;color:#eef2ff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.mana-gem--row{width:1.5rem;height:1.7rem;font-size:.85rem}.entry-reagents{display:inline-flex;align-items:baseline;gap:.3rem;font-size:.88rem;cursor:help}.entry-reagents small{color:var(--text-dim);font-size:.75rem}.entry-reagents .rg--consumed{color:var(--reagent-consumed)}.entry-reagents .rg--persistent{color:var(--reagent-persistent)}.entry-reagents .rg--condition{color:var(--reagent-condition)}.lasting-icon{margin-right:.1rem}.spell-card .mana-cost{font-family:var(--font-display);font-size:.95rem;color:var(--primary-text);white-space:nowrap}.card-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto}.badge{font-size:.72rem;padding:.14rem .5rem;border-radius:999px;white-space:nowrap}.badge--plain{background:var(--bg-input);color:var(--text-dim)}.badge--pending{background:#f0b42926;color:var(--warn)}.badge--learned{background:#46a7582e;color:var(--ok)}.badge--unstable{background:#e5484d26;color:var(--bad)}.badge--blessed{background:#4f8ef62e;color:#9cc0ff}.hint{color:var(--text-dim);font-size:.85rem}.hint-note{color:var(--text-dim);font-size:.85rem;background:var(--bg-input);border-radius:calc(var(--radius) - 4px);padding:.6rem .8rem;margin-bottom:1rem}.guest-note p{margin:0 0 .5rem}.claim-form{max-width:26rem;margin-top:.3rem}.claim-form .form-group{margin-bottom:.6rem}.claim-form label small{color:var(--text-dim);font-weight:400}.recovery-code{border:1px solid var(--gold-dim);border-radius:var(--radius);background:var(--bg-raised);padding:.9rem 1rem;margin-bottom:1rem}.recovery-code h2{font-size:1rem;margin:0 0 .3rem}.recovery-code p{color:var(--text-dim);font-size:.85rem;margin:0 0 .6rem}.recovery-code .recovery-code-value{display:block;font-family:monospace;font-size:1.15rem;letter-spacing:.06em;color:var(--gold);background:var(--bg-input);border-radius:calc(var(--radius) - 4px);padding:.55rem .7rem;margin-bottom:.7rem;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.import-result{overflow-wrap:anywhere}.import-result p,.import-result ul{margin:0 0 .35rem}.import-result ul{padding-left:1.1rem}.form-row{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.form-row>.form-group{flex:1 1 12rem;min-width:0}.form-row>.form-group--narrow{flex:0 0 auto;max-width:140px}.check-field{display:flex;align-items:center;gap:.5rem;padding-bottom:1.15rem;cursor:pointer}.check-field input{width:auto}.check-field small{color:var(--text-dim)}.icon-row{display:flex;flex-wrap:wrap;gap:.3rem}.icon-choice{font-size:1.15rem;background:var(--bg-input);border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);padding:.3rem .5rem;cursor:pointer}.icon-choice--active{border-color:var(--primary);background:#8b5cf62e}.components-editor{margin:1rem 0}.components-editor>label,.components-editor .panel-header label{font-size:.85rem;color:var(--text-dim)}.components-editor small{color:var(--text-dim);font-weight:400}.component-row{background:var(--bg-input);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);padding:.7rem;margin-bottom:.6rem;display:flex;flex-direction:column;gap:.5rem}.component-row input{background:var(--bg)}.component-row-top{display:flex;gap:.5rem;flex-wrap:wrap}.component-row-top .comp-name{flex:1;min-width:0}.component-row-top .comp-usage{flex:1 1 100%;min-width:0}.component-row-top .comp-qty{width:70px}.component-row-types{display:flex;gap:.35rem;flex-wrap:wrap}.comp-type-hint,.text-count{display:block;margin-top:.25rem}.text-count--over{color:var(--bad)}.spell-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}.spell-desc{margin-bottom:1rem}.spell-details-line{margin:-.3rem 0 .8rem;font-size:.95rem;overflow-wrap:anywhere}.share-toggle{margin-bottom:.8rem}.wording-before p{margin:.3rem 0 0;overflow-wrap:anywhere}.spell-details-editor .detail-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.spell-details-editor .detail-kind{flex:0 0 6.5rem;font-size:.9rem;color:var(--text-dim)}.spell-details-editor .detail-label{flex:0 1 7rem;min-width:0}.spell-details-editor .detail-value{flex:1 1 auto;min-width:0}.spell-details-editor .detail-add{max-width:100%}.section-title{font-size:.95rem;margin:1.1rem 0 .5rem}.section-title small{color:var(--text-dim);font-weight:400}.detail-component{background:var(--bg-input);border-radius:calc(var(--radius) - 2px);padding:.6rem .8rem;margin-bottom:.5rem}.detail-component-main{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.detail-component-main .comp-title{font-weight:600}.detail-component-main .comp-qty-label{color:var(--text-dim);font-weight:400}.comp-desc-text{color:var(--text-dim);font-size:.85rem;margin-top:.25rem}.grade-row{display:flex;align-items:center;gap:.6rem;margin-top:.5rem}.grade-row input[type=range]{flex:1}.grade-row .grade-label{font-size:.75rem;color:var(--text-dim);white-space:nowrap}.grade-row .grade-value{font-family:monospace;font-size:.95rem;min-width:2rem;text-align:right;color:var(--text-dim)}.side-effect{background:var(--bg-input);border-left:3px solid var(--danger);border-radius:calc(var(--radius) - 2px);padding:.6rem .8rem;margin-bottom:.5rem}.side-effect-main{display:flex;align-items:center;gap:.5rem}.side-effect-main strong{flex:1}.side-effect-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.side-effect-form input,.side-effect-form textarea{width:100%;padding:.5rem .7rem}.btn--danger-ghost{background:transparent;border-color:var(--border);color:var(--bad)}.btn--danger-ghost:hover:not(:disabled){border-color:var(--danger)}.footer-spacer{flex:1}.grading-queue{display:flex;flex-direction:column;gap:.5rem}.effects-strip{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:.45rem 1rem;background:var(--bg-raised);border-bottom:1px solid var(--border);font-size:.88rem}.effects-strip .effects-label{color:var(--text-dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.mana-history{display:inline-flex;flex-direction:column;gap:.3rem;align-items:flex-start}.player-strip .strip-history{flex:1 1 100%}.player-strip{padding-inline:max(1rem,(100% - 960px) / 2 + 1.25rem)}.player-strip .strip-mana{width:150px;flex-shrink:0}.player-strip .strip-channel{flex-shrink:0;font-size:.78rem;color:var(--text-dim)}.player-strip .strip-rest{display:inline-flex;gap:.35rem}.player-strip .btn--sm{padding:.22rem .6rem;font-size:.78rem}.cast-console{display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(190px,1.6fr);align-items:center;gap:1.1rem;padding:.85rem 1.15rem;margin-bottom:1.15rem;background:radial-gradient(120% 170% at 8% 0%,rgba(122,92,220,.09),transparent 55%),linear-gradient(168deg,#1d1930,#151226 60%,#131020);border:1px solid var(--border);border-radius:var(--radius)}.console-cell{display:flex;align-items:center;gap:.6rem;min-width:0}.console-cell--mana .mana-bar{flex:1}.console-cell--channel{padding:0 1.05rem;border-left:1px solid var(--border);border-right:1px solid var(--border);cursor:help;gap:.5rem}.console-big{font-family:var(--font-display);font-size:1.75rem;font-weight:700;line-height:1;color:var(--gold)}.console-label{display:inline-flex;flex-direction:column;line-height:1.3;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--text-dim)}.console-label small{text-transform:none;letter-spacing:.01em;font-weight:400;opacity:.85}.console-note{font-size:.84rem;font-style:italic;color:var(--text-dim)}.explain-q{flex-shrink:0;width:1.9rem;height:1.9rem;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:.85rem;cursor:pointer}.explain-q[aria-expanded=true]{color:var(--gold);border-color:var(--gold)}.console-why{grid-column:1/-1;margin:0;font-size:.86rem;line-height:1.4;color:var(--text);background:var(--bg-input);border-radius:calc(var(--radius) - 4px);padding:.5rem .7rem}.console-cell--rest{grid-column:3/-1;flex-wrap:wrap;row-gap:.3rem}.console-cell--rest>.btn{white-space:nowrap;flex-shrink:0}.console-cell--effects{flex-wrap:wrap}.console-effects{display:inline-flex;flex-wrap:wrap;gap:.35rem}.cast-console .console-cell--history,.cast-console .console-cell--effects{grid-column:1/-1}.cast-console .effect-chip{font-size:.8rem}@media(max-width:760px){.cast-console{grid-template-columns:1fr auto;gap:.7rem .9rem;padding:.75rem .85rem}.console-cell--channel{border:none;padding:0}.console-cell--rest{grid-column:1/-1}}.queue-section-title{margin:1.25rem 0 .5rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.queue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem;color:var(--text);font:inherit;cursor:pointer;text-align:left}.queue-row:hover{border-color:var(--primary)}.queue-main{display:flex;flex-direction:column}.queue-main .queue-name{font-weight:600}.queue-main .queue-owner{font-size:.8rem;color:var(--text-dim)}.queue-badges{display:flex;gap:.35rem;flex-wrap:wrap}.cast-panel{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.cast-mana-row{display:flex;align-items:center;gap:.6rem;margin:.5rem 0}.cast-mana-row input[type=range]{flex:1}.cast-mana-row .cast-spend{font-family:monospace;font-size:1.15rem;color:var(--primary-text);min-width:3rem;text-align:right}.cast-blockers{color:var(--bad);font-size:.9rem;display:flex;flex-direction:column;gap:.25rem}.cast-result{margin-top:.9rem;border-radius:calc(var(--radius) - 2px);padding:.8rem 1rem;border:1px solid var(--border)}.cast-result .cast-headline{font-weight:600}.cast-result .cast-detail{color:var(--text-dim);font-size:.85rem;margin-top:.25rem}.cast-result .cast-band-text{font-style:italic;margin-top:.35rem}.cast-result .cast-report-ask{font-weight:600;margin-top:.5rem}.cast-result .cast-report-buttons{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.cast-result .cast-report-roll{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem}.cast-result .report-btn--landed{border-width:2px;font-weight:700}.odds-line{margin:.4rem 0}.odds-line--sure{color:var(--ok)}.odds-line--dead{color:var(--text-dim)}.odds-summary{font-size:.9rem;margin-bottom:.2rem}.odds-ladder{display:flex;flex-wrap:wrap;gap:.3rem .55rem;font-size:.8rem}.odds-shelf{white-space:nowrap;padding:.1rem .4rem;border-radius:4px;border:1px solid var(--border)}.report-btn--success{border-color:#46a75899}.report-btn--partial{border-color:#f0b42999}.report-btn--backfire{border-color:#b2225ea6}.spell-effect{font-size:1rem;font-weight:500;margin:.3rem 0 .4rem}.spell-effect--unwritten{color:var(--text-dim);font-weight:400;font-style:italic}.spell-outcomes{font-size:.85rem;margin-bottom:.6rem}.spell-outcomes p{margin:.2rem 0}.outcome-tag{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;padding:.06rem .4rem;margin-right:.35rem;border-radius:4px;border:1px solid var(--border)}.comp-add{margin-left:auto;flex-shrink:0}.detail-who{color:var(--text-dim);font-size:.9rem}.note-group{margin-top:1rem}.note-block{margin-bottom:.35rem}.note-block--dm .note-row{border-left:3px solid rgba(201,164,92,.7)}.note-row{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;background:#1e1a2e99;border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;color:var(--text);cursor:pointer;font-family:inherit;font-size:.92rem}.note-row:hover{border-color:#c9a45c73}.note-row--open{border-color:#c9a45c8c;border-bottom-left-radius:0;border-bottom-right-radius:0}.note-row-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.note-row--open .note-row-title{white-space:normal;overflow:visible;overflow-wrap:anywhere}.note-row-meta{display:flex;align-items:center;gap:.55rem;color:var(--text-dim);font-size:.78rem;flex-shrink:0}.note-row-author{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-row-author--dm{color:var(--warn);font-weight:600}.note-account{font-size:.85em;font-weight:400;opacity:.75}.aud-chip{flex-shrink:0;font-size:.72rem;padding:.1rem .45rem;border-radius:10px;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.aud-chip--party{border-color:#46a7588c;color:var(--ok)}.aud-chip--direct{border-color:#c9a45c99;color:var(--warn)}.aud-chip--private{border-color:#a0a0af73}.note-card.note-card--open{border:1px solid rgba(201,164,92,.55);border-top:none;border-radius:0 0 8px 8px;margin-top:0}.note-thread{margin-top:.6rem;border-top:1px dashed var(--border);padding-top:.5rem}.note-comment{display:flex;align-items:baseline;gap:.5rem;padding:.2rem 0;font-size:.88rem}.note-comment .note-comment-author{flex-shrink:0;font-weight:600;color:var(--text-dim)}.note-comment .note-comment-body{flex:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.note-comment .note-comment-when{color:var(--text-dim);font-size:.72rem;flex-shrink:0}.note-comment--dm .note-comment-author{color:var(--warn)}.note-comment--mine .note-comment-author{color:var(--gold)}.note-reply{display:flex;gap:.4rem;margin-top:.4rem}.note-reply textarea{flex:1;resize:vertical;min-height:2.2rem}.note-comment-del{align-self:center}@media(max-width:520px){.note-row{flex-wrap:wrap}.note-row-meta{flex-basis:100%;flex-shrink:1;min-width:0}.note-row-author{max-width:60%}.note-comment{flex-wrap:wrap}.note-comment .note-comment-body{flex-basis:100%;order:3}}.grading-bench{display:flex;flex-direction:column;min-height:calc(100vh - 180px)}.grading-bench .bench-head{margin-bottom:.9rem}.grading-bench .bench-head-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.grading-bench .bench-refuse{margin-top:.6rem}.grading-bench .bench-refuse textarea{width:100%}.grading-bench .bench-refuse .actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.grading-bench .bench-name{font-size:1.3rem;margin:0}.grading-bench .bench-meta{color:var(--text-dim);font-size:.85rem;margin:.2rem 0 0 2.6rem}.grading-bench .bench-state{font-size:.75rem;padding:.15rem .6rem;border-radius:10px;border:1px solid;white-space:nowrap}.grading-bench .bench-state--on{border-color:#46a75899;color:var(--ok)}.grading-bench .bench-state--off{border-color:#f0b42999;color:var(--warn)}.grading-bench .bench-cols{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1rem;align-items:start;flex:1}@media(max-width:820px){.grading-bench .bench-cols{grid-template-columns:1fr}}.grading-bench .bench-panel{border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;background:#14102059}.grading-bench .bench-side{display:flex;flex-direction:column;gap:1rem;position:sticky;top:.5rem}@media(max-width:820px){.grading-bench .bench-side{position:static}}.grading-bench .bench-h{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0 0 .6rem}.grading-bench .bench-h small{text-transform:none;letter-spacing:0}.grading-bench .bench-comp{border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;margin-bottom:.5rem}.grading-bench .bench-comp--ungraded{border-color:#f0b429a6;background:#f0b4290d}.grading-bench .bench-comp-head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.25rem}.grading-bench .bench-comp-name{flex:1;min-width:0;font-weight:600}.grading-bench .bench-comp-name em{color:var(--text-dim);font-weight:400}.grading-bench .comp-desc-text{margin:0 0 .3rem;overflow-wrap:anywhere}.grading-bench .bench-slider-row{display:flex;align-items:center;gap:.55rem}.grading-bench .bench-slider-row input[type=range]{flex:1;accent-color:var(--gold)}.grading-bench .bench-slider-row .bench-end{color:var(--text-dim);font-size:.72rem;flex-shrink:0}.grading-bench .bench-comp--ungraded input[type=range]{accent-color:var(--warn)}.grading-bench .bench-grade{min-width:2.6rem;text-align:right;font-weight:700;font-size:1.05rem}.grading-bench .bench-grade.pos{color:var(--ok)}.grading-bench .bench-grade.neg{color:var(--bad)}.grading-bench .bench-grade--none{color:var(--warn)}.grading-bench .bench-grade small{font-weight:400;color:var(--text-dim)}.grading-bench .bench-line{font-size:.88rem;margin:0 0 .4rem;color:var(--text-dim)}.grading-bench .bench-line strong{color:var(--text)}.grading-bench .bench-more{font-size:.82rem;color:var(--text-dim);margin:.2rem 0 .4rem}.grading-bench .bench-what{margin-bottom:.9rem;font-size:.88rem}.grading-bench .bench-what summary{cursor:pointer;color:var(--text-dim)}.grading-bench .bench-what p{margin:.3rem 0}.grading-bench .lbar-wrap{margin:.5rem 0 .3rem}.grading-bench .lbar{position:relative;height:26px;border-radius:6px;border:1px solid var(--border);cursor:default;touch-action:pan-y;-webkit-user-select:none;user-select:none}.grading-bench .lbar-track{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit}.grading-bench .lbar-seg{position:absolute;top:0;bottom:0}.grading-bench .lbar-seg--works{background:#46a7588c}.grading-bench .lbar-seg--half{background:#f0b42980}.grading-bench .lbar-seg--nothing{background:#78788759}.grading-bench .lbar-seg--backfire{background:#b2225e8c}.grading-bench .lbar-handle{position:absolute;top:-2px;bottom:-2px;width:4px;margin-left:-2px;border-radius:2px;box-shadow:0 0 0 1px #0009;touch-action:none;cursor:ew-resize}.grading-bench .lbar-handle:before{content:"";position:absolute;top:0;bottom:0;left:-7px;right:-7px}@media(pointer:coarse){.grading-bench .lbar-handle:before{left:-14px;right:-14px}}.grading-bench .lbar-marker{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--ok);box-shadow:0 0 0 1px #0009;pointer-events:none}.grading-bench .lbar-handle--yellow{background:var(--warn)}.grading-bench .lbar-handle--red{background:#e0568a}.grading-bench .lbar-handle:focus-visible{outline:2px solid var(--text);outline-offset:3px;z-index:2}.grading-bench .bench-knee{font-size:.85rem;margin:.5rem 0 0}.grading-bench .bench-knee strong{color:var(--warn)}.grading-bench .bench-knee--none{color:var(--text-dim)}.grading-bench .bench-knee--dead{color:var(--bad)}.grading-bench .lbar--still{cursor:default}.grading-bench .lbar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.78rem;color:var(--text);text-shadow:0 1px 2px rgba(0,0,0,.7);pointer-events:none}.grading-bench .bench-basemana{display:inline-flex;align-items:center;gap:.35rem;color:var(--text)}.grading-bench .bench-basemana input{width:3.6rem;text-align:center}.grading-bench .bench-inst-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.grading-bench .bench-inst-effect{font-size:.85rem}.grading-bench .bench-num{display:flex;flex-direction:column;gap:.2rem}.grading-bench .bench-num>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.grading-bench .bench-num input{width:3.8rem;text-align:center}.grading-bench .bench-num-in{display:flex;align-items:center;gap:.25rem;white-space:nowrap;font-size:.9rem}.grading-bench .curve-grid{display:flex;gap:1.1rem;flex-wrap:wrap;align-items:flex-end}.grading-bench .lbar-labels{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.25rem;font-size:.75rem}.grading-bench .lbar-lab--works{color:var(--ok)}.grading-bench .lbar-lab--half{color:var(--warn)}.grading-bench .lbar-lab--nothing{color:var(--text-dim)}.grading-bench .lbar-lab--backfire{color:var(--backfire)}.grading-bench .bench-save{position:sticky;bottom:0;display:flex;align-items:center;gap:.6rem;margin-top:1rem;padding:.6rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);box-shadow:0 -6px 18px #00000059}.grading-bench .bench-save-state{font-size:.85rem;color:var(--text-dim)}.grading-bench .bench-save-state--dirty{color:var(--warn)}.grading-bench .bench-saved{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;margin-top:1rem;padding:.3rem .2rem;font-size:.88rem;color:var(--ok)}.grading-bench .bench-saved-check{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;border:1.5px solid currentColor;border-radius:50%;font-size:.75rem}.grading-bench .bench-saved--fresh{animation:saved-settle .35s ease-out}.grading-bench .bench-fx{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--border)}.grading-bench .bench-fx-row{margin:.55rem 0}.grading-bench .bench-fx-main{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.grading-bench .bench-fx-desc{margin:.2rem 0 0;font-size:.86rem;color:var(--text-dim)}.grading-bench .bench-fx-form{display:grid;gap:.45rem;margin-top:.6rem}.grading-bench .bench-fx-form input,.grading-bench .bench-fx-form textarea{width:100%}.grading-bench .bench-fx-actions{display:flex;justify-content:flex-end;gap:.5rem}@keyframes saved-settle{0%{opacity:0;transform:translateY(4px)}}.fx-book{border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-dim);font-size:.78rem;padding:.15rem .6rem;cursor:pointer;white-space:nowrap}.fx-book:hover:not(:disabled){border-color:var(--text-dim)}.fx-book--on{color:var(--ok);border-color:#7dd88f80}.grading-count{font-size:.72rem;text-transform:none;letter-spacing:0}.grading-count--short{color:var(--warn)}.member-character{display:block;text-align:left;font-size:.95rem;margin:.1rem 0 .3rem}.player-card .panel-actions{justify-content:flex-start;margin-top:.5rem}.rename-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.8em;margin-left:.35rem}.rename-btn:hover{color:var(--text)}.comp-usage-text{color:var(--text-dim);font-weight:400;font-size:.85em}.book .comp-usage-text{color:var(--ink-faint)}.comp-usage{flex:1;min-width:8rem}.pending-cast{display:block;text-align:left}.pending-cast .pending-cast-line{font-size:.9rem}.pending-cast .pending-cast-conditions{color:var(--text-dim);font-size:.8rem;margin:.2rem 0}.pending-cast .pending-cast-actions{display:flex;gap:.4rem;margin-top:.3rem}.pending-verdict{font-size:.85rem;margin:.3rem 0}.pending-banner{padding:.5rem 1.25rem;background:#c9a45c1a;border-bottom:1px solid rgba(201,164,92,.45)}.pending-banner .pending-banner-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;font-size:.9rem;margin-bottom:.3rem}.pending-banner .pending-banner-head strong{color:var(--gold)}.pending-banner .pending-cast{margin:0}@media(max-width:640px){.pending-banner{padding:.5rem 1rem}}.modal:focus{outline:none}.level-pick-options .chip--described{display:block;text-align:left;white-space:normal;max-width:100%;border-radius:var(--radius);padding:.5rem .8rem}.level-pick-options .chip--described small{display:block;color:var(--text-dim);font-size:.75rem;line-height:1.3;margin-top:.15rem}.sg-box:not(.arrange-box) .stat-key{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;line-height:1.2}.sg-row .sg-row-name{white-space:normal;overflow-wrap:anywhere}.sg-inv-row--kit{opacity:.8;font-style:italic}.creator-pool{margin:.3rem 0 .2rem;font-size:.9rem}.creator-pool strong{font-family:var(--font-display)}.quick-add{margin-top:.4rem}.quick-add-body{margin-top:.4rem;border:1px dashed var(--border);border-radius:6px;padding:.5rem .6rem}.quick-add-tabs{display:flex;gap:.4rem;margin-bottom:.4rem}.quick-add-tabs button{background:none;border:1px solid var(--border);border-radius:5px;color:var(--text-dim);padding:.2rem .55rem;font-size:.8rem;cursor:pointer}.quick-add-tabs button.active{color:var(--text);border-color:#c9a45c8c}.quick-add-list{max-height:260px;overflow-y:auto}.quick-add-row{display:flex;align-items:center;gap:.5rem;padding:.15rem 0;font-size:.85rem}.quick-add-row .quick-add-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-add-row .quick-add-note{color:var(--text-dim);font-size:.75rem;flex-shrink:0}.quick-add-row--stocked{opacity:.5}.item-card--wanted{opacity:.55;border-style:dashed}.item-card--wanted .item-qty{color:var(--warn);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.curve-row{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;font-size:.9rem}.curve-row input{width:4.2rem;text-align:center}.practice-mark{color:var(--warn);font-size:.8rem;margin-left:.4rem;letter-spacing:.1em}.promised-spells{margin-top:1.2rem}.section-heading--sub{font-size:1rem;margin-bottom:.2rem}.have-mark{display:inline-block;margin-right:.4rem;font-weight:700}.inv-list{display:flex;flex-direction:column;gap:.5rem}.inv-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .9rem}.inv-item--needed{border-style:dashed}.inv-info{display:flex;flex-direction:column;min-width:0}.inv-info .inv-name{font-weight:600}.inv-info .inv-desc{font-size:.8rem;color:var(--text-dim)}.inv-controls{display:flex;align-items:center;gap:.5rem}.qty-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-size:1rem;cursor:pointer}.qty-btn:hover{border-color:var(--primary)}.qty-btn:disabled{opacity:.5}.group-title{margin-top:1.5rem}.grant-form{display:flex;gap:.4rem;margin-top:.4rem}.grant-form input{padding:.4rem .6rem}.grant-form input:first-child{flex:1;min-width:0}.grant-form input[type=number]{width:60px}.status-panel .mana-bar{margin:.5rem 0}.status-controls{display:flex;gap:.4rem;flex-wrap:wrap;margin:.6rem 0}.status-note{color:var(--text-dim);font-size:.85rem;margin:.3rem 0}.effects-list{display:flex;flex-direction:column;gap:.4rem}.effect-row{display:flex;align-items:center;gap:.6rem;background:var(--bg-input);border-radius:calc(var(--radius) - 2px);padding:.5rem .75rem}.effect-row .effect-icon{font-size:1.2rem}.effect-row .effect-name{flex:1;font-weight:600}.effect-row .effect-since{font-size:.75rem;color:var(--text-dim)}.empty-slots{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap}.empty-slot{border:1px dashed var(--border);border-radius:999px;color:var(--text-dim);font-size:.75rem;padding:.25rem .7rem}.dm-mana-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.4rem 0 .2rem}.dm-mana-row .mana-bar{flex:1 1 120px;min-width:120px}.cast-result--band-weak{border-color:var(--border)}.cast-result--band-promising{border-color:#f0b42980;background:#f0b4290f}.cast-result--band-strong{border-color:#8b5cf699;background:#8b5cf614}.library-filters{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.library-search{width:100%;max-width:420px;padding:.6rem .85rem;border-radius:calc(var(--radius) - 2px)}.library-byline{color:var(--text-dim);font-size:.85rem;margin-bottom:.8rem}.game-select{padding:.5rem .7rem;max-width:200px}.library-versions{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .7rem}.report-form{display:flex;flex-direction:column;gap:.4rem;margin-top:.9rem}.report-form textarea{width:100%;resize:vertical}.report-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .6rem}.report-actions span{display:inline-flex;gap:.4rem;margin-left:auto}.report-row{background:var(--bg-input);border-radius:calc(var(--radius) - 2px);padding:.6rem .8rem;margin-bottom:.5rem}.report-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .6rem}.report-head .comp-title{font-weight:600;overflow-wrap:anywhere}.report-badges{display:inline-flex;flex-wrap:wrap;gap:.3rem}.report-reasons{margin:.35rem 0 .5rem;padding-left:1.1rem;color:var(--text-dim);font-size:.85rem;overflow-wrap:anywhere}.report-reasons li{margin-bottom:.2rem}.locked-origin{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.3rem 0}.locked-origin+.locked-origin{border-top:1px solid var(--border)}.locked-origin span{overflow-wrap:anywhere}.focus-form{margin-bottom:1rem}.focus-players{margin-top:.6rem}.focus-row{margin-bottom:.75rem}.delta-up{color:var(--ok);font-weight:600}.delta-down,.slot-over{color:var(--bad);font-weight:600}.page-needs{color:var(--gold);font-weight:700}.creator--sheet{display:grid;gap:.6rem;align-items:start;grid-template-columns:min(var(--creator-left-w, 250px),22vw) 8px minmax(0,1fr) 8px min(var(--creator-side-w, 320px),28vw)}.creator--sheet>.creator-left{grid-area:1/1}.creator--sheet>.col-drag--left{grid-area:1/2}.creator--sheet>.creator-main{grid-area:1/3}.creator--sheet>.col-drag--side{grid-area:1/4}.creator--sheet>.creator-side{grid-area:1/5}.col-drag{width:8px;align-self:stretch;min-height:12rem;cursor:col-resize;position:relative;touch-action:none}.col-drag:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:2px;border-radius:2px;background:var(--border)}.col-drag:hover:after,.col-drag:active:after,.col-drag:focus-visible:after{background:var(--gold)}.col-drag:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.creator-status--refused{color:var(--bad)}.creator-choice--refused,.pick-box--refused{border-color:var(--danger)!important;box-shadow:0 0 0 1px var(--danger)}.choice-select{width:100%;font-size:.95rem}.creator-side-head{display:flex;justify-content:flex-end;margin-bottom:.2rem}.creator-main{min-width:0}.creator-left{position:sticky;top:.75rem;max-height:calc(100vh - 1.5rem);overflow:auto;min-width:0;display:flex;flex-direction:column;gap:.6rem}.creator-left .creator-choice{padding:.5rem .6rem}.pick-box{border:1px dashed var(--border);border-radius:6px;padding:.4rem .5rem;margin-top:.45rem}.pick-box--done{border-style:solid;border-color:#46a75880}.pick-box .pick-box-head{display:flex;justify-content:space-between;gap:.4rem;font-size:.85rem;margin-bottom:.2rem}.pick-box .pick-box-head small{color:var(--text-dim)}.pick-box .pick-row{display:flex;gap:.4rem;align-items:flex-start;font-size:.84rem;padding:.12rem 0;cursor:pointer}.pick-box .pick-row input{margin-top:.2rem;flex:none}.pick-box .pick-row .pick-row-name{min-width:0}.pick-box .pick-row small{display:block;color:var(--text-dim);font-size:.72rem;line-height:1.3}.pick-box .pick-row.on{color:var(--text)}.pick-box .pick-row--full{opacity:.55;cursor:not-allowed}.pick-box .pick-row .pick-row-had{color:var(--gold)}.dice-pool .dice-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.dice-pool .dice-row .trk-val{font-family:var(--font-display);font-weight:700}.dice-pool .dice-row .trk-val em{font-style:normal;color:var(--text-dim);font-weight:400}.dice-pool .dice-row .trk-val .die{color:var(--gold);font-size:.85rem;margin-left:.2rem}.dice-pool .dice-row .dice-use-btn{margin-left:auto}.dice-pool .dice-use{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.3rem}.dice-pool .dice-use .num-edit{max-width:100%}.dice-pool .dice-use .num-edit input{width:9rem;max-width:100%}.dice-pool .dice-result{display:block;font-family:monospace;font-size:.78rem;color:var(--gold);margin-top:.2rem}.dice-pool--compact{margin-top:.25rem}.dice-pool--compact .dice-row{font-size:.9rem}.uses-row{display:flex;align-items:center;gap:.4rem;margin-top:.25rem}.uses-row .trk-val{font-family:var(--font-display);font-weight:700}.uses-row .trk-val em{font-style:normal;color:var(--text-dim);font-weight:400}.feat-res{margin-left:.4rem;font-family:monospace;font-size:.72rem;color:var(--gold)}.resource-row{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center}.resource-row .formula-input{width:7rem}.creator-side{position:sticky;top:.75rem;max-height:calc(100dvh - 9rem);overflow:auto;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem}.creator-side .pkg-preview{margin-top:0}.creator-side .pkg-preview dl{display:block}.creator-side .pkg-preview dt{margin-top:.55rem}.creator-side .pkg-preview dd{margin-top:.1rem}.creator-side .creator-side-actions{display:flex;gap:.5rem;margin-top:.6rem;position:sticky;bottom:-.8rem;margin-bottom:-.8rem;background:var(--bg-raised);padding:.4rem 0 .9rem}.creator-side .creator-side-actions .btn--primary{flex:1}@media(max-width:1400px){.creator--sheet{grid-template-columns:min(var(--creator-left-w, 250px),30vw) 8px minmax(0,1fr)}.creator-side{position:fixed;left:auto;right:1rem;bottom:.5rem;top:auto;width:min(560px,60vw);max-height:45vh;z-index:7;box-shadow:0 -6px 24px #00000073}.creator-side--empty,.col-drag--side{display:none}.page:has(.creator--candidate){padding-bottom:47vh}@supports not selector(:has(*)){.creator--candidate .creator-main{padding-bottom:47vh}}}@media(max-width:1100px){.creator--sheet{grid-template-columns:1fr}.creator--sheet>.creator-left,.creator--sheet>.col-drag--left,.creator--sheet>.creator-main,.creator--sheet>.col-drag--side,.creator--sheet>.creator-side{grid-area:auto}.creator-left{position:static;max-height:none}.creator-side{left:.5rem;right:.5rem;width:auto;max-height:40vh}.col-drag{display:none}}.sg-box--affected{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 14px -4px var(--primary)}.only-for{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.only-for-fold summary{cursor:pointer}.only-for-fold .only-for-step{margin-top:.35rem}.creator-top{position:sticky;top:0;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem 0;margin-bottom:.8rem;background:var(--bg);border-bottom:1px solid var(--border)}.creator-top .creator-name{flex:1 1 14rem;min-width:0;font-family:var(--font-display);font-size:1.05rem}.creator-top .creator-status{flex:2 1 12rem;color:var(--text-dim);font-size:.85rem}.creator-top .creator-status.ok{color:var(--success)}.creator-top .creator-submit{margin:0}.creator-choice{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem}.creator-choice .creator-choice-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.creator-choice .creator-choice-head h3{margin:0;font-family:var(--font-display);font-size:1rem}.creator-choice .creator-choice-head .choice-state{margin-left:auto;font-size:.75rem;color:var(--text-dim);letter-spacing:.04em}.creator-choice .creator-choice-head .choice-state.ok{color:var(--success)}.creator-choice .nested-pick{margin-top:.6rem}.creator-choice.done{border-color:#46a75873}.pkg-preview h4 .mini-x{float:right}.creator-hint{margin-bottom:.5rem}.sg-box--needs{outline:2px solid var(--gold);outline-offset:2px;animation:levelup-glow 1.8s ease-in-out infinite}.sg-box--list .pick-box--inbox{margin-top:.45rem;padding-top:.4rem;border-top:1px solid var(--border);background:transparent;border-radius:0;padding-left:0;padding-right:0}.sg-box--list .pick-box--inbox .pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(9.5rem,100%),1fr));gap:0 .6rem}.sg-box--list .pick-box--inbox .pick-row{padding:.1rem 0}.stat-val--needs{color:var(--gold)}.sg-box--table .stat-key{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem}.sg-box--table .sg-table-toggle{flex:none;margin-left:auto;order:2;display:inline-flex;align-items:center;min-height:36px;background:var(--bg-input);border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:.78rem;cursor:pointer;padding:0 .8rem;text-transform:none;letter-spacing:0}.sg-box--table .sg-table-toggle:hover{border-color:var(--gold-dim);color:var(--gold)}.sg-box--table .sg-table{flex:1;overflow-y:auto;overflow-x:clip;display:flex;flex-direction:column;gap:.05rem;margin-top:.2rem}.sg-box--table .sg-row{display:flex;align-items:center;gap:.4rem;font-size:.88rem;padding:.08rem 0;color:var(--text-dim);min-width:0}.sg-box--table .sg-row--on{color:var(--text)}.sg-box--table .sg-row .sg-row-dot{font-size:.6rem;flex:none;width:.8rem;text-align:center;color:var(--gold)}.sg-box--table .sg-row:not(.sg-row--on) .sg-row-dot{color:#68638a}.sg-box--table .sg-row .sg-row-dot--boost{color:var(--ok)}.sg-box--table .sg-row .sg-row-dot--down{color:var(--bad)}.sg-box--table .sg-row .sg-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-box--table .sg-row .sg-row-val{font-family:var(--font-display);flex:none}.wanted-spells{border:1px dashed var(--gold-dim);border-radius:var(--radius);padding:.7rem .9rem;margin-bottom:.9rem}.wanted-spells h4{font-family:var(--font-display);margin-bottom:.2rem}.wanted-spells ul{list-style:none;margin:.4rem 0 0;display:flex;flex-direction:column;gap:.2rem}.wanted-spells li{font-size:.9rem}.wanted-spells li small{color:var(--text-dim)}.grant-to{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:center}.grant-to select{font-size:.85rem}.spell-holders{list-style:none;padding:0;margin:0 0 .8rem}.spell-holders li{display:flex;flex-wrap:wrap;gap:.4rem;align-items:baseline;padding:.15rem 0;overflow-wrap:anywhere}.insp-rows{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem}.insp-rows .insp-rows-head{display:flex;justify-content:space-between;gap:.4rem;align-items:baseline}.insp-rows .insp-rows-head small{color:var(--text-dim);font-size:.72rem}.insp-rows .insp-row{display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(0,1fr) auto;gap:.3rem;align-items:center}.insp-rows .insp-row .insp-row-key{font-size:.68rem;color:var(--text-dim)}.insp-rows .insp-row .formula-input{min-width:0}.insp-rows .insp-row-add{width:100%;font-size:.85rem}.force-mark{margin-left:.25rem;font-size:.75rem;color:var(--gold);cursor:help}.insp-row2{display:flex;gap:.5rem}.insp-row2 .insp-field{flex:1}.pkg-desc{margin-bottom:.4rem}.package-tile{position:relative;text-align:left;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .7rem;color:var(--text);font:inherit;cursor:pointer;min-height:3.4rem;transition:border-color .15s,transform .12s}.package-tile h4{font-family:var(--font-display);font-size:.95rem;margin:0 0 .15rem}.package-tile .pkg-desc{font-size:.76rem;color:var(--text-dim);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.package-tile:hover{border-color:var(--gold-dim);transform:translateY(-1px)}.package-tile.picked{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 0 16px -8px var(--primary)}.pkg-preview{margin-top:.6rem;padding:.7rem .9rem;border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-input)}.pkg-preview h4{font-family:var(--font-display);font-size:1rem;margin-bottom:.2rem}.pkg-preview h4 small{font-family:inherit;font-weight:400;color:var(--text-dim);font-size:.78rem;letter-spacing:0}.pkg-preview dl{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .7rem;font-size:.85rem;margin-top:.4rem}.pkg-preview dt{color:var(--gold);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding-top:.1rem}.pkg-preview dd{margin:0;min-width:0}.pkg-sections,.option-sections{display:flex;flex-wrap:wrap;gap:.3rem .35rem;align-items:flex-start}.pkg-sections .section,.option-sections .section{flex:1 1 100%}.pkg-sections .section-add,.option-sections .section-add{border-style:dashed;color:var(--text-dim)}.pkg-sections .section-add:hover,.option-sections .section-add:hover{color:var(--text);border-color:var(--gold)}.pkg-sections{margin-top:.4rem}.option-sections{margin-top:.2rem}.stat-boxes{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin-top:.3rem}.reset-row{margin:.2rem 0 .6rem;display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.choice-checks{display:flex;flex-wrap:wrap;gap:.2rem .8rem;align-self:center}.choice-checks .insp-check{margin:0}.draft-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.vars-panel{margin:.5rem 0 .8rem}.vars-panel .vars-list{display:flex;flex-direction:column;gap:.2rem;margin:.2rem 0 .6rem}.vars-panel .vars-list div{display:grid;grid-template-columns:minmax(9rem,max-content) 1fr;gap:.6rem;font-size:.85rem}.vars-panel .vars-list dt{font-family:monospace;color:var(--gold)}.vars-panel .vars-list dd{margin:0}@keyframes levelup-glow{0%,to{box-shadow:0 0 #c9a45c8c}50%{box-shadow:0 0 0 6px #c9a45c00}}.levelup-btn{animation:levelup-glow 1.8s ease-in-out infinite}.modal.modal--levelup{max-width:720px}.levelup-section{margin:.6rem 0 .9rem}.levelup-section h4{font-family:var(--font-display);font-size:.98rem;margin-bottom:.35rem}.levelup-section h4 small{font-family:inherit;font-weight:400;color:var(--text-dim);font-size:.78rem;letter-spacing:0}.track-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem}.track-tiles .package-tile:disabled{opacity:.5;cursor:not-allowed}.alloc-tiles{display:flex;flex-wrap:wrap;gap:.5rem}.alloc-tile{display:flex;align-items:center;gap:.5rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .6rem}.alloc-tile .alloc-name{font-size:.88rem}.alloc-tile .alloc-ctl{display:inline-flex;align-items:center;gap:.35rem}.alloc-tile .alloc-ctl strong{min-width:1.2ch;text-align:center}.levelup-review ul{list-style:none;display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.levelup-review ul li{padding:.3rem .5rem;background:var(--bg-input);border-radius:6px}.levelup-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.6rem}.pkg-features{list-style:none;font-size:.8rem;color:var(--text-dim);display:flex;flex-direction:column;gap:.15rem}.pkg-features--full strong{color:var(--text);font-weight:600}.pkg-features--full .feat-desc{color:var(--text-dim)}.pkg-features--full li{line-height:1.35}.nested-pick{margin-top:.9rem;padding-left:.65rem;border-left:2px solid var(--border)}.pick-title{font-size:.92rem}.pick-title small{color:var(--text-dim);font-weight:400}.creator-submit{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase}.sheet-view .sheet-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;flex-wrap:wrap}.sheet-view .sheet-name{font-family:var(--font-display);font-size:1.5rem}.feature-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.feature{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .7rem}.feature summary{cursor:pointer}.feature summary small{color:var(--text-dim);margin-left:.4rem}.feature p{margin-top:.4rem;color:var(--text-dim);font-size:.9rem}.sheet-history{list-style:none;margin-top:.6rem;display:flex;flex-direction:column;gap:.25rem;font-size:.83rem;color:var(--text-dim)}.sheet-history .ev-when{color:var(--text-dim);opacity:.7;font-size:.75rem}.graveyard{margin-top:1.4rem;padding-top:.9rem;border-top:1px solid var(--border)}.graveyard .grave{color:var(--text-dim);padding:.25rem 0;font-size:.92rem}.graveyard .epitaph{margin-left:.5rem;color:var(--text-dim);font-family:var(--font-flavor)}.prepared-list{margin-bottom:1.2rem;padding-bottom:.9rem;border-bottom:1px solid var(--border)}.prepared-cards{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.prepared-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius)}.prepared-card .btn{min-height:44px;flex-shrink:0}.prepared-portrait{width:56px;height:56px;flex-shrink:0;border-radius:8px;object-fit:cover;background:var(--bg-input)}.prepared-portrait--none{display:grid;place-items:center;font-size:1.6rem}.prepared-who{flex:1;min-width:0;display:flex;flex-direction:column;overflow-wrap:anywhere}.prepared-card--open{border-color:var(--gold-dim)}.seat-preview{margin-top:.9rem;padding:.8rem .9rem;border:1px solid var(--gold-dim);border-radius:var(--radius);background:var(--bg)}.seat-preview .section-heading--sub{margin-top:1.1rem}.seat-preview-bar,.seat-preview-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem}.seat-preview-bar .btn,.seat-preview-foot .btn{min-height:44px}.seat-preview-bar{margin-bottom:.75rem}.seat-preview-bar .section-heading{margin:0}.seat-preview-who{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.seat-preview-actions{display:flex;gap:.5rem;flex-wrap:wrap}.seat-preview-foot{justify-content:flex-end;margin-top:1rem}.seat-preview-mana{display:flex;flex-direction:column;gap:.3rem;max-width:28rem}.seat-preview-promised{margin-top:.5rem}.seat-preview-pack{list-style:none;margin:0;padding:0}.seat-preview-pack li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;padding:.3rem 0;border-bottom:1px dashed var(--border)}.seat-preview-pack li:last-child{border-bottom:none}.seat-preview-pack small{flex-basis:100%}.seat-spell-more{grid-column:1/-1;padding:.2rem 1rem .7rem 1.4rem;border-bottom:1px solid rgba(201,164,92,.12);font-family:var(--font-flavor);font-size:1.05rem}.seat-spell-more p{margin:.3rem 0}.seat-spell-more ul{margin:.3rem 0;padding-left:.4rem;list-style:none}.seat-spell-more .hint{font-family:inherit}.prepare-seat{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.75rem}.prepare-seat input{flex:1;min-width:160px}.seat-assign{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.seat-assign select{flex:1;min-width:140px}.card-fallen{opacity:.65}.fall-row{display:flex;gap:.5rem;flex-wrap:wrap}.fall-row input{flex:1;min-width:160px}.editor--page,.sheet-detail-page{max-width:880px}.editor-topbar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;row-gap:.4rem;align-items:center;gap:.5rem;padding:.55rem 0;margin-bottom:.4rem;background:var(--bg);border-bottom:1px solid var(--border)}.canvas-wrap{display:flex;gap:.9rem;align-items:flex-start}@media(max-width:820px){.canvas-wrap{flex-direction:column;align-items:stretch}}.canvas-main{flex:1;min-width:0}.canvas-bar{display:flex;align-items:center;gap:.7rem}.canvas-bar .btn{white-space:nowrap}.canvas-bar{margin:.5rem 0;overflow-x:auto;min-width:0}.sheet-canvas{background:repeating-linear-gradient(90deg,transparent 0,transparent calc(8.3333333333% - 1px),rgba(139,92,246,.06) calc(8.3333333333% - 1px),rgba(139,92,246,.06) 8.3333333333%),var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);min-height:220px}.canvas-box{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:.35rem .55rem;display:flex;align-items:center;gap:.45rem;overflow:hidden;cursor:grab;font-size:.88rem}.canvas-box .cb-kind{opacity:.55;font-size:.8rem;flex-shrink:0}.canvas-box .cb-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-box .cb-select{background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:inherit}.canvas-box .cb-select:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:3px}.canvas-box .cb-preview{margin-left:auto;color:var(--text-dim);font-family:monospace;font-size:.8rem}.canvas-box .cb-text-lines{margin-left:auto;color:var(--text-dim)}.canvas-box--sel{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.canvas-box--text{border-style:dashed}.sheet-canvas .react-grid-item.react-grid-placeholder{background:var(--primary);opacity:.18;border-radius:8px}.sheet-canvas .react-grid-item>.react-resizable-handle:after{border-color:var(--text-dim)}.box-inspector{width:250px;flex-shrink:0;position:sticky;top:3.2rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem .9rem;display:flex;flex-direction:column;gap:.55rem}.box-inspector .insp-field{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--text-dim)}.box-inspector .insp-field input,.box-inspector .insp-field select{width:100%}@media(max-width:820px){.box-inspector{width:100%;position:static}}.sheet-grid{display:grid;grid-template-columns:repeat(var(--sheet-cols, 12),1fr);grid-auto-rows:minmax(var(--sheet-row, 56px),auto);gap:var(--sheet-gap, 8px);margin-bottom:1.1rem}.sheet-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.sheet-toolbar>*{min-width:0}.arrange-bar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.arrange-actions{display:flex;gap:.35rem;margin-left:auto}.arrange-grid{margin-bottom:1.1rem;min-height:220px;border:1px dashed var(--border);border-radius:8px;background:#8b5cf608}.arrange-grid .arrange-box{cursor:grab;-webkit-user-select:none;user-select:none;justify-content:flex-start;border-style:dashed}.arrange-grid .react-grid-placeholder{background:#8b5cf640;border-radius:8px}.arrange-grid .react-resizable-handle{width:26px;height:26px;background-image:none}.arrange-grid .react-resizable-handle:after{content:"";position:absolute;right:5px;bottom:5px;width:12px;height:12px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);border-bottom-right-radius:3px;opacity:.85}.arrange-grid .arrange-box .stat-key{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrange-grid .arrange-box--movable .stat-key{padding-right:1.7rem}.arrange-grid .arrange-page-move{position:absolute;top:4px;right:4px;width:1.45rem;height:1.35rem;font-size:.72rem;padding:0;text-align:center;text-align-last:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-input);color:var(--gold);border:1px solid var(--border);border-radius:4px;cursor:pointer}.arrange-narrow{display:none}@media(max-width:700px){.arrange-grid{display:none}.arrange-narrow{display:block}.sheet-toolbar .arrange-open{display:none}}@media(pointer:coarse){.btn--sm{padding:.5rem .8rem}.mini-x{font-size:.95rem;padding:.25rem .45rem}}.pin-mark{font-size:.68rem;margin-left:.25rem;opacity:.85}.buff-mark{color:var(--ok);font-size:.62rem;margin-left:.25rem;vertical-align:1px}.sg-box--buffed{border-color:#46a7588c;box-shadow:inset 0 0 12px -8px #46a75899}.sg-box--debuffed{border-color:#e5484d80;box-shadow:inset 0 0 12px -8px #e5484d8c}.debuff-mark{color:var(--bad);font-size:.62rem;margin-left:.25rem;vertical-align:1px}.sg-inv-row--on{color:var(--text);font-weight:600}.slot-tag{margin-left:.35rem;color:var(--text-dim);font-weight:400;font-size:.68rem;border:1px solid var(--border);border-radius:999px;padding:0 .35rem}.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.7rem}.item-card{font:inherit;color:inherit;cursor:pointer;aspect-ratio:1/1.15;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;position:relative;text-align:center;transition:border-color .15s,transform .12s}.item-card:hover{border-color:var(--gold-dim);transform:translateY(-1px)}.item-card--equipped{border-color:#46a75899;box-shadow:inset 0 0 12px -8px #46a75899}.item-card .item-photo{width:52px;height:52px;object-fit:cover;border-radius:8px;display:block}.item-card .item-face{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;padding:.15rem;border-radius:8px}.item-card .item-face:hover{background:#8b5cf61f}.item-card .item-name{font-size:.82rem;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-card .item-qty{position:absolute;top:.35rem;right:.45rem;font-family:monospace;font-size:.78rem;color:var(--gold)}.item-card .item-boosts{font-size:.68rem}.item-card .unmatched-hint{font-size:.62rem;margin:0}.item-card--selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.item-icon-edit{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}.item-icon-edit input{width:64px;text-align:center;font-size:1.2rem}.item-icon-edit .icon-suggestions{display:flex;flex-wrap:wrap;gap:.15rem}.item-icon-edit .icon-suggestions button{background:none;border:none;font-size:1.05rem;cursor:pointer;padding:.1rem;border-radius:4px}.item-icon-edit .icon-suggestions button:hover{background:#8b5cf626}.inv-split{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.inv-split.has-detail{grid-template-columns:minmax(0,1fr) 330px}.inv-detail{position:sticky;top:3.4rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;display:flex;flex-direction:column;gap:.6rem;max-height:calc(100vh - 4rem);overflow-y:auto}.inv-detail .inv-detail-owner{margin:-.4rem 0 0;color:var(--text-dim);font-size:.82rem;overflow-wrap:anywhere}.inv-detail .inv-detail-gear{margin:0;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.inv-detail .set-exact{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin:0}.inv-detail .set-exact input{width:4.5rem}.inv-detail .inv-detail-head{display:flex;align-items:baseline;gap:.5rem}.inv-detail .inv-detail-head h3{margin:0;flex:1;min-width:0;overflow-wrap:anywhere;font-family:var(--font-display)}.inv-detail .inv-detail-photo-btn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:8px}.inv-detail:focus{outline:none}.inv-detail .inv-detail-photo{display:block;width:100%;max-height:48vh;object-fit:contain;border-radius:8px;cursor:zoom-in;background:var(--bg-input)}.inv-detail .inv-detail-face{font-size:4rem;text-align:center;padding:.6rem 0}.inv-detail .inv-detail-qty,.inv-detail .inv-detail-dmrow{display:flex;align-items:center;justify-content:center;gap:.6rem}.inv-detail .inv-detail-dmrow input{width:70px;text-align:center}.inv-detail .inv-detail-desc{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.92rem;margin:0}.inv-detail .inv-detail-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.img-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;background:#06080ee6;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.img-lightbox img{max-width:95vw;max-height:92vh;border-radius:6px}.img-lightbox .img-lightbox-close{position:absolute;top:.8rem;right:.8rem;background:#0000008c;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:50%;width:2.2rem;height:2.2rem;font-size:1rem;cursor:pointer}@media(max-width:760px){.inv-split.has-detail{grid-template-columns:1fr}.inv-detail{position:fixed;right:0;bottom:0;left:0;top:0;z-index:90;border-radius:0;overflow-y:auto;max-height:none}}.item-owner{display:block;color:var(--text-dim);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-tab{display:flex;flex-direction:column;gap:.4rem}.map-tab[hidden]{display:none}.map-frame{width:100%;height:calc(100dvh - 11rem);min-height:320px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised)}.map-hint{text-align:right}.map-hint a{color:var(--text-dim)}.map-hint a:hover{color:var(--text)}@media(max-width:640px){.map-frame{height:calc(100dvh - 9.5rem);border-radius:8px}}.app-shell:has(>.page--map){height:100dvh;min-height:0}.page--map{flex:1;min-height:0;display:flex;flex-direction:column}.page--map .map-tab:not([hidden]){flex:1;min-height:0}.page--map .map-frame{flex:1;height:auto;min-height:320px}.setting-url{width:100%;font-family:monospace;font-size:.78rem}.book-mode-toggle{display:none}.dash-error{position:sticky;top:.5rem;z-index:5}.fx-error{margin:.4rem 0}.dash-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:.5rem;margin-bottom:.9rem}.stat-tile{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;text-align:center;color:var(--text-dim);font:inherit;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.stat-tile .stat-tile-n{display:block;font-family:var(--font-display);font-size:1.45rem;line-height:1.2;color:var(--text);letter-spacing:0;text-transform:none}.stat-tile:hover:not(:disabled){border-color:var(--gold-dim)}.stat-tile:disabled{cursor:default}.stat-tile--attention{border-color:#f0b4298c;background:#f0b42914}.stat-tile--attention .stat-tile-n{color:var(--warn)}.stat-tile--small .stat-tile-n{font-size:.95rem;padding:.35rem 0 .1rem;font-family:inherit}.dash-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem;align-items:start}@media(min-width:940px){.dash-cols{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);grid-template-areas:"main needs" "main side";grid-template-rows:auto 1fr}.dash-cols>.dash-needs{grid-area:needs}.dash-cols>.dash-main{grid-area:main}.dash-cols>.dash-side{grid-area:side}}.dash-main,.dash-side{display:flex;flex-direction:column;gap:.9rem;min-width:0}.dash-needs{min-width:0}.dash-card{margin:0;display:flex;flex-direction:column;gap:.35rem}.dash-card .panel-header .actions{display:flex;gap:.35rem}.party-table-wrap{overflow-x:auto}.party-table{width:100%;border-collapse:collapse;font-size:.9rem}.party-table th{text-align:left;color:var(--text-dim);font-weight:500;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .4rem;border-bottom:1px solid var(--border)}.party-table td{padding:.5rem .4rem;border-bottom:1px dashed var(--border);vertical-align:middle}.party-table tr:last-child td{border-bottom:none}.party-table td:first-child .link-btn{text-align:left}.party-table .party-lvl{color:var(--text-dim);font-size:.8rem}.party-table .party-conds{margin-left:.4rem}.party-table .party-player{color:var(--text-dim);white-space:nowrap;max-width:6rem;overflow:hidden;text-overflow:ellipsis}.party-table .party-act{text-align:right;white-space:nowrap;position:sticky;right:0;background:var(--bg-raised)}.party-table .party-empty td{color:var(--text-dim)}.party-table .party-mana .minibar{grid-template-columns:minmax(40px,1fr) auto}.party-table .party-mana .minibar-label{display:none}@media(max-width:600px){.party-table{display:block}.party-table thead{display:none}.party-table tbody{display:block}.party-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.5rem;padding:.45rem 0;border-bottom:1px dashed var(--border)}.party-table tr:last-child{border-bottom:none}.party-table td{display:block;padding:.1rem 0;border-bottom:none}.party-table .party-act{grid-column:2;grid-row:1;position:static}.party-table .party-player{grid-column:1;max-width:none}.party-table .party-vitals,.party-table .party-mana{grid-column:1/-1}.party-table .party-mana .minibar{grid-template-columns:minmax(0,4.5rem) minmax(40px,1fr) auto}.party-table .party-mana .minibar-label{display:block}}.party-bars{display:flex;flex-direction:column;gap:.25rem}.minibar{display:grid;grid-template-columns:minmax(0,4.5rem) minmax(40px,1fr) auto;align-items:center;gap:.35rem;font-size:.74rem;color:var(--text-dim)}.minibar .minibar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.minibar .minibar-track{height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.minibar .minibar-fill{display:block;height:100%;background:var(--success);border-radius:3px;transition:width .25s}.minibar .minibar-num{text-align:right;color:var(--text);font-family:monospace}.minibar--mana .minibar-fill{background:var(--primary)}.shop-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px dashed var(--border)}.shop-row:last-child{border-bottom:none}.shop-name{font-weight:600}.shop-name small{font-weight:400;color:var(--text-dim);margin-left:.3rem}.dash-stat{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer}.dash-stat strong{color:var(--text);font-family:var(--font-display);font-size:1.2rem;margin-right:.3rem}.dash-stat--attention{border-color:#f0b4298c;background:#f0b42914}.dash-note{background:none;border:none;border-left:2px solid var(--border);padding:.25rem .55rem;color:var(--text);font:inherit;text-align:left;cursor:pointer}.dash-note small{color:var(--text-dim)}.dash-note:hover{border-left-color:var(--gold)}.dash-actions{display:flex;flex-wrap:wrap;gap:.4rem}.dash-code-value{display:block;width:100%;font-family:monospace;font-size:1.45rem;letter-spacing:.14em;text-align:center;background:var(--bg-input);border:1px dashed var(--gold-dim);color:var(--gold);border-radius:8px;padding:.55rem;cursor:pointer}.dash-code-value:hover{border-color:var(--gold)}.feed-kinds{margin:0 0 .6rem}.feed-older{display:block;margin:.6rem auto 0}.feed-end{text-align:center;margin-top:.5rem}.pack-history{margin-top:1.2rem}.pack-history summary{cursor:pointer;font-weight:600}.pack-history .act-list{margin-top:.5rem}.act-list{list-style:none;margin:0;padding:0;font-size:.9rem;max-height:420px;overflow-y:auto}.act-list li{display:flex;gap:.5rem;align-items:baseline;padding:.3rem 0;border-bottom:1px dashed var(--border)}.act-list li:last-child{border-bottom:none}.act-list .act-when{flex:0 0 4.4rem;color:var(--text-dim);font-size:.76rem}.act-list .act-icon{flex:0 0 1.2rem}.act-list .act-text{min-width:0}.act-list .act-cast .act-text{color:#c9b2ff}.viewas-menu{position:relative}.viewas-menu>summary{list-style:none;cursor:pointer;font-size:.85rem}.viewas-menu>summary::-webkit-details-marker{display:none}.viewas-list{position:absolute;right:0;top:calc(100% + .3rem);z-index:60;display:flex;flex-direction:column;min-width:14rem;max-height:60vh;overflow-y:auto;background:var(--bg-raised);border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);padding:.3rem;box-shadow:0 8px 24px #00000073}.viewas-list button{text-align:left;background:none;border:0;color:var(--text);font:inherit;font-size:.88rem;padding:.45rem .6rem;border-radius:6px;cursor:pointer}.viewas-list button:hover,.viewas-list button:focus-visible{background:#ffffff12}.dice-toggle--on{background:#c9a45c2e;border-radius:6px}.dice-tray{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding:.45rem 1.25rem;background:#14102099;border-bottom:1px solid rgba(201,164,92,.25)}.dice-tray-dice{display:flex;gap:.35rem;flex-wrap:wrap}.dice-btn{padding:.35rem .6rem;border:1px solid rgba(201,164,92,.4);border-radius:6px;background:#c9a45c14;color:var(--text);font-family:inherit;font-size:.85rem;cursor:pointer}.dice-btn:hover:not(:disabled):not([aria-disabled=true]){background:#c9a45c33}.dice-btn:disabled,.dice-btn[aria-disabled=true]{opacity:.5;cursor:default}.dice-tray-result{display:flex;align-items:baseline;gap:.7rem;min-width:0}.dice-tray-result .dice-roll-out{animation:dice-pop .25s ease-out}.dice-tray-result .dice-roll-out strong{font-size:1.15rem;color:var(--warn)}.dice-tray-result .dice-hint{color:var(--text-dim);font-size:.85rem}.dice-tray-result .dice-error{color:var(--bad);font-size:.85rem}.dice-tray-result .dice-recent{display:flex;gap:.5rem;font-size:.78rem;color:var(--text-dim)}.dice-tray-result .dice-recent em{font-style:normal;opacity:.8}@keyframes dice-pop{0%{transform:scale(1.35);opacity:.4}to{transform:scale(1);opacity:1}}.offline-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem 1rem;background:#be50462e;border-bottom:1px solid rgba(190,80,70,.5);color:var(--text);font-size:.85rem}.act-as-banner{position:sticky;top:0;z-index:51;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem 1.25rem;background:#c9a45c24;border-bottom:1px solid rgba(201,164,92,.45);color:var(--text);font-size:.9rem}.act-as-banner strong{color:var(--gold)}@media(max-width:640px){.act-as-banner{padding:0 .9rem;height:2.75rem;box-sizing:border-box;font-size:.84rem;flex-wrap:nowrap}.act-as-banner .act-as-more{display:none}.act-as-banner>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.act-as-banner>.btn{flex-shrink:0}.act-as-banner~.tab-bar{top:2.75rem}.viewas-menu>summary{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-table{font-size:.84rem}}.sg-box--image{position:relative;overflow:hidden;padding:0;justify-content:flex-start}.sg-box--image .portrait-label{position:absolute;top:.35rem;left:.5rem;z-index:2;padding:.1rem .4rem;border-radius:4px;background:#14121fb3}.sg-box--image .portrait-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;cursor:zoom-in}.sg-box--image .portrait-empty{flex:1;display:grid;place-items:center;min-height:100px;color:var(--text-dim);font-size:.85rem}.sg-box--image .portrait-actions{position:absolute;right:.35rem;bottom:.35rem;z-index:2;display:flex;gap:.25rem}.sg-box--image .portrait-actions .btn{padding:.25rem .45rem;background:#14121fbf}.overview-doc{display:flex;flex-direction:column;gap:.8rem}.overview-name{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:0}.overview-name--edit input{flex:1 1 14rem}.overview-section .overview-body{white-space:pre-wrap;overflow-wrap:anywhere}.overview-section .panel-header h2{overflow-wrap:anywhere;min-width:0}.overview-tools{display:flex;gap:.3rem;align-items:center}.overview-edit{display:flex;flex-direction:column;gap:.5rem}.overview-edit .overview-title-input{font-family:inherit;font-size:1.05rem}.overview-edit textarea{width:100%}.overview-add{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.about-btn{padding:.45rem .7rem;font-size:1rem}.propose-toggle{margin:1rem 0 0;display:flex;align-items:center;gap:.5rem}.propose-panel{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.propose-panel textarea{width:100%}.proposal-list{list-style:none;margin:0;padding:0}.proposal-list .proposal{padding:.4rem 0;border-bottom:1px dashed var(--border)}.proposal-list .proposal:last-child{border-bottom:none}.proposal-list .proposal small{color:var(--text-dim);margin-left:.4rem}.proposal-list .proposal--accepted small{color:var(--ok)}.proposal-list .proposal--declined small{color:var(--bad)}.proposals-panel{border-color:#f0b42973}.proposal-card{padding:.5rem 0;border-bottom:1px dashed var(--border)}.proposal-card:last-child{border-bottom:none}.proposal-card .proposal-head small{color:var(--text-dim);margin-left:.3rem}.library-shelves{margin-bottom:.6rem}.pkg-kind--race{color:var(--ok)}.pkg-kind--class{color:#9ab6ff}.guide-box{margin-bottom:.9rem}.page--wide{max-width:none;padding:1rem 1.1rem}.editor--page.editor--split{max-width:none}.basesheet-split{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;align-items:start}@media(max-width:1099px){.basesheet-split{grid-template-columns:minmax(0,1fr)!important}.basesheet-split .split-handle{display:none}}.basesheet-editor{min-width:0;container-type:inline-size}@container (max-width: 600px){.canvas-wrap{flex-direction:column}.box-inspector{width:100%;position:static}}.split-handle{align-self:stretch;width:10px;cursor:col-resize;border-radius:5px;background:linear-gradient(90deg,transparent 3px,var(--border) 3px,var(--border) 7px,transparent 7px)}.split-handle:hover{background:linear-gradient(90deg,transparent 3px,var(--gold-dim) 3px,var(--gold-dim) 7px,transparent 7px)}.split-handle{touch-action:none}.sheet-preview{position:sticky;top:3.2rem;max-height:calc(100vh - 4rem);overflow-y:auto;min-width:0;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem .9rem}.sheet-preview .preview-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.sheet-preview .preview-bar h3{margin:0}.sheet-preview .preview-bar small{color:var(--text-dim);font-family:var(--font-flavor);font-size:.9rem}.sheet-preview .preview-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;min-width:0}.sheet-preview .preview-controls input{width:58px}.sheet-preview .preview-controls select{max-width:9rem}.sheet-preview .preview-controls .choose-label{min-width:0}.sheet-preview .sheet-grid{margin-bottom:.5rem}@media(max-width:1099px){.sheet-preview{position:static;max-height:none}}.sheet-toolbar-actions{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.btn--on{border-color:var(--gold)!important;color:var(--gold)!important}.sg-box--tracing,.canvas-box--tracing{outline:2px dashed var(--primary);outline-offset:2px}.sg-box--source,.canvas-box--source{outline:2px solid hsl(var(--hue, 45),72%,58%);outline-offset:2px;box-shadow:0 0 0 5px hsl(var(--hue, 45),72%,58%,.22);animation:source-pulse 1.1s ease-in-out infinite alternate}@keyframes source-pulse{0%{box-shadow:0 0 0 3px hsl(var(--hue, 45),72%,58%,.15)}to{box-shadow:0 0 0 7px hsl(var(--hue, 45),72%,58%,.3)}}.sg-row--lit{outline:2px solid hsl(var(--hue, 45),72%,58%);outline-offset:-1px;border-radius:4px}.trace-ring{position:relative}.trace-ring:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:10px;padding:2px;background:var(--wait-grad);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.sg-row.trace-ring:after{top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:6px;padding:1px}.sg-box--needs.sg-box--hued{outline-color:hsl(var(--hue),75%,60%)}.trace-formula{position:absolute;left:.3rem;bottom:calc(100% + 3px);z-index:6;pointer-events:none;max-width:26rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:monospace;font-size:.72rem;color:var(--gold);background:#14121ff2;border:1px solid var(--gold-dim);border-radius:6px;padding:.1rem .4rem;width:fit-content}.stat-val--tap{cursor:text;border-radius:6px;padding:0 .2rem;margin-left:-.2rem}.stat-val--tap:hover{background:#8b5cf624}.sheet-preview .box-edit{opacity:.7}.sheet-preview--full{position:static;max-height:none}.layout-switch{margin-left:.3rem}.level-fold>summary{font-family:var(--font-display)}.level-pick{margin:.4rem 0}.level-pick-options{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.editor-fold .fold-warn{color:var(--bad);font-size:.8rem}.editor-fold{border:1px solid var(--border);border-radius:8px;padding:.25rem .6rem;margin:.45rem 0}.editor-fold>summary{cursor:pointer;list-style:none;padding:.3rem 0;font-family:var(--font-display);font-size:.95rem}.editor-fold>summary::-webkit-details-marker{display:none}.editor-fold>summary:before{content:"▸";display:inline-block;width:1.1em;color:var(--text-dim);transition:transform .12s}.editor-fold>summary small{color:var(--text-dim);font-weight:400;margin-left:.3rem}.editor-fold[open]>summary:before{transform:rotate(90deg)}.editor-fold .fold-body{padding:.2rem 0 .5rem}.gear-group{flex:0 1 120px}.grade-math{background:#8b5cf612;border:1px dashed var(--border);border-radius:8px;padding:.5rem .7rem;margin:.6rem 0}.grade-math .grade-math-line{margin:0 0 .2rem;font-size:.95rem}.grade-math strong{color:var(--gold)}.grant-gear{border:1px dashed var(--border);border-radius:8px;padding:.6rem .7rem;margin-bottom:.9rem;display:flex;flex-direction:column;gap:.3rem}.dm-player-pack{margin-top:.6rem}.note-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem .9rem;margin-bottom:.8rem;display:flex;flex-direction:column;gap:.5rem}.note-card .note-vis{font-size:.78rem;background:var(--bg-input);color:var(--text-dim);border:1px solid var(--border);border-radius:6px;padding:.15rem .3rem}.note-card .note-photo{max-width:min(100%,420px);height:auto;border-radius:8px;cursor:zoom-in;background:var(--bg-input);display:block}.note-card .note-photo-btn{align-self:flex-start;padding:0;border:0;background:none;cursor:zoom-in;border-radius:8px}.note-card .note-body{margin:0;white-space:pre-wrap;font-size:.94rem;overflow-wrap:anywhere}.note-card .note-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.note-card .note-actions .btn{white-space:nowrap}.note-card .note-title-input{font-family:inherit;font-size:1.05rem;font-weight:600}.note-card textarea{width:100%}.note-card .note-editor-row{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.note-card .note-editor-row .note-editor-actions{margin-left:auto;display:inline-flex;gap:.4rem}.note-card .note-editor-row .note-photo-name{display:inline-block;max-width:11rem;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.condition-add{margin-top:.3rem}.condition-add input{width:100%;font-size:.82rem;padding:.3rem .5rem}.condition-add>.editor-line>input:first-child{flex:1 1 9rem;width:auto;min-width:0}.sg-condition .sg-inv-name{color:#e0b06a}.store-balance{color:var(--gold);font-weight:400}.unmatched-hint{font-size:.72rem;color:var(--warn);display:block;margin-top:.15rem}.store-boosts{margin-left:.45rem;color:var(--ok);font-size:.72rem}.boost-part{display:inline-block}.store-block{margin-top:1rem}.store-block>summary{cursor:pointer;list-style-position:inside}.pack-money{display:inline-flex;align-items:baseline;gap:.35rem;margin:0 0 .6rem;min-height:44px;padding:.4rem .9rem;font-size:1.05rem;background:var(--bg-raised);color:var(--text);border:1px solid var(--gold-dim);border-radius:var(--radius);cursor:pointer}.pack-money strong{color:var(--gold);font-family:monospace;font-size:1.15rem}.pack-money:disabled{cursor:default;opacity:.8}.pack-purse{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem}.pack-purse .pack-money{margin:0}.give-form{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.6rem}.give-form--open{padding:.6rem;border:1px solid var(--border);border-radius:var(--radius)}.give-form>strong{flex-basis:100%}.give-form select{min-height:40px;max-width:100%}.give-form input{width:5rem;min-height:40px}.give-form .btn{min-height:40px}.undo-buy{position:relative;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin:.5rem 0;padding:.5rem .7rem .7rem;border:1px solid var(--gold-dim);border-radius:var(--radius);background:#c9a45c14;overflow:hidden}.undo-buy .undo-buy-btn{min-height:44px;min-width:6.5rem}.undo-buy-bar{position:absolute;left:0;bottom:0;height:4px;background:var(--gold);transition:width 1s linear}.offer-panel{margin-top:.5rem}.offer-panel .btn{min-height:40px}.offer-list{list-style:none;margin:0 0 .4rem;padding:0}.offer-list li{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:space-between;padding:.3rem 0;border-bottom:1px dashed var(--border);overflow-wrap:anywhere}.offer-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.offer-form>.hint{flex-basis:100%;margin:0}.offer-form select{min-height:40px;max-width:100%}.offer-form input{width:5.5rem;min-height:40px}.offer-card{padding:.6rem 0;border-bottom:1px solid var(--border)}.offer-card .offer-card-head{margin:0 0 .4rem;overflow-wrap:anywhere}.offer-card .offer-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.offer-card input{width:5rem;min-height:40px}.offer-card .btn{min-height:40px}.coins-setting{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.coins-edit{display:flex;flex-direction:column;gap:.4rem;width:100%}.coins-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.coins-row>input{flex:1 1 8rem;min-width:0;min-height:40px}.pack-fresh{margin:0 0 .8rem;padding:.6rem .8rem;border:1px solid var(--gold-dim);border-radius:var(--radius);background:#c9a45c14}.pack-fresh ul{margin:.3rem 0;padding-left:1.1rem}.pack-fresh li{overflow-wrap:anywhere}.new-mark{display:inline-block;margin-left:.35rem;padding:0 .35rem;border-radius:999px;background:var(--gold);color:#1a1408;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.item-card .new-mark{position:absolute;top:.35rem;left:.35rem;margin:0}.amount-form,.rename-form{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:center;margin:0}.amount-form input,.rename-form input{width:6rem;min-width:0}.rename-form{flex:1;min-width:0;justify-content:flex-start}.rename-form input{flex:1 1 8rem;width:auto}.sg-box--mana{gap:.35rem}.sg-box--mana .mana-box-actions{display:flex;gap:.35rem}.sg-spell-row{all:unset;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.2rem .15rem;border-bottom:1px dashed var(--border)}.sg-spell-row:focus-visible{outline:2px solid var(--primary);outline-offset:2px;background:#8b5cf614}.sg-spell-row{border-radius:4px}.sg-spell-row:last-child{border-bottom:none}.sg-spell-row:hover{background:#8b5cf614}.sg-spell-row .sg-spell-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.store-actions{display:flex;gap:.35rem;align-items:center;flex-shrink:0}.tag-toggle{background:none;border:1px dashed var(--border);border-radius:999px;color:var(--text-dim);font-size:.7rem;padding:.1rem .5rem;cursor:pointer}.tag-toggle:hover{color:var(--text);border-color:var(--text-dim)}.tag-toggle.on{border-style:solid;border-color:#46a75880;color:var(--ok)}.slot-summary{display:block;font-size:.66rem;letter-spacing:.03em;text-transform:none;margin-top:.1rem}.gear-line{align-items:flex-start;border:1px solid var(--border);border-radius:8px;padding:.45rem .55rem;background:#ffffff05}.gear-line input:first-child{flex:1 1 200px;font-weight:600}.gear-line.editor-line .or-desc{order:2;flex:1 1 100%}.gear-line .gear-delete{order:1;margin-left:auto}.box-edit{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.72rem;padding:0 .25rem;opacity:0;transition:opacity .12s}.sg-box:hover .box-edit,.box-edit:focus-visible{opacity:1}.sg-box .box-edit{position:absolute;top:.2rem;right:.25rem}.file-hidden{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}input.file-hidden{width:1px!important;height:1px!important;min-width:0!important;padding:0!important;border:0!important;flex:none!important}.form-group label.btn{display:inline-block;margin-bottom:0;align-self:flex-start}.form-group input.file-hidden{width:1px;height:1px;padding:0;border:0}.portrait-upload:focus-within{outline:2px solid var(--primary);outline-offset:2px}.sheet-rename{font:inherit;color:inherit;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:0 .4rem;width:min(100%,22rem)}@media(hover:none){.box-edit{opacity:.7}}.num-edit{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.2rem}.num-edit input{width:64px;padding:.2rem .35rem;text-align:center}.num-edit-bad{flex-basis:100%;font-size:.72rem;line-height:1.2;color:var(--bad)}.feature-edit{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}.feature-edit textarea{width:100%}.sg-box{position:relative;background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem;display:flex;flex-direction:column;justify-content:center;gap:.15rem;min-width:0}.sg-box .stat-key{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-box .stat-val{font-family:var(--font-display);font-size:1.4rem;font-weight:700;line-height:1.1}.sg-box--tracked .trk-controls,.sg-box--num .trk-controls{display:flex;align-items:center;gap:.5rem}.sg-box--tracked .trk-val{font-family:var(--font-display);font-weight:700}.sg-box--tracked .trk-val em{font-style:normal;color:var(--text-dim);font-weight:400}.sg-box--dice{display:flex;flex-direction:column}.sg-box--tally .tally-row{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.sg-box--tally .tally-dot{background:none;border:none;color:var(--gold);font-size:1.25rem;line-height:1;padding:.05rem .1rem;cursor:pointer}.sg-box--tally .tally-dot:disabled{cursor:default}.sg-box--tally .tally-dot.on{text-shadow:0 0 8px rgba(201,164,92,.6)}.sg-box--text{display:block;overflow-y:auto}.sg-box--grow{overflow:visible!important}.sg-box--grow .sg-list{overflow:visible}.sg-box--list{display:flex;overflow:hidden}.sg-box--list .sg-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;margin-top:.2rem}.sg-box--list .feature--flat{background:none;border:none;padding:.1rem 0}.sg-box--list .feature--flat summary{font-size:.9rem}.sg-box--list .sg-inv-row{display:flex;justify-content:space-between;gap:.5rem;font-size:.9rem;border-bottom:1px dashed var(--border);padding:.15rem 0}.sg-box--list .sg-inv-row:last-child{border-bottom:none}.sg-box--list .sg-inv-name{min-width:0;overflow-wrap:anywhere}.sg-box--list .sg-inv-qty{color:var(--gold);font-family:monospace}.sg-box--list .sg-inv-hint{font-size:.7rem;margin-top:.2rem}.sg-box--entries .sg-list{gap:.1rem}.sg-entry{display:flex;align-items:center;gap:.45rem;font-size:.9rem;border-bottom:1px dashed var(--border);padding:.14rem 0}.sg-entry:last-child{border-bottom:none}.sg-entry .sg-entry-name{flex:1;min-width:0;overflow-wrap:anywhere}.sg-entry .sg-entry-from{margin-left:.35rem;font-size:.66rem;color:var(--text-dim, #9a9387);letter-spacing:.02em}.sg-entry .sg-entry-twice{display:block;font-size:.7rem;line-height:1.25;color:var(--gold)}.sg-list-add{margin-top:.3rem}.sg-list-add .num-edit{display:inline-flex;flex-wrap:wrap;gap:.25rem;max-width:100%}.sg-list-add .num-edit input{flex:1 1 8rem;min-width:0}.adds-picker{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin:.2rem 0 .4rem;min-width:0}.adds-picker .adds-chip{gap:.25rem;max-width:100%}.adds-picker .adds-chip-name{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adds-picker .adds-add{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;min-width:0;flex:1 1 12rem}.adds-picker .adds-add input{flex:1 1 7rem;min-width:0}.adds-picker .adds-add select{font-size:.8rem;max-width:9rem}.list-entries-editor .insp-check{display:flex;align-items:center;gap:.4rem;font-size:.82rem;margin:.3rem 0}.options-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.3rem}.fill-options{display:inline-flex;align-items:center;gap:.25rem;flex-wrap:wrap}.fill-options select{font-size:.8rem}.insp-fill-amount{width:4.5rem;font-family:var(--font-mono);line-height:1.4}.delta-chip .delta-amount{width:5.4rem;font-family:var(--font-mono);font-size:.8rem;line-height:1.4}.delta-chip .delta-arrow{color:var(--text-dim, #9a9387);font-size:.8rem}.delta-chip--bad{outline:1px solid var(--bad)}.feature-boosts{margin-left:.4rem;font-family:monospace;font-size:.72rem;color:var(--gold);white-space:normal;overflow-wrap:anywhere}.sets-editor{display:flex;flex-wrap:wrap;gap:.35rem .8rem;margin:.3rem 0 .5rem}.sets-editor .sets-row{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem}.sets-editor .sets-name{color:var(--text-dim)}.sets-editor .delta-amount{width:7rem;font-family:var(--font-mono);font-size:.85rem;line-height:1.4}.sets-editor .sets-row--bad .delta-amount{border-color:var(--bad)}.trait-refs{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin:.2rem 0 .4rem}.trait-refs select{font-size:.8rem}.prof-picker{display:flex;flex-direction:column;gap:.3rem;margin:.2rem 0 .4rem}.prof-row,.requires-picker{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.prof-row select,.requires-picker select{font-size:.8rem;width:auto;max-width:16rem;flex:0 0 auto}.requires-picker{margin:.2rem 0 .4rem}.items-editor,.shows-editor{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start;margin:.2rem 0 .4rem}.trait-row{padding:.4rem 0;border-bottom:1px dashed var(--border)}.trait-row .trait-used{white-space:nowrap}.origin-tabs{margin-bottom:.6rem;overflow-x:auto;min-width:0}.origin-tabs .origin-add{font-size:.8rem;padding:.25rem .6rem;margin-left:auto;border:1px dashed var(--border);background:none;color:var(--text-dim);border-radius:999px;cursor:pointer}.origin-tabs .origin-add:hover{color:var(--text);border-color:var(--gold)}.tab-line{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .8rem;margin-bottom:.8rem}.tab-line .choice-field{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;color:var(--text-dim);flex:1 1 14rem;min-width:0}.tab-line .choice-field input{font-size:.95rem;padding:.4rem .55rem}.tab-line .choice-tools{display:flex;gap:.25rem;align-items:center}.origin-tabs .page-rename{font-size:.9rem;padding:.3rem .5rem;width:10rem}.choice-list-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin:.2rem 0 .5rem}.choice-list-head h4{margin:0}.insp-check{display:flex;align-items:center;gap:.4rem;font-size:.82rem;margin:.3rem 0}.later-editor{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.later-editor .prof-row .insp-check{margin:0}@media(max-width:640px),(max-height:500px){.sheet-grid{grid-template-columns:repeat(6,1fr)}.sheet-grid .sg-box{grid-column:auto/span 3!important;grid-row:auto!important}.sheet-grid .sg-box--list,.sheet-grid .sg-box--mana,.sheet-grid .sg-box--tracked,.sheet-grid .sg-box--table,.sheet-grid .sg-box--text{grid-column:auto/span 6!important}}.subtabs{display:flex;gap:.25rem}.subtabs button{background:none;border:none;color:var(--text-dim);font-family:var(--font-display);font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .7rem;border-radius:6px;cursor:pointer}.subtabs button:hover{color:var(--text)}.subtabs button.on{color:var(--text);background:var(--bg-input)}.dirty-dot{color:var(--warn);font-size:.7rem}.page-tabs button{font-size:.72rem;padding:.28rem .55rem}.page-tabs .page-rename{width:110px;font-family:var(--font-display);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .4rem}.freeform-text{width:100%;min-height:180px;line-height:1.55;font-size:1rem;resize:vertical}.editor-section{margin-bottom:1.4rem;padding-top:.8rem;border-top:1px solid var(--border)}.editor-group,.editor-step{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .8rem;margin:.6rem 0}.editor-group-head{display:flex;gap:.4rem;align-items:center;margin-bottom:.5rem}.editor-group-head input{flex:1;min-width:0;font-weight:600}.formula-wrap{flex:1 1 180px;min-width:150px}.insp-field>.formula-wrap,.binding-field>.formula-wrap{flex:0 0 auto}.formula-wrap{display:flex;flex-direction:column;gap:.15rem}.formula-wrap .formula-input{font-family:var(--font-mono);font-size:.85rem;line-height:1.4;width:100%}.formula-wrap .formula-input--bad{border-color:var(--danger)}.formula-wrap .formula-err{color:var(--bad);font-size:.72rem}.mini-x{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:.25rem .4rem;border-radius:6px}.mini-x:hover{color:var(--danger);background:#e5484d1f}.delta-editor{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.3rem 0 .5rem;min-width:0;max-width:100%}.delta-editor .delta-chip{display:inline-flex;gap:.25rem;align-items:center;background:var(--bg-input);border:1px solid var(--border);border-radius:999px;padding:.15rem .3rem}.delta-editor .delta-chip select{border:none;background:none;padding:.15rem;color:var(--text)}.delta-editor .delta-chip input{padding:.15rem .3rem;text-align:center}.delta-editor .delta-chip{max-width:100%}.delta-editor .delta-chip select{min-width:0;max-width:100%}.delta-editor .delta-chip .delta-amount{width:7rem;field-sizing:content;min-width:4rem;max-width:min(16rem,100%);flex:0 1 auto}.delta-editor .delta-chip--stale{border-color:var(--danger)}.delta-editor .delta-chip--stale select{color:var(--bad)}.options-editor{display:flex;flex-direction:column;gap:.35rem;margin:.3rem 0 .5rem}.delta-editor .delta-err{flex-basis:100%}.grow-text{resize:vertical;min-height:2.3rem;line-height:1.35;overflow:hidden;font:inherit}.editor-line .or-desc{flex:2 1 240px;min-width:12rem}.editor-topbar .topbar-feedback{flex-basis:100%;max-height:40vh;overflow:auto}.editor-topbar .topbar-feedback .alert{margin:.2rem 0 0}.option-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:flex-start}.option-row .or-name{flex:0 1 150px}.option-row .or-desc{flex:2 1 240px}.option-row>.mini-x{order:1}.option-row>.option-sections{order:2;flex-basis:100%}.editor-line{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.4rem}.editor-line input:first-child{flex:0 1 170px}.choose-label{display:inline-flex;gap:.35rem;align-items:center;font-size:.82rem;color:var(--text-dim)}.choose-label input:not([type=checkbox]):not([type=radio]){width:54px;text-align:center;padding:.2rem}.choose-label input[type=checkbox],.choose-label input[type=radio]{width:auto}.pkg-sum{color:var(--text-dim);font-weight:400;font-size:.78rem}.pkg-editor{border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);margin-bottom:.4rem;background:var(--bg)}.pkg-editor summary{cursor:pointer;padding:.5rem .7rem;font-weight:600}.pkg-editor .pkg-editor-body{padding:.4rem .7rem .7rem}.pkg-editor .pkg-editor-body>.editor-line:first-child>input:first-child{flex:1 1 14rem;font-weight:600}.pkg-editor .pkg-editor-body>.editor-line:first-child .or-desc{order:9;flex:1 1 100%}.bindings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem}.bindings-grid .binding-field{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--text-dim)}.editor-bindings-compact{margin-top:.6rem}.text-field .text-field-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.text-field .text-field-head .btn-row{margin:0}.text-field .text-field-body{white-space:pre-wrap;color:var(--text);font-size:.92rem;margin-top:.3rem}.text-field textarea{width:100%;margin:.4rem 0}.template-json{width:100%;min-height:320px;font-family:monospace;font-size:.8rem;line-height:1.4}.dm-foldout{display:flex;flex-direction:column;gap:.5rem;margin-top:.45rem;padding-top:.45rem;border-top:1px dashed var(--border)}.dm-foldout .alloc-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end}.dm-foldout .alloc-field{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--text-dim)}.dm-foldout .alloc-field input{width:58px;text-align:center}.dm-level-cluster{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.dm-more-panel{margin:.5rem 0 .8rem;padding:.7rem .9rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius)}.grant-foot-btn{margin-top:.4rem;align-self:flex-start}.casting-page{display:flex;flex-direction:column;gap:1.4rem;margin-top:.8rem}.dial-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.7rem}.dial-card{display:flex;flex-direction:column;gap:.3rem;padding:.7rem .8rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius)}.dial-card input{width:100%;font-family:var(--font-display);font-size:1.25rem;font-weight:700;text-align:center;padding:.25rem .4rem}.dial-card--computed{border-color:var(--gold-dim)}.dial-name{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.dial-meaning{font-size:.8rem;color:var(--text-dim)}.dial-prov{font-size:.72rem;color:var(--text-dim);border-top:1px dashed var(--border);padding-top:.3rem;margin-top:auto}.dial-card--computed .dial-prov{color:var(--gold);opacity:.9}.dial-release{text-align:left}.dial-save{display:flex;align-items:center;min-height:2rem;margin-top:.5rem}.dial-saved{color:var(--ok);font-size:.88rem}.practice-rows{display:flex;flex-direction:column;gap:.3rem}.practice-row{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;padding:.3rem .1rem;border-bottom:1px dashed var(--border)}.practice-row:last-child{border-bottom:none}.practice-name{font-weight:600}.practice-casts{color:var(--text-dim);font-size:.85rem}.practice-bonus{font-size:.85rem;color:var(--text-dim)}.cast-log{display:flex;flex-direction:column}.cast-log-row{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;padding:.32rem .1rem;border-bottom:1px dashed var(--border);font-size:.88rem}.cast-log-row:last-child{border-bottom:none}.cast-log-when{color:var(--text-dim);font-size:.78rem;min-width:4.2em}.cast-log-who{font-weight:600}.cast-log-what{font-style:italic}.cast-log-math{color:var(--text-dim);font-size:.82rem;margin-left:auto}.cast-band{font-size:.74rem;font-weight:600;letter-spacing:.04em;padding:.08rem .5rem;border-radius:999px;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.cast-band--success{color:var(--ok);border-color:#7dd88f73}.cast-band--partial{color:var(--warn);border-color:#e8c87a73}.cast-band--fail{color:var(--text-dim)}.cast-band--backfire{color:var(--backfire);border-color:#e08aa880}.cast-band--pending{color:var(--warn);border-color:#e8c87a4d;font-style:italic}.modal.modal--book{max-width:min(1080px,96vw);width:100%;padding:0;background:transparent;border:none;overflow:visible;position:relative;animation:book-settle .26s cubic-bezier(.2,.8,.3,1)}.modal.modal--book .modal-header{position:absolute;top:.55rem;right:.6rem;z-index:3;margin:0}.modal.modal--book .modal-header h2{display:none}.modal.modal--book .modal-close{background:#100a05a6;border:1px solid rgba(201,164,92,.35);border-radius:999px;width:1.9rem;height:1.9rem;display:grid;place-items:center;color:#d8c091}.modal.modal--book .modal-close:hover{color:#f3e3bd;background:#1e140acc}.modal.modal--book .modal-body{max-height:none}.modal.modal--book .modal-footer{background:linear-gradient(180deg,#33200f,#241609 70%);border:1px solid #120b04;border-top:none;border-radius:0 0 12px 12px;padding:.7rem 1.1rem;margin:0;box-shadow:inset 0 6px 12px -8px #000c}.modal.modal--book .modal-footer .btn{background:none;border:1px solid rgba(201,164,92,.35);color:#d8c091;font-family:var(--font-display);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.modal.modal--book .modal-footer .btn:hover:not(:disabled){border-color:var(--gold);color:#f3e3bd;background:#c9a45c14}.modal.modal--book .modal-footer .btn--primary{border-color:var(--gold);color:#f3e3bd;background:#c9a45c24}.modal.modal--book .modal-footer .btn--danger-ghost{border-color:#be504666;color:#cf8578}.modal.modal--book .modal-footer .btn--danger-ghost:hover{color:#eda293}.book{position:relative;padding:16px 16px 12px;border-radius:12px 12px 0 0;background:radial-gradient(circle 2.5px at 13px 13px,rgba(201,164,92,.55),transparent 4px),radial-gradient(circle 2.5px at calc(100% - 13px) 13px,rgba(201,164,92,.55),transparent 4px),radial-gradient(circle 2.5px at 13px calc(100% - 13px),rgba(201,164,92,.55),transparent 4px),radial-gradient(circle 2.5px at calc(100% - 13px) calc(100% - 13px),rgba(201,164,92,.55),transparent 4px),radial-gradient(140% 90% at 20% 0%,#4a2f16,#33200f 45%,#1d1106);box-shadow:inset 0 0 0 1px #120b04,inset 0 0 0 4px #c9a45c29,0 24px 60px -22px #000}.book-pages{position:relative;display:grid;grid-template-columns:1fr 1fr;border-radius:3px;overflow:hidden;padding:0 8px;background:repeating-linear-gradient(90deg,#e2d3ab 0,#e2d3ab 1px,#b9a677 1px,#b9a677 2px,#d8c79e 2px,#d8c79e 3px,#c4b183 3px,#c4b183 4px);box-shadow:0 3px 8px -3px #000c}.book-pages:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:64px;transform:translate(-50%);background:linear-gradient(90deg,transparent 0%,rgba(30,18,6,.18) 26%,rgba(18,10,2,.5) 50%,rgba(30,18,6,.18) 74%,transparent 100%);pointer-events:none;z-index:2}.book-page{--paper-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.74' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.36 0 0 0 0 0.27 0 0 0 0 0.13 0 0 0 0.34 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");--page-texture: var(--paper-grain), radial-gradient(42% 30% at 18% 12%, rgba(122, 90, 42, .16), transparent 70%), radial-gradient(38% 26% at 84% 78%, rgba(105, 74, 32, .2), transparent 70%), radial-gradient(26% 18% at 70% 22%, rgba(122, 90, 42, .12), transparent 75%), linear-gradient(168deg, #ecdfbd 0%, #e4d4a8 55%, #d3bd8c 100%);--ink: #2b2114;--ink-soft: #57452a;--ink-faint: #6b5836;--ink-red: #7c3327;--ink-green: #3c5f37;--ink-blue: #35507c;--page-rule: rgba(122, 96, 52, .4);--ink-amber: #7a4f0e;--ink-amber-line: rgba(138, 92, 20, .6);--page-field: rgba(255, 250, 236, .7);background:var(--page-texture);color:var(--ink);padding:1.8rem 2rem 2rem;min-height:520px;max-height:76vh;min-width:0;overflow-y:auto;overflow-x:hidden;font-size:1.02rem;position:relative}.book-page--left{box-shadow:inset -26px 0 34px -22px #261402d9,inset 14px 0 26px -20px #3c240880,inset 0 18px 30px -24px #3c24088c,inset 0 -20px 32px -24px #301a0499}.book-page--right{box-shadow:inset 26px 0 34px -22px #261402d9,inset -14px 0 26px -20px #3c240880,inset 0 18px 30px -24px #3c24088c,inset 0 -20px 32px -24px #301a0499}.book-page--right:after{content:"";position:absolute;right:-46px;bottom:-40px;width:300px;height:300px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23533f1e' stroke-width='1.6'%3E%3Ccircle cx='100' cy='100' r='92'/%3E%3Ccircle cx='100' cy='100' r='78' stroke-dasharray='3 7'/%3E%3Ccircle cx='100' cy='100' r='58'/%3E%3Cpath d='M100 42l50 87H50z'/%3E%3Ccircle cx='100' cy='42' r='6'/%3E%3Ccircle cx='50' cy='129' r='6'/%3E%3Ccircle cx='150' cy='129' r='6'/%3E%3Cpath d='M100 8v14M100 178v14M8 100h14M178 100h14'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;opacity:.14;pointer-events:none}.book-page .section-title{display:flex;align-items:center;gap:.7rem;font-family:var(--font-display);font-size:.82rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);border:none;padding:0;margin:1.2rem 0 .7rem;position:relative;z-index:1}.book-page .section-title:before,.book-page .section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--page-rule))}.book-page .section-title:after{background:linear-gradient(90deg,var(--page-rule),transparent)}.book-page .section-title small{font-family:var(--font-flavor);font-style:italic;text-transform:none;letter-spacing:0;font-weight:400;font-size:.86rem;color:var(--ink-faint)}.book-page .spell-meta{gap:.5rem;position:relative;z-index:1}.book-page .spell-meta .badge{background:none;border:1.5px solid currentColor;border-radius:3px;font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.18rem .45rem;transform:rotate(-1.6deg)}.book-page .spell-meta .badge.badge--plain{color:var(--ink-faint)}.book-page .spell-meta .badge.badge--pending{color:var(--ink-amber)}.book-page .hint-note{background:none;border-left:2px solid var(--page-rule);border-radius:0;padding:.1rem 0 .1rem .75rem;font-family:var(--font-flavor);font-style:italic;font-size:1.02rem;color:var(--ink-soft);position:relative;z-index:1}.book-page .detail-components{gap:0;display:block;position:relative;z-index:1}.book-page .detail-component{background:none;border:none;border-radius:0;padding:.55rem .1rem;position:relative}.book-page .detail-component--missing .comp-title{color:var(--ink-red)}.book-page .comp-title{color:var(--ink);font-family:var(--font-flavor);font-weight:600;font-size:1.12rem}.book-page .comp-qty-label{color:var(--ink-faint);font-weight:400}.book-page .comp-kind{font-family:var(--font-flavor);font-style:italic;font-size:.92rem;color:var(--ink-faint);white-space:nowrap}.book-page .comp-desc-text{color:var(--ink-soft);font-family:var(--font-flavor);font-style:italic;font-size:.98rem}.book-page .have-mark{display:inline-block;width:1.1rem;font-weight:700}.book-page .have-mark.ok{color:var(--ink-green)}.book-page .have-mark.no{color:var(--ink-red)}.book-page .grade-label,.book-page .cast-blockers p{color:var(--ink-soft)}.book-page .cast-blockers p{font-family:var(--font-flavor);font-style:italic;font-size:1.02rem}.book-page .grade-value{color:var(--ink)}.book-page .grade-value.pos{color:var(--ink-green)}.book-page .grade-value.neg{color:var(--ink-red)}.book-page input,.book-page textarea,.book-page select{background:var(--page-field);border-color:var(--page-rule);color:var(--ink)}.book-page input[type=range]{border:none}.book-page .cast-spend{color:var(--ink);font-family:var(--font-display);font-weight:700}.book-page .channel-note{text-align:center;font-family:var(--font-flavor);font-style:italic;font-size:1.05rem;color:var(--ink-soft)}.book-page .cast-ceiling{margin:.1rem 0 .3rem;text-align:center;font-family:var(--font-flavor);font-style:italic;font-size:.92rem;color:var(--ink-faint)}.book-page .cast-result{background:none;border:1px solid var(--page-rule);border-radius:2px;color:var(--ink);padding:.8rem .9rem;position:relative;z-index:1}.book-page .cast-result .cast-headline{color:var(--ink);font-family:var(--font-display);font-size:1rem}.book-page .cast-result .cast-detail{color:var(--ink-soft);font-family:var(--font-flavor);font-style:italic}.book-page .cast-result--success{border-color:#3c5f3799}.book-page .cast-result--success .cast-headline{color:var(--ink-green)}.book-page .cast-result--fail{border-color:#7c332799}.book-page .cast-result--fail .cast-headline{color:var(--ink-red)}.book-page .cast-result--partial{border-color:var(--ink-amber-line)}.book-page .cast-result--partial .cast-headline{color:var(--ink-amber)}.book-page .cast-result--backfire{border-color:#7c3327bf}.book-page .cast-result--backfire .cast-headline{color:var(--ink-red)}.book-page .spell-effect{color:var(--ink)}.book-page .spell-effect--unwritten{color:var(--ink-faint)}.book-page .spell-outcomes{color:var(--ink-soft)}.book-page .outcome-tag{border-color:var(--page-rule);color:var(--ink-faint)}.book-page .outcome-tag--partial{color:var(--ink-amber);border-color:var(--ink-amber-line)}.book-page .outcome-tag--backfire{color:var(--ink-red);border-color:#7c332780}.book-page .odds-summary{color:var(--ink-soft)}.book-page .odds-line--sure{color:var(--ink-green)}.book-page .odds-line--dead{color:var(--ink-faint)}.book-page .odds-shelf{border-color:var(--page-rule);color:var(--ink-faint)}.book-page .odds-shelf--success{color:var(--ink-green);border-color:#3c5f3780}.book-page .odds-shelf--partial{color:var(--ink-amber);border-color:var(--ink-amber-line)}.book-page .odds-shelf--fail{color:var(--ink-faint)}.book-page .odds-shelf--backfire{color:var(--ink-red);border-color:#7c332780}.book-page .cast-band-text{color:var(--ink-soft);font-family:var(--font-flavor)}.book-page .card-badges .badge--learned{background:none;border:1.5px solid var(--ink-green);color:var(--ink-green)}.book-page .card-badges .badge--pending{background:none;border:1.5px solid var(--ink-amber);color:var(--ink-amber)}.book-page .side-effect{background:none;border-left:2px solid var(--ink-red);border-radius:0}.book-page .side-effect .badge--plain{background:none;border:1px solid var(--page-rule);color:var(--ink-faint)}.book-page .book-fx{margin:.35rem 0;color:var(--ink-soft);font-size:.96rem}.book-page .book-fx strong{color:var(--ink-red);font-family:var(--font-display);font-size:.86rem;letter-spacing:.04em}.book-page .book-fx-when{color:var(--ink-faint);font-style:italic}.book-page .fx-book{border-color:var(--page-rule);color:var(--ink-faint)}.book-page .fx-book:hover:not(:disabled){border-color:var(--ink-soft)}.book-page .fx-book--on{color:var(--ink-green);border-color:#3c5f3780}.book-page .spell-notes{width:100%;background:#fffaeb59;border:1px dashed var(--page-rule);border-radius:4px;padding:.5rem .65rem;color:var(--ink);font-family:var(--font-flavor);font-size:1rem;line-height:1.45;resize:vertical}.book-page .spell-notes::placeholder{color:var(--ink-faint);font-style:italic}.book-page .spell-notes:focus{outline:none;border-color:var(--ink-soft);background:#fffaeb8c}.book-page .spell-notes-state{margin:.25rem 0 0;font-size:.78rem;font-style:italic;color:var(--ink-faint)}.book-page .btn--ghost{color:var(--ink-soft);border-color:var(--page-rule)}.book-page .btn--ghost:hover{background:#785a281a}.book-page .panel-text{color:var(--ink-soft)}.page-name{overflow-wrap:anywhere;font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:#221807;line-height:1.18;margin-bottom:.45rem;padding-bottom:.4rem;border-bottom:2px solid rgba(122,96,52,.55);box-shadow:0 3px 0 -1px #7a603447;position:relative;z-index:1}.page-flavor{font-family:var(--font-flavor);font-style:italic;font-weight:500;font-size:1.22rem;color:#4a3a22;line-height:1.5;margin:.7rem 0 1rem;position:relative;z-index:1}.page-flavor:first-letter{font-family:var(--font-display);font-style:normal;font-size:2.6em;font-weight:700;float:left;line-height:.82;padding:.06em .09em 0 0;color:#6e1f14}.page-cost{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem;font-family:var(--font-display);font-weight:600;color:#4a3a22;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.cost-sigil{width:58px;height:58px;display:grid;place-items:center;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23533f1e' stroke-width='2.4'%3E%3Ccircle cx='50' cy='50' r='45'/%3E%3Ccircle cx='50' cy='50' r='35' stroke-dasharray='3 6'/%3E%3Cpath d='M50 2v10M50 88v10M2 50h10M88 50h10M17 17l7 7M76 76l7 7M83 17l-7 7M24 76l-7 7'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:#3a2b12}.seal-row{display:grid;place-items:center;margin:1.2rem 0 .4rem;position:relative;z-index:1}.cast-seal{width:118px;height:112px;border:none;cursor:pointer;position:relative;border-radius:46% 54% 52% 48%/53% 47% 55% 45%;transform:rotate(-2.5deg);font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.16em;text-indent:.16em;text-transform:uppercase;color:#e8c4ac;text-shadow:0 -1px 0 rgba(46,6,2,.9),0 1px 1px rgba(255,200,170,.28);background:var(--paper-grain, none),radial-gradient(circle at 32% 26%,rgba(240,160,130,.4),transparent 44%),radial-gradient(circle at 70% 78%,rgba(40,4,1,.5),transparent 52%),radial-gradient(circle at 50% 50%,#8e2417,#77190d 55%,#560f06);box-shadow:inset 0 0 0 6px #66140ad9,inset 0 0 0 8px #e2967824,inset 0 4px 10px #ffbea02e,inset 0 -6px 12px #1e03018c,0 7px 18px -7px #1e0401d9;transition:transform .12s,box-shadow .15s}.cast-seal:after{content:"";position:absolute;left:14%;bottom:-9px;width:22px;height:16px;border-radius:40% 60% 55% 45%/30% 35% 70% 65%;background:radial-gradient(circle at 40% 30%,#82200f,#560f06);box-shadow:inset 0 2px 3px #ffbea026,0 3px 6px -3px #1e0401cc}.cast-seal:hover:not(:disabled){transform:rotate(-1deg) scale(1.04);box-shadow:inset 0 0 0 6px #66140ad9,inset 0 0 0 8px #e296782e,inset 0 4px 10px #ffbea03d,inset 0 -6px 12px #1e03018c,0 10px 26px -8px #1e0401e6,0 0 30px -8px #be3c1980}.cast-seal:active:not(:disabled){transform:rotate(-2.5deg) scale(.96)}.cast-seal:disabled,.cast-seal[aria-disabled=true]{background:var(--paper-grain, none),radial-gradient(circle at 50% 50%,#8a7f72,#6f655a 60%,#554d43);box-shadow:inset 0 0 0 6px #50483ee6,inset 0 -6px 12px #14100c80,0 4px 10px -5px #0009;color:#d5cdc0;text-shadow:0 -1px 0 rgba(40,34,26,.8);cursor:default}.cast-seal:disabled:after,.cast-seal[aria-disabled=true]:after{background:radial-gradient(circle at 40% 30%,#7c7267,#554d43)}.test-link{display:block;margin:.5rem auto 0;background:none;border:none;cursor:pointer;font-family:var(--font-flavor);font-style:italic;font-size:1rem;color:var(--ink-soft);text-decoration:underline dotted var(--page-rule);text-underline-offset:3px;position:relative;z-index:1}.test-link:hover:not(:disabled):not([aria-disabled=true]){color:var(--ink)}.test-link:disabled,.test-link[aria-disabled=true]{opacity:.6;cursor:default}@media(max-width:760px),(max-height:500px){.modal-overlay:has(.modal--book):before{display:none}.modal.modal--book{animation:none;overflow:hidden;background:#e4d4a8}.modal.modal--book .modal-header{position:static;display:flex;justify-content:flex-end;flex:0 0 auto;margin:0;padding:.35rem .6rem;background:linear-gradient(180deg,#33200f,#241609);border-bottom:1px solid #120b04}.modal.modal--book .modal-body{flex:1;max-height:none;overflow-y:auto;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}.modal.modal--book .modal-footer{flex:0 0 auto;border-radius:0;padding:.55rem .8rem;gap:.4rem}.book{flex:1;display:flex;flex-direction:column;padding:0;border-radius:0;background:none;box-shadow:none}.book-pages{flex:1;display:block;padding:0;border-radius:0;box-shadow:none;background:none}.book-pages:before{display:none}.book-page{min-height:0;max-height:none;overflow:visible;padding:1.1rem 1rem 1.2rem;box-shadow:none}.book-page:before{display:none}.book-page--right{border-top:2px solid rgba(122,96,52,.45);padding-top:1rem}.page-name{font-size:1.5rem}.page-flavor{font-size:1.08rem}.cost-sigil{width:48px;height:48px;font-size:1.15rem}html:not(.sf-bug-ready) #bug-tracker-widget-host{display:none!important}.book-mode-toggle{display:inline-block}.modal.modal--book.modal--plain{background:var(--bg)}.modal.modal--book.modal--plain .modal-header{background:var(--bg-raised);border-bottom-color:var(--border)}.modal.modal--book.modal--plain .modal-close{background:var(--bg-input);border-color:var(--border);color:var(--text-dim)}.modal.modal--book.modal--plain .modal-footer{background:var(--bg-raised);border:none;border-top:1px solid var(--border);box-shadow:none}.modal.modal--book.modal--plain .modal-footer .btn{font-family:inherit;font-size:.9rem;font-weight:500;letter-spacing:0;text-transform:none;background:var(--bg-input);border-color:transparent;color:var(--text)}.modal.modal--book.modal--plain .modal-footer .btn:hover:not(:disabled){background:var(--bg-input);border-color:var(--border);color:var(--text)}.modal.modal--book.modal--plain .modal-footer .btn--primary{background:var(--primary-fill);color:#fff;border-color:transparent}.modal.modal--book.modal--plain .modal-footer .btn--ghost{background:transparent;border-color:var(--border);color:var(--text-dim)}.modal.modal--book.modal--plain .modal-footer .btn--danger-ghost{background:transparent;border-color:#e5484d66;color:var(--bad)}.modal.modal--book.modal--plain .book-page{background:var(--bg);color:var(--text);--ink: var(--text);--ink-soft: var(--text-dim);--ink-faint: var(--text-dim);--ink-red: var(--bad);--ink-green: var(--ok);--ink-blue: #9ab6ff;--page-rule: var(--border);--ink-amber: var(--warn);--ink-amber-line: rgba(232, 200, 122, .5);--page-field: var(--bg-input)}.modal.modal--book.modal--plain .book-page--right{border-top-color:var(--border)}.modal.modal--book.modal--plain .book-page .detail-component--consumed .comp-title:before{color:var(--reagent-consumed)}.modal.modal--book.modal--plain .book-page .detail-component--persistent .comp-title:before{color:var(--reagent-persistent)}.modal.modal--book.modal--plain .book-page .detail-component--condition .comp-title:before{color:var(--reagent-condition)}.modal.modal--book.modal--plain .page-name{color:var(--text);border-bottom:1px solid var(--border);box-shadow:none}.modal.modal--book.modal--plain .page-flavor{color:var(--text-dim);font-style:normal;font-size:1rem}.modal.modal--book.modal--plain .page-flavor:first-letter{font:inherit;float:none;padding:0;color:inherit;line-height:inherit}.modal.modal--book.modal--plain .page-cost{color:var(--text-dim)}.modal.modal--book.modal--plain .cost-sigil{filter:invert(.82) hue-rotate(180deg)}}.modal-overlay:has(.modal--book){background:#07050bd6}.modal-overlay:has(.modal--book):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(55% 44% at 50% 26%,rgba(196,126,44,.14),transparent 72%);animation:candle-breathe 6s ease-in-out infinite alternate;pointer-events:none}@keyframes candle-breathe{0%{opacity:.55}to{opacity:1}}@keyframes book-settle{0%{opacity:0;transform:translateY(18px) scale(.965)}}.book-page{scrollbar-width:thin;scrollbar-color:rgba(122,96,52,.45) transparent}.book-page::-webkit-scrollbar{width:8px}.book-page::-webkit-scrollbar-track{background:transparent}.book-page::-webkit-scrollbar-thumb{background:#7a603466;border-radius:4px;border:2px solid transparent;background-clip:content-box}.book-page:before{content:"";position:absolute;bottom:5px;width:74px;height:16px;background:radial-gradient(60% 100% at 50% 100%,rgba(38,20,2,.4),transparent 72%);filter:blur(2px);pointer-events:none}.book-page--left:before{left:8px;transform:rotate(2.5deg)}.book-page--right:before{right:8px;transform:rotate(-2.5deg)}.book-page .detail-component{border-bottom:1px solid;border-image:linear-gradient(90deg,transparent,var(--page-rule) 14%,var(--page-rule) 86%,transparent) 1}.book-page .detail-component:last-child{border-bottom:none}.book-page .detail-component .comp-title:before{display:inline-block;width:1.05rem;font-size:.82rem;opacity:.75}.book-page .detail-component--consumed .comp-title:before{content:"◆";color:#8a4f28}.book-page .detail-component--persistent .comp-title:before{content:"○";color:#3d5a78}.book-page .detail-component--condition .comp-title:before{content:"✧";color:#5d4a7c}.book-page input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;background:transparent;flex:1}.book-page input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,#7a60344d,#7a6034bf,#7a60344d);border-radius:1px}.book-page input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;margin-top:-7.5px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#ecd49b,#b08a3e 58%,#6d5322);border:1px solid #4a3a1a;box-shadow:0 2px 4px -1px #00000080;cursor:pointer}.book-page input[type=range]::-moz-range-track{height:2px;background:#7a60348c;border-radius:1px}.book-page input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#ecd49b,#b08a3e 58%,#6d5322);border:1px solid #4a3a1a;cursor:pointer}.book-page .cast-result{animation:ink-in .55s ease-out}.book-page .detail-component.detail-component--ungraded{border-image:none;border-bottom:1px dashed var(--ink-amber)}.book-page .detail-component--ungraded .grade-value{color:var(--ink-amber)}.book-page .detail-component--ungraded input[type=range]::-webkit-slider-thumb{background:radial-gradient(circle at 34% 30%,#f6e2a6,#d1a53e 58%,#8a6a22)}.book-page .detail-component--ungraded input[type=range]::-moz-range-thumb{background:radial-gradient(circle at 34% 30%,#f6e2a6,#d1a53e 58%,#8a6a22)}.book-page .grading-count--short{color:var(--ink-amber)}.page-name,.book-page .section-title,.book-page .cast-headline{text-shadow:.3px .4px .6px rgba(43,33,20,.4)}@keyframes ink-in{0%{opacity:0;filter:blur(2.5px)}to{opacity:1;filter:blur(0)}}@media(prefers-reduced-motion:reduce){.modal.modal--book,.book-page .cast-result,.modal-overlay:has(.modal--book):before{animation:none}.cast-seal{transition:none}.sg-box--needs,.levelup-btn,.sg-box--source,.canvas-box--source{animation:none}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080610b3;display:grid;place-items:center;padding:1rem;z-index:100}.modal{width:100%;max-width:440px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modal-header h2{font-size:1.15rem}.modal-close{background:none;border:none;color:var(--text-dim);font-size:1rem;cursor:pointer}.modal-close:hover{color:var(--text)}.modal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem}.library-more{display:block;margin:1rem auto 0}.pkg-levels{margin-top:.8rem}.pkg-levels summary{cursor:pointer;font-weight:600;margin-bottom:.4rem}.pkg-levels .panel-text{margin:.2rem 0}.empty-state--welcome{padding:3.5rem 1.5rem}.empty-state--welcome .welcome-lead{font-size:1.3rem;color:var(--text);margin-bottom:.5rem}.empty-state--welcome .hint{max-width:480px;margin:0 auto}.empty-state--welcome .welcome-actions{display:flex;gap:.6rem;justify-content:center;margin-top:1.25rem;flex-wrap:wrap}.getting-started{border-color:#8b5cf673}.getting-started .steps{margin:.6rem 0 0 1.2rem;display:flex;flex-direction:column;gap:.6rem;color:var(--text-dim)}.getting-started .steps strong{color:var(--text)}.link-btn{background:none;border:none;color:var(--primary-text);font:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.link-btn:hover{color:var(--gold)}.link-btn--quiet{color:var(--text-dim);font-size:.72rem;text-decoration:none;text-align:left}.page--admin{max-width:1100px}.admin-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.1rem;margin:.9rem 0 .5rem}.admin-filters .library-search{flex:1 1 16rem}.admin-check{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-dim);font-size:.9rem;cursor:pointer}.admin-pager{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0}.admin-pager .hint{margin-right:auto;font-variant-numeric:tabular-nums}.admin-table-wrap{overflow-x:auto;margin-bottom:1rem}.admin-table{width:100%;min-width:40rem;border-collapse:collapse;font-size:.9rem}.admin-table th{text-align:left;color:var(--text-dim);font-weight:500;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .5rem;border-bottom:1px solid var(--border);white-space:nowrap}.admin-table td{padding:.5rem;border-bottom:1px dashed var(--border);vertical-align:top;overflow-wrap:break-word}.admin-table tr:last-child td{border-bottom:none}.admin-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.admin-table time{white-space:nowrap}.admin-table .badge{margin-left:.35rem}.admin-guest{color:var(--text-dim)}.admin-head{margin-bottom:1.1rem}.admin-head .section-heading{margin-bottom:.3rem;overflow-wrap:anywhere}.admin-head .badge{margin-left:.45rem;vertical-align:middle;font-family:inherit;letter-spacing:normal}.admin-head p+p{margin-top:.35rem}.admin-text{white-space:pre-wrap;overflow-wrap:anywhere}.admin-overview{margin-top:1.1rem}.admin-overview summary{cursor:pointer}.admin-overview section{margin-top:.8rem}.admin-overview h4{font-size:.95rem;margin-bottom:.2rem}.admin-switches{margin:0 0 .9rem}.admin-switches .admin-table{min-width:0}.admin-switches code{font-size:.8rem;overflow-wrap:anywhere}@media(max-width:640px){.page{padding:1rem .9rem}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:max(16px,1em)!important}.app-header{flex-wrap:wrap;gap:.4rem;padding:.6rem .9rem}.app-header .header-title{order:-1;width:100%;justify-content:center}.app-header{justify-content:flex-start}.app-header .join-code-btn{display:none}.tab-bar{position:sticky;top:0;z-index:50;padding:0 .5rem}.tab-bar button{padding:.7rem;font-size:.9rem}.creator-top,.editor-topbar{top:2.75rem}.dash-error{top:3rem}.editor-topbar .footer-spacer{display:none}.modal-overlay{padding:0;align-items:flex-end}.modal{max-width:none;max-height:90dvh;border-radius:12px 12px 0 0;border-left:none;border-right:none;border-bottom:none;display:flex;flex-direction:column}.modal .modal-body{flex:1;overflow-y:auto}.modal.modal--book,.modal.modal--levelup,.modal.modal--full{height:100dvh;max-height:100dvh;border-radius:0}.modal-footer{flex-wrap:wrap}.qty-btn{width:36px;height:36px}.page-header-row .actions{width:100%}.page-header-row .actions .btn{flex:1}}.alert{padding:.65rem .9rem;border-radius:calc(var(--radius) - 4px);font-size:.9rem;margin-bottom:1rem}.alert--error{background:#e5484d1f;border:1px solid rgba(229,72,77,.4);color:var(--bad)}.alert--warn{background:#f0b4291a;border:1px solid rgba(240,180,41,.45);color:var(--warn)}.alert--warn ul{margin:.3rem 0 .3rem 1.1rem;padding:0}.alert--warn .hint{display:block;margin-top:.2rem}.modal--book:not(.modal--plain) .alert--error{color:#7c3327;background:#a0281e14;border-color:#a0281e59}.formula-keys{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;font-size:.72rem;color:var(--text-dim);margin-top:.2rem}.key-chip{background:var(--bg-input);border:1px solid var(--border);border-radius:999px;color:var(--text);font:inherit;font-family:monospace;font-size:.72rem;padding:.05rem .45rem;cursor:pointer}.key-chip:hover{border-color:var(--gold-dim)}.levels-editor{margin-top:.6rem}.card-badges .effect-end{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.72rem;padding:0 .2rem;margin-left:.2rem}.card-badges .effect-end:hover{color:var(--text)}.strip-err{color:var(--bad);font-size:.78rem}.console-err{grid-column:1/-1;margin:0}@media(pointer:coarse){.modal-close{min-width:40px;min-height:40px}.page-tabs button,.subtabs button{padding:.55rem .8rem}.sg-box--tally .tally-dot{min-width:32px;min-height:32px}.box-edit,.rename-btn{padding:.45rem}.tag-toggle{padding:.4rem .7rem}.dice-btn,.chip{min-height:36px}details.feature>summary,.sg-list summary{padding-top:.4rem;padding-bottom:.4rem}.sg-table-toggle,.link-btn{padding-top:.45rem;padding-bottom:.45rem}.sg-row--roll{min-height:32px}.pack-history>summary{padding-top:.4rem;padding-bottom:.4rem}}@media(max-height:500px){.modal-overlay:has(.modal--book){padding:0}.modal.modal--book{height:100dvh;max-height:100dvh;max-width:none;border-radius:0;display:flex;flex-direction:column}}.book-page .report-btn--success{border-color:#3c5f3799;color:var(--ink-green)}.book-page .report-btn--partial{border-color:#8a5c1499;color:#8a5c14}.book-page .report-btn--backfire{border-color:#7c3327bf;color:var(--ink-red)}.book-page .cast-result--band-promising{border-color:#8a5c1480;background:#8a5c1414}.book-page .cast-result--band-strong{border-color:#3c5f3799;background:#3c5f3714}.book-page .grade-math{background:none;border-color:var(--page-rule)}.book-page .grade-math strong{color:var(--ink-red)}.book-page .cast-panel{border-top-color:var(--page-rule)}.modal.modal--book .modal-footer select{background:#1d1208;border:1px solid rgba(201,164,92,.35);color:#d8c091;border-radius:6px}@media(pointer:coarse){.mini-x{font-size:.95rem;padding:.35rem .55rem}}@media(max-width:640px){.inv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.item-card{aspect-ratio:auto;min-height:96px}.item-card .item-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.note-dm-comment{margin:0;padding:.4rem .6rem;border-left:2px solid var(--gold-dim);background:#8b5cf60f;border-radius:0 6px 6px 0;font-size:.9rem;white-space:pre-wrap}.remap{margin:.6rem 0;padding:.6rem .8rem;border:1px dashed var(--gold-dim);border-radius:calc(var(--radius) - 4px)}.remap .remap-lead{margin:0 0 .4rem;font-size:.88rem;color:var(--text-dim)}.remap .remap-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.remap .remap-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem .6rem}.remap .remap-from{min-width:0;overflow-wrap:anywhere}.remap select{max-width:100%}.cast-log-act{display:inline-flex;flex-wrap:wrap;gap:.2rem .6rem}.note-count{display:block;text-align:right;font-size:.75rem;margin-top:-.2rem}.minibar--low .minibar-fill{background:var(--danger)}.minibar--mid .minibar-fill{background:var(--gold)}.pending-cast strong{font-family:inherit;font-size:1rem}.spell-filter{width:min(20rem,100%);margin:0 0 .6rem}.overview-readers{margin-top:1.4rem}.side-effect-edit{display:flex;flex-direction:column;gap:.35rem;margin:.3rem 0 .4rem}.book-page .link-btn,.book-page a{color:var(--ink-blue)}.book-page .hint{color:var(--ink-soft)}.book-page .link-btn:hover{color:var(--ink)}@media(max-width:1100px){.app-header>.btn,.app-header .viewas-menu>summary{white-space:nowrap;flex-shrink:0}}@media(max-width:480px){.app-header .header-actions{flex-wrap:wrap;gap:.4rem}.app-header .header-actions .username{display:none}.app-header .header-actions .btn{white-space:nowrap}}.modal.modal--book.modal--plain .spell-notes{background:var(--bg-input);border:1px solid var(--border);color:var(--text)}.setting-row .setting-options:has(>.setting-url){flex:1 1 320px}.focus-row .panel-text,.focus-row h3{overflow-wrap:anywhere}.modal-footer>.badge{align-self:center}.grant-gear .delta-chip{max-width:100%;flex-wrap:wrap}.m-0{margin:0!important}.mt-1{margin-top:.4rem!important}.mt-2{margin-top:.6rem!important}.mt-3{margin-top:.8rem!important}.mt-4{margin-top:1.2rem!important}.mb-1{margin-bottom:.4rem!important}.mb-2{margin-bottom:.6rem!important}.mb-3{margin-bottom:.8rem!important}.my-2{margin:.6rem 0!important}.my-3{margin:.8rem 0!important}.btn-row{display:flex;flex-wrap:wrap;gap:.4rem}.icon-input{width:52px!important;flex:0 0 52px!important}.currency-input{width:110px!important;text-align:left!important}@media(max-width:640px){.modal-footer .grant-to{flex:1 1 100%;min-width:0}.modal-footer .grant-to select{flex:1 1 auto;min-width:0;max-width:100%}.editor-line,.option-row,.prof-row,.requires-picker,.trait-refs,.editor-group-head,.option-sections,.pkg-sections{flex-wrap:wrap;min-width:0}.editor-line>*,.option-row>*,.prof-row>*,.requires-picker>*,.trait-refs>*,.editor-group-head>*,.option-sections>*,.pkg-sections>*{max-width:100%}.editor-line select,.editor-line textarea,.option-row select,.option-row textarea,.prof-row select,.prof-row textarea,.requires-picker select,.requires-picker textarea,.trait-refs select,.trait-refs textarea,.editor-group-head select,.editor-group-head textarea,.option-sections select,.option-sections textarea,.pkg-sections select,.pkg-sections textarea{max-width:100%;min-width:0}.editor-line .or-desc,.option-row .or-desc{min-width:0;flex-basis:100%;order:9}.option-row>.or-name{flex:1 1 0;min-width:8rem}.option-row>.or-desc{order:2}.option-row>.option-sections{order:3}.prof-row select,.requires-picker select,.trait-refs select{flex:1 1 100%}.editor-group-head input:not([type=checkbox]):not([type=radio]){flex:1 1 7rem}}.cast-banner{display:flex;flex-direction:column;border-bottom:1px solid rgba(139,92,246,.45);background:#8b5cf624}.cast-banner-row{display:block;width:100%;min-height:2.6rem;padding:.55rem 1.25rem;background:none;border:none;color:var(--text);font:inherit;font-size:.92rem;text-align:left;cursor:pointer}.cast-banner-row+.cast-banner-row{border-top:1px solid rgba(139,92,246,.25)}.cast-banner-row--roll strong,.cast-banner-row--answered strong{color:var(--gold)}@media(max-width:700px){.cast-banner-row{padding:.55rem 1rem}}.vitals-strip{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;margin-bottom:.9rem;display:flex;flex-direction:column;gap:.4rem}.vitals-strip--down{border-color:var(--danger)}.vitals-strip .vs-cells{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem}.vitals-strip .vs-cell{display:flex;flex-direction:column;gap:.1rem;min-width:0}.vitals-strip .vs-key{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.vitals-strip .vs-val{font-family:var(--font-display);font-size:1.3rem;line-height:1.1}.vitals-strip .trk-controls{display:flex;align-items:center;gap:.5rem}.vitals-strip .trk-val{font-family:var(--font-display);font-weight:700;font-size:1.3rem}.vitals-strip .trk-val em{font-style:normal;color:var(--text-dim);font-weight:400;font-size:1rem}.vitals-strip .vs-down{margin:0;color:var(--bad);font-weight:700}.vitals-strip .vs-conditions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.vitals-strip .vs-condition{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .5rem;font-size:.9rem}.vitals-strip .vs-cond-name{color:#e0b06a}.vitals-strip .vs-cond-note{color:var(--text-dim);overflow-wrap:anywhere}.trk-val--tap{background:none;border:1px dashed transparent;border-radius:6px;padding:.1rem .3rem;color:inherit;font:inherit;font-family:var(--font-display);font-weight:700;cursor:text;min-height:36px}.trk-val--tap:hover,.trk-val--tap:focus-visible{border-color:var(--border);background:#8b5cf624}@media(hover:none){.trk-val--tap{border-color:var(--border)}}.amount-edit input{width:6.5rem}.amount-hint{flex-basis:100%;font-size:.72rem;line-height:1.25;color:var(--text-dim)}.num-edit-caption{font-size:.72rem;color:var(--text-dim);margin-right:.2rem}.sg-box .box-edit--worded{font-size:.68rem;letter-spacing:.04em;text-transform:none}.sg-gear-desc,.sg-cond-note{display:block;font-size:.75rem;color:var(--text-dim);font-weight:400;overflow-wrap:anywhere}.sg-has-desc>.stat-key,.sg-has-desc .text-field-head>.stat-key{cursor:help}.sg-desc{margin:.3rem 0 0;font-size:.8rem;line-height:1.35;color:var(--text-dim);white-space:normal;text-transform:none;letter-spacing:0}@media(hover:none){.sg-has-desc>.stat-key:after,.sg-has-desc .text-field-head>.stat-key:after{content:" ⓘ";order:1;color:var(--text-dim);letter-spacing:0}}.bell{position:relative}.bell-btn{position:relative;padding:.45rem .6rem;font-size:1rem}.bell-btn--on{background:#c9a45c24;border-radius:6px}.bell-count{position:absolute;top:-.2rem;right:-.25rem;min-width:1.15rem;height:1.15rem;padding:0 .25rem;border-radius:999px;background:var(--gold);color:var(--bg);font-size:.7rem;font-weight:700;line-height:1.15rem;text-align:center;box-sizing:border-box}.bell-panel{position:absolute;right:0;top:calc(100% + .35rem);z-index:70;width:min(26rem,100vw - 2rem);max-height:70vh;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:.7rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);box-shadow:0 8px 24px #00000073}.bell-head{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;font-size:.9rem}.bell-head strong{color:var(--gold)}.bell-head .link-btn.on{text-decoration:underline}.bell-chips{display:flex;flex-wrap:wrap;gap:.3rem}.bell-kinds{display:flex;flex-direction:column;gap:.25rem;font-size:.88rem}.bell-kind{display:flex;align-items:center;gap:.4rem;cursor:pointer}.bell-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.bell-line{display:flex;align-items:flex-start;gap:.3rem;border-bottom:1px solid var(--border)}.bell-line:last-child{border-bottom:0}.bell-go{flex:1;min-width:0;display:flex;gap:.5rem;text-align:left;background:none;border:0;color:var(--text-dim);font:inherit;font-size:.88rem;padding:.5rem .3rem;cursor:pointer;border-radius:6px}.bell-go:hover,.bell-go:focus-visible{background:#ffffff0f}.bell-line--unread .bell-go{color:var(--text)}.bell-icon{flex:0 0 1.3rem}.bell-text{min-width:0;overflow-wrap:anywhere}.bell-when{color:var(--text-dim)}.bell-mark{background:none;border:0;color:var(--gold);cursor:pointer;padding:.55rem .35rem;font-size:.7rem}.bell-line:not(.bell-line--unread) .bell-mark{color:var(--text-dim)}.bell-older{align-self:center}@media(max-width:640px){.bell{position:static}.bell-panel{position:fixed;left:.6rem;right:.6rem;top:3.2rem;width:auto;max-height:75vh}}.self-banner{border-color:#c9a45c80}.report-foot{text-align:center;padding:1.2rem 1rem 1.6rem;font-size:.82rem;color:var(--text-dim)}.report-foot .link-btn{font-size:inherit}.report-foot .report-hide{color:var(--text-dim)}.report-line{font-size:.88rem;color:var(--text-dim);margin-top:.8rem}.spell-fx-lines{margin:.2rem 0 .3rem;padding-left:1.1rem}.spell-fx-lines li{margin:.15rem 0}.spell-fx-editor{margin-top:.8rem}.spell-fx-editor .spell-fx-row{border-top:1px solid var(--border);padding:.45rem 0}.spell-fx-editor .spell-fx-now{flex-wrap:wrap;gap:.35rem}.spell-fx-editor .spell-fx-amount{width:6.5rem}.spell-fx-editor .spell-fx-held .editor-line{flex-wrap:wrap;gap:.35rem}.spell-fx-editor .spell-fx-tag{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}.spell-fx-editor .spell-fx-says{margin:.25rem 0 0}.cast-target{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.4rem 0}.chip-btn{min-height:36px;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--border);background:none;color:inherit;font:inherit;font-size:.9rem;cursor:pointer}.chip-btn--on{border-color:var(--gold);color:var(--gold);background:#c9a45c1f}.cast-applied{margin:.3rem 0 0;padding-left:1.1rem;font-size:.9rem}.cast-applied li{margin:.1rem 0;overflow-wrap:anywhere}.spell-marks{display:flex;flex-direction:column;gap:.2rem}.spell-mark{margin:0;display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.25rem .5rem;border-radius:6px;font-size:.85rem;overflow-wrap:anywhere}.spell-mark--up{background:#46a75829;border:1px solid var(--success)}.spell-mark--up strong{color:var(--ok)}.spell-mark--down{background:#e5484d24;border:1px solid var(--danger)}.spell-mark--down strong{color:var(--bad)}.vitals-strip .vs-cell--marked{outline:2px solid var(--success);outline-offset:3px;border-radius:6px}.sg-box--spellmarked{box-shadow:0 0 0 2px var(--success) inset}.held-on{display:block;font-size:.72rem;line-height:1.25;color:#e0b06a;overflow-wrap:anywhere;text-transform:none;letter-spacing:0}.vs-cond-what,.sg-cond-what{color:var(--text);font-size:.8rem;overflow-wrap:anywhere}.insp-rest{border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .6rem;margin:.4rem 0}.insp-rest legend{font-size:.82rem;padding:0 .3rem}.insp-rest .insp-rest-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.25rem 0}.insp-rest .insp-rest-row label{display:flex;align-items:center;gap:.4rem;flex:1 1 12rem;font-size:.82rem}.insp-rest .insp-rest-row label span{min-width:6.5rem}.insp-rest .insp-rest-row label select{flex:1}.insp-rest .insp-rest-row input{width:5rem}.rest-ask-lines{margin:.3rem 0 .8rem 1.2rem}.rest-ask-lines li{margin:.2rem 0;font-size:1.05rem}.rest-ask-lead{margin:0;color:var(--text-dim)}.rest-ask-skip{display:flex;align-items:center;gap:.5rem;min-height:44px}.use-fields{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.use-fields input{width:7rem}.use-fields select{flex:1 1 8rem}.use-fields .formula-err{flex-basis:100%}.item-use-line{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0;font-size:.9rem}.item-use-edit{margin:.4rem 0;display:flex;flex-direction:column;gap:.4rem}.inv-detail-use{margin:.4rem 0;font-size:.9rem;color:var(--gold)}.item-used{margin:.4rem 0;padding:.4rem .6rem;border-radius:var(--radius);border:1px solid var(--ok);color:var(--ok)}.item-uses-room{display:flex;flex-direction:column;gap:.6rem;max-width:40rem}.item-uses-list{list-style:none;margin:0;padding:0}.item-uses-list li{border-bottom:1px solid var(--border);padding:.4rem 0}.item-use-new{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.item-use-new input#use-new-name{width:100%;max-width:20rem}.remains-row{flex-wrap:wrap}.remains-actions{flex-wrap:wrap;flex-shrink:1;margin-left:auto}.remains-qty{width:4.5rem;min-height:36px}.remains-photo{align-self:flex-start;font-size:.8rem;margin-top:.15rem}.remains-card{padding:.5rem 0;border-bottom:1px dashed var(--border)}.remains-card:last-child{border-bottom:none}.remains-card .inv-list{margin-top:.5rem}.remains-to{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.4rem}.remains-to select{flex:1 1 10rem;min-width:0;min-height:36px}.remains-discard{margin-top:.5rem}
