@font-face{font-family:Metal Mania;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0ed9f08f07ac6dba-s.1m7qoj3-5ssx1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Metal Mania;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d5961c8042762db6-s.p.33bgbn9dznc60.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Metal Mania Fallback;src:local(Arial);ascent-override:107.82%;descent-override:33.85%;line-gap-override:0.0%;size-adjust:87.4%}.metal_mania_cbaa4d14-module__1BXH2G__className{font-family:Metal Mania,Metal Mania Fallback;font-style:normal;font-weight:400}.metal_mania_cbaa4d14-module__1BXH2G__variable{--font-metal-mania:"Metal Mania", "Metal Mania Fallback"}
@font-face{font-family:Norse;src:url(/fonts/Norse.otf)format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Norse Bold;src:url(/fonts/NorseBold.otf)format("opentype");font-weight:700;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#eef1ee;--muted:#9a9d9c;--bg:#0a0e12;--panel:#12161b;--panel-2:#171c22;--line:#2b3035;--gold:#cfd6d1;--cyan:#7d97a6;--red:#a35b52;--purple:#8f7fa8;--danger:#c06b5f;--font-display:var(--font-metal-mania), "Cinzel", Georgia, serif;--font-norse:"Norse", var(--font-display);--font-norse-bold:"Norse Bold", var(--font-display);--book-accent:var(--gold)}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background-image:radial-gradient(circle at 12% -8%,#ffffff0d,#0000 30rem),radial-gradient(circle at 90% 6%,#ffffff08,#0000 26rem),linear-gradient(#0d1115,#0a0e12 32rem)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.book-shell{--book-accent:var(--gold);flex-direction:column;min-height:100dvh;display:flex}.book-topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:12;background:#0a0e12cc;border-bottom:1px solid #ffffff14;align-items:center;gap:16px;height:76px;padding:0 4vw;display:flex;position:sticky;top:0}.book-topbar .sidebar-toggle{flex:none;display:none}.book-brand{flex:none;align-items:center;gap:11px;min-width:max-content;display:inline-flex}.brand-mark{border:1px solid color-mix(in srgb, var(--book-accent) 70%, white);background:color-mix(in srgb, var(--book-accent) 18%, transparent);width:34px;height:34px;color:var(--book-accent);border-radius:8px;place-items:center;transition:color .2s,border-color .2s,background .2s;display:grid}.book-brand strong{font-family:var(--font-display);letter-spacing:.03em;font-size:17px;font-weight:400;display:block}.book-brand small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:2px;font-size:11px;display:block}.book-switcher{border:1px solid var(--line);min-width:0;color:var(--ink);background:#ffffff08;border-radius:6px;flex:auto;align-items:center;gap:9px;margin-left:auto;padding:10px 13px;font-size:13px;transition:border-color .15s,background .15s;display:inline-flex}.book-switcher:hover{border-color:color-mix(in srgb, var(--book-accent) 55%, var(--line));background:#ffffff0f}.book-switcher svg{flex:none}.book-switcher svg:last-child{color:var(--muted)}.book-switcher-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.top-actions{flex:none;align-items:center;gap:10px;display:flex}.ghost-link,.icon-link{color:var(--muted);font-size:13px;transition:color .15s,background .15s}.ghost-link:hover,.icon-link:hover{color:var(--ink)}.icon-link{background:0 0;border:0;border-radius:6px;flex:none;place-items:center;width:34px;height:34px;display:grid}.icon-link:hover{background:#ffffff12}[data-book-pending] .book-layout,[data-book-pending] .book-footer{visibility:hidden;animation:0s 6s forwards book-pending-timeout}@keyframes book-pending-timeout{to{visibility:visible}}.book-layout{grid-template-columns:var(--sidebar-width,260px) minmax(0, 1fr);flex:1;align-items:start;gap:0;width:100%;min-width:0;margin:0 auto;display:grid}.book-sidebar{scrollbar-width:thin;border-right:1px solid #ffffff14;width:100%;min-width:0;max-height:calc(100dvh - 76px);padding:26px 14px 36px clamp(16px,4vw,56px);position:sticky;top:76px;overflow:hidden auto}.sidebar-resizer{z-index:3;cursor:col-resize;touch-action:none;width:9px;height:100%;position:absolute;top:0;right:-4px}.sidebar-resizer:after{content:"";background:0 0;width:1px;height:100%;transition:background .15s,box-shadow .15s;position:absolute;top:0;right:4px}.sidebar-resizer:hover:after,.resizing-sidebar .sidebar-resizer:after{background:var(--book-accent);box-shadow:0 0 8px color-mix(in srgb, var(--book-accent) 55%, transparent)}.resizing-sidebar{cursor:col-resize;-webkit-user-select:none;user-select:none}.sidebar-heading{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0 0 14px;font-size:11px;font-weight:700;display:flex}.mini-action{border:1px solid var(--line);width:27px;height:27px;color:var(--cyan);background:0 0;border-radius:5px;place-items:center;transition:border-color .15s,color .15s;display:grid}.mini-action:hover{border-color:var(--cyan);color:var(--ink)}.sidebar-tree{gap:2px;display:grid}.topic-group{border-radius:6px}.topic-row{border-radius:5px;grid-template-columns:20px minmax(0,1fr) auto auto auto auto auto;align-items:center;min-width:0;transition:background .15s;display:grid}.topic-row:hover{background:#ffffff0a}.topic-row.active{background:color-mix(in srgb, var(--book-accent) 13%, transparent);box-shadow:inset 2px 0 0 var(--book-accent)}.topic-toggle{width:20px;height:34px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.topic-toggle .chevron{transition:transform .18s}.topic-toggle .chevron.open{transform:rotate(90deg)}.topic-label{min-width:0;color:var(--ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:8px 4px;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.topic-row.active .topic-label{color:color-mix(in srgb, var(--book-accent) 70%, var(--ink))}.topic-edit{width:22px;height:24px;color:var(--muted);opacity:0;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.topic-row:hover .topic-edit{opacity:1}.topic-edit:hover{color:var(--cyan);background:#ffffff14}.topic-rename{grid-template-columns:minmax(0,1fr) 24px 24px;gap:3px;min-width:0;padding:3px;display:grid}.topic-rename input{border:1px solid var(--book-accent);background:var(--panel);min-width:0;height:28px;color:var(--ink);border-radius:5px;outline:0;padding:0 7px;font-size:12px}.topic-rename button{width:24px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.topic-rename button:hover{color:var(--ink);background:#ffffff14}.topic-add{width:24px;height:24px;color:var(--muted);opacity:0;background:0 0;border:0;border-radius:5px;place-items:center;margin-right:4px;transition:opacity .15s,color .15s,background .15s;display:grid}.topic-row:hover .topic-add{opacity:1}.topic-add:hover{color:var(--cyan);background:#ffffff14}.topic-move{width:22px;height:24px;color:var(--muted);opacity:0;background:0 0;border:0;border-radius:5px;place-items:center;transition:opacity .15s,color .15s,background .15s;display:grid}.topic-row:hover .topic-move{opacity:1}.topic-move:hover:not(:disabled){color:var(--cyan);background:#ffffff14}.topic-move:disabled{cursor:not-allowed;opacity:0}.topic-row:hover .topic-move:disabled{opacity:.25}.topic-delete{width:24px;height:24px;color:var(--muted);opacity:0;background:0 0;border:0;border-radius:5px;place-items:center;margin-right:4px;transition:opacity .15s,color .15s,background .15s;display:grid}.topic-row:hover .topic-delete{opacity:1}.topic-delete:hover{color:var(--danger);background:#c06b5f24}@media (hover:hover){.topic-row:not(:hover):not(:focus-within) :is(.topic-edit,.topic-move,.topic-add,.topic-delete){display:none}}.page-list{border-left:1px solid var(--line);gap:1px;min-width:0;margin:2px 0 6px;padding-left:19px;display:grid;overflow:hidden}.page-list-empty{color:#636765;margin:4px 0 6px 12px;font-size:11.5px;font-style:italic}.page-row{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;margin-left:3px;padding:7px 9px;font-size:12.5px;line-height:1.3;display:flex}.page-row svg{opacity:.75;flex:none}.page-row:hover{color:var(--ink);background:#ffffff0a}.page-row.active{color:var(--ink);background:color-mix(in srgb, var(--book-accent) 16%, transparent);font-weight:600}.page-row.active svg{color:var(--book-accent);opacity:1}.sidebar-add{border:1px dashed var(--line);color:var(--cyan);background:0 0;border-radius:6px;align-items:center;gap:8px;margin-top:18px;padding:9px 10px;font-size:12px;display:inline-flex}.sidebar-add:hover{border-color:var(--cyan)}.book-content{width:100%;min-width:0;padding:44px max(clamp(20px,5vw,68px),15%) 64px clamp(20px,5vw,68px)}.content-intro{justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px;display:flex}.eyebrow{color:var(--book-accent);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:7px;margin:0 0 9px;font-size:11px;font-weight:700;display:flex}h1,h2,p{margin-top:0}.content-intro h1{font-family:var(--font-display);letter-spacing:.01em;margin-bottom:10px;font-size:clamp(28px,4vw,46px);font-weight:400;line-height:1.1}.content-intro p:not(.eyebrow){max-width:620px;color:var(--muted);margin-bottom:0;font-size:15px;line-height:1.6}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:22px;font-size:12.5px;display:flex}.breadcrumb button{color:var(--muted);background:0 0;border:0;padding:3px 2px;font-size:12.5px}.breadcrumb button:hover{color:var(--book-accent)}.breadcrumb svg{opacity:.6;flex:none}.breadcrumb span{color:var(--ink);font-weight:600}.page-article{width:100%}.page-header{margin-bottom:22px}.page-header h1{font-family:var(--font-display);letter-spacing:.01em;margin:12px 0 8px;font-size:clamp(26px,4vw,40px);font-weight:400;line-height:1.15}.page-summary{max-width:620px;color:var(--muted);margin-bottom:14px;font-size:15px;line-height:1.6}.page-copy{color:#cdd1cf;font-size:15.5px;line-height:1.8}.page-copy p{white-space:pre-wrap;margin:0 0 16px}.page-copy-empty{color:#7d8280;padding:18px 0;font-size:13.5px;font-style:italic}.wikilink{border:0;border-bottom:1px dashed color-mix(in srgb, var(--book-accent) 65%, transparent);color:color-mix(in srgb, var(--book-accent) 85%, var(--ink));font:inherit;cursor:pointer;background:0 0;padding:0 1px;display:inline}.wikilink:hover{color:var(--book-accent);border-bottom-style:solid}.wikilink.broken{border-bottom-color:color-mix(in srgb, var(--danger) 55%, transparent);color:color-mix(in srgb, var(--danger) 75%, var(--muted));cursor:help}.character-summary{border:1px solid var(--line);background:#ffffff08;border-radius:10px;gap:14px;margin-bottom:26px;padding:18px;display:grid}.resource-section{border-top:1px solid var(--line);margin-top:34px;padding-top:26px}.resource-section h2{letter-spacing:-.01em;align-items:center;gap:8px;margin-bottom:14px;font-size:16px;display:flex}.resource-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:18px;display:grid}.resource-card{border:1px solid var(--line);background:linear-gradient(150deg,#ffffff0d,#ffffff04);border-radius:8px;flex-direction:column;padding:16px;display:flex}.resource-card header{margin-bottom:4px}.resource-card h3{letter-spacing:-.01em;margin:8px 0 10px;font-size:15.5px}.resource-grid-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.resource-field{background:#00000038;border-radius:5px;flex-direction:column;gap:2px;padding:8px 9px;display:flex}.resource-field span{color:#7d8280;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.resource-field strong{color:var(--ink);font-size:13px;font-weight:600}.resource-description{color:var(--muted);white-space:pre-wrap;flex:1;margin:0 0 12px;font-size:12.5px;line-height:1.55}.resource-card footer{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.resource-edit-link{padding:6px 4px;font-weight:600}.resource-manage-list{gap:6px;margin-bottom:14px;display:grid}.resource-manage-row{border:1px solid var(--line);color:var(--ink);text-align:left;background:#ffffff08;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.resource-manage-row:hover{border-color:color-mix(in srgb, var(--book-accent) 55%, var(--line));background:#ffffff0f}.resource-add-row{flex-wrap:wrap;gap:8px;display:flex}.backlinks-section{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.backlinks-section h2{color:var(--muted);letter-spacing:.02em;align-items:center;gap:7px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.backlinks-section h2 svg{color:var(--purple)}.backlinks-list{flex-wrap:wrap;gap:8px;display:flex}.backlink-chip{border:1px solid var(--line);color:var(--muted);background:#ffffff08;border-radius:5px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;display:inline-flex}.backlink-chip:hover{border-color:var(--purple);color:var(--ink)}.entry-type{min-height:23px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#ffffff1a;border-radius:4px;align-items:center;padding:0 8px;font-size:10px;font-weight:800;display:inline-flex}.type-item{color:var(--gold);background:#cfd6d124}.type-ability{color:var(--purple);background:#8f7fa829}.type-spell{color:var(--cyan);background:#7d97a629}.type-character{color:#d99a90;background:#a35b522e}.type-rule{color:var(--muted);background:#9a9d9c29}.outline-action,.primary-action,.danger-action{border:1px solid var(--line);min-height:40px;color:var(--ink);white-space:nowrap;background:#ffffff0a;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;transition:border-color .15s,background .15s,filter .15s;display:inline-flex}.outline-action:hover{border-color:var(--book-accent);background:color-mix(in srgb, var(--book-accent) 12%, transparent)}.primary-action{border-color:color-mix(in srgb, var(--book-accent) 70%, white);background:var(--book-accent);color:#0a0e12}.primary-action:hover{filter:brightness(1.08)}.primary-action.full{width:100%}.primary-action:disabled,.outline-action:disabled{opacity:.5;cursor:not-allowed;filter:none}.danger-action{border-color:color-mix(in srgb, var(--danger) 55%, var(--line));color:#dba49c}.danger-action:hover{border-color:var(--danger);background:#c06b5f24}.book-search{border:1px solid var(--line);height:46px;color:var(--muted);background:#ffffff09;border-radius:6px;align-items:center;gap:10px;margin-bottom:18px;padding:0 13px;display:flex}.book-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:14px}.book-search input::placeholder{color:#757977}kbd{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:3px 7px;font-size:11px}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.entry-card{border:1px solid var(--line);min-height:168px;color:var(--ink);text-align:left;background:linear-gradient(145deg,#ffffff0e,#ffffff04);border-radius:8px;flex-direction:column;align-items:flex-start;padding:18px;transition:transform .15s,border-color .15s,background .15s;display:flex}.entry-card:hover{border-color:color-mix(in srgb, var(--book-accent) 65%, var(--line));background:linear-gradient(145deg, color-mix(in srgb, var(--book-accent) 13%, var(--panel)), var(--panel));transform:translateY(-2px)}.entry-card h2{letter-spacing:-.02em;margin:13px 0 6px;font-size:18px}.entry-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.entry-card footer{color:#757977;justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding-top:16px;font-size:11px;display:flex}.empty-state,.book-empty{border:1px dashed var(--line);min-height:260px;color:var(--muted);text-align:center;border-radius:8px;place-items:center;gap:8px;display:grid}.empty-state strong{color:var(--ink);font-size:15px}.empty-state p{margin:0;font-size:13px}.book-footer{color:#757977;border-top:1px solid #ffffff14;justify-content:space-between;gap:18px;padding:18px 4vw;font-size:11px;display:flex}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020304c7;place-items:center;padding:20px;animation:.15s fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-card{border:1px solid var(--line);background:#101418;border-radius:10px;width:min(100%,480px);max-height:min(720px,100dvh - 40px);padding:23px;overflow:auto;box-shadow:0 24px 90px #00000080}.modal-card.editor-modal{width:min(100%,560px)}.modal-loading{width:min(100%,160px);min-height:120px;color:var(--muted);place-items:center;display:grid}.modal-card header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px;display:flex}.modal-card h2{letter-spacing:-.03em;margin:0 0 5px;font-size:24px}.modal-card header p:not(.eyebrow){color:var(--muted);margin:0;font-size:13px;line-height:1.5}.book-list{gap:6px;display:grid}.book-list-row{align-items:stretch;gap:6px;display:flex}.book-list-select{min-width:0;color:var(--ink);text-align:left;background:#ffffff09;border:1px solid #0000;border-radius:6px;flex:1;align-items:center;gap:11px;padding:12px;display:flex}.book-list-select:hover{border-color:var(--line);background:#ffffff12}.book-list-select>span:nth-child(2){flex:1;gap:4px;min-width:0;display:grid}.book-list-select small{color:var(--muted);font-size:11px}.book-list-select>svg{color:var(--muted);flex:none}.book-delete{width:40px;color:var(--muted);background:#ffffff09;border:1px solid #0000;border-radius:6px;flex:none;place-items:center;transition:border-color .15s,color .15s,background .15s;display:grid}.book-delete:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, transparent);background:#c06b5f24}.book-dot{border-radius:50%;width:9px;height:9px;box-shadow:0 0 16px}.new-book-row{border-top:1px solid var(--line);gap:8px;margin-top:18px;padding-top:18px;display:flex}.new-book-row input{flex:1;min-width:0}.form-input,.editor-modal label input,.editor-modal label select,.editor-modal label textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#0a0d10;border-radius:5px;outline:0;margin-top:7px;padding:10px 11px;font-size:13px;transition:border-color .15s}.form-input:focus{border-color:color-mix(in srgb, var(--book-accent) 60%, var(--line))}.editor-modal label,.page-editor label{color:var(--muted);margin-bottom:13px;font-size:12px;font-weight:700;display:block}.editor-modal textarea{resize:vertical;line-height:1.5}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.editor-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.toast{z-index:30;color:#d9dedb;background:#15191d;border:1px solid #3a3f42;border-radius:6px;align-items:center;gap:8px;padding:11px 14px;font-size:13px;animation:.18s toast-in;display:inline-flex;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 30px #0000004d}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-editor{max-width:780px}.editor-header{border:1px solid var(--line);background:#ffffff08;border-radius:10px;margin-bottom:20px;padding:18px}.title-input{margin-top:10px;font-size:20px;font-weight:700}.editor-resources{margin-top:24px}.page-editor-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:30px;padding-top:20px;display:flex}.editor-actions-main{gap:10px;display:flex}.page-content-editor{margin-bottom:22px}.rich-text-field{gap:7px;min-width:0;display:grid}.rich-text-field>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:750}.rich-text-shell{border:1px solid var(--line);background:#0a0d10;border-radius:11px;position:relative;overflow:hidden}.rich-text-toolbar{border-bottom:1px solid var(--line);background:var(--panel-2);flex-wrap:wrap;align-items:center;gap:3px;padding:6px;display:flex}.rich-text-toolbar button{width:31px;height:31px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.rich-text-toolbar button:hover{color:var(--ink);background:#ffffff14}.rich-text-toolbar i{background:var(--line);flex:none;width:1px;height:22px;margin:0 3px}.rich-text-block-select,.rich-text-size-select{border:1px solid var(--line);background:var(--panel);height:31px;color:var(--ink);border-radius:7px;padding:0 8px;font-size:12px}.rich-text-image-tools{flex:1;align-items:center;gap:3px;min-width:250px;display:flex}.rich-text-image-tools button[aria-pressed=true]{background:color-mix(in srgb, var(--cyan) 22%, transparent);color:var(--cyan)}.rich-text-table-tools{flex:1;align-items:center;gap:3px;min-width:300px;display:flex}.rich-text-table-tools select{border:1px solid var(--line);background:var(--panel);max-width:155px;min-height:31px;color:var(--ink);border-radius:7px;padding:0 7px;font-size:11px}.rich-text-table-tools button:hover{background:color-mix(in srgb, var(--cyan) 18%, transparent);color:var(--cyan)}.rich-text-table-picker{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:6px;min-width:178px;padding:8px;display:grid;box-shadow:0 12px 26px #00000040}.rich-text-table-picker-heading{color:var(--muted);align-items:baseline;gap:5px;font-size:10px;display:flex}.rich-text-table-picker-heading strong{color:var(--book-accent);font-variant-numeric:tabular-nums;font-size:13px}.rich-text-table-grid{border:1px solid var(--line);background:var(--panel-2);border-radius:5px;gap:2px;padding:2px;display:grid}.rich-text-table-grid>div{grid-template-columns:repeat(8,16px);gap:2px;display:grid}.rich-text-table-grid button{border:1px solid color-mix(in srgb, var(--book-accent) 25%, var(--line));cursor:pointer;background:#ffffff06;border-radius:2px;width:16px;height:16px;padding:0}.rich-text-table-grid button:hover,.rich-text-table-grid button:focus-visible,.rich-text-table-grid button.active{border-color:var(--book-accent);background:color-mix(in srgb, var(--book-accent) 44%, var(--panel));outline:0}.rich-text-table-picker-hint{color:var(--muted);font-size:9px;line-height:1.25}.rich-text-image-size{min-width:160px;color:var(--muted);flex:1;grid-template-columns:auto minmax(70px,1fr) 36px;align-items:center;gap:7px;padding-inline:6px;font-size:10px;font-weight:750;display:grid}.rich-text-image-size input{width:100%;accent-color:var(--cyan)}.rich-text-image-size output{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.rich-text-content-wrap{position:relative}.rt-table-handles{pointer-events:none;z-index:2;position:absolute;inset:0}.rt-row-handle,.rt-col-handle{cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0;position:absolute}.rt-row-handle{border-radius:3px 0 0 3px;width:9px}.rt-col-handle{border-radius:3px 3px 0 0;height:9px}.rt-row-handle:hover,.rt-col-handle:hover{background:color-mix(in srgb, var(--book-accent) 35%, transparent)}.rt-row-handle.active,.rt-col-handle.active{background:var(--book-accent)}.rich-text-content td.rt-cell-selected,.rich-text-content th.rt-cell-selected{background:color-mix(in srgb, var(--book-accent) 24%, transparent)!important}.rt-selection-badge{background:color-mix(in srgb, var(--book-accent) 16%, transparent);color:var(--book-accent);white-space:nowrap;border-radius:7px;align-items:center;gap:5px;padding:0 4px 0 9px;font-size:11px;font-weight:700;display:flex}.rt-selection-badge button{width:20px;height:20px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.rt-selection-badge button:hover{background:color-mix(in srgb, var(--book-accent) 30%, transparent)}.rich-text-content{min-height:200px;color:var(--ink);outline:none;padding:14px;font-size:14px;line-height:1.7;display:flow-root}.page-copy.rich-text-content{color:#cdd1cf;min-height:0;padding:0;font-size:15.5px}.rich-text-content p,.rich-text-content>div{margin:0 0 12px}.rich-text-content h1,.rich-text-content h2,.rich-text-content h3{font-family:var(--font-display);letter-spacing:.01em;color:var(--book-accent);margin:22px 0 10px;font-weight:400}.rich-text-content h1{font-size:26px}.rich-text-content h2{font-size:21px}.rich-text-content h3{font-size:17px}.rich-text-content ul,.rich-text-content ol{margin:0 0 12px;padding-left:26px}.rich-text-content ul{list-style:outside}.rich-text-content ol{list-style:decimal}.rich-text-content li{padding-left:2px}.rich-text-content li+li{margin-top:4px}.rich-text-content blockquote{border-left:3px solid var(--book-accent);color:var(--muted);background:#ffffff0a;margin:14px 0;padding:8px 16px;font-style:italic}.rich-text-content blockquote p:last-child{margin-bottom:0}.rich-text-content a[data-wiki-title]{border-bottom:1px dashed color-mix(in srgb, var(--book-accent) 65%, transparent);color:color-mix(in srgb, var(--book-accent) 85%, var(--ink));cursor:pointer;padding:0 1px;font-weight:600;text-decoration:none}.rich-text-content a[data-wiki-title]:hover{color:var(--book-accent);border-bottom-style:solid}.rich-text-content a[data-wiki-title].wikilink-broken{border-bottom-color:color-mix(in srgb, var(--danger) 55%, transparent);color:color-mix(in srgb, var(--danger) 75%, var(--muted));cursor:help}.rich-text-content img{object-fit:contain;border-radius:10px;max-width:100%;max-height:640px;display:block}.rich-text-content img[data-align=left]{float:left;margin:6px 16px 10px 0}.rich-text-content img[data-align=center]{float:none;clear:both;margin:12px auto}.rich-text-content img[data-align=right]{float:right;margin:6px 0 10px 16px}.rich-text-content img:hover{outline:2px solid var(--cyan);outline-offset:2px}.rich-text-content table{border-collapse:collapse;width:100%;margin:14px 0;font-size:13.5px}.rich-text-content th,.rich-text-content td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 10px}.rich-text-content th{background:#ffffff0d;font-weight:700}.rich-text-content table[data-style=striped] tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--book-accent) 7%, transparent)}.rich-text-content table[data-style=accent]{border:1px solid color-mix(in srgb, var(--book-accent) 45%, var(--line))}.rich-text-content table[data-style=accent] th{background:color-mix(in srgb, var(--book-accent) 20%, var(--panel-2));color:var(--book-accent)}.rich-text-content table[data-style=compact] th,.rich-text-content table[data-style=compact] td{padding:4px 7px;font-size:12px}.content-source{color:#7d8280;font-size:12.5px}.resource-add-row+.content-source{margin-top:10px}.import-message{color:var(--cyan)}.import-menu-anchor{position:relative}.import-menu-backdrop{z-index:20;cursor:default;background:0 0;border:0;position:fixed;inset:0}.import-menu{z-index:21;border:1px solid var(--line);background:#101418;border-radius:8px;gap:2px;width:min(320px,100vw - 32px);padding:5px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 18px 50px #00000073}.import-menu button{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;align-items:flex-start;gap:11px;padding:10px 11px;display:flex}.import-menu button:hover,.import-menu button:focus-visible{background:#ffffff0f}.import-menu svg{color:var(--cyan);flex:none;margin-top:2px}.import-menu span{gap:3px;display:grid}.import-menu strong{font-size:13px;font-weight:650}.import-menu small{color:var(--muted);font-size:11.5px;line-height:1.4}.resource-import-list{gap:4px;max-height:360px;margin-bottom:18px;display:grid;overflow:auto}.resource-import-row{border:1px solid var(--line);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.resource-import-row:hover{border-color:var(--cyan)}.resource-import-row input{accent-color:var(--book-accent)}.import-error{color:var(--danger);margin:0 0 10px;font-size:12.5px;line-height:1.45}.content-core-note{border-left-color:var(--purple);background:color-mix(in srgb, var(--purple) 8%, transparent)}.wiki-link-suggestions{z-index:12;border:1px solid var(--line);background:#101418;border-radius:11px;gap:3px;width:min(360px,100% - 28px);max-height:300px;padding:7px;display:grid;position:absolute;top:48px;left:14px;overflow-y:auto;box-shadow:0 24px 60px #0006}.wiki-link-suggestions header{gap:2px;padding:7px 9px;display:grid}.wiki-link-suggestions header strong{font-size:11px}.wiki-link-suggestions header span,.wiki-link-suggestions p{color:var(--muted);margin:0;font-size:9px}.wiki-link-suggestions button{min-height:35px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;padding:0 9px;font-size:11px}.wiki-link-suggestions button:hover,.wiki-link-suggestions button:focus{background:#ffffff12}.wiki-link-suggestions p{padding:9px}.wiki-link-suggestions kbd{color:var(--book-accent)}.book-settings-modal label{margin-bottom:14px}.book-settings-color-row{align-items:center;gap:10px;margin-top:7px;display:flex}.book-settings-color-row input[type=color]{border:1px solid var(--line);background:0 0;border-radius:6px;width:44px;height:34px;padding:2px}.book-settings-color-row span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.book-settings-cover{margin-bottom:18px}.book-settings-cover-label{color:var(--muted);margin-bottom:7px;font-size:12px;font-weight:700;display:block}.book-settings-cover-preview{border:1px solid var(--line);background-position:50%;background-size:cover;border-radius:10px;align-items:flex-end;height:180px;display:flex;overflow:hidden}.book-settings-cover-fallback{color:#f5efe4;text-align:center;background:linear-gradient(#0000 30%,#0000008c);width:100%;padding:16px}.book-settings-cover-fallback strong{font-family:var(--font-norse-bold);font-size:20px;font-weight:700;display:block}.book-settings-cover-fallback small{font-family:var(--font-norse);opacity:.85;margin-top:4px;font-size:12px;display:block}.book-settings-cover-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.book-settings-cover-hint{color:#7d8280;margin:8px 0 0;font-size:11.5px}.custom-page-row{align-items:center;gap:6px;display:flex}.custom-page-row .resource-manage-row{flex:1}.custom-page-row-actions{gap:2px;display:flex}.custom-page-row-actions button:disabled{opacity:.35;cursor:not-allowed}.custom-page-modal .rich-text-field,.custom-pages-modal{display:grid}.export-modal{width:min(100%,460px)}.export-section{margin-top:16px}.export-section-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.export-actions-row{flex-wrap:wrap;gap:8px;display:flex}.export-hint{border-top:1px solid var(--line);color:#7d8280;margin:18px 0 0;padding-top:14px;font-size:11.5px;line-height:1.5}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{background-image:radial-gradient(circle at 50% 0,#ffffff0f,#0000 35rem),linear-gradient(#0d1115,#0a0e12);place-items:center;min-height:100dvh;padding:24px;display:grid;position:relative;overflow:hidden}.auth-watermark{color:#fff;opacity:.035;pointer-events:none;width:620px;height:auto;position:absolute;top:50svh;left:50%;transform:translate(-50%,-52%)}.auth-card{border:1px solid var(--line);background:#101418e6;border-radius:10px;width:min(100%,430px);padding:32px;position:relative;box-shadow:0 30px 90px #00000080}.auth-icon{width:48px;height:48px;color:var(--ink);background:#15191d;border:1px solid #3a3f42;border-radius:8px;place-items:center;margin-bottom:22px;display:grid}.auth-card h1{font-family:var(--font-display);letter-spacing:.01em;margin-bottom:10px;font-size:30px;font-weight:400}.auth-copy{color:var(--muted);margin-bottom:25px;font-size:14px;line-height:1.6}.auth-card label{color:var(--muted);margin-top:14px;font-size:12px;font-weight:700;display:block}.auth-card label div{border:1px solid var(--line);color:var(--muted);background:#0a0d10;border-radius:5px;align-items:center;gap:9px;margin-top:7px;padding:0 11px;display:flex}.auth-card input{width:100%;height:42px;color:var(--ink);background:0 0;border:0;outline:0}.auth-error{color:#dba49c;margin:13px 0 0;font-size:12px}.auth-card small{color:#717674;margin-top:18px;font-size:11px;line-height:1.5;display:block}.auth-loading{color:var(--muted);place-items:center;gap:12px;display:grid}.auth-loading p{margin:0;font-size:13px}@media (max-width:900px){.book-topbar .sidebar-toggle{display:grid}.book-layout{grid-template-columns:1fr}.book-sidebar{z-index:15;border-right:1px solid var(--line);background:#0d1114;width:min(84vw,320px);max-height:none;padding:22px 16px 100px;transition:transform .22s;position:fixed;inset:76px 0 0 auto;transform:translate(100%);box-shadow:20px 0 60px #0006}.sidebar-resizer{display:none}.sidebar-open .book-sidebar{transform:translate(0)}.sidebar-backdrop{z-index:14;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#020304d1;border:0;position:fixed;inset:76px 0 0}.book-content{width:100%;padding:30px 18px 50px}}@media (max-width:820px){.book-topbar{gap:10px;padding:0 16px}.ghost-link{display:none}.content-intro{display:block}.outline-action{margin-top:18px}.entry-grid,.resource-grid,.field-row{grid-template-columns:1fr}.book-footer{padding:16px 18px;display:block}.book-footer span{display:block}.book-footer span+span{margin-top:5px}.page-editor-actions{flex-direction:column-reverse;align-items:stretch}.editor-actions-main{grid-template-columns:1fr 1fr;display:grid}}@media (max-width:420px){.book-brand small{display:none}.book-brand strong{font-size:13px}.book-topbar{height:64px}.book-sidebar{inset:64px 0 0 auto}.sidebar-backdrop{inset:64px 0 0}.top-actions .icon-link:last-child{display:none}.auth-card{padding:24px}}.resource-card.tinted{border-color:color-mix(in srgb, var(--resource-accent) 55%, var(--line));background:linear-gradient(150deg, color-mix(in srgb, var(--resource-accent) 18%, transparent), color-mix(in srgb, var(--resource-accent) 6%, transparent))}.resource-card.tinted>header .entry-type{border-color:color-mix(in srgb, var(--resource-accent) 60%, var(--line));background:color-mix(in srgb, var(--resource-accent) 28%, transparent)}.book-settings-categories{gap:8px;display:grid}.book-settings-category-list{gap:6px;display:grid}.book-settings-category{border:1px solid var(--line);border-radius:8px;grid-template-columns:14px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:7px 10px;display:grid}.book-settings-category>span{border:1px solid var(--line);border-radius:999px;width:14px;height:14px}.book-settings-category strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.book-settings-category input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;width:44px;height:26px;padding:0}
