@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-latin-700-normal-Vpz_43wJ.woff2) format("woff2"),url(/assets/alegreya-latin-700-normal-BS7r-qZs.woff) format("woff")}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-latin-800-normal-BcufLBxY.woff2) format("woff2"),url(/assets/alegreya-latin-800-normal-C-QiqklE.woff) format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-normal-DtLlO8BS.woff2) format("woff2"),url(/assets/alegreya-sans-latin-400-normal-DmA8jeke.woff) format("woff")}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-italic-rmlAbObI.woff2) format("woff2"),url(/assets/alegreya-sans-latin-400-italic-CgbdrOqg.woff) format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-500-normal-DS713u5J.woff2) format("woff2"),url(/assets/alegreya-sans-latin-500-normal-vXxrTKJT.woff) format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-700-normal-DEbcy2sF.woff2) format("woff2"),url(/assets/alegreya-sans-latin-700-normal-BnzUNlma.woff) format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-sans-latin-800-normal-CpHsWMQ0.woff2) format("woff2"),url(/assets/alegreya-sans-latin-800-normal-17etSahV.woff) format("woff")}:root,:root[data-theme=lorelorn]{font-family:var(--font-interface);color:var(--color-text-body);background:var(--color-surface-canvas-alt);color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;--font-interface: "Alegreya Sans", "Segoe UI", sans-serif;--font-display: "Alegreya", "Trebuchet MS", serif;--font-mono: ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;--color-text-primary: #f2f0ff;--color-text-body: #dddff0;--color-text-reading: #e7e5f5;--color-text-strong: #d0d4ea;--color-text-secondary-strong: #bbc1dd;--color-text-label: #d8dcf0;--color-text-label-muted: #b3bad7;--color-text-navigation: #c5cae3;--color-text-navigation-muted: #a7afcc;--color-text-muted: #969fbd;--color-text-subtle: #78829f;--color-text-inverse: #edf0ff;--color-text-inverse-bright: #ffffff;--color-text-inverse-secondary: #d6daf0;--color-text-inverse-muted: #adb5d4;--color-text-inverse-muted-strong: #c5cbe4;--color-text-inverse-subtle: #8f99bb;--color-text-accent-inverse: #deb8ff;--color-text-on-action: #080d20;--color-surface-canvas: #0c1022;--color-surface-canvas-alt: #10152b;--color-surface-section: #151a34;--color-surface-navigation: #11162d;--color-surface-sunken: #090d1d;--color-surface-sunken-deep: #070a16;--color-surface-muted: #171c36;--color-surface-disabled: #20243a;--color-surface-readonly: #171c2f;--color-surface-active: #242a4d;--color-surface-subtle: #1b203c;--color-surface-highlight: #232946;--color-surface-raised: #202541;--color-surface-card: #181d36;--color-surface-parchment: #211c2b;--color-surface-sticky: rgb(12 16 34 / 96%);--color-surface-hover-translucent: rgb(127 145 220 / 10%);--color-surface-inverse: #090c1b;--color-surface-inverse-raised: #191e3a;--color-surface-inverse-deep: #060814;--color-hero-copy: rgb(9 12 28 / 94%);--color-border-default: #3c4568;--color-border-muted: #4b557d;--color-border-input: #65719b;--color-border-section: #313a5c;--color-border-neutral-strong: #59658f;--color-border-inverse: #7783ad;--color-decoration-border: #5e6a93;--color-decoration-muted: #727da5;--color-action-primary: #7693ec;--color-action-hover: #91aafb;--color-action-soft: #232f5d;--color-action-focus: rgb(117 151 255 / 22%);--color-action-shadow: rgb(3 6 18 / 36%);--color-accent-primary: #b27be7;--color-accent-strong: #d3a8fa;--color-accent-soft: #8761b5;--color-accent-muted: #a68bc5;--color-accent-border: #7f5ba8;--color-accent-inverse: #d3a0ff;--color-accent-surface: #2d1c42;--color-accent-glow: rgb(178 123 231 / 22%);--color-focus-ring: #8db1ff;--color-lore-known: #70a4f3;--color-lore-known-surface: #182a4b;--color-lore-route: #eb667f;--color-lore-route-surface: #3a1725;--color-lore-water: #57a2d8;--color-lore-water-surface: #152d42;--color-lore-hidden: #bc82ee;--color-lore-hidden-surface: #301d45;--color-lore-disputed: #f05d78;--color-lore-disputed-surface: #3c1624;--color-success-primary: #72afd2;--color-success-text: #9bcbe7;--color-success-border: #4d7997;--color-success-border-soft: #3f617a;--color-success-surface: #142738;--color-success-surface-soft: #112131;--color-success-glow: rgb(114 175 210 / 18%);--color-warning-text: #efacc7;--color-warning-text-soft: #d892b0;--color-warning-strong: #e26a94;--color-warning-border: #8f4765;--color-warning-surface: #351824;--color-warning-surface-soft: #2d151f;--color-danger-primary: #f16985;--color-danger-strong: #ff7c97;--color-danger-text: #ff9cb0;--color-danger-border: #9b465c;--color-danger-surface: #3b1722;--color-status-neutral: #7e87a5;--color-inverse-border: rgb(237 240 255 / 14%);--color-inverse-border-strong: rgb(237 240 255 / 28%);--color-inverse-rule: rgb(237 240 255 / 18%);--color-shadow-low: rgb(2 4 14 / 22%);--color-shadow-medium: rgb(2 4 14 / 32%);--color-shadow-high: rgb(2 4 14 / 46%);--color-shadow-active: rgb(2 4 14 / 35%);--color-shadow-success: rgb(16 60 98 / 24%);--color-shadow-drawer: rgb(1 3 12 / 66%);--color-shadow-overlay: rgb(1 3 12 / 76%);--shadow-elevation-high: 0 12px 28px var(--color-shadow-high)}.authenticated-presentation-scope[data-skin-palette=high-contrast]{color-scheme:dark;--color-text-primary: #ffffff;--color-text-body: #ffffff;--color-text-reading: #ffffff;--color-text-strong: #ffffff;--color-text-secondary-strong: #f2f2f2;--color-text-label: #ffffff;--color-text-label-muted: #ededed;--color-text-navigation: #ffffff;--color-text-navigation-muted: #e5e5e5;--color-text-muted: #d8d8d8;--color-text-subtle: #c8c8c8;--color-text-inverse: #000000;--color-text-inverse-bright: #ffffff;--color-text-inverse-secondary: #f4f4f4;--color-text-inverse-muted: #dedede;--color-text-inverse-muted-strong: #ededed;--color-text-inverse-subtle: #cfcfcf;--color-text-accent-inverse: #ffe45e;--color-text-on-action: #000000;--color-surface-canvas: #000000;--color-surface-canvas-alt: #000000;--color-surface-section: #0a0a0a;--color-surface-navigation: #050505;--color-surface-sunken: #000000;--color-surface-sunken-deep: #000000;--color-surface-muted: #111111;--color-surface-disabled: #282828;--color-surface-readonly: #111111;--color-surface-active: #232323;--color-surface-subtle: #121212;--color-surface-highlight: #181818;--color-surface-raised: #1b1b1b;--color-surface-card: #0d0d0d;--color-surface-parchment: #161616;--color-surface-sticky: rgb(0 0 0 / 98%);--color-surface-hover-translucent: rgb(255 255 255 / 14%);--color-surface-inverse: #ffffff;--color-surface-inverse-raised: #161616;--color-surface-inverse-deep: #000000;--color-border-default: #bdbdbd;--color-border-muted: #d0d0d0;--color-border-input: #ffffff;--color-border-section: #bdbdbd;--color-border-neutral-strong: #ffffff;--color-border-inverse: #ffffff;--color-decoration-border: #d0d0d0;--color-decoration-muted: #d0d0d0;--color-action-primary: #6fd3ff;--color-action-hover: #b6eaff;--color-action-soft: #153d50;--color-action-focus: rgb(111 211 255 / 32%);--color-accent-primary: #ffe45e;--color-accent-strong: #fff2a3;--color-accent-soft: #b99d00;--color-accent-muted: #f3d93c;--color-accent-border: #ffe45e;--color-accent-inverse: #ffe45e;--color-accent-surface: #302900;--color-accent-glow: rgb(255 228 94 / 28%);--color-focus-ring: #fff06a;--color-success-primary: #7dffb2;--color-success-text: #a7ffc8;--color-success-border: #7dffb2;--color-success-border-soft: #68d895;--color-success-surface: #003b20;--color-success-surface-soft: #002b17;--color-warning-text: #ffd36f;--color-warning-text-soft: #ffe3a3;--color-warning-strong: #ffd36f;--color-warning-border: #ffd36f;--color-warning-surface: #3d2900;--color-warning-surface-soft: #2b1d00;--color-danger-primary: #ff7b8c;--color-danger-strong: #ff9aa7;--color-danger-text: #ffadb7;--color-danger-border: #ff7b8c;--color-danger-surface: #4a0010;--color-status-neutral: #d8d8d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:10px 14px;border-radius:4px;color:var(--color-text-on-action);background:var(--color-surface-inverse);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--color-text-primary);font-family:var(--font-display);font-size:1.32rem;font-weight:800;letter-spacing:.025em;text-decoration:none}.brand-mark{position:relative;display:grid;width:30px;height:30px;place-items:center;border:1px solid currentColor;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.brand-mark:before,.brand-mark:after,.brand-mark-route{position:absolute;content:""}.brand-mark:before,.brand-mark:after{background:currentColor}.brand-mark:before{width:18px;height:1px}.brand-mark:after{width:1px;height:18px}.brand-mark-route{width:16px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-28deg)}.brand-wordmark{line-height:1}.site-header,.site-footer{display:flex;width:min(1180px,calc(100% - 48px));margin:auto;align-items:center;justify-content:space-between}.public-shell{min-height:100vh;background-color:var(--color-surface-canvas-alt)}.site-header{min-width:0;height:78px;border-bottom:1px solid var(--color-border-default)}.public-nav{display:flex;min-width:0;align-items:center;gap:10px}.button{min-height:44px;padding:0 20px;border:1px solid var(--color-action-primary);border-radius:4px;color:var(--color-text-inverse);background:var(--color-action-primary);font-size:.78rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;transition:background .14s ease,border-color .14s ease}.button:hover:not(:disabled){background:var(--color-action-hover)}.button:disabled{opacity:.48}.button-small{min-height:39px;padding-inline:16px}.button-quiet,.text-link,.back-link,.auth-switch button{border:0;color:var(--color-action-primary);background:transparent;font-weight:750}.button-quiet{min-height:39px;padding-inline:13px}.text-link{padding:12px 4px;font-size:.82rem;letter-spacing:.025em;text-transform:uppercase}.text-link span{display:inline-block;margin-left:7px;transition:transform .16s ease}.text-link:hover span{transform:translate(4px)}.button-outline{color:var(--color-action-primary);background:transparent}.button-wide{width:100%;margin-top:8px}.health{display:inline-flex;align-items:center;gap:7px;color:var(--color-text-muted);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.health-dot{width:7px;height:7px;background:var(--color-status-neutral);transform:rotate(45deg)}.health-ready .health-dot{background:var(--color-success-primary);box-shadow:0 0 0 4px var(--color-success-glow)}.health-unavailable .health-dot{background:var(--color-danger-strong)}.health-checking .health-dot{animation:pulse 1.2s infinite}.hero{display:grid;position:relative;width:min(1320px,calc(100% - 48px));margin:32px auto 0;border:1px solid var(--color-border-neutral-strong);overflow:hidden;background:var(--color-surface-inverse)}.eyebrow{margin:0 0 14px;color:var(--color-accent-primary);font-family:var(--font-mono);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}h1,h2{font-family:var(--font-display);font-weight:800;letter-spacing:-.035em}.hero-copy,.hero-art{grid-area:1 / 1}.hero-copy{z-index:1;width:min(610px,calc(100% - 72px));margin:36px;padding:clamp(30px,4vw,50px);align-self:end;border:1px solid var(--color-border-inverse);background:var(--color-hero-copy)}.hero h1{max-width:650px;margin:0;color:var(--color-text-inverse-bright);font-size:clamp(2.9rem,5vw,4.9rem);line-height:.96}.hero-lede{max-width:570px;margin:24px 0 0;color:var(--color-text-inverse-secondary);font-size:1.06rem;line-height:1.65}.hero-actions{display:flex;margin-top:30px;align-items:center;gap:19px;flex-wrap:wrap}.hero-constraints{display:flex;margin:32px 0 0;padding:15px 0 0;border-top:1px solid var(--color-inverse-border-strong);gap:22px;flex-wrap:wrap;list-style:none}.hero-constraints li{display:flex;align-items:center;gap:7px;color:var(--color-text-inverse-secondary);font-size:.72rem;font-weight:700;letter-spacing:.015em}.hero-constraints li:before{width:6px;height:6px;border:1px solid var(--color-lore-route);border-radius:50%;content:""}.hero-art{width:100%;min-width:0;aspect-ratio:1672 / 941;background-color:var(--color-surface-inverse);background-image:url(/assets/lorelorn-campaign-wide-v2.png);background-position:center;background-repeat:no-repeat;background-size:contain}.capabilities{display:grid;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:72px 0 88px;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.capabilities article{min-width:0;padding:28px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-surface-card)}.capabilities h2{margin:0;color:var(--color-text-primary);font-size:1.45rem;line-height:1.1}.capabilities p{margin:13px 0 0;color:var(--color-text-muted);font-size:.98rem;line-height:1.55}.site-footer{min-height:112px;border-top:1px solid var(--color-border-default)}.site-footer p{color:var(--color-text-muted);font-size:.85rem}.auth-main{display:grid;min-width:0;min-height:calc(100vh - 78px);grid-template-columns:minmax(420px,44fr) minmax(0,56fr)}.auth-aside{min-width:0;background-color:var(--color-surface-inverse);background-image:url(/assets/lorelorn-campaign-portrait-v2.png);background-position:center;background-repeat:no-repeat;background-size:cover}.auth-panel{position:relative;display:grid;min-width:0;width:100%;padding:82px 60px;grid-template-columns:minmax(0,1fr);place-items:center;background:var(--color-surface-section)}.back-link{position:absolute;top:34px;left:42px;padding:8px;color:var(--color-text-muted)}.auth-card{width:100%;max-width:500px;min-width:0;padding:clamp(30px,4vw,46px);border:1px solid var(--color-border-neutral-strong);border-radius:8px;background:var(--color-surface-parchment);box-shadow:var(--shadow-elevation-high)}.auth-card h1{margin:0;color:var(--color-text-primary);font-size:clamp(2.2rem,3.6vw,3.25rem);line-height:1}.auth-intro{margin:18px 0 34px;color:var(--color-text-muted);line-height:1.6;overflow-wrap:anywhere}.auth-card form{display:grid;min-width:0;gap:18px}.auth-card label{display:grid;min-width:0;gap:8px;color:var(--color-text-label);font-size:.78rem;font-weight:750}.auth-card input{min-width:0;width:100%;max-width:100%;height:46px;padding:0 13px;border:1px solid var(--color-border-input);border-radius:0;color:var(--color-text-primary);background:var(--color-surface-raised)}.auth-card input:focus-visible{border-color:var(--color-action-primary)}.form-error{margin:0;color:var(--color-danger-primary);font-size:.85rem}.auth-switch{margin-top:26px;color:var(--color-text-muted);font-size:.87rem;text-align:center}.auth-switch button{padding:0;text-decoration:underline;text-underline-offset:3px}.loading-screen{display:grid;min-height:100vh;place-content:center;gap:28px;background:var(--color-surface-canvas)}.loading-line{width:150px;height:2px;overflow:hidden;background:var(--color-border-default)}.loading-line:after{display:block;width:50%;height:100%;background:var(--color-action-primary);animation:load 1.1s infinite ease-in-out;content:""}.workspace{display:grid;min-height:100vh;grid-template-columns:250px 1fr;background:var(--color-surface-canvas)}.sidebar{display:flex;position:sticky;top:0;height:100vh;padding:31px 24px 24px;border-right:1px solid var(--color-border-default);flex-direction:column;background:var(--color-surface-navigation)}.sidebar nav{display:grid;margin-top:50px;gap:5px}.nav-item{display:flex;min-height:43px;padding:0 13px;border:0;border-radius:3px;align-items:center;gap:11px;color:var(--color-text-navigation-muted);background:transparent;font-size:.88rem;font-weight:600;text-decoration:none}.nav-item:hover{color:var(--color-text-primary);background:var(--color-surface-hover-translucent)}.nav-item-active{color:var(--color-action-primary);background:var(--color-surface-active);box-shadow:0 1px 4px var(--color-shadow-low)}.sidebar-footer{display:grid;margin-top:auto;gap:20px}.signout{width:100%}.workspace-body{min-width:0}.workspace-header{display:flex;min-height:120px;padding:25px 48px;border-bottom:1px solid var(--color-border-default);align-items:center;justify-content:space-between}.workspace-header .eyebrow{margin-bottom:4px}.workspace-header h1{margin:0;color:var(--color-text-primary);font-size:2.35rem}.user-badge{display:flex;padding:8px 12px 8px 8px;border:1px solid var(--color-border-default);border-radius:4px;align-items:center;gap:10px;background:var(--color-surface-card)}.user-badge>span{display:grid;width:34px;height:34px;border-radius:50%;place-items:center;color:var(--color-text-on-action);background:var(--color-action-primary);font-family:var(--font-display)}.user-badge div{display:grid;gap:2px}.user-badge strong{color:var(--color-text-primary);font-size:.8rem}.user-badge small{max-width:180px;overflow:hidden;color:var(--color-text-muted);font-size:.69rem;text-overflow:ellipsis}.workspace-main{display:grid;min-height:calc(100vh - 121px);padding:48px;place-items:center}.empty-library{max-width:570px;text-align:center}.empty-mark{position:relative;display:grid;width:74px;height:74px;margin:0 auto 30px;border:1px solid var(--color-decoration-border);border-radius:50%;place-items:center}.empty-mark:before,.empty-mark:after,.empty-mark i{position:absolute;width:1px;height:43px;background:var(--color-decoration-muted);content:""}.empty-mark:before{transform:rotate(60deg)}.empty-mark:after{transform:rotate(-60deg)}.empty-library h2{margin:0;color:var(--color-text-primary);font-size:clamp(2.2rem,4vw,3.4rem)}.empty-library>p:not(.eyebrow){margin:18px auto 0;color:var(--color-text-muted);line-height:1.65}.empty-actions{display:flex;margin-top:30px;justify-content:center;gap:12px}.empty-library>small{display:block;margin-top:18px;color:var(--color-text-subtle)}.text-button{padding:7px 9px;border:0;color:var(--color-action-primary);background:transparent;font-weight:650}.notice{margin:0 0 20px;padding:13px 15px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-surface-card)}.notice-error{border-color:var(--color-danger-border);color:var(--color-danger-text);background:var(--color-danger-surface)}.loading-copy{color:var(--color-text-muted)}.workspace-health{display:inline-flex;align-items:center;gap:7px;color:var(--color-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.workspace-health:before{width:7px;height:7px;border-radius:50%;background:var(--color-status-neutral);content:""}.workspace-health-ready:before{background:var(--color-success-primary)}.workspace-health-unavailable:before{background:var(--color-danger-primary)}.library-shell{min-height:100vh;background:var(--color-surface-canvas)}.library-header{display:flex;min-height:82px;padding:0 max(24px,calc((100% - 1180px)/2));border-bottom:1px solid var(--color-border-default);align-items:center;justify-content:space-between;background:var(--color-surface-sunken)}.library-user{display:flex;align-items:center;gap:14px;color:var(--color-text-primary);font-size:.85rem}.library-main{width:min(1180px,calc(100% - 48px));margin:auto;padding:68px 0 100px}.library-title{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.library-title h1{margin:0;color:var(--color-text-primary);font-size:clamp(3rem,5vw,5rem)}.library-title p:not(.eyebrow){margin:14px 0 0;color:var(--color-text-muted)}.library-actions{display:flex;gap:10px}.inline-panel{display:grid;max-width:620px;margin-top:32px;padding:25px;border:1px solid var(--color-border-default);gap:18px;background:var(--color-surface-card);box-shadow:0 14px 40px var(--color-shadow-medium)}.inline-panel label{display:grid;gap:8px;color:var(--color-text-primary);font-size:.82rem;font-weight:700}.inline-panel input{min-height:46px;padding:0 12px;border:1px solid var(--color-border-input);background:var(--color-surface-raised)}.inline-panel div{display:flex;gap:10px}.campaign-grid{display:grid;margin-top:55px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.campaign-card{display:flex;min-height:190px;padding:27px;border:1px solid var(--color-border-default);align-items:flex-start;gap:20px;color:var(--color-text-primary);background:var(--color-surface-card);text-align:left;transition:transform .16s ease,box-shadow .16s ease}.campaign-card:hover{border-color:var(--color-action-primary)}.campaign-card-mark{display:grid;width:54px;height:54px;flex:none;border:1px solid var(--color-accent-primary);border-radius:50%;place-items:center;color:var(--color-accent-primary);font-family:var(--font-display);font-size:1.4rem}.campaign-card>span:last-child{display:grid;min-width:0;height:100%;gap:8px}.campaign-card small{color:var(--color-accent-primary);font-size:.68rem;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.campaign-card strong{overflow-wrap:anywhere;font-family:var(--font-display);font-size:1.55rem;font-weight:500}.campaign-card em{margin-top:auto;color:var(--color-action-primary);font-size:.8rem;font-style:normal;font-weight:700}.wiki-shell{min-height:100vh;color:var(--color-text-primary);background:var(--color-surface-canvas)}.embedded-wiki-shell{width:100%;min-height:0}.embedded-wiki-heading{display:flex;max-width:1500px;margin:0 auto 24px;align-items:flex-end;justify-content:space-between;gap:24px}.embedded-wiki-heading h1{margin:2px 0 0;font-size:clamp(2.6rem,5vw,4.4rem)}.embedded-wiki-shell .wiki-layout{min-height:calc(100vh - 210px);border:1px solid var(--color-border-default)}.embedded-wiki-shell .wiki-tree-panel{top:126px;height:calc(100vh - 126px)}.wiki-topbar{display:grid;position:sticky;z-index:20;top:0;min-height:78px;padding:0 28px;border-bottom:1px solid var(--color-border-default);grid-template-columns:minmax(200px,1fr) auto minmax(200px,1fr);align-items:center;background:var(--color-surface-sticky);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.wiki-campaign-button{display:grid;max-width:280px;padding:0;border:0;gap:3px;color:var(--color-text-primary);background:transparent;text-align:left}.wiki-campaign-button span{color:var(--color-action-primary);font-size:.72rem;font-weight:700}.wiki-campaign-button strong{overflow:hidden;font-family:var(--font-display);font-size:1.22rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.space-tabs{display:flex;padding:4px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-surface-sunken)}.space-tabs button{min-width:110px;min-height:36px;border:0;color:var(--color-text-muted);background:transparent;font-size:.78rem;font-weight:700}.space-tabs button.active{color:var(--color-action-primary);background:var(--color-surface-card);box-shadow:0 1px 5px var(--color-shadow-active)}.wiki-account{display:flex;justify-self:end;align-items:center;gap:12px;font-size:.8rem}.wiki-layout{display:grid;min-height:calc(100vh - 79px);grid-template-columns:280px minmax(0,1fr)}.wiki-tree-panel{display:flex;position:sticky;top:79px;height:calc(100vh - 79px);padding:27px 20px 20px;border-right:1px solid var(--color-border-default);flex-direction:column;background:var(--color-surface-sunken)}.tree-heading{display:flex;align-items:center;justify-content:space-between}.tree-heading div{display:grid;gap:4px}.tree-heading small{color:var(--color-accent-primary);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tree-heading strong{font-family:var(--font-display);font-size:1.45rem;font-weight:500}.icon-button{display:grid;width:36px;height:36px;border:1px solid var(--color-action-primary);border-radius:50%;place-items:center;color:var(--color-text-on-action);background:var(--color-action-primary);font-size:1.35rem}.tree-close,.tree-toggle{display:none}.wiki-tree{display:grid;margin-top:25px;gap:4px;overflow-y:auto}.wiki-tree>p{color:var(--color-text-muted);font-size:.82rem}.wiki-tree button{display:grid;min-height:50px;padding:9px 11px;border:0;border-radius:3px;gap:3px;color:var(--color-text-navigation);background:transparent;text-align:left}.wiki-tree button:hover,.wiki-tree button.active{color:var(--color-action-primary);background:var(--color-surface-highlight)}.wiki-tree button span{overflow:hidden;font-size:.85rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.wiki-tree button small{color:var(--color-text-subtle);font-size:.64rem;text-transform:uppercase}.tree-tools{display:flex;margin-top:auto;padding-top:18px;border-top:1px solid var(--color-border-default);gap:5px}.tree-tools button{flex:1;min-height:36px;border:0;color:var(--color-action-primary);background:transparent;font-size:.74rem;font-weight:700}.wiki-main{min-width:0;padding:55px clamp(28px,6vw,90px) 100px}.wiki-layout.focus-area{grid-template-columns:minmax(0,1fr)}.wiki-layout.focus-area .wiki-main{padding-right:clamp(24px,4vw,64px);padding-left:clamp(24px,4vw,64px)}.sessions-workspace{width:100%;max-width:1500px;margin:0 auto}.sessions-heading{display:flex;margin-bottom:30px;align-items:flex-end;justify-content:space-between;gap:24px}.sessions-heading h1{margin:2px 0 6px;font-size:clamp(2.6rem,5vw,4.4rem)}.sessions-heading p:last-child{margin:0;color:var(--color-text-muted)}.realtime-state{display:inline-flex;padding:8px 11px;border:1px solid var(--color-border-default);border-radius:999px;color:var(--color-text-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.realtime-live{border-color:var(--color-success-border);color:var(--color-success-text);background:var(--color-success-surface)}.realtime-reconnecting,.realtime-connecting{color:var(--color-warning-text-soft);background:var(--color-warning-surface-soft)}.sessions-layout{display:grid;min-height:580px;border:1px solid var(--color-border-default);background:var(--color-surface-highlight);grid-template-columns:minmax(220px,290px) minmax(0,1fr)}.session-list-panel{padding:22px;border-right:1px solid var(--color-border-default);background:var(--color-surface-sunken)}.session-create{display:grid;padding-bottom:20px;border-bottom:1px solid var(--color-border-default);gap:10px}.session-create label{display:grid;gap:7px;color:var(--color-text-label-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.session-list{display:grid;margin-top:18px;gap:5px}.session-list>p{color:var(--color-text-muted);font-size:.82rem}.session-list button{display:grid;padding:13px 14px;border:0;border-left:3px solid transparent;border-radius:2px;gap:4px;color:var(--color-text-primary);background:transparent;text-align:left}.session-list button:hover,.session-list button.active{border-left-color:var(--color-action-primary);background:var(--color-surface-highlight)}.session-list button strong{font-family:var(--font-display);font-size:1rem;font-weight:500}.session-list button span{color:var(--color-text-muted);font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.session-detail{min-width:0;padding:clamp(24px,4vw,50px)}.session-empty{max-width:620px;margin:13vh auto;text-align:center}.session-empty h2,.session-empty h3{margin:8px 0 12px}.session-empty p{color:var(--color-text-muted);line-height:1.6}.session-titlebar{display:flex;padding-bottom:25px;border-bottom:1px solid var(--color-border-default);align-items:flex-start;justify-content:space-between;gap:22px}.session-titlebar h2{margin:8px 0 5px;font-size:clamp(2rem,4vw,3.2rem)}.session-titlebar p{margin:0;color:var(--color-text-muted);font-size:.78rem}.session-state-chip{color:var(--color-action-primary);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.session-lifecycle{display:flex;gap:9px}.scene-add,.recap-form{display:flex;margin:24px 0;padding:18px;border:1px solid var(--color-border-default);align-items:end;gap:12px;background:var(--color-surface-canvas)}.scene-add label,.recap-form label{display:grid;min-width:min(420px,100%);flex:1;gap:7px;color:var(--color-text-label-muted);font-size:.72rem;font-weight:800}.scene-add small{color:var(--color-text-muted)}.scene-stack{display:grid;margin-top:25px;gap:18px}.scene-card{border:1px solid var(--color-border-default);border-left:4px solid var(--color-border-neutral-strong);background:var(--color-surface-card)}.scene-card.scene-2{border-left-color:var(--color-action-primary);box-shadow:0 12px 32px var(--color-shadow-success)}.scene-card.scene-3{opacity:.78}.scene-card>header{display:flex;padding:18px 20px;border-bottom:1px solid var(--color-border-default);align-items:center;justify-content:space-between;gap:14px;background:var(--color-surface-subtle)}.scene-card>header>div:first-child{display:grid;gap:3px}.scene-card>header span,.section-plan>div:first-child>span{color:var(--color-action-primary);font-size:.64rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.scene-card>header small,.section-plan small{color:var(--color-text-muted);font-size:.7rem}.scene-source{padding:0;border:0;color:var(--color-text-primary);background:transparent;font-family:var(--font-display);font-size:1.3rem;text-align:left;text-decoration:underline;text-decoration-color:transparent}.scene-source:hover{text-decoration-color:currentcolor}.scene-order{display:flex;margin-left:auto;gap:5px}.scene-order button{width:34px;height:34px;border:1px solid var(--color-border-default);background:var(--color-surface-card)}.moment-stack{display:grid;padding:16px;gap:14px}.moment-card{overflow:hidden;border:1px solid var(--color-border-default);background:var(--color-surface-canvas)}.moment-card.moment-2{border-color:var(--color-success-border)}.moment-header{display:flex;padding:15px 18px;border-bottom:1px solid var(--color-border-default);align-items:center;justify-content:space-between;gap:14px;background:var(--color-surface-readonly)}.moment-header>div:first-child{display:grid;min-width:0;gap:4px}.moment-header span,.player-moment>header span{color:var(--color-action-primary);font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.moment-header h3,.player-moment>header h4{margin:0;font-size:1.2rem}.moment-header small{color:var(--color-text-muted);font-size:.7rem}.moment-title-form{display:flex;align-items:center;gap:8px}.moment-title-form input{min-width:min(320px,55vw);font-family:var(--font-display);font-size:1.05rem}.moment-add{display:flex;padding:0 16px 16px;align-items:end;gap:10px}.moment-add label{display:grid;max-width:420px;flex:1;gap:5px;color:var(--color-text-muted);font-size:.68rem;font-weight:800}.section-plan-list{display:grid}.section-plan{display:grid;min-height:90px;padding:17px 20px;border-bottom:1px solid var(--color-border-default);align-items:center;gap:18px;grid-template-columns:minmax(150px,1fr) minmax(270px,1.4fr) auto}.section-plan:last-child{border-bottom:0}.section-plan>div:first-child{display:grid;gap:4px}.section-plan.section-2{background:var(--color-success-surface-soft)}.plan-controls{display:grid;align-items:start;gap:9px;grid-template-columns:repeat(3,minmax(0,1fr))}.plan-controls>label{display:grid;gap:4px;color:var(--color-text-muted);font-size:.65rem;font-weight:800}.plan-controls fieldset{display:flex;margin:0;padding:8px;border:1px solid var(--color-border-default);gap:10px;grid-column:1 / -1;flex-wrap:wrap}.plan-controls legend{color:var(--color-text-muted);font-size:.62rem;font-weight:800}.plan-controls fieldset label{display:flex;align-items:center;gap:5px;font-size:.72rem}.player-scene-list{display:grid;margin-top:28px;gap:28px}.player-scene{overflow:hidden;border:1px solid var(--color-border-default);background:var(--color-surface-card)}.player-scene>header{padding:22px 26px;border-bottom:1px solid var(--color-border-default);background:var(--color-surface-readonly)}.player-scene>header span{color:var(--color-action-primary);font-size:.65rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.player-scene>header h3{margin:5px 0 0;font-size:1.8rem}.player-moment-list{display:grid;padding:18px;gap:16px}.player-moment{overflow:hidden;border:1px solid var(--color-border-default);background:var(--color-surface-canvas)}.player-moment>header{padding:16px 20px;border-bottom:1px solid var(--color-border-default);background:var(--color-surface-subtle)}.revealed-section{padding:26px;border-bottom:1px solid var(--color-border-default)}.revealed-section:last-child{border-bottom:0}.revealed-section h5{margin:0 0 16px;font-size:1.25rem}.session-links,.session-assets{display:flex;margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border-default);gap:12px;flex-wrap:wrap}.session-assets a{color:var(--color-action-primary);font-size:.78rem;font-weight:800}.muted-copy{padding:24px;color:var(--color-text-muted)}.campaign-access{width:100%;max-width:1320px;margin:0 auto}.campaign-access-heading{display:flex;margin-bottom:30px;align-items:flex-end;justify-content:space-between;gap:24px}.campaign-access-heading h1{margin:2px 0 6px;font-size:clamp(2.6rem,5vw,4.4rem)}.campaign-access-heading p:last-child{max-width:680px;margin:0;color:var(--color-text-muted)}.campaign-access-grid{display:grid;align-items:start;gap:24px;grid-template-columns:minmax(0,1fr) minmax(300px,390px)}.member-access-panel,.invitation-panel{border:1px solid var(--color-border-default);background:var(--color-surface-highlight)}.member-access-panel>header,.invitation-panel>header{padding:20px 22px;border-bottom:1px solid var(--color-border-default);background:var(--color-surface-sunken)}.member-access-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.member-access-panel h2,.invitation-panel h2{margin:3px 0 0;font-size:1.65rem}.member-access-panel>header>span{color:var(--color-text-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.member-access-list{display:grid;padding:16px;gap:12px}.member-access-card{display:grid;padding:17px 18px;border:1px solid var(--color-border-default);gap:15px;background:var(--color-surface-card)}.member-access-card>header{display:flex;align-items:start;justify-content:space-between;gap:18px}.member-access-card>header>div{display:grid;gap:3px}.member-access-card>header strong{font-family:var(--font-display);font-size:1.16rem;font-weight:500}.member-access-card>header small,.member-access-card>header>span{color:var(--color-text-muted);font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.member-access-card fieldset,.invitation-panel fieldset{display:flex;margin:0;padding:0;border:0;gap:20px}.member-access-card legend,.invitation-panel legend{margin-bottom:8px;color:var(--color-text-muted);font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.member-access-card fieldset label,.invitation-panel fieldset label{display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:800}.member-access-card input[type=checkbox],.invitation-panel input[type=checkbox]{width:17px;height:17px;accent-color:var(--color-action-primary)}.member-access-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.member-access-warning{margin:0;color:var(--color-danger-primary);font-size:.74rem;line-height:1.45}.invitation-panel>header p:last-child{margin:6px 0 0;color:var(--color-text-muted);font-size:.78rem;line-height:1.5}.invitation-panel>form{display:grid;padding:22px;gap:18px}.invitation-panel>form>label,.invitation-result label{display:grid;gap:7px;color:var(--color-text-label-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.invitation-panel>form>label small{color:var(--color-text-muted);font-weight:500}.invitation-panel input[type=email],.invitation-result input{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--color-border-input);border-radius:3px;color:var(--color-text-primary);background:var(--color-surface-card)}.invitation-result{display:grid;margin:0 22px 22px;padding:18px;border:1px solid var(--color-success-border-soft);gap:10px;background:var(--color-success-surface)}.invitation-result>strong{font-family:var(--font-display);font-size:1.15rem;font-weight:500}.invitation-result>span,.invitation-result>small{color:var(--color-text-muted);font-size:.72rem;line-height:1.45}.invitation-result>div{display:flex;gap:8px;flex-wrap:wrap}.characters-workspace{width:100%;max-width:1500px;margin:0 auto}.characters-heading{display:flex;margin-bottom:30px;align-items:flex-end;justify-content:space-between;gap:24px}.characters-heading h1{margin:2px 0 6px;font-size:clamp(2.6rem,5vw,4.4rem)}.characters-heading p:last-child{margin:0;color:var(--color-text-muted)}.form-only-badge{padding:8px 11px;border:1px solid var(--color-border-default);border-radius:999px;color:var(--color-action-primary);background:var(--color-success-surface);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.characters-layout{display:grid;min-height:650px;border:1px solid var(--color-border-default);background:var(--color-surface-highlight);grid-template-columns:minmax(230px,290px) minmax(0,1fr)}.character-list-panel{min-width:0;padding:22px;border-right:1px solid var(--color-border-default);background:var(--color-surface-sunken)}.character-create{display:grid;padding-bottom:20px;border-bottom:1px solid var(--color-border-default);gap:10px}.character-create label{display:grid;gap:7px;color:var(--color-text-label-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.character-create input,.character-create select{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--color-border-input);background:var(--color-surface-card)}.starter-template-callout{display:grid;padding:12px;border:1px solid var(--color-accent-soft);gap:7px;color:var(--color-text-primary);background:var(--color-warning-surface)}.starter-template-callout strong{font-family:var(--font-display);font-size:.95rem;text-transform:none}.starter-template-callout p{margin:0;color:var(--color-text-muted);font-size:.7rem;font-weight:500;line-height:1.45;text-transform:none}.character-list{display:grid;margin-top:18px;gap:6px}.character-list>p{color:var(--color-text-muted);font-size:.82rem}.character-list>button{display:grid;width:100%;min-width:0;min-height:62px;padding:9px;border:0;border-left:3px solid transparent;align-items:center;gap:10px;grid-template-columns:42px minmax(0,1fr);color:var(--color-text-primary);background:transparent;text-align:left}.character-list>button:hover,.character-list>button.active{border-left-color:var(--color-action-primary);background:var(--color-surface-highlight)}.character-list>button>img,.character-monogram{display:grid;width:42px;height:42px;border:1px solid var(--color-accent-border);border-radius:50%;place-items:center;object-fit:cover;color:var(--color-accent-primary);background:var(--color-accent-surface);font-family:var(--font-display);font-size:1.2rem}.character-list>button>span:last-child{display:grid;min-width:0;gap:3px}.character-list strong{overflow:hidden;font-family:var(--font-display);font-size:1rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.character-list small{overflow:hidden;color:var(--color-text-muted);font-size:.65rem;font-weight:800;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.character-detail{min-width:0;padding:clamp(24px,4vw,50px)}.character-empty{max-width:620px;margin:13vh auto;text-align:center}.character-empty h2{margin:8px 0 12px}.character-empty p{color:var(--color-text-muted);line-height:1.6}.character-titlebar{display:grid;padding-bottom:25px;border-bottom:1px solid var(--color-border-default);align-items:center;gap:20px;grid-template-columns:88px minmax(0,1fr) auto}.character-portrait{display:grid;width:88px;height:104px;overflow:hidden;border:1px solid var(--color-border-default);place-items:center;color:var(--color-accent-muted);background:linear-gradient(145deg,var(--color-text-strong),var(--color-surface-inverse));font-family:var(--font-display);font-size:2.7rem}.character-portrait img{width:100%;height:100%;object-fit:cover}.character-titlebar .eyebrow{margin-bottom:7px}.character-titlebar h2{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.character-titlebar>div:nth-child(2)>p:last-child{margin:9px 0 0;color:var(--color-text-muted)}.character-revision{display:grid;min-width:190px;padding:12px 14px;border:1px solid var(--color-border-default);gap:4px;background:var(--color-surface-readonly)}.character-revision strong{color:var(--color-action-primary);font-size:.74rem;text-transform:uppercase}.character-revision span{color:var(--color-text-muted);font-size:.68rem}.character-tabs{display:flex;margin:24px 0;border-bottom:1px solid var(--color-border-default);overflow-x:auto}.character-tabs button{min-height:42px;padding:0 15px;border:0;border-bottom:3px solid transparent;color:var(--color-text-muted);background:transparent;font-size:.74rem;font-weight:800;white-space:nowrap}.character-tabs button.active{border-bottom-color:var(--color-action-primary);color:var(--color-action-primary)}.character-sheet{display:grid;gap:20px}.character-conflict{display:flex;align-items:center;justify-content:space-between;gap:20px}.character-conflict p{margin:5px 0 0}.unmapped-banner{padding:15px 18px;border:1px solid var(--color-warning-border);background:var(--color-warning-surface)}.unmapped-banner strong{color:var(--color-warning-strong)}.unmapped-banner p{margin:5px 0 0;color:var(--color-accent-strong);font-size:.8rem}.sheet-section{border:1px solid var(--color-border-default);background:var(--color-surface-card)}.sheet-section>header{padding:17px 20px;border-bottom:1px solid var(--color-border-default);background:var(--color-surface-readonly)}.sheet-section>header span{font-family:var(--font-display);font-size:1.35rem}.sheet-section>header p{margin:5px 0 0;color:var(--color-text-muted);font-size:.76rem}.sheet-fields{display:grid;padding:20px;align-items:start;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-field{display:grid;min-width:0;margin:0;gap:7px;color:var(--color-text-label-muted);font-size:.75rem;font-weight:700}.sheet-field>small,.sheet-field>label>small{color:var(--color-text-muted);font-weight:500;line-height:1.4}.sheet-field input:not([type=checkbox]):not([type=file]),.sheet-field select,.sheet-field textarea,.repeating-row input:not([type=checkbox]),.repeating-row select,.sheet-footer input,.assignment-panel select{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--color-border-input);border-radius:3px;color:var(--color-text-primary);background:var(--color-surface-card)}.sheet-field input:disabled,.sheet-field select:disabled,.sheet-field textarea:disabled,.repeating-row input:disabled,.repeating-row select:disabled{color:var(--color-text-secondary-strong);background:var(--color-surface-disabled);opacity:1}.markdown-field,.repeating-field,.image-field{grid-column:1 / -1}.markdown-field textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem;line-height:1.55}.checkbox-field{display:flex;min-height:48px;padding:10px 12px;border:1px solid var(--color-border-default);align-items:center;gap:10px;background:var(--color-surface-subtle)}.checkbox-field>span{display:grid;gap:3px}.checkbox-field input{width:18px;height:18px;flex:none}.image-field>label{display:grid;gap:9px}.image-field img,.image-placeholder{display:grid;width:min(100%,360px);min-height:150px;max-height:340px;border:1px solid var(--color-border-default);place-items:center;object-fit:contain;color:var(--color-text-muted);background:var(--color-surface-muted);font-family:var(--font-display);font-weight:400}.image-field input[type=file]{max-width:480px;padding:9px;border:1px dashed var(--color-border-muted);background:var(--color-surface-subtle)}.field-error{color:var(--color-danger-primary)!important}.repeating-field{padding:0;border:0}.repeating-field>legend{margin-bottom:4px;font-family:var(--font-display);font-size:1.1rem}.repeating-field>p{margin:0 0 12px;color:var(--color-text-muted);font-size:.75rem;font-weight:500}.repeating-rows{display:grid;margin-bottom:12px;gap:10px}.repeating-row{display:grid;padding:14px;border:1px solid var(--color-border-default);align-items:end;gap:10px;grid-template-columns:auto repeat(3,minmax(110px,1fr)) auto;background:var(--color-surface-subtle)}.repeating-row>span{align-self:center;color:var(--color-accent-primary);font-size:.65rem;font-weight:900;text-transform:uppercase}.repeating-row label{display:grid;min-width:0;gap:4px;color:var(--color-text-muted);font-size:.66rem}.repeating-check{display:flex!important;min-height:41px;align-items:center;gap:6px!important}.danger-text{color:var(--color-danger-primary)}.sheet-footer{display:grid;padding:18px;border:1px solid var(--color-border-default);align-items:end;gap:14px;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;background:var(--color-surface-sunken)}.sheet-footer>div{display:grid;gap:4px}.sheet-footer>div strong{font-size:.8rem}.sheet-footer small{color:var(--color-text-muted);font-size:.68rem}.sheet-footer label{display:grid;gap:5px;color:var(--color-text-muted);font-size:.68rem;font-weight:700}.character-content-panel,.character-history,.migration-panel,.assignment-panel{max-width:950px}.character-content-panel{max-width:1100px}.character-content-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.character-content-panel>header h3,.character-history>header h3,.migration-panel>header h3,.assignment-panel>header h3{margin:0;font-size:clamp(2rem,4vw,3.1rem)}.character-content-panel>header p:last-child,.character-history>header p:last-child,.migration-panel>header p:last-child,.assignment-panel>header p:last-child{color:var(--color-text-muted);line-height:1.6}.character-content-layout{display:grid;min-height:440px;margin-top:28px;border:1px solid var(--color-border-default);grid-template-columns:220px minmax(0,1fr);background:var(--color-surface-card)}.character-content-tree{display:grid;padding:12px;border-right:1px solid var(--color-border-default);align-content:start;gap:5px;background:var(--color-surface-muted)}.character-content-tree button{display:grid;min-width:0;padding:11px;border:0;border-left:3px solid transparent;gap:4px;color:var(--color-text-primary);background:transparent;text-align:left}.character-content-tree button:hover,.character-content-tree button.active{border-left-color:var(--color-action-primary);background:var(--color-surface-highlight)}.character-content-tree span{color:var(--color-accent-primary);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.character-content-tree strong{overflow:hidden;font-family:var(--font-display);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.character-content-body{min-width:0;padding:clamp(18px,3vw,34px)}.character-content-reader>header,.character-content-editor>header,.character-content-history>header{display:flex;padding-bottom:18px;border-bottom:1px solid var(--color-border-default);align-items:flex-start;justify-content:space-between;gap:18px}.character-content-reader>header>div:first-child,.character-content-editor>header>div:first-child{display:grid;gap:4px}.character-content-reader>header>div:last-child{display:flex;align-items:center;gap:10px}.character-content-reader h4,.character-content-editor h4,.character-content-history h4{margin:0;font-size:clamp(1.8rem,4vw,2.8rem)}.character-content-reader>header span{color:var(--color-text-muted);font-size:.7rem}.character-content-reader>section{padding:28px 0;border-bottom:1px solid var(--color-border-default)}.character-content-reader>section:last-of-type{border-bottom:0}.character-content-reader h5{margin:0 0 14px;font-size:1.35rem}.character-content-reader figure{max-width:560px;margin:22px 0 0}.character-content-reader figure img{display:block;max-width:100%;max-height:420px;border:1px solid var(--color-border-default)}.character-content-reader figcaption{margin-top:5px;color:var(--color-text-muted);font-size:.7rem}.character-content-reader>footer{display:flex;padding-top:18px;gap:6px;flex-wrap:wrap}.character-content-reader>footer span{padding:5px 8px;border:1px solid var(--color-border-default);border-radius:999px;color:var(--color-text-muted);font-size:.68rem}.character-content-editor{display:grid;gap:16px}.character-content-editor>label{display:grid;gap:6px;color:var(--color-text-muted);font-size:.7rem;font-weight:800}.fixed-visibility{display:grid;margin:0;padding:11px;border:1px solid var(--color-border-default);gap:3px;background:var(--color-surface-readonly)}.fixed-visibility strong{color:var(--color-action-primary);font-size:.72rem}.fixed-visibility span{color:var(--color-text-muted);font-size:.68rem;line-height:1.4}.character-content-editor input,.character-content-editor select,.character-content-editor textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--color-border-input);color:var(--color-text-primary);background:var(--color-surface-card)}.character-content-editor textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.5}.character-content-sections{display:grid;gap:12px}.character-content-sections fieldset{display:grid;margin:0;padding:15px;border:1px solid var(--color-border-default);gap:12px;background:var(--color-surface-subtle)}.character-content-sections legend{padding:0 5px;color:var(--color-accent-primary);font-size:.68rem;font-weight:800;text-transform:uppercase}.character-content-sections label{display:grid;gap:5px;color:var(--color-text-muted);font-size:.68rem;font-weight:800}.character-content-history ol{display:grid;margin:20px 0 0;padding:0;gap:7px;list-style:none}.character-content-history li{display:flex;padding:14px;border:1px solid var(--color-border-default);align-items:center;justify-content:space-between;gap:15px;background:var(--color-surface-subtle)}.character-content-history li>div{display:grid;gap:4px}.character-content-history li small{color:var(--color-text-muted);font-size:.68rem}.character-content-history li p{margin:4px 0 0}.character-content-empty{padding:12vh 20px;text-align:center}.character-history ol{display:grid;margin:28px 0 0;padding:0;gap:8px;list-style:none}.character-history li{display:flex;padding:18px;border:1px solid var(--color-border-default);align-items:center;justify-content:space-between;gap:18px;background:var(--color-surface-card)}.character-history li>div{display:grid;gap:4px}.character-history li span,.character-history li small{color:var(--color-text-muted);font-size:.72rem}.character-history li p{margin:5px 0 0;font-family:var(--font-display)}.template-version-line{display:grid;margin:28px 0 20px;padding:18px;border:1px solid var(--color-border-default);align-items:center;gap:18px;grid-template-columns:1fr auto 1fr;background:var(--color-surface-readonly)}.template-version-line div{display:grid;gap:5px}.template-version-line div:last-child{text-align:right}.template-version-line small{color:var(--color-accent-primary);font-weight:800;text-transform:uppercase}.migration-preview{display:grid;gap:16px}.migration-count{display:flex;align-items:baseline;gap:10px}.migration-count strong{color:var(--color-action-primary);font-family:var(--font-display);font-size:2.5rem;font-weight:400}.migration-warning{padding:18px;border:1px solid var(--color-warning-border);color:var(--color-warning-text);background:var(--color-warning-surface)}.migration-warning p{line-height:1.55}.migration-warning ul{display:grid;padding:0;gap:6px;list-style:none}.migration-warning li{display:flex;justify-content:space-between;gap:12px}.migration-warning code{overflow:hidden;text-overflow:ellipsis}.migration-warning label{display:flex;margin-top:16px;align-items:flex-start;gap:8px;font-weight:700}.migration-summary{display:grid;margin:0;border:1px solid var(--color-border-default);grid-template-columns:repeat(3,1fr);background:var(--color-surface-subtle)}.migration-summary>div{display:grid;padding:12px;border-right:1px solid var(--color-border-default);gap:4px}.migration-summary>div:last-child{border-right:0}.migration-summary dt{color:var(--color-text-muted);font-size:.67rem;font-weight:800;text-transform:uppercase}.migration-summary dd{margin:0;color:var(--color-action-primary);font-family:var(--font-display);font-size:1.5rem}.migration-actions{display:flex;gap:10px}.migration-report{display:grid;margin-top:20px;padding:14px;border-left:3px solid var(--color-action-primary);gap:4px;background:var(--color-success-surface)}.migration-report span{color:var(--color-text-muted);font-size:.75rem}.assignment-list{display:grid;margin:28px 0 16px;gap:8px}.assignment-list>div{display:grid;padding:14px;border:1px solid var(--color-border-default);align-items:end;gap:14px;grid-template-columns:minmax(150px,1fr) 180px auto;background:var(--color-surface-card)}.assignment-list label,.assignment-add{display:grid;gap:5px;color:var(--color-text-muted);font-size:.68rem;font-weight:800}.assignment-add{max-width:420px;margin-bottom:16px}.wiki-empty{max-width:720px;margin:12vh auto 0;text-align:center}.wiki-empty h1{margin:0;font-size:clamp(2.8rem,5vw,4.7rem);line-height:1.02}.wiki-empty p:not(.eyebrow){max-width:560px;margin:20px auto 28px;color:var(--color-text-muted);line-height:1.65}.page-header,.editor-header,.search-panel>header,.history-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.page-header h1,.editor-header h1,.search-panel h1,.history-panel h1{margin:0;font-size:clamp(2.7rem,5vw,4.5rem);line-height:1.02}.page-meta{display:flex;margin-top:18px;gap:7px;flex-wrap:wrap}.page-meta span{padding:5px 9px;border:1px solid var(--color-border-default);border-radius:20px;color:var(--color-text-muted);background:var(--color-surface-card);font-size:.68rem;font-weight:700}.page-actions,.editor-header>div:last-child{display:flex;gap:9px}.page-actions .button{white-space:nowrap}.page-sections{display:grid;max-width:850px;margin-top:55px;gap:50px}.page-sections>section{padding-bottom:40px;border-bottom:1px solid var(--color-border-default)}.page-sections h2{margin:0 0 20px;font-size:2rem}.rendered-markdown{color:var(--color-text-reading);font-family:var(--font-display);font-size:1.03rem;line-height:1.78;overflow-wrap:anywhere}.rendered-markdown :first-child{margin-top:0}.rendered-markdown a{color:var(--color-action-primary);font-weight:700;text-underline-offset:3px}.rendered-markdown pre{padding:16px;overflow-x:auto;background:var(--color-surface-section)}.rendered-markdown table{width:100%;border-collapse:collapse}.rendered-markdown th,.rendered-markdown td{padding:8px;border:1px solid var(--color-border-default)}.rich-content [data-lorelorn-layout=columns-2],.rich-content [data-lorelorn-layout=columns-3],.rich-text-editor [data-lorelorn-layout=columns-2],.rich-text-editor [data-lorelorn-layout=columns-3]{display:grid;gap:18px}.rich-content [data-lorelorn-layout=columns-2],.rich-text-editor [data-lorelorn-layout=columns-2]{grid-template-columns:repeat(2,minmax(0,1fr))}.rich-content [data-lorelorn-layout=columns-3],.rich-text-editor [data-lorelorn-layout=columns-3]{grid-template-columns:repeat(3,minmax(0,1fr))}.rich-content [data-lorelorn-callout],.rich-text-editor [data-lorelorn-callout]{margin:20px 0;padding:15px 17px;border:1px solid var(--color-border-default);border-left:5px solid var(--color-action-primary);background:var(--color-surface-section)}.rich-content [data-lorelorn-callout=warning],.rich-text-editor [data-lorelorn-callout=warning]{border-left-color:var(--color-warning-strong)}.rich-content [data-lorelorn-callout=secret],.rich-text-editor [data-lorelorn-callout=secret]{border-left-color:var(--color-danger-primary)}.rich-content figure,.rich-text-editor figure{max-width:100%;margin:20px 0}.rich-content img,.rich-text-editor img{max-width:100%;height:auto}.rich-text-field{display:grid;min-width:0;gap:0}.rich-text-field>label{margin-bottom:7px}.rich-text-toolbar{display:flex;padding:7px;border:1px solid var(--color-border-default);border-bottom:0;flex-wrap:wrap;gap:5px;background:var(--color-surface-section)}.rich-text-toolbar button{min-height:34px;padding:6px 9px;border:1px solid var(--color-border-default);color:var(--color-text-primary);background:var(--color-surface-card);font:inherit;font-size:.75rem;cursor:pointer}.rich-text-toolbar button:hover,.rich-text-toolbar button:focus-visible{border-color:var(--color-action-primary);color:var(--color-action-primary);outline:2px solid transparent}.rich-text-editor{min-height:210px;padding:15px;border:1px solid var(--color-border-default);overflow-x:auto;color:var(--color-text-reading);background:var(--color-surface-canvas);font-family:var(--font-interface);line-height:1.7}.rich-text-editor:focus{border-color:var(--color-action-primary);outline:2px solid var(--color-action-primary);outline-offset:-2px}.rich-text-editor:empty:before{color:var(--color-text-muted);content:attr(data-placeholder);pointer-events:none}.rich-text-field>small{margin-top:7px;color:var(--color-text-muted);line-height:1.45}.rich-text-field>.rich-text-error{color:var(--color-danger-text)}.rich-text-editor table{width:100%;border-collapse:collapse}.rich-text-editor th,.rich-text-editor td{min-width:90px;padding:8px;border:1px solid var(--color-border-default)}.legacy-conversion{display:grid;margin:22px 0;padding:20px;border:1px solid var(--color-border-default);gap:18px;background:var(--color-surface-section)}.legacy-conversion h2,.legacy-conversion h5{margin:4px 0 8px}.legacy-conversion p{margin:0}.legacy-conversion-preview{padding:16px;border:1px solid var(--color-border-default);background:var(--color-surface-card)}.legacy-conversion-preview>h3,.legacy-conversion-preview>h6{margin:0 0 12px}.conversion-warnings{margin:14px 0 0;color:var(--color-danger-text)}.page-sections figure{max-width:700px;margin:25px 0 0}.page-sections figure img{display:block;max-width:100%;max-height:520px;border:1px solid var(--color-border-default)}.page-sections figcaption,.asset-link{color:var(--color-text-muted);font-size:.75rem}.page-relations{display:grid;max-width:850px;margin-top:40px;grid-template-columns:repeat(2,1fr);gap:30px}.page-relations h3{font-family:var(--font-display);font-weight:500}.page-relations div{display:flex;align-items:flex-start;gap:8px;flex-direction:column}.page-relations button{border:0;color:var(--color-action-primary);background:transparent;font-weight:700}.page-relations span{color:var(--color-text-muted)}.wiki-editor{max-width:1000px}.editor-fields{display:grid;margin:40px 0 30px;grid-template-columns:2fr 1fr 1fr;gap:16px}.editor-fields label:last-child{grid-column:1 / -1}.wiki-editor label{display:grid;gap:7px;color:var(--color-text-label-muted);font-size:.75rem;font-weight:700}.wiki-editor input,.wiki-editor select,.wiki-editor textarea,.search-panel input{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--color-border-input);border-radius:3px;color:var(--color-text-primary);background:var(--color-surface-card)}.wiki-editor textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem;line-height:1.55}.section-editor-list{display:grid;gap:20px}.section-editor{display:grid;padding:22px;border:1px solid var(--color-border-default);gap:16px;background:var(--color-surface-raised)}.section-editor-heading{display:flex;align-items:center;justify-content:space-between}.asset-upload{padding:10px;border:1px dashed var(--color-border-input)}.asset-upload input{padding:5px;border:0}.attached-assets{display:grid;margin:0;padding:0;gap:8px;list-style:none}.attached-assets li{display:flex;align-items:center;justify-content:space-between;gap:12px}.attached-assets span{overflow-wrap:anywhere;color:var(--color-text-muted)}.editor-footer{display:grid;margin-top:22px;grid-template-columns:auto auto 1fr;align-items:end;gap:12px}.preview-panel{position:fixed;z-index:30;inset:7vh 5vw;padding:26px;border:1px solid var(--color-border-default);overflow-y:auto;background:var(--color-surface-canvas);box-shadow:0 30px 100px var(--color-shadow-overlay)}.preview-panel>div:first-child{display:flex;position:sticky;top:-26px;margin:-26px -26px 25px;padding:18px 26px;border-bottom:1px solid var(--color-border-default);align-items:center;gap:14px;background:var(--color-surface-canvas)}.preview-panel>div:first-child button{margin-left:auto}.preview-panel>.rendered-markdown{max-width:800px;margin:0 auto 30px}.search-panel,.history-panel{max-width:950px}.search-panel form{display:grid;margin-top:38px;grid-template-columns:1fr auto;gap:10px}.search-count{color:var(--color-text-muted);font-size:.75rem}.search-results{display:grid;margin-top:20px;gap:8px}.search-results button{display:grid;padding:18px;border:1px solid var(--color-border-default);gap:5px;color:var(--color-text-primary);background:var(--color-surface-card);text-align:left}.search-results small{color:var(--color-accent-primary);font-weight:700;text-transform:uppercase}.search-results strong{font-family:var(--font-display);font-size:1.35rem}.search-results span{color:var(--color-text-muted);line-height:1.5}.history-panel header p:not(.eyebrow){color:var(--color-text-muted)}.history-panel ol{display:grid;margin:40px 0 0;padding:0;gap:8px;list-style:none}.history-panel li{display:flex;padding:18px;border:1px solid var(--color-border-default);align-items:center;justify-content:space-between;gap:20px;background:var(--color-surface-card)}.history-panel li div{display:grid;gap:4px}.history-panel li span{font-family:var(--font-display);font-size:1.2rem}.history-panel li small{color:var(--color-text-muted)}.history-actions{display:flex;gap:8px}.diff-panel{margin-top:32px;padding:20px;border:1px solid var(--color-border-default);background:var(--color-surface-sunken)}.diff-panel>div{display:flex;align-items:center;justify-content:space-between}.diff-panel>section{padding-top:18px}.diff-panel small{color:var(--color-accent-primary);font-weight:700;text-transform:uppercase}.diff-panel h3{margin:4px 0 10px;font-family:var(--font-display);font-weight:500}.diff-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.diff-columns pre{margin:0;padding:12px;overflow-x:auto;white-space:pre-wrap;background:var(--color-surface-card)}@media(max-width:1100px){.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wiki-topbar{grid-template-columns:1fr auto}.space-tabs{grid-row:2;grid-column:1 / -1;margin:8px auto}.wiki-account{grid-column:2;grid-row:1}.wiki-layout{grid-template-columns:1fr}.wiki-tree-panel{position:fixed;z-index:40;top:0;bottom:0;left:0;width:min(330px,88vw);height:100vh;box-shadow:20px 0 60px var(--color-shadow-drawer);transform:translate(-110%);transition:transform .18s ease}.wiki-tree-panel.tree-open{transform:translate(0)}.tree-close,.tree-toggle{display:inline-flex}.tree-close{position:absolute;top:16px;right:12px}.tree-heading .icon-button{margin-right:54px}.tree-toggle{margin-bottom:25px}.wiki-main{padding-top:35px}.embedded-wiki-heading{align-items:flex-start;flex-direction:column}.embedded-wiki-heading .space-tabs{width:100%;margin:0}.embedded-wiki-heading .space-tabs button{flex:1}.repeating-row{grid-template-columns:repeat(2,minmax(0,1fr))}.repeating-row>span{grid-column:1 / -1}.campaign-access-grid{grid-template-columns:1fr}}@media(max-width:900px){.characters-heading{align-items:flex-start;flex-direction:column}.characters-layout{margin-right:-18px;margin-left:-18px;border-right:0;border-left:0;grid-template-columns:1fr}.character-list-panel{border-right:0;border-bottom:1px solid var(--color-border-default)}.character-list{display:flex;overflow-x:auto}.character-list>button{min-width:210px}.character-detail{padding:24px 18px}.character-titlebar{align-items:start;grid-template-columns:72px minmax(0,1fr)}.character-portrait{width:72px;height:86px}.character-revision{grid-column:1 / -1}.sheet-fields{grid-template-columns:1fr}.markdown-field,.repeating-field,.image-field{grid-column:auto}.sheet-footer{grid-template-columns:1fr}.character-conflict{align-items:stretch;flex-direction:column}.sessions-heading{align-items:flex-start;flex-direction:column}.sessions-layout{margin-right:-18px;margin-left:-18px;border-right:0;border-left:0;grid-template-columns:minmax(0,1fr)}.session-list-panel{min-width:0;border-right:0;border-bottom:1px solid var(--color-border-default)}.session-list{display:flex;max-width:100%;overflow-x:auto}.session-list button{min-width:180px}.session-detail,.gm-session{min-width:0}.session-detail{padding:24px 18px}.scene-add,.recap-form{min-width:0;align-items:stretch;flex-direction:column}.scene-add label,.recap-form label{width:100%;min-width:0}}@media(max-width:650px){.library-header{padding:0 16px}.library-user>span:not(.workspace-health){display:none}.library-main{width:calc(100% - 32px);padding-top:42px}.library-title,.library-actions{align-items:stretch;flex-direction:column}.campaign-grid{margin-top:35px;grid-template-columns:1fr}.wiki-topbar{position:static;min-height:112px;padding:13px 16px}.wiki-account>span:not(.workspace-health){display:none}.space-tabs{width:100%}.space-tabs button{min-width:0;flex:1}.wiki-main{padding:25px 18px 80px}.campaign-access-heading{align-items:stretch;flex-direction:column}.member-access-panel>header,.member-access-card>header,.member-access-actions{align-items:stretch;flex-direction:column}.member-access-card fieldset,.invitation-panel fieldset{gap:12px;flex-direction:column}.invitation-result>div{align-items:stretch;flex-direction:column}.sessions-heading{align-items:flex-start;flex-direction:column}.sessions-layout{margin-right:-18px;margin-left:-18px;border-right:0;border-left:0;grid-template-columns:1fr}.session-list-panel{border-right:0;border-bottom:1px solid var(--color-border-default)}.session-list{display:flex;overflow-x:auto}.session-list button{min-width:180px}.session-detail{padding:24px 18px}.session-titlebar,.scene-card>header,.moment-header,.moment-title-form,.moment-add,.scene-add,.recap-form{align-items:stretch;flex-direction:column}.section-plan,.plan-controls{grid-template-columns:1fr}.character-content-panel>header,.character-content-reader>header,.character-content-editor>header,.character-content-history>header{align-items:stretch;flex-direction:column}.character-content-layout{grid-template-columns:1fr}.character-content-tree{display:flex;border-right:0;border-bottom:1px solid var(--color-border-default);overflow-x:auto}.character-content-tree button{min-width:165px}.rich-content [data-lorelorn-layout],.rich-text-editor [data-lorelorn-layout]{grid-template-columns:1fr}.rich-text-toolbar button{flex:1 1 auto}.character-content-history li,.character-history li{align-items:stretch;flex-direction:column}.template-version-line{grid-template-columns:1fr}.template-version-line>span{transform:rotate(90deg);justify-self:start}.template-version-line div:last-child{text-align:left}.repeating-row{grid-template-columns:1fr}.repeating-row>span{grid-column:auto}.assignment-list>div{align-items:stretch;grid-template-columns:1fr}.migration-actions{align-items:stretch;flex-direction:column}.migration-summary{grid-template-columns:1fr}.migration-summary>div{border-right:0;border-bottom:1px solid var(--color-border-default)}.migration-summary>div:last-child{border-bottom:0}.page-header,.editor-header,.search-panel>header,.history-panel>header{align-items:stretch;flex-direction:column}.page-actions,.editor-header>div:last-child{width:100%}.page-actions .button,.editor-header .button{flex:1}.page-sections{margin-top:35px}.page-relations,.editor-fields{grid-template-columns:1fr}.editor-fields label:last-child{grid-column:auto}.editor-footer{grid-template-columns:1fr 1fr}.editor-footer label{grid-column:1 / -1}.search-panel form{grid-template-columns:1fr}.history-panel li{align-items:stretch;flex-direction:column}.history-actions{flex-wrap:wrap}.diff-columns{grid-template-columns:1fr}.preview-panel{inset:0}}@keyframes pulse{50%{opacity:.35}}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(200%)}}@media(max-width:900px){.public-nav .health{display:none}.hero{grid-template-rows:auto auto}.hero-art{grid-area:1 / 1}.hero-copy{grid-area:2 / 1;width:100%;margin:0;border:0;border-top:1px solid var(--color-border-inverse);background:var(--color-surface-inverse-raised)}.capabilities,.auth-main{grid-template-columns:1fr}.auth-aside{min-height:clamp(300px,45vw,420px);background-image:url(/assets/lorelorn-campaign-wide-v2.png);background-position:center}.auth-panel{padding-top:94px;padding-bottom:64px}.workspace{grid-template-columns:1fr}.sidebar{position:static;width:100%;height:auto;padding:18px 24px;border-right:0;border-bottom:1px solid var(--color-border-default);flex-direction:row;align-items:center}.sidebar nav{display:flex;margin:0 0 0 auto}.sidebar-footer{display:flex;margin:0 0 0 14px;align-items:center;gap:8px}.sidebar-footer .health{display:none}.signout{width:auto}}@media(max-width:620px){.site-header,.site-footer,.hero{width:min(100% - 32px,1180px)}.site-header{height:72px;gap:12px}.site-header .brand{font-size:1.3rem}.public-nav{margin-left:auto}.public-nav .button-quiet{display:none}.public-nav .button-small{min-width:0;padding-inline:13px;white-space:nowrap}.hero{min-height:0;margin-top:16px;padding:0}.hero-copy{padding:30px 22px}.hero h1{font-size:clamp(2.55rem,12.5vw,3.7rem)}.hero-lede{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:6px}.hero-constraints{display:grid;gap:9px}.capabilities{width:calc(100% - 32px);padding:46px 0 58px}.site-footer{min-height:105px;align-items:flex-start;padding:30px 0;flex-direction:column;gap:10px}.auth-main{min-height:calc(100vh - 72px)}.auth-aside{height:220px;min-height:220px}.auth-panel{padding:84px 16px 42px}.auth-card{padding:28px 22px}.back-link{top:25px;left:16px}.sidebar{gap:12px;align-items:flex-start;flex-wrap:wrap}.sidebar nav{width:100%;margin:8px 0 0;order:3}.sidebar-footer{margin-left:auto}.workspace-header{padding:24px;align-items:flex-start;flex-direction:column;gap:18px}.user-badge{width:100%}.workspace-main{min-height:0;padding:55px 24px}.empty-actions{align-items:stretch;flex-direction:column}}.authenticated-presentation-scope[data-reduce-motion=true] *,.authenticated-presentation-scope[data-reduce-motion=true] *:before,.authenticated-presentation-scope[data-reduce-motion=true] *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.world-grid{display:grid;margin-top:55px;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.world-card{display:grid;min-width:0;padding:25px;border:1px solid var(--color-border-default);align-content:start;gap:18px;background:var(--color-surface-card)}.world-card>header{display:flex;min-width:0;align-items:center;gap:17px}.world-card>header>div{min-width:0}.world-card-mark{display:grid;width:54px;height:54px;flex:none;border:1px solid var(--color-accent-primary);border-radius:50%;place-items:center;color:var(--color-accent-primary);font-family:var(--font-display);font-size:1.4rem}.world-card small{color:var(--color-accent-primary);font-size:.67rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.world-card h2{margin:3px 0 0;overflow-wrap:anywhere;font-size:1.7rem}.world-card>.button{justify-self:start}.world-card nav{display:grid;padding-top:14px;border-top:1px solid var(--color-border-default);gap:5px}.world-card nav button{display:grid;min-width:0;padding:11px 12px;border:0;border-left:3px solid transparent;gap:3px;color:var(--color-text-primary);background:transparent;text-align:left}.world-card nav button:hover{border-left-color:var(--color-action-primary);background:var(--color-surface-canvas)}.world-card nav span{overflow:hidden;font-family:var(--font-display);font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.world-shell{min-height:100vh;color:var(--color-text-primary);background:var(--color-surface-canvas)}.world-topbar{display:grid;position:sticky;z-index:20;top:0;min-height:82px;padding:8px 28px;border-bottom:1px solid var(--color-border-default);align-items:center;gap:14px;grid-template-columns:minmax(170px,1fr) minmax(190px,260px) auto minmax(170px,1fr);background:var(--color-surface-sticky);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.world-context-button{display:grid;max-width:280px;min-width:0;padding:0;border:0;gap:3px;color:var(--color-text-primary);background:transparent;text-align:left}.world-context-button span{color:var(--color-action-primary);font-size:.72rem;font-weight:700}.world-context-button strong{overflow:hidden;font-family:var(--font-display);font-size:1.2rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.context-switcher{display:grid;min-width:0;gap:3px}.context-switcher label{display:grid;gap:3px;color:var(--color-text-muted);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.context-switcher select{width:100%;min-width:0;min-height:36px;padding:0 9px;border:1px solid var(--color-border-default);color:var(--color-text-primary);background:var(--color-surface-card)}.context-switcher small{overflow:hidden;color:var(--color-text-muted);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.area-tabs{display:flex;min-width:0;padding:4px;border:1px solid var(--color-border-default);border-radius:4px;overflow-x:auto;background:var(--color-surface-sunken)}.area-tabs button{min-width:max-content;min-height:36px;padding:0 18px;border:0;color:var(--color-text-muted);background:transparent;font-size:.77rem;font-weight:700;white-space:nowrap}.area-tabs button.active{color:var(--color-action-primary);background:var(--color-surface-card);box-shadow:0 1px 5px var(--color-shadow-active)}.world-account{display:flex;min-width:0;justify-self:end;align-items:center;gap:11px;font-size:.8rem}.world-account>span:not(.workspace-health){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-main{min-width:0;padding:44px clamp(24px,4vw,64px) 100px}.world-main.focus-area{padding-right:clamp(24px,4vw,64px);padding-left:clamp(24px,4vw,64px)}.account-presentation-control{position:relative}.account-presentation-control>summary,.presentation-management-panel>summary{min-height:39px;padding:9px 12px;border:1px solid var(--color-border-default);color:var(--color-action-primary);background:var(--color-surface-card);font-size:.72rem;font-weight:800;letter-spacing:.035em;list-style-position:inside;text-transform:uppercase;cursor:pointer}.account-presentation-control>form{display:grid;position:absolute;z-index:25;top:calc(100% + 9px);right:0;width:min(320px,calc(100vw - 32px));padding:18px;border:1px solid var(--color-border-neutral-strong);gap:13px;background:var(--color-surface-raised);box-shadow:var(--shadow-elevation-high)}.account-presentation-control form>p,.presentation-management-panel form>p{margin:0;color:var(--color-text-muted);font-size:.78rem}.account-presentation-control label,.presentation-management-panel label{display:grid;gap:5px;color:var(--color-text-label);font-size:.72rem;font-weight:800}.account-presentation-control select,.presentation-management-panel select{width:100%;min-height:41px;padding:0 10px;border:1px solid var(--color-border-input);color:var(--color-text-primary);background:var(--color-surface-sunken)}.account-presentation-control .presentation-motion-option{display:flex;min-height:44px;align-items:center;gap:9px}.presentation-motion-option input{width:20px;height:20px;margin:0;accent-color:var(--color-action-primary)}.presentation-success{color:var(--color-success-text)}.presentation-management-panel{width:min(900px,100%);margin:0 auto 22px;border:1px solid var(--color-border-default);background:var(--color-surface-section)}.presentation-management-panel>summary{border:0}.presentation-management-panel>form{display:grid;padding:18px;border-top:1px solid var(--color-border-default);gap:14px}.presentation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.presentation-fields small{color:var(--color-text-muted);font-size:.7rem;font-weight:500}.session-presentation-panel{width:100%;margin-bottom:24px}.authenticated-presentation-scope[data-skin-density=compact] .library-main{padding-top:38px}.authenticated-presentation-scope[data-skin-density=compact] .world-topbar{min-height:68px;padding-block:5px}.authenticated-presentation-scope[data-skin-density=compact] .world-main{padding-top:26px;padding-bottom:64px}.authenticated-presentation-scope[data-skin-density=compact] .world-grid{margin-top:34px;gap:12px}.authenticated-presentation-scope[data-skin-density=compact] .world-card,.authenticated-presentation-scope[data-skin-density=compact] .wiki-tree-panel,.authenticated-presentation-scope[data-skin-density=compact] .lore-browser-panel,.authenticated-presentation-scope[data-skin-density=compact] .session-list-panel{padding:16px 13px}.authenticated-presentation-scope[data-skin-density=compact] .wiki-main,.authenticated-presentation-scope[data-skin-density=compact] .lore-main,.authenticated-presentation-scope[data-skin-density=compact] .session-detail{padding:24px}.authenticated-presentation-scope[data-skin-density=compact] .lore-record-sections{margin-top:32px;gap:28px}.world-campaigns{width:min(1200px,100%);margin:0 auto}.world-campaigns>header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.world-campaigns>header h1{margin:2px 0 7px;font-size:clamp(2.6rem,5vw,4.4rem)}.world-campaigns>header p:last-child{max-width:680px;margin:0;color:var(--color-text-muted)}.world-campaign-list{display:grid;margin-top:32px;gap:14px}.world-campaign-list>article{display:grid;padding:20px;border:1px solid var(--color-border-default);gap:18px;background:var(--color-surface-card)}.world-campaign-list>article>header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:20px}.world-campaign-list h2{margin:4px 0 0;overflow-wrap:anywhere}.world-campaign-list small{color:var(--color-accent-primary);font-size:.66rem;font-weight:800;text-transform:uppercase}.campaign-move-control{display:grid;padding-top:16px;border-top:1px solid var(--color-border-default);align-items:end;grid-template-columns:minmax(220px,420px) auto;gap:10px}.campaign-move-control label{display:grid;gap:6px;color:var(--color-text-muted);font-size:.68rem;font-weight:800}.campaign-move-control select{width:100%;min-width:0;min-height:39px;padding:0 10px;border:1px solid var(--color-border-default);background:var(--color-surface-card)}.lore-workspace{width:min(1500px,100%);margin:0 auto}.lore-layout{display:grid;min-height:680px;margin-top:22px;border:1px solid var(--color-border-default);grid-template-columns:minmax(240px,290px) minmax(0,1fr);background:var(--color-surface-highlight)}.lore-browser-panel{display:flex;position:sticky;top:104px;min-width:0;height:calc(100vh - 126px);padding:24px 18px 18px;border-right:1px solid var(--color-border-default);flex-direction:column;background:var(--color-surface-sunken)}.lore-browser-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.lore-browser-heading>div{display:grid;min-width:0;gap:4px}.lore-browser-heading small{color:var(--color-accent-primary);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.lore-browser-heading strong{font-family:var(--font-display);font-size:1.4rem;font-weight:500}.lore-drawer-close,.lore-drawer-toggle{display:none}.lore-type-filter{display:grid;margin-top:20px;gap:6px;color:var(--color-text-muted);font-size:.65rem;font-weight:800;text-transform:uppercase}.lore-type-filter select{width:100%;min-width:0;min-height:37px;padding:0 9px;border:1px solid var(--color-border-default);background:var(--color-surface-card)}.lore-record-list{display:grid;min-height:0;margin-top:18px;gap:18px;overflow-y:auto}.lore-record-list>section{display:grid;gap:4px}.lore-record-list h3{margin:0 0 5px;color:var(--color-text-muted);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.lore-record-list p{margin:4px 8px;color:var(--color-text-muted);font-size:.76rem}.lore-record-list button{display:grid;min-width:0;min-height:50px;padding:9px 11px;border:0;border-left:3px solid transparent;gap:3px;color:var(--color-text-primary);background:transparent;text-align:left}.lore-record-list button:hover,.lore-record-list button.active{border-left-color:var(--color-action-primary);background:var(--color-surface-highlight)}.lore-record-list button span{overflow:hidden;font-size:.84rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.lore-record-list button small{overflow:hidden;color:var(--color-text-muted);font-size:.61rem;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.lore-browser-tools{display:flex;margin-top:auto;padding-top:16px;border-top:1px solid var(--color-border-default)}.lore-browser-tools button{min-height:36px;flex:1;border:0;color:var(--color-action-primary);background:transparent;font-size:.74rem;font-weight:750}.lore-main{min-width:0;padding:clamp(24px,4vw,52px)}.lore-empty{max-width:700px;margin:12vh auto 0;text-align:center}.lore-empty h1{margin:0;font-size:clamp(2.7rem,5vw,4.6rem)}.lore-empty p:not(.eyebrow){margin:18px auto 28px;color:var(--color-text-muted);line-height:1.6}.lore-record-header,.lore-editor-header,.lore-search>header,.lore-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.lore-record-header h1,.lore-editor-header h1,.lore-search h1,.lore-history h1{margin:0;overflow-wrap:anywhere;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.02}.lore-record-actions,.lore-editor-header>div:last-child{display:flex;gap:9px}.lore-record-meta{display:flex;margin-top:17px;gap:7px;flex-wrap:wrap}.lore-record-meta span{padding:5px 9px;border:1px solid var(--color-border-default);border-radius:999px;color:var(--color-text-muted);background:var(--color-surface-card);font-size:.67rem;font-weight:700}.lore-record-sections{display:grid;max-width:850px;margin-top:50px;gap:44px}.lore-record-sections>section{padding-bottom:35px;border-bottom:1px solid var(--color-border-default)}.lore-record-sections h2{margin:0 0 18px;font-size:1.9rem}.lore-relations{display:grid;max-width:1000px;margin-top:35px;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lore-relation-group{min-width:0}.lore-relation-group h2{font-size:1.25rem}.lore-relation-group>div{display:grid;gap:7px}.lore-relation-group button,.lore-usage{display:grid;min-width:0;padding:12px;border:1px solid var(--color-border-default);gap:3px;color:var(--color-text-primary);background:var(--color-surface-card);text-align:left}.lore-relation-group button strong,.lore-usage strong{color:var(--color-accent-primary);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase}.lore-relation-group button span,.lore-usage span{overflow-wrap:anywhere;font-family:var(--font-display)}.lore-relation-group button small,.lore-usage small{color:var(--color-text-muted);font-size:.65rem}.lore-editor{max-width:1080px}.lore-editor label{display:grid;min-width:0;gap:6px;color:var(--color-text-muted);font-size:.7rem;font-weight:800}.lore-editor input,.lore-editor select,.lore-editor textarea,.lore-search input{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--color-border-default);color:var(--color-text-primary);background:var(--color-surface-card)}.lore-editor textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.5}.lore-identity-fields{display:grid;margin:35px 0 26px;grid-template-columns:minmax(0,2fr) repeat(3,minmax(140px,1fr));gap:14px}.lore-identity-fields>label:first-child{grid-column:span 2}.lore-fixed-value{display:flex;min-height:39px;padding:9px 11px;border:1px solid var(--color-border-default);align-items:center;color:var(--color-text-primary);background:var(--color-surface-sunken);font-weight:600}.lore-section-editor-list{display:grid;gap:17px}.lore-section-editor{display:grid;padding:20px;border:1px solid var(--color-border-default);gap:14px;background:var(--color-surface-card)}.lore-section-editor>header{display:flex;align-items:center;justify-content:space-between}.lore-connections-editor{display:grid;min-width:0;margin:28px 0 0;padding:20px;border:1px solid var(--color-border-default);gap:14px}.lore-connections-editor legend{padding:0 7px;font-family:var(--font-display);font-size:1.25rem}.lore-connections-editor>p{margin:0;color:var(--color-text-muted);font-size:.76rem}.lore-connection-list{display:grid;gap:10px}.lore-connection-row{display:grid;min-width:0;padding:13px;border:1px solid var(--color-border-default);align-items:end;grid-template-columns:minmax(160px,1fr) 140px minmax(200px,1.2fr) auto;gap:10px;background:var(--color-surface-subtle)}.lore-editor-footer{margin-top:20px}.lore-search form{display:grid;margin-top:32px;grid-template-columns:minmax(0,1fr) auto;gap:9px}.lore-search-results{display:grid;margin-top:18px;gap:7px}.lore-search-results button{display:grid;padding:16px;border:1px solid var(--color-border-default);gap:4px;color:var(--color-text-primary);background:var(--color-surface-card);text-align:left}.lore-search-results small{color:var(--color-accent-primary);font-size:.65rem;text-transform:uppercase}.lore-search-results strong{font-family:var(--font-display);font-size:1.25rem}.lore-history>header p{color:var(--color-text-muted)}.lore-history ol{display:grid;margin:30px 0 0;padding:0;gap:8px;list-style:none}.lore-history li{display:flex;padding:16px;border:1px solid var(--color-border-default);align-items:center;justify-content:space-between;gap:18px;background:var(--color-surface-card)}.lore-history li>div{display:grid;gap:3px}.lore-history li span{font-family:var(--font-display)}.lore-history li small{color:var(--color-text-muted)}.lore-history li em{color:var(--color-action-primary);font-size:.68rem;font-style:normal;font-weight:800;text-transform:uppercase}.association-panel{border:1px solid var(--color-border-default);background:var(--color-surface-card)}.campaign-association-panel{width:100%}.campaign-association-panel>summary{display:flex;min-width:0;padding:16px 18px;align-items:center;justify-content:space-between;gap:18px;cursor:pointer}.campaign-association-panel>summary>span{display:grid;min-width:0;gap:3px}.campaign-association-panel>summary small{color:var(--color-text-muted)}.campaign-association-panel>summary em{color:var(--color-action-primary);font-size:.68rem;font-style:normal;font-weight:800;text-transform:uppercase}.association-panel-body{display:grid;padding:18px;border-top:1px solid var(--color-border-default);gap:16px}.association-reference-list{display:grid;margin:0;padding:0;gap:6px;list-style:none}.association-reference-list li{display:flex;min-width:0;padding:11px 12px;border:1px solid var(--color-border-default);align-items:center;justify-content:space-between;gap:12px}.association-reference-list li>div{display:grid;min-width:0;gap:3px}.association-reference-list small{color:var(--color-text-muted);font-size:.65rem;text-transform:uppercase}.association-empty{margin:0;color:var(--color-text-muted)}.association-picker{display:grid;min-width:0;padding:14px;border:1px solid var(--color-border-default);align-items:end;grid-template-columns:140px minmax(180px,1fr) 160px auto;gap:9px;background:var(--color-surface-subtle)}.association-picker label{display:grid;min-width:0;gap:5px;color:var(--color-text-muted);font-size:.66rem;font-weight:800}.association-picker select{width:100%;min-width:0;min-height:39px;padding:0 8px;border:1px solid var(--color-border-default);background:var(--color-surface-card)}.session-association-panel{display:grid;margin-top:26px;padding:18px;gap:14px}.session-association-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.session-association-panel h3{margin:3px 0;font-family:var(--font-display);font-size:1.4rem;font-weight:500}.session-association-panel header p:last-child{margin:0;color:var(--color-text-muted);font-size:.75rem}.session-association-panel header>span{color:var(--color-action-primary);font-size:.68rem;font-weight:800;text-transform:uppercase}.workspace,.library-shell,.wiki-shell,.world-shell{background-color:var(--color-surface-canvas)}.sidebar,.library-header,.wiki-topbar,.world-topbar,.wiki-tree-panel,.lore-browser-panel{box-shadow:none}.library-header,.wiki-topbar,.world-topbar{border-bottom:2px solid var(--color-border-neutral-strong)}.library-title h1,.sessions-heading h1,.campaign-access-heading h1,.characters-heading h1,.world-campaigns>header h1{font-size:clamp(2.2rem,4vw,3.35rem);line-height:1}.wiki-empty h1,.lore-empty h1,.page-header h1,.editor-header h1,.search-panel h1,.history-panel h1,.lore-record-header h1,.lore-editor-header h1,.lore-search h1,.lore-history h1{font-size:clamp(2.15rem,4vw,3.3rem);line-height:1}.campaign-card,.world-card,.inline-panel,.member-access-panel,.invitation-panel,.member-access-card,.sessions-layout,.characters-layout,.character-content-panel,.scene-card,.player-scene,.sheet-section,.section-editor,.lore-layout,.lore-section-editor,.association-panel,.world-campaign-list>article{border-color:var(--color-border-neutral-strong);border-radius:0;box-shadow:none}.campaign-card,.world-card,.inline-panel,.member-access-card,.scene-card,.sheet-section,.section-editor,.lore-section-editor,.world-campaign-list>article{clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%)}.campaign-card:hover,.world-card:hover{border-color:var(--color-action-primary);box-shadow:none}.campaign-card-mark,.world-card-mark,.character-monogram,.empty-mark,.user-badge>span,.icon-button{border-radius:0;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px))}.area-tabs,.space-tabs,.nav-item,.wiki-tree button,.session-list button,.auth-card input,.wiki-editor input,.wiki-editor select,.wiki-editor textarea,.search-panel input,.lore-editor input,.lore-editor select,.lore-editor textarea,.lore-search input{border-radius:0}.realtime-state,.form-only-badge,.page-meta span,.lore-record-meta span{border-radius:0;font-family:var(--font-mono);letter-spacing:.035em}.realtime-live{border-color:var(--color-lore-known);color:var(--color-success-text);background:var(--color-lore-known-surface)}.realtime-unavailable,.notice-error,.form-error,.field-error,.member-access-warning{border-color:var(--color-lore-disputed);color:var(--color-lore-disputed)}.form-only-badge,.fixed-visibility{border-color:var(--color-lore-hidden);color:var(--color-lore-hidden);background:var(--color-lore-hidden-surface)}.session-state-chip,.player-scene>header span{color:var(--color-lore-known);font-family:var(--font-mono)}.scene-card.scene-2{border-left-color:var(--color-lore-known);box-shadow:none}.member-access-card legend,.invitation-panel legend,.member-access-card>header small,.member-access-card>header>span,.world-card small,.world-campaign-list small,.lore-browser-heading small,.lore-record-list button small,.session-list button small,.character-list small,.search-results small,.lore-search-results small{font-family:var(--font-mono);letter-spacing:.035em}.rendered-markdown{font-family:var(--font-interface);font-size:.98rem;line-height:1.7}.rendered-markdown code,.rendered-markdown pre,.wiki-editor textarea,.lore-editor textarea{font-family:var(--font-mono)}.workspace-health:before{border-radius:0;transform:rotate(45deg)}@media(max-width:1100px){.world-topbar{grid-template-columns:minmax(0,1fr) auto}.world-context-button{grid-column:1;grid-row:1}.world-account{grid-column:2;grid-row:1}.context-switcher{grid-column:1;grid-row:2}.area-tabs{grid-column:2;grid-row:2}.lore-layout{grid-template-columns:1fr}.lore-browser-panel{visibility:hidden;position:fixed;z-index:40;top:0;bottom:0;left:0;width:min(340px,88vw);height:100vh;pointer-events:none;box-shadow:20px 0 60px var(--color-shadow-drawer);transform:translate(-110%);transition:transform .18s ease}.lore-browser-panel.drawer-open{visibility:visible;pointer-events:auto;transform:translate(0)}.lore-drawer-close,.lore-drawer-toggle{display:inline-flex}.lore-drawer-close{position:absolute;top:15px;right:10px}.lore-browser-heading .icon-button{margin-right:48px}.lore-drawer-toggle{margin-bottom:22px}.lore-relations,.lore-identity-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.lore-identity-fields>label:first-child{grid-column:span 2}.lore-connection-row{grid-template-columns:repeat(2,minmax(0,1fr))}.lore-connection-row>button{justify-self:start}.association-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.world-grid{grid-template-columns:1fr}.world-topbar{position:static;padding:13px 16px;grid-template-columns:minmax(0,1fr) auto}.world-account>span:not(.workspace-health){display:none}.context-switcher{grid-column:1 / -1}.area-tabs{width:100%;grid-column:1 / -1;grid-row:3}.world-main{padding:25px 18px 80px}.world-campaigns>header,.world-campaign-list>article>header,.lore-record-header,.lore-editor-header,.lore-search>header,.lore-history>header{align-items:stretch;flex-direction:column}.world-campaigns>header .button,.world-campaign-list>article>header .button{width:100%}.campaign-move-control{grid-template-columns:1fr}.lore-main{padding:23px 17px 60px}.lore-record-actions,.lore-editor-header>div:last-child{width:100%;flex-wrap:wrap}.lore-record-actions .button,.lore-editor-header .button{flex:1}.lore-relations,.lore-identity-fields{grid-template-columns:1fr}.lore-identity-fields>label:first-child{grid-column:auto}.lore-connection-row,.association-picker,.lore-search form{grid-template-columns:1fr}.lore-history li,.association-reference-list li,.session-association-panel>header{align-items:stretch;flex-direction:column}.campaign-association-panel>summary{align-items:flex-start;flex-direction:column}.presentation-fields{grid-template-columns:1fr}.presentation-management-panel{margin-bottom:16px}.account-presentation-control>form{position:fixed;top:72px;right:16px}}@media(max-width:900px){.characters-layout,.sessions-layout{margin-right:0;margin-left:0;border-right:1px solid var(--color-border-neutral-strong);border-left:1px solid var(--color-border-neutral-strong)}}.lore-category-editor{margin:20px 0;padding:16px;border:1px solid var(--color-border-default)}.lore-category-options{display:flex;flex-wrap:wrap;gap:10px 18px}.lore-category-options label{display:inline-flex;align-items:center;gap:7px}.lore-category-manager{display:grid;gap:20px}.lore-category-manager>header,.lore-category-manager>form,.lore-category-list>li,.lore-category-manager details li{display:flex;align-items:end;justify-content:space-between;gap:14px}.lore-category-list{display:grid;gap:12px;padding:0;list-style:none}.lore-category-list>li,.lore-category-manager details li{padding:14px;border:1px solid var(--color-border-default)}.lore-category-list>li>div{display:flex;flex-wrap:wrap;gap:8px}.lore-category-manager code{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:.75rem}.image-viewer-trigger{display:inline-flex;min-width:44px;min-height:44px;padding:0;border:1px solid var(--color-border-neutral-strong);align-items:center;justify-content:center;overflow:hidden;color:var(--color-text-primary);background:var(--color-surface-sunken);box-shadow:0 0 0 1px var(--color-shadow-low)}.image-viewer-trigger:hover:not(:disabled){border-color:var(--color-action-hover);background:var(--color-surface-active)}.image-viewer-trigger:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.image-viewer-trigger>img{display:block;width:100%;height:100%;object-fit:contain}.character-portrait>.image-viewer-trigger{width:100%;height:100%;min-width:0;min-height:0;border:0;box-shadow:none}.character-portrait>.image-viewer-trigger>img{object-fit:cover}.image-field>.image-viewer-trigger{width:min(100%,360px);aspect-ratio:4 / 3}.page-sections figure>.image-viewer-trigger,.character-content-reader figure>.image-viewer-trigger{width:100%;aspect-ratio:4 / 3}.session-assets>.image-viewer-trigger{width:min(100%,360px);aspect-ratio:4 / 3;flex:1 1 220px}img.image-viewer-trigger{display:block;width:auto;max-width:100%;height:auto;padding:3px;border-width:2px;border-color:var(--color-action-primary);object-fit:contain;cursor:zoom-in;box-shadow:0 0 0 2px var(--color-action-focus)}img.image-viewer-trigger:hover{border-color:var(--color-action-hover);background:var(--color-surface-hover-translucent)}.image-viewer-backdrop{position:fixed;z-index:1000;inset:0;display:grid;min-width:320px;min-height:100vh;min-height:100dvh;padding:clamp(12px,2vw,28px);place-items:center;overflow:hidden;background:var(--color-shadow-overlay)}.image-viewer-dialog{display:grid;width:min(1180px,100%);height:min(840px,calc(100vh - clamp(24px,4vw,56px)));height:min(840px,calc(100dvh - clamp(24px,4vw,56px)));min-height:0;border:1px solid var(--color-border-neutral-strong);grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:var(--color-surface-sunken-deep);box-shadow:0 24px 70px var(--color-shadow-overlay)}.image-viewer-toolbar{position:relative;z-index:1;display:flex;min-height:60px;padding:8px 12px;border-bottom:1px solid var(--color-border-neutral-strong);align-items:center;justify-content:space-between;gap:10px;color:var(--color-text-primary);background:var(--color-surface-sticky);box-shadow:0 8px 18px var(--color-shadow-medium)}.image-viewer-toolbar>*{min-width:0}.image-viewer-toolbar button,.image-viewer-toolbar a{display:inline-flex;min-width:44px;min-height:44px;padding:0 13px;border:1px solid var(--color-border-default);align-items:center;justify-content:center;color:var(--color-text-primary);background:var(--color-surface-raised);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.image-viewer-toolbar button:hover:not(:disabled),.image-viewer-toolbar a:hover{border-color:var(--color-action-hover);background:var(--color-surface-active)}.image-viewer-toolbar button:focus-visible,.image-viewer-toolbar a:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:-3px}.image-viewer-toolbar button[aria-pressed=true]{border-color:var(--color-action-primary);color:var(--color-text-on-action);background:var(--color-action-primary);box-shadow:inset 0 0 0 1px var(--color-action-focus)}.image-viewer-toolbar button[aria-pressed=true]:hover:not(:disabled){border-color:var(--color-action-hover);background:var(--color-action-hover)}.image-viewer-viewport{position:relative;min-width:0;min-height:0;overflow:hidden;overscroll-behavior:contain;touch-action:none;background:linear-gradient(45deg,var(--color-inverse-border) 25%,transparent 25%) 0 0 / 24px 24px,linear-gradient(-45deg,var(--color-inverse-border) 25%,transparent 25%) 0 0 / 24px 24px,var(--color-surface-sunken-deep)}.image-viewer-canvas{display:grid;width:100%;height:100%;min-width:0;min-height:0;margin:0;grid-template-rows:minmax(0,1fr) auto;place-items:center;touch-action:none;-webkit-user-select:none;user-select:none}.image-viewer-image{display:block;max-width:100%;max-height:100%;object-fit:contain;object-position:center;border:1px solid var(--color-inverse-border-strong);box-shadow:0 14px 36px var(--color-shadow-high);transform-origin:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.image-viewer-viewport[data-view-mode=actual]{overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}.image-viewer-viewport[data-view-mode=actual] .image-viewer-canvas{width:max-content;height:max-content;min-width:100%;min-height:100%;margin:0;grid-template-rows:max-content max-content;place-items:start;touch-action:pan-x pan-y}.image-viewer-viewport[data-view-mode=actual] .image-viewer-image{width:auto;height:auto;max-width:none;max-height:none;object-fit:none}@media(max-width:700px){.image-viewer-backdrop{padding:0}.image-viewer-dialog{width:100%;height:100vh;height:100dvh;border:0}.image-viewer-toolbar{min-height:56px;padding:6px 8px;gap:6px}.image-viewer-toolbar button,.image-viewer-toolbar a{min-width:44px;min-height:44px;padding-inline:10px}}@media(prefers-reduced-motion:reduce){.image-viewer-trigger,.image-viewer-dialog,.image-viewer-toolbar,.image-viewer-image{scroll-behavior:auto;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
