.theme-sheet-preview{position:relative;display:grid;gap:.8rem;padding:1rem;overflow:hidden;border:2px solid var(--theme-primary);border-radius:3px;background:var(--theme-page);color:var(--theme-text)}.theme-sheet-preview:before{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid var(--theme-border);content:"";pointer-events:none}.theme-sheet-preview__header,.theme-sheet-preview__body,.theme-sheet-preview__helper{position:relative}.theme-sheet-preview__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.65rem;border-bottom:2px solid var(--theme-primary)}.theme-sheet-preview__header h3,.theme-sheet-preview__header p,.theme-sheet-section h4,.theme-sheet-section p{margin:0}.theme-sheet-preview__header h3{font-size:1.25rem;color:var(--theme-text)}.theme-sheet-preview__header p,.theme-sheet-preview__eyebrow{color:var(--theme-muted-text)}.theme-sheet-preview__eyebrow{margin:0 0 .2rem;font-size:.72rem;text-transform:uppercase}.theme-sheet-preview__mark{display:grid;place-items:center;width:2.8rem;aspect-ratio:1;border:2px solid var(--theme-accent);color:var(--theme-accent);font-family:ui-monospace,monospace;font-weight:700}.theme-sheet-preview__body{display:grid;gap:.55rem}.theme-sheet-preview--columns-1 .theme-sheet-preview__body{grid-template-columns:minmax(0,1fr)}.theme-sheet-preview--columns-2 .theme-sheet-preview__body{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-sheet-preview--columns-3 .theme-sheet-preview__body{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-sheet-section{min-width:0;padding:.55rem;border:1px solid var(--theme-border);background:var(--theme-surface)}.theme-sheet-section h4{margin-bottom:.35rem;color:var(--theme-primary);font-size:.78rem;text-transform:uppercase}.theme-sheet-section ul{margin:0;padding-left:1rem}.theme-sheet-section li,.theme-sheet-section p,.theme-sheet-section dd{color:var(--theme-text);font-size:.82rem}.sheet-identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0}.sheet-identity-grid dt,.sheet-stat-grid strong{color:var(--theme-muted-text);font-size:.66rem;text-transform:uppercase}.sheet-identity-grid dd{margin:0;overflow-wrap:anywhere}.sheet-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem}.sheet-stat-grid div{display:grid;justify-items:center;padding:.25rem .1rem;border-bottom:2px solid var(--theme-accent)}.sheet-stat-grid span{color:var(--theme-text);font-weight:700}.theme-sheet-preview__helper{display:grid;gap:.2rem;padding:.6rem .75rem;border-left:4px solid var(--theme-accent);background:var(--theme-surface);color:var(--theme-text);font-size:.82rem}.theme-sheet-preview--compact .theme-sheet-section{padding:.38rem}.theme-sheet-preview--spacious .theme-sheet-section{padding:.75rem}.theme-sheet-preview--serif{font-family:Georgia,Times New Roman,serif}.theme-sheet-preview--sans{font-family:Trebuchet MS,Verdana,sans-serif}.theme-sheet-preview--mono{font-family:Courier New,monospace}.theme-sheet-preview--field-rule .theme-sheet-preview__header{border-bottom-style:double}.theme-sheet-preview--engraved-frame{box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--theme-border) 25%,transparent)}.theme-sheet-preview--ruled-ledger .theme-sheet-section{border-left-width:3px}.theme-sheet-preview--technical-grid .theme-sheet-preview__body{background-image:repeating-linear-gradient(0deg,transparent 0 14px,color-mix(in srgb,var(--theme-border) 12%,transparent) 14px 15px)}.theme-sheet-preview--atlas-lines .theme-sheet-section{border-top-width:3px}.theme-sheet-preview--hero-band .theme-sheet-preview__header{border-bottom-width:5px}.theme-sheet-preview--folio-corners{border-radius:12px 2px}.theme-sheet-preview--plain-lines .theme-sheet-section{border-style:dashed}.theme-sheet-preview--stamp-marks .theme-sheet-preview__mark{transform:rotate(-4deg);border-style:double}.theme-sheet-preview--bestiary-tabs .theme-sheet-section h4{border-bottom:1px solid var(--theme-accent)}.theme-sheet-preview--battle-grid .theme-sheet-preview__body{background-image:repeating-linear-gradient(90deg,transparent 0 18px,color-mix(in srgb,var(--theme-border) 10%,transparent) 18px 19px)}.theme-sheet-preview--road-marks .theme-sheet-section{border-radius:10px 2px}.theme-sheet-preview--archive-frame:before{top:9px;right:9px;bottom:9px;left:9px;border-style:double}.theme-sheet-preview--terminal-lines{font-variant-numeric:tabular-nums}.theme-sheet-preview--terminal-lines .theme-sheet-section{border-style:dashed}.theme-sheet-preview--sector-grid .theme-sheet-preview__body{grid-auto-flow:dense}.theme-sheet-preview--telemetry .theme-sheet-section{border-radius:12px}.theme-sheet-preview--leafwork .theme-sheet-preview__header{border-bottom-style:dotted}@media (max-width: 620px){.theme-sheet-preview--columns-2 .theme-sheet-preview__body,.theme-sheet-preview--columns-3 .theme-sheet-preview__body{grid-template-columns:minmax(0,1fr)}}.rbac-page{display:grid;gap:1.5rem;color:var(--theme-text)}.rbac-header h1{margin:0;color:var(--theme-text)}.rbac-header p{margin:.5rem 0 0;color:var(--theme-muted-text)}.account-entry-link,.account-back-link{color:var(--theme-primary);font-weight:600;text-decoration-thickness:1px;text-underline-offset:3px}.account-registration{display:grid;width:min(100%,34rem);gap:1rem;margin:0 auto;color:var(--theme-text)}.account-registration-panel{display:grid;gap:1rem;min-width:0;padding:clamp(1rem,4vw,2rem);border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-surface)}.account-registration-panel h1,.account-registration-panel p{margin:0}.account-eyebrow{color:var(--theme-accent)!important;font-size:.8rem;font-weight:700;text-transform:uppercase}.account-intro{color:var(--theme-muted-text)}.account-registration-form{display:grid;gap:.6rem}.account-registration-form>label,.account-role-options legend{color:var(--theme-text);font-weight:600}.account-registration-form input:not([type=radio]){box-sizing:border-box;width:100%;min-width:0;min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text)}.account-registration-form input:focus-visible,.account-registration-form button:focus-visible,.account-entry-link:focus-visible,.account-back-link:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.account-registration-form small{margin-bottom:.45rem;color:var(--theme-muted-text)}.account-password-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.account-password-toggle{border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);padding:.4rem .7rem}.account-role-options{display:grid;gap:.65rem;margin:.5rem 0;padding:.85rem;border:1px solid var(--theme-border);border-radius:4px}.account-role-options label{display:flex;align-items:center;gap:.55rem;min-height:2.5rem}.account-form-error{color:var(--theme-danger)!important;font-weight:600}.account-primary-action{min-height:2.75rem;border:1px solid var(--theme-primary);border-radius:4px;background:var(--theme-primary);color:var(--theme-page);font-weight:700;padding:.65rem .9rem}.account-primary-action:disabled{cursor:wait;opacity:.7}.account-social-group{display:grid;gap:.5rem}.account-social-heading{margin:0;font-weight:600}.account-social-link{display:flex;align-items:center;justify-content:center;min-height:2.75rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-surface);color:var(--theme-text);font-weight:600;gap:.6rem;padding:.65rem .9rem;text-decoration:none}.account-social-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.account-social-link:focus-visible{outline:3px solid var(--theme-primary);outline-offset:2px}.account-divider{display:flex;align-items:center;gap:.75rem;margin:1rem 0;color:var(--theme-muted-text)}.account-divider:before,.account-divider:after{content:"";flex:1;border-top:1px solid var(--theme-border)}.rbac-panel{background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:4px;padding:1rem;display:grid;gap:.5rem;max-width:360px}.rbac-panel label{font-weight:600;color:var(--theme-text)}.rbac-panel select{border:1px solid var(--theme-border);border-radius:4px;padding:.55rem .7rem;font-size:1rem;background:var(--theme-page);color:var(--theme-text)}.rbac-actions{display:flex;flex-wrap:wrap;gap:.75rem}.rbac-actions button{border:1px solid var(--theme-border);border-radius:4px;padding:.65rem .95rem;background:var(--theme-primary);color:var(--theme-page);font-weight:600}.rbac-actions button:disabled{background:var(--theme-surface);color:var(--theme-muted-text);border-color:var(--theme-border)}.rbac-summary{margin:0;color:var(--theme-muted-text)}.route-page{display:grid;min-width:0;gap:.9rem;background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:4px;padding:1.25rem}.route-page h1{margin:0;color:var(--theme-text)}.route-page p{margin:0;color:var(--theme-muted-text)}.workspace-account-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0}.workspace-account-actions button{min-height:2.5rem;padding:.45rem .8rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);font-weight:600}.workspace-account-actions button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.workspace-account-actions button:disabled{opacity:.65}.session-renewal-action{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0;color:var(--theme-muted-text)}.session-renewal-action button{min-height:2.5rem;padding:.45rem .8rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);font-weight:600}.session-renewal-action button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.session-renewal-action button:disabled{opacity:.65}.profile-section{display:grid;gap:.75rem;min-width:0;padding-top:.9rem;border-top:1px solid var(--theme-border)}.profile-section h2,.profile-section p{margin:0}.profile-readonly-fields,.profile-readonly-fields div,.profile-saved-value,.profile-saved-value div,.profile-form{display:grid;gap:.5rem;min-width:0}.profile-readonly-fields{margin:0}.profile-readonly-fields dt,.profile-saved-value span,.profile-form label{color:var(--theme-muted-text);font-weight:600}.profile-readonly-fields dd{margin:0;color:var(--theme-text)}.profile-form input{box-sizing:border-box;width:min(100%,28rem);min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text)}.profile-form input:focus-visible,.profile-section button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.profile-form small{color:var(--theme-muted-text)}.profile-form-actions{display:flex;flex-wrap:wrap;gap:.6rem}.profile-section button{justify-self:start;min-height:2.5rem;padding:.45rem .8rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);font-weight:600}.profile-section button:disabled{opacity:.65}.account-preferences-section{display:grid;gap:.75rem;min-width:0;padding-top:.9rem;border-top:1px solid var(--theme-border)}.account-preferences-section h2,.account-preferences-section p{margin:0}.account-preferences-form,.account-preferences-saved,.account-preferences-saved dl,.account-preferences-saved dl div{display:grid;gap:.55rem;min-width:0}.account-preferences-saved dl{margin:0}.account-preferences-saved dt,.account-preferences-form>label:not(.account-preference-toggle){color:var(--theme-muted-text);font-weight:600}.account-preferences-saved dd{margin:0;overflow-wrap:anywhere;color:var(--theme-text)}.account-preferences-form select{box-sizing:border-box;width:min(100%,28rem);min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text)}.account-preferences-form select:focus-visible,.account-preferences-form input:focus-visible,.account-preferences-section button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.account-preference-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;min-height:2.75rem;color:var(--theme-text)}.account-preferences-form small{color:var(--theme-muted-text)}.account-preferences-preview{overflow-wrap:anywhere;color:var(--theme-muted-text)}.account-preferences-section button{justify-self:start;min-height:2.5rem;padding:.45rem .8rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);font-weight:600}.account-preferences-section button:disabled{opacity:.65}.campaign-switcher-section{display:grid;gap:.7rem;min-width:0;padding:.85rem 0;border-bottom:1px solid var(--theme-border)}.campaign-switcher-section h2,.campaign-switcher-section h3,.campaign-switcher-section p{margin:0}.campaign-switcher-section>label,.campaign-switcher-list p{color:var(--theme-muted-text)}.campaign-switcher-section input{box-sizing:border-box;width:min(100%,30rem);min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text)}.campaign-switcher-section input:focus-visible,.campaign-switcher-section button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.campaign-switcher-list{display:grid;gap:.55rem;max-width:46rem;padding:0;margin:0;list-style:none}.campaign-switcher-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;padding:.7rem 0;border-top:1px solid var(--theme-border)}.campaign-switcher-list li>div{display:grid;gap:.25rem;min-width:0}.campaign-switcher-list h3{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;overflow-wrap:anywhere;color:var(--theme-text);font-size:1rem}.campaign-current-label{padding:.1rem .4rem;border:1px solid var(--theme-border);border-radius:3px;color:var(--theme-muted-text);font-size:.75rem}.campaign-switcher-section button{min-height:2.5rem;padding:.4rem .75rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);font-weight:600}.campaign-switcher-section button:disabled{opacity:.65}.invitation-inbox-section{display:grid;gap:.7rem;min-width:0;padding:.85rem 0;border-bottom:1px solid var(--theme-border)}.invitation-inbox-section h2,.invitation-inbox-section h3,.invitation-inbox-section p{margin:0}.invitation-inbox-list{display:grid;gap:.65rem;max-width:52rem;padding:0;margin:0;list-style:none}.invitation-inbox-list>li{display:grid;gap:.75rem;min-width:0;padding:.8rem 0;border-top:1px solid var(--theme-border)}.invitation-summary,.invitation-summary dl,.invitation-summary dl div{display:grid;gap:.35rem;min-width:0}.invitation-summary h3{overflow-wrap:anywhere;color:var(--theme-text);font-size:1rem}.invitation-summary dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));margin:0}.invitation-summary dt{color:var(--theme-muted-text);font-size:.85rem}.invitation-summary dd{margin:0;overflow-wrap:anywhere;color:var(--theme-text)}.invitation-actions,.invitation-confirm-decline{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.invitation-inbox-section button{min-height:2.5rem;padding:.4rem .75rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);font-weight:600}.invitation-inbox-section button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.invitation-inbox-section button:disabled{opacity:.65}.membership-requests-section{display:grid;gap:.75rem;min-width:0;padding:.85rem 0;border-bottom:1px solid var(--theme-border)}.membership-requests-section h2,.membership-requests-section h3,.membership-requests-section p{margin:0}.membership-request-form,.membership-requests-section>section,.membership-request-list{display:grid;gap:.55rem;min-width:0}.membership-request-form{max-width:32rem}.membership-request-form label,.membership-requests-section>section>label{color:var(--theme-muted-text);font-weight:600}.membership-request-form input,.membership-requests-section select{box-sizing:border-box;width:min(100%,32rem);min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text)}.membership-requests-section button:focus-visible,.membership-request-form input:focus-visible,.membership-requests-section select:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.membership-request-form small,.membership-request-list small{color:var(--theme-muted-text)}.membership-request-list{max-width:52rem;padding:0;margin:0;list-style:none}.membership-request-list li{display:grid;grid-template-columns:minmax(8rem,1fr) auto;gap:.45rem .8rem;min-width:0;padding:.7rem 0;border-top:1px solid var(--theme-border)}.membership-request-list li>strong{overflow-wrap:anywhere;color:var(--theme-text)}.membership-request-list li>span{color:var(--theme-text);font-weight:600}.membership-request-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;grid-column:1 / -1}.membership-requests-section button{min-height:2.5rem;padding:.4rem .75rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);font-weight:600}.membership-requests-section button:disabled{opacity:.65}.account-data-lifecycle-section{display:grid;gap:.8rem;min-width:0;padding:.9rem 0;border-bottom:1px solid var(--theme-border)}.account-data-lifecycle-section h2,.account-data-lifecycle-section h3,.account-data-lifecycle-section p{margin:0}.account-data-lifecycle-section>section,.account-deletion-form,.account-deletion-pending{display:grid;gap:.6rem;min-width:0}.account-deletion-form{max-width:32rem}.account-deletion-form label{color:var(--theme-muted-text);font-weight:600}.account-deletion-form input{box-sizing:border-box;width:min(100%,32rem);min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text)}.account-deletion-form small{color:var(--theme-muted-text)}.account-data-lifecycle-section button{justify-self:start;min-height:2.5rem;padding:.4rem .75rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);font-weight:600}.account-data-lifecycle-section button:focus-visible,.account-deletion-form input:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.account-data-lifecycle-section button:disabled{opacity:.65}.password-change-section{display:grid;gap:.75rem;min-width:0;padding-top:.9rem;border-top:1px solid var(--theme-border)}.password-change-section h2,.password-change-section p{margin:0}.password-change-form{display:grid;gap:.55rem;min-width:0}.password-change-form label{color:var(--theme-text);font-weight:600}.password-change-form input{box-sizing:border-box;width:min(100%,28rem);min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text)}.password-change-form input:focus-visible,.password-change-section button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.password-change-form small{color:var(--theme-muted-text)}.password-visibility-toggle,.password-change-actions button,.password-change-section>button{justify-self:start;min-height:2.5rem;padding:.45rem .8rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);font-weight:600}.password-change-actions{display:flex;flex-wrap:wrap;gap:.6rem}.password-change-section button:disabled{opacity:.65}.active-sessions-section{display:grid;gap:.75rem;min-width:0;padding-top:.9rem;border-top:1px solid var(--theme-border)}.active-sessions-section h2,.active-sessions-section h3,.active-sessions-section p{margin:0}.active-sessions-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.active-sessions-list>li{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0;padding:.75rem 0;border-bottom:1px solid var(--theme-border)}.active-sessions-list h3{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;color:var(--theme-text);font-size:1rem}.active-sessions-list dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.45rem 1rem;margin:.55rem 0 0}.active-sessions-list dl div{min-width:0}.active-sessions-list dt{color:var(--theme-muted-text);font-size:.82rem;font-weight:600}.active-sessions-list dd{margin:.1rem 0 0;color:var(--theme-text);overflow-wrap:anywhere}.current-session-label{color:var(--theme-success);font-size:.82rem;font-weight:600}.active-sessions-section button{justify-self:start;min-height:2.5rem;padding:.45rem .8rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);font-weight:600}.active-sessions-section button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.active-sessions-section button:disabled{opacity:.65}.route-page a{justify-self:start;color:var(--theme-primary);font-weight:600}.route-error{color:var(--theme-danger);font-weight:600}.theme-panel{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-surface);color:var(--theme-text)}.theme-panel-heading,.theme-editor-actions,.theme-token-inputs{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.theme-panel-heading{justify-content:space-between}.theme-panel h2,.theme-panel p{margin:0}.theme-panel label,.theme-panel legend{color:var(--theme-text);font-weight:600}.theme-panel input:not([type=color]),.theme-panel select{min-height:2.5rem;padding:.45rem .6rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text)}.theme-panel input:focus-visible,.theme-panel select:focus-visible,.theme-panel button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.theme-panel small,.theme-valid{color:var(--theme-muted-text)}.theme-invalid{color:var(--theme-danger)}.theme-token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem;margin:0;padding:.75rem;border:1px solid var(--theme-border)}.theme-token-control,.theme-token-inputs{display:grid;gap:.4rem}.theme-token-inputs{grid-template-columns:2.75rem minmax(0,1fr)}.theme-token-inputs input[type=color]{width:2.75rem;height:2.5rem;padding:.15rem;border:1px solid var(--theme-border);background:var(--theme-page)}@media (max-width: 600px){.theme-panel-heading{align-items:flex-start}}.character-panel{box-sizing:border-box;display:grid;width:100%;min-width:0;gap:.6rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-surface);padding:1rem}.character-panel h2{margin:0;font-size:1rem;color:var(--theme-text)}.character-panel label{font-weight:600;color:var(--theme-text)}.character-panel input,.character-panel textarea{border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text);padding:.45rem .55rem;font-size:.95rem}.character-panel textarea{resize:vertical}.personality-panel{display:grid;gap:.35rem;min-width:0}.personality-panel label{display:block;margin-top:.4rem}.personality-panel textarea{display:block;width:100%;box-sizing:border-box}.personality-panel small{display:block}.character-notes{white-space:pre-wrap}.ability-grid{display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr))}.ability-assignment{display:grid;gap:.65rem;min-width:0}.ability-score-modes{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ability-score-modes button,.ability-assignment .ability-grid select{min-height:2.7rem;padding:.45rem .7rem;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-page);color:var(--theme-text)}.ability-score-modes button[aria-pressed=true]{border-color:var(--theme-focus);font-weight:700}.ability-score-modes .ability-reset{margin-left:auto;color:var(--theme-muted-text)}.ability-score-modes button:focus-visible,.ability-assignment .ability-grid select:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.character-actions{display:flex;flex-wrap:wrap;gap:.5rem}.character-actions button{border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-primary);color:var(--theme-page);font-weight:600;padding:.55rem .7rem}.character-actions button:disabled{background:var(--theme-surface);color:var(--theme-muted-text);border-color:var(--theme-border)}.character-meta{color:var(--theme-muted-text);font-size:.92rem}.character-feedback{color:var(--theme-success);font-weight:600}.character-review{display:grid;min-width:0;gap:1rem}.character-review section{border-block-start:1px solid var(--theme-border);padding-block-start:.75rem}.theme-character-sheet{--character-sheet-columns: 2;position:relative;display:grid;width:100%;min-width:0;box-sizing:border-box;grid-template-columns:repeat(var(--character-sheet-columns),minmax(0,1fr));align-items:start;gap:.75rem;padding:1rem;overflow:hidden;border:2px solid var(--theme-primary);border-radius:3px;background:var(--theme-page);color:var(--theme-text)}.theme-character-sheet:before{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid var(--theme-border);content:"";pointer-events:none}.theme-character-sheet__identity,.theme-character-sheet__block{position:relative;min-width:0;padding:.65rem;border:1px solid var(--theme-border);background:var(--theme-surface)}.theme-character-sheet__identity{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:1rem;order:-1;padding:.75rem;border:2px solid var(--theme-primary);border-radius:2px 12px}.theme-character-sheet__identity h3,.theme-character-sheet__identity p,.theme-character-sheet__block h4,.theme-character-sheet__block p,.theme-character-sheet__block ul,.theme-character-sheet__block dl{margin:0}.theme-character-sheet__identity h3,.theme-character-sheet__identity p,.theme-character-sheet__block p,.theme-character-sheet__block li,.theme-character-sheet__block dd{color:var(--theme-text)}.theme-character-sheet__eyebrow{color:var(--theme-muted-text)!important;font-size:.72rem;text-transform:uppercase}.theme-character-sheet__mark{display:grid;flex:0 0 auto;width:2.6rem;aspect-ratio:1;place-items:center;border:2px solid var(--theme-accent);color:var(--theme-accent);font-family:ui-monospace,monospace;font-weight:700}.theme-character-sheet__block h4{margin-bottom:.45rem;color:var(--theme-primary);font-size:.82rem;text-transform:uppercase}.theme-character-sheet__block dl{display:grid;gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr))}.theme-character-sheet__block dl div{display:grid;grid-template-columns:minmax(6rem,auto) 1fr;gap:.45rem}.theme-character-sheet__block dt{color:var(--theme-muted-text);font-weight:600}.theme-character-sheet__block dd{margin:0}.theme-character-sheet--compact .theme-character-sheet__block,.theme-character-sheet--compact .theme-character-sheet__identity{padding:.4rem}.theme-character-sheet--spacious .theme-character-sheet__block,.theme-character-sheet--spacious .theme-character-sheet__identity{padding:.85rem}.theme-character-sheet--serif{font-family:Georgia,Times New Roman,serif}.theme-character-sheet--sans{font-family:Trebuchet MS,Verdana,sans-serif}.theme-character-sheet--mono{font-family:Courier New,monospace}.theme-character-sheet--field-rule .theme-character-sheet__identity{border-bottom-style:double}.theme-character-sheet--engraved-frame{box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--theme-border) 25%,transparent)}.theme-character-sheet--ruled-ledger .theme-character-sheet__block{border-left-width:3px}.theme-character-sheet--technical-grid:before{background-image:repeating-linear-gradient(0deg,transparent 0 14px,color-mix(in srgb,var(--theme-border) 12%,transparent) 14px 15px)}.theme-character-sheet--atlas-lines .theme-character-sheet__block{border-top-width:3px}.theme-character-sheet--hero-band .theme-character-sheet__identity{border-bottom-width:5px}.theme-character-sheet--folio-corners{border-radius:12px 2px}.theme-character-sheet--plain-lines .theme-character-sheet__block{border-style:dashed}.theme-character-sheet--stamp-marks .theme-character-sheet__mark{transform:rotate(-4deg);border-style:double}.theme-character-sheet--bestiary-tabs .theme-character-sheet__block h4{border-bottom:1px solid var(--theme-accent)}.theme-character-sheet--battle-grid:before{background-image:repeating-linear-gradient(90deg,transparent 0 18px,color-mix(in srgb,var(--theme-border) 10%,transparent) 18px 19px)}.theme-character-sheet--road-marks .theme-character-sheet__block{border-radius:10px 2px}.theme-character-sheet--archive-frame:before{top:9px;right:9px;bottom:9px;left:9px;border-style:double}.theme-character-sheet--terminal-lines .theme-character-sheet__block{border-style:dashed}.theme-character-sheet--telemetry .theme-character-sheet__block{border-radius:12px}.theme-character-sheet--leafwork .theme-character-sheet__identity{border-bottom-style:dotted}@media (max-width: 700px){.theme-character-sheet{grid-template-columns:minmax(0,1fr)}}.character-review h3,.character-review h4,.character-review h5,.character-review p,.character-review ul,.character-review dl{margin:0}.character-review dl{display:grid;gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr))}.character-review dl div{display:grid;grid-template-columns:minmax(7rem,auto) 1fr;gap:.5rem}.character-review dt{font-weight:600}.character-review dd{margin:0}.identity-grid{display:grid;gap:.45rem}.identity-grid select{border:1px solid var(--theme-border);border-radius:4px;padding:.45rem .55rem;font-size:.95rem;background:var(--theme-page);color:var(--theme-text)}.account-registration-panel,.character-panel,.theme-panel,.rbac-panel,.proficiency-panel,.inventory-panel,.spell-group{border-radius:var(--ttrpg-card-radius);box-shadow:var(--ttrpg-card-frame),var(--ttrpg-card-shadow)}.account-registration-panel h1,.account-preferences-section h2,.profile-section h2,.campaign-switcher-section h2,.campaign-switcher-section h3,.invitation-inbox-section h2,.invitation-inbox-section h3,.membership-requests-section h2,.membership-requests-section h3,.account-data-lifecycle-section h2,.account-data-lifecycle-section h3,.password-change-section h2,.active-sessions-section h2,.active-sessions-section h3,.theme-panel h2,.character-panel h2,.proficiency-panel h3,.spell-panel h3{font-family:var(--ttrpg-heading-font);letter-spacing:.02em}.proficiency-panel{display:grid;gap:.5rem;border:1px solid var(--theme-border);border-radius:var(--ttrpg-card-radius);background:var(--theme-surface);padding:.85rem}.proficiency-panel h3,.proficiency-panel h4,.proficiency-panel ul{margin:0}.spell-panel{display:grid;gap:12px;margin-block:16px}.spell-panel h3,.spell-panel p{margin:0}.spell-group{display:grid;gap:8px;border:1px solid var(--theme-border);border-radius:var(--ttrpg-card-radius);padding:12px}.spell-choice{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:8px;align-items:start}.spell-choice span:last-child{grid-column:2 / -1}.inventory-panel{display:grid;gap:10px;min-width:0;border:1px solid var(--theme-border);padding:12px}.inventory-item-editor{display:grid;grid-template-columns:minmax(0,1fr) 8rem auto auto;gap:8px;align-items:end;min-width:0;border-bottom:1px solid var(--theme-border);padding-block:8px}.inventory-item-editor label{display:grid;gap:4px;min-width:0}.proficiency-columns{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.theme-character-sheet table{width:100%;border-collapse:collapse}.theme-character-sheet th,.theme-character-sheet td{overflow-wrap:anywhere;padding:.2rem}@media (max-width: 700px){.inventory-item-editor{grid-template-columns:minmax(0,1fr)}.character-panel,.character-review,.theme-character-sheet{width:100%;min-width:0;box-sizing:border-box}.theme-character-sheet{grid-template-columns:minmax(0,1fr);gap:.5rem;padding:.65rem}.theme-character-sheet dl{grid-template-columns:minmax(0,1fr)}.theme-character-sheet__block dl div{grid-template-columns:minmax(0,1fr) auto;gap:.4rem;min-width:0;padding-block:.2rem;border-bottom:1px solid color-mix(in srgb,var(--theme-border) 55%,transparent)}.theme-character-sheet__block dt,.theme-character-sheet__block dd{min-width:0;overflow-wrap:anywhere}.theme-character-sheet--mono .theme-character-sheet__block dl div{grid-template-columns:minmax(0,1fr)}.theme-character-sheet--mono .theme-character-sheet__block dd{text-align:left}.theme-character-sheet table{font-size:.82rem;table-layout:fixed}.theme-character-sheet th,.theme-character-sheet td{padding:.15rem}.theme-character-sheet table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.theme-character-sheet table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .5rem;padding-block:.3rem;border-bottom:1px solid var(--theme-border)}.theme-character-sheet table th[scope=row]{grid-column:1 / -1;text-align:left}.theme-character-sheet table td:last-child{grid-column:1 / -1;text-align:left}}.bluefox-icon{display:inline-flex;flex-shrink:0;width:var(--bluefox-icon-size, 24px);height:var(--bluefox-icon-size, 24px);color:inherit;line-height:0}.bluefox-icon svg{width:100%;height:100%;display:block}.ttrpg-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ttrpg-heading{margin:0 0 8px;font-family:var(--ttrpg-heading-font);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-primary)}.ttrpg-block{position:relative;padding:16px;border-radius:var(--ttrpg-card-radius);background:var(--theme-surface);color:var(--theme-text);box-shadow:var(--ttrpg-card-frame),var(--ttrpg-card-shadow)}.ttrpg-paper{--ttrpg-paper-rivet: color-mix(in srgb, var(--theme-primary) 70%, transparent);position:relative;padding:16px 18px;border-radius:4px;color:var(--theme-text);background:radial-gradient(circle,var(--ttrpg-paper-rivet) 0 2px,transparent 2.5px) left 8px top 8px / 12px 12px no-repeat,radial-gradient(circle,var(--ttrpg-paper-rivet) 0 2px,transparent 2.5px) right 8px top 8px / 12px 12px no-repeat,radial-gradient(circle,var(--ttrpg-paper-rivet) 0 2px,transparent 2.5px) left 8px bottom 8px / 12px 12px no-repeat,radial-gradient(circle,var(--ttrpg-paper-rivet) 0 2px,transparent 2.5px) right 8px bottom 8px / 12px 12px no-repeat,linear-gradient(180deg,color-mix(in srgb,var(--theme-primary) 14%,transparent),transparent 45%),color-mix(in srgb,var(--theme-text) 6%,var(--theme-surface));outline:1px dashed color-mix(in srgb,var(--theme-primary) 55%,transparent);outline-offset:-7px;box-shadow:var(--ttrpg-card-shadow)}.ttrpg-paper__title{margin:0 0 6px;font-family:var(--ttrpg-heading-font);font-weight:700}.ttrpg-scroll{display:inline-flex;align-items:stretch;max-width:100%;filter:drop-shadow(0 3px 0 color-mix(in srgb,var(--theme-page) 70%,transparent))}.ttrpg-scroll__roll{flex:0 0 14px;margin:-4px 0;border-radius:7px;background:linear-gradient(to right,color-mix(in srgb,var(--theme-primary) 55%,var(--theme-page)),color-mix(in srgb,var(--theme-primary) 75%,var(--theme-text)) 35%,var(--theme-primary) 60%,color-mix(in srgb,var(--theme-primary) 55%,var(--theme-page)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-page) 45%,transparent)}.ttrpg-ribbon{display:inline-flex;align-items:center;min-height:2.5rem;margin:0;padding:8px 20px;background:var(--theme-primary);color:var(--theme-page);font-family:var(--ttrpg-heading-font);font-weight:700}.ttrpg-shield,.ttrpg-octagon{padding:3px;background:var(--theme-primary)}.ttrpg-shield{width:var(--ttrpg-shield-width, 120px);clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%)}.ttrpg-octagon{width:var(--ttrpg-octagon-width, 120px);clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}.ttrpg-shield__face,.ttrpg-octagon__face{display:grid;gap:2px;margin:0;padding:12px 8px;background:var(--theme-surface);color:var(--theme-text);text-align:center}.ttrpg-shield__face{clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%);padding-bottom:20px}.ttrpg-octagon__face{clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}.ttrpg-stat__label,.ttrpg-stat__value{margin:0}.ttrpg-stat__label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-muted-text)}.ttrpg-stat__value{font-family:var(--ttrpg-heading-font);font-size:1.75rem;font-weight:700;line-height:1.1}.ttrpg-hex{display:inline-grid;place-items:center;width:56px;height:56px;background:var(--theme-primary);color:var(--theme-page);font-family:var(--ttrpg-heading-font);font-size:1.25rem;font-weight:700;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.ttrpg-slots{display:grid;gap:6px}.ttrpg-slots__track{display:flex;flex-wrap:wrap;gap:6px}.ttrpg-slots__pill{width:28px;height:14px;border:2px solid var(--theme-primary);border-radius:999px;background:transparent}.ttrpg-slots__pill--used{background:var(--theme-primary)}.ttrpg-slots__count{font-size:.85rem;color:var(--theme-muted-text)}.ttrpg-check{display:inline-flex;align-items:center;gap:8px;min-height:24px;cursor:pointer}.ttrpg-check--disabled{cursor:not-allowed;opacity:.5}.ttrpg-check__circle{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:20px;height:20px;border:2px solid var(--theme-border);border-radius:50%;background:transparent}.ttrpg-check__circle:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--theme-page);transform:scale(0);transition:transform .12s ease}.ttrpg-check__input:checked+.ttrpg-check__circle{border-color:var(--theme-primary);background:var(--theme-primary)}.ttrpg-check__input:checked+.ttrpg-check__circle:after{transform:scale(1)}.ttrpg-check__input:focus-visible+.ttrpg-check__circle{outline:3px solid var(--theme-focus);outline-offset:2px}@media (prefers-reduced-motion: reduce){.ttrpg-check__circle:after{transition:none}}.ttrpg-ruled{--ttrpg-ruled-line: 28px;min-height:calc(var(--ttrpg-ruled-lines, 4) * var(--ttrpg-ruled-line));padding:0 4px;line-height:var(--ttrpg-ruled-line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--ttrpg-ruled-line) - 1px),color-mix(in srgb,var(--theme-border) 60%,transparent) calc(var(--ttrpg-ruled-line) - 1px),color-mix(in srgb,var(--theme-border) 60%,transparent) var(--ttrpg-ruled-line));background-attachment:local}.ttrpg-stat-row{display:flex;flex-wrap:wrap;gap:.75rem}.asset-studio{display:grid;gap:1.25rem;color:var(--theme-text)}.asset-studio-header{display:grid;gap:.4rem}.asset-studio-header h1{margin:0;line-height:1.15}.asset-studio-eyebrow{margin:0;color:var(--theme-primary);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.asset-studio-lede{margin:0;max-width:62ch;color:var(--theme-muted-text)}.asset-studio-layout{display:grid;gap:1.25rem;align-items:start}@media (min-width: 768px){.asset-studio-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,24rem)}}.asset-studio-panel{display:grid;gap:1rem;min-width:0}.asset-studio-search{display:grid;gap:.35rem}.asset-studio-search label{font-weight:600}.asset-studio-search input{min-height:44px;padding:.5rem .75rem;border:1px solid var(--theme-border);border-radius:.5rem;background:var(--theme-page);color:var(--theme-text);font:inherit}.asset-studio-search input:focus-visible,.asset-studio-tile:focus-visible,.asset-studio-option:focus-visible,.asset-studio-action:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.asset-studio-grid{display:grid;gap:.5rem;margin:0;padding:0;list-style:none;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}.asset-studio-tile{display:grid;justify-items:center;gap:.4rem;width:100%;min-height:44px;padding:.75rem .5rem;border:1px solid var(--theme-border);border-radius:.5rem;background:var(--theme-surface);color:var(--theme-text);font:inherit;font-size:.85rem;cursor:pointer}.asset-studio-tile[aria-pressed=true]{border:2px solid var(--theme-primary);background:var(--theme-page);color:var(--theme-primary);font-weight:700}.asset-studio-tile-name{text-align:center;overflow-wrap:anywhere}.asset-studio-empty,.asset-studio-hint{margin:0;color:var(--theme-muted-text)}.asset-studio-selected-name{margin:0}.asset-studio-preview{display:grid;place-items:center;min-height:9rem;border:1px dashed var(--theme-border);border-radius:.5rem;overflow:hidden}.asset-studio-preview--primary{color:var(--theme-primary)}.asset-studio-preview--accent{color:var(--theme-accent)}.asset-studio-preview--text{color:var(--theme-text)}.asset-studio-preview--ink{color:var(--theme-page)}.asset-studio-preview--transparent{background:transparent}.asset-studio-preview--light{background:var(--theme-text)}.asset-studio-preview--dark{background:var(--theme-page)}.asset-studio-field{display:grid;gap:.4rem;margin:0;padding:0;border:0;min-width:0}.asset-studio-field legend{padding:0;margin-bottom:.35rem;font-weight:600}.asset-studio-options{display:flex;flex-wrap:wrap;gap:.4rem}.asset-studio-option{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.35rem .75rem;border:1px solid var(--theme-border);border-radius:999px;background:var(--theme-page);color:var(--theme-text);font:inherit;cursor:pointer}.asset-studio-option[aria-pressed=true]{border:2px solid var(--theme-primary);color:var(--theme-primary);font-weight:700}.asset-studio-swatch{width:.9rem;height:.9rem;border:1px solid var(--theme-border);border-radius:50%}.asset-studio-metadata{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.35rem .75rem;margin:0}.asset-studio-metadata dt{color:var(--theme-muted-text)}.asset-studio-metadata dd{margin:0;overflow-wrap:anywhere}.asset-studio-metadata code{font-size:.85rem}.asset-studio-actions{display:flex;flex-wrap:wrap;gap:.5rem}.asset-studio-action{min-height:44px;padding:.5rem 1rem;border:1px solid var(--theme-border);border-radius:.5rem;background:var(--theme-page);color:var(--theme-text);font:inherit;font-weight:600;cursor:pointer}.asset-studio-action--primary{border-color:var(--theme-primary);background:var(--theme-primary);color:var(--theme-page)}.asset-studio-status{min-height:1.5rem;margin:0}.asset-studio-status--success{color:var(--theme-success)}.asset-studio-status--error{color:var(--theme-danger)}.landing{display:grid;gap:1.25rem;color:var(--theme-text)}.landing-hero{display:grid;gap:.5rem;padding:.5rem}.landing-logo{width:72px;height:72px;display:block}.landing-eyebrow{margin:0;color:var(--theme-primary);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.landing-hero h1{margin:0;max-width:22ch;color:var(--theme-text);line-height:1.15}.landing-lede{margin:0;max-width:60ch;color:var(--theme-muted-text);font-size:1.1rem}.landing-actions{display:flex;flex-wrap:wrap;gap:.75rem}.landing-button{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1.25rem;border:1px solid var(--theme-border);border-radius:.5rem;color:var(--theme-text);font-weight:600;text-decoration:none}.landing-button--primary{border-color:var(--theme-primary);background:var(--theme-primary);color:var(--theme-page)}.landing-button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.landing-feature-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.landing-feature h3{margin:0 0 .25rem;font-family:var(--ttrpg-heading-font);font-size:1.05rem;letter-spacing:.02em}.landing-feature p{margin:0}.landing-features{display:grid;gap:.75rem}.landing-footnote{margin:.5rem 0 0}.landing-feature-heading{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;padding-bottom:.4rem;border-bottom:1px solid color-mix(in srgb,var(--theme-primary) 35%,transparent)}.landing-feature-heading .bluefox-icon{color:var(--theme-primary);flex-shrink:0}.workspace-grid{display:grid;gap:1.5rem;align-items:start}.workspace-aside{display:grid;gap:1rem;align-content:start;min-width:0}.workspace-main{display:grid;gap:1.5rem;min-width:0}.workspace-links{display:grid;gap:.75rem}.workspace-links h2{display:flex;align-items:center;gap:.5rem;margin:0}.workspace-links h2 .bluefox-icon{color:var(--theme-primary);flex-shrink:0}.workspace-link-actions{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.workspace-link-actions a{color:var(--theme-primary);font-weight:600}@media (min-width: 60rem){.workspace-grid{grid-template-columns:minmax(16rem,20rem) minmax(0,1fr)}}@media print{body *{visibility:hidden}.character-sheet,.character-sheet *{visibility:visible}.character-sheet{position:absolute;top:0;left:0;width:100%;margin:0}}.section-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--theme-border)}.section-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .9rem;border-bottom:3px solid transparent;color:var(--theme-muted-text);text-decoration:none}.section-tabs a[aria-current=page]{border-bottom-color:var(--theme-primary);color:var(--theme-text);font-weight:600}.section-tabs a:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.app-shell-header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding:.25rem clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--theme-border);background:var(--theme-surface)}.app-shell-brand{display:inline-flex;align-items:center;color:var(--theme-text);font-weight:700;text-decoration:none}.app-shell-logo{display:block;height:5rem;width:auto}.app-shell-menu-toggle{display:none;min-height:44px;margin-left:auto;padding:.5rem 1rem;border:1px solid var(--theme-border);border-radius:.5rem;background:transparent;color:var(--theme-text);cursor:pointer}.app-shell-nav{display:flex;flex-wrap:wrap;gap:.25rem;margin-left:auto}.app-shell-nav a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .9rem;border-radius:.5rem;color:var(--theme-muted-text);text-decoration:none}.app-shell-nav a[aria-current=page]{background:var(--theme-primary);color:var(--theme-page);font-weight:600}.app-shell-nav a:hover{color:var(--theme-text)}.app-shell-menu-toggle:focus-visible,.app-shell-nav a:focus-visible,.app-shell-brand:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}.app-shell-content{max-width:860px;margin:0 auto;padding:clamp(1rem,3vw,2rem) clamp(1rem,4vw,2.5rem)}@media (max-width: 40rem){.app-shell-logo{height:4rem}.app-shell-menu-toggle{display:inline-flex;align-items:center}.app-shell-nav{flex-basis:100%;flex-direction:column;margin-left:0}.app-shell-nav[data-open=false]{display:none}}.app-shell-skip-link{position:absolute;top:.5rem;left:.5rem;z-index:10;padding:.5rem 1rem;border-radius:.5rem;background:var(--theme-surface);color:var(--theme-text);transform:translateY(-200%)}.app-shell-skip-link:focus{transform:translateY(0);outline:3px solid var(--theme-focus);outline-offset:2px}.app-shell-status{color:var(--theme-muted-text);font-size:.9rem}.app-shell-content:focus{outline:none}.app-shell-content:focus-visible{outline:3px solid var(--theme-focus);outline-offset:-3px}.profile-menu{position:relative}.profile-menu-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--theme-border);border-radius:999px;background:var(--theme-primary);color:var(--theme-page);cursor:pointer}.profile-menu-avatar{font-weight:700}.profile-menu-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:20;min-width:14rem;padding:.5rem;border:1px solid var(--theme-border);border-radius:.5rem;background:var(--theme-surface);box-shadow:0 8px 24px #00000040}.profile-menu-panel[hidden]{display:none}.profile-menu-list{display:flex;flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none}.profile-menu-heading{margin:.5rem .5rem .25rem;color:var(--theme-muted-text);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.profile-menu-link{display:flex;align-items:center;min-height:44px;padding:.5rem .75rem;border-radius:.375rem;color:var(--theme-text);text-decoration:none}.profile-menu-link:hover{background:var(--theme-page)}.profile-menu-footer{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--theme-border)}.profile-menu-signout{width:100%;min-height:44px;padding:.5rem .75rem;border:1px solid var(--theme-border);border-radius:.375rem;background:transparent;color:var(--theme-text);cursor:pointer}.profile-menu-button:focus-visible,.profile-menu-link:focus-visible,.profile-menu-signout:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}:root{--theme-page: #17191c;--theme-surface: #24272b;--theme-text: #f7f5ef;--theme-muted-text: #c9c9c4;--theme-primary: #e8b75a;--theme-accent: #8bc7a2;--theme-border: #8f969c;--theme-focus: #ffe09a;--theme-success: #7be0a4;--theme-warning: #ffd477;--theme-danger: #ff8585;--ttrpg-heading-font: Georgia, "Times New Roman", serif;--ttrpg-card-radius: 8px;--ttrpg-card-frame: inset 0 0 0 3px var(--theme-surface), inset 0 0 0 4px color-mix(in srgb, var(--theme-primary) 55%, transparent);--ttrpg-card-shadow: 0 2px 0 color-mix(in srgb, var(--theme-page) 70%, transparent);font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--theme-text);background-color:var(--theme-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--theme-primary);text-decoration:inherit}a:hover{color:var(--theme-accent)}body{margin:0;min-width:320px;min-height:100vh;color:var(--theme-text);background:var(--theme-page)}h1{line-height:1.2}button{border-radius:4px;border:1px solid var(--theme-border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--theme-primary);color:var(--theme-page);cursor:pointer;min-height:24px;transition:border-color .25s}@media (pointer: coarse){button{min-height:44px}}@media (prefers-reduced-motion: reduce){button{transition:none}}button:hover{border-color:var(--theme-focus)}button:focus,button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}
