.app{min-height:100vh}.building-page{max-width:920px;padding-bottom:40px}.building-content{text-align:left}.building-top-row{display:flex;gap:20px;align-items:flex-start}.building-top-row .building-info{flex:1;min-width:0}.building-top-row .building-menu-section{flex-shrink:0;width:260px}.building-type-select{margin:0}.building-info{text-align:left;margin-bottom:0}.building-prop{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:baseline;font-size:16px;color:#e6dfd4}.building-prop:last-child{border-bottom:none}.building-label{font-family:EB Garamond,Georgia,serif;font-weight:700;color:#ff6c6c;font-size:16px}.building-section-title{font-family:EB Garamond,Georgia,serif;color:#ff6c6c;font-size:20px;font-variant:small-caps;letter-spacing:1px;border-bottom:2px solid #4480a8;padding-bottom:4px;margin-top:16px;margin-bottom:12px}.building-occupants{margin-top:20px}.building-occupants-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;cursor:pointer;padding:0;color:inherit;font-family:inherit;font-size:inherit;text-align:left;margin-bottom:12px}.building-occupants-toggle:hover{opacity:.8}.building-occupants-toggle .building-section-title{margin-top:0;margin-bottom:0}.building-occupants-toggle-icon{font-size:26px;color:#ff6c6c;flex-shrink:0;min-width:24px;text-align:center}.building-npc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media screen and (max-width:700px){.building-top-row{flex-direction:column}.building-top-row .building-menu-section{width:100%}.building-npc-grid{grid-template-columns:1fr}}.coin-display{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.coin-display-entry{white-space:nowrap}.coin-display-sep{color:#fff6;padding:0 2px}.coin-page{max-width:440px;padding-bottom:40px}.coin-labels{display:flex;gap:12px;margin-bottom:4px}.coin-label{flex:1;min-width:0;font-family:EB Garamond,Georgia,serif;font-weight:700;color:#ff6c6c;font-size:15px;text-transform:uppercase;letter-spacing:.5px;text-align:center}.coin-row{display:flex;gap:12px;margin-bottom:8px}.coin-input{flex:1;min-width:0}.coin-input input{width:100%;text-align:center;border:1px solid #1e2c40;border-radius:4px;font-size:16px;padding:4px}.coin-input input:focus{border-color:#4480a8;box-shadow:0 0 0 2px #4480a84d}.coin-buttons{display:flex;gap:8px;justify-content:center;margin:16px 0}.coin-results{display:flex;gap:12px;margin-top:16px;padding-top:16px;border-top:2px solid #4480a8}.coin-result{flex:1;min-width:0;text-align:center}.coin-result .result-label{display:block;margin-bottom:4px}.coin-result .result-value{display:block;font-size:20px}.deity-page{max-width:720px;padding-bottom:40px}.deity-table{width:100%;border-collapse:collapse}.deity-table th{font-family:EB Garamond,Georgia,serif;color:#ff6c6c;font-size:16px;font-variant:small-caps;letter-spacing:.5px;text-align:left;padding:8px 12px;border-bottom:2px solid #4480a8;white-space:nowrap}.deity-table td{padding:8px 12px;text-align:left;font-size:16px;color:#e6dfd4;border-bottom:1px solid rgba(255,255,255,.06);white-space:nowrap}.deity-table .center{text-align:center}.deity-table tbody tr:last-child td{border-bottom:none}.deity-table tbody tr:hover{background:#4480a81a}.dice-roller-page{max-width:720px;padding-bottom:40px}.dice-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.dice-preset-btn{background:#162033;color:#e6dfd4;border:2px solid #4480a8;padding:10px 18px;border-radius:4px;font-family:EB Garamond,Georgia,serif;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease}.dice-preset-btn:hover{background:#4480a8;color:#0e1218;transform:scale(1.05)}.dice-custom-form{display:flex;align-items:end;gap:8px;margin-bottom:20px;flex-wrap:wrap}.dice-custom-form label{display:flex;flex-direction:column;font-size:14px;color:#4e6272}.dice-custom-form label input{width:70px;padding:8px;border:1px solid #4480a8;border-radius:3px;font-family:EB Garamond,Georgia,serif;font-size:16px;text-align:center}.dice-d,.dice-plus{font-size:20px;font-weight:700;color:#4e6272;padding-bottom:8px}.dice-result{text-align:center;padding:24px;margin-bottom:20px}.dice-result-label{font-variant:small-caps;font-size:16px;color:#4e6272;letter-spacing:1px}.dice-result-total{font-size:66px;font-weight:700;color:#ff6c6c;line-height:1.1}.dice-result-breakdown{font-size:15px;color:#4e6272;margin-top:8px}.dice-history h3{font-variant:small-caps;color:#ff6c6c;letter-spacing:1px;font-size:16px;margin-bottom:8px}.dice-history ul{list-style:none;padding:0}.dice-history li{padding:6px 0;border-bottom:1px solid #1e2c40;font-size:15px}.dice-history .dice-history-detail{color:#4e6272;font-size:14px}.encounter-page{max-width:720px;padding-bottom:40px}.encounter-creatures-table{width:100%;border-collapse:collapse;font-size:15px}.encounter-creatures-table th{text-align:left;padding:6px 8px;border-bottom:2px solid #ff6c6c;font-variant:small-caps;color:#ff6c6c}.encounter-creatures-table td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.encounter-tactical{margin-top:16px;padding:12px;background:#4480a81f;border-left:3px solid #4480a8;border-radius:0 4px 4px 0;font-size:16px}.encounter-tactical h4{margin:0 0 4px;font-variant:small-caps;color:#ff6c6c}.export-buttons{display:flex;gap:12px}.export-btn{background:transparent;color:#8fa5bc;border:1px solid #2c3f58;padding:7px 16px;border-radius:3px;font-family:Cinzel,serif;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.export-btn:hover{background:#2e5f84;border-color:#2e5f84;color:#e6dfd4}@media print{.export-buttons{display:none}}.gender-select{margin:0}.guide-page{max-width:760px;padding-bottom:40px}.guide-header{margin-bottom:24px}.guide-header h1{font-variant:small-caps;color:#ff6c6c;letter-spacing:1px}.guide-byline{margin:8px 0 0;color:#4e6272;font-size:15px;font-style:italic}.guide-byline a{color:#4e6272;text-decoration:underline}.guide-byline a:hover{color:#ff6c6c}.guide-tldr{padding:20px 24px;margin:0 0 28px}.guide-tldr h2{font-variant:small-caps;color:#ff6c6c;font-size:17px;letter-spacing:1px;margin:0 0 10px}.guide-tldr ul{margin:0;padding-left:20px}.guide-tldr li{margin-bottom:6px;line-height:1.5}.guide-body{font-family:EB Garamond,Georgia,serif;font-size:17px;line-height:1.8;color:#e6dfd4}.guide-body h2{font-variant:small-caps;color:#ff6c6c;font-size:20px;margin-top:28px;margin-bottom:12px}.guide-body h3{color:#e6dfd4;font-size:18px;margin-top:20px}.guide-body p{margin-bottom:16px}.guide-body ul,.guide-body ol{margin-bottom:16px;padding-left:24px}.guide-body li{line-height:1.5}.guide-body blockquote{border-left:3px solid #4480a8;padding-left:16px;color:#4e6272;font-style:italic}.guide-cta{text-align:center;padding:24px;margin-top:32px}.guide-cta h3{margin-bottom:12px;color:#ff6c6c}.guide-cta-btn{display:inline-block;text-decoration:none;padding:10px 24px}.guide-faq{margin-top:32px}.guide-faq dl{margin:0}.guide-faq dt{font-weight:700;color:#ff6c6c;margin-top:20px;margin-bottom:6px}.guide-faq dd{margin:0 0 16px;color:#e6dfd4}.home-page{max-width:900px;padding-bottom:40px}.home-new-card{margin-top:24px;text-align:left}.home-cards-row{display:flex;gap:24px;align-items:stretch;margin-top:16px}.home-cards-row .home-card{flex:1 1 0;margin:0}@media(max-width:768px){.home-cards-row{flex-direction:column;gap:16px}}.home-card{text-align:left}.home-text{color:#8fa5bc;font-size:17px;line-height:1.6;margin:0 0 8px}.home-features{margin-top:4px}.home-features-title{font-family:Cinzel,serif;color:#e6dfd4;font-size:15px;font-weight:600;letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid #2e5f84;padding-bottom:8px;margin:0 0 14px}.home-features-list{list-style:none;padding:0;margin:0}.home-features-list li{font-family:EB Garamond,Georgia,serif;font-size:17px;color:#e6dfd4;border-bottom:1px solid #1e2c40;padding:7px 0 7px 18px;position:relative;line-height:1.5}.home-features-list li:before{content:"◆";position:absolute;left:0;color:#2e5f84;font-size:11px;top:10px}.home-features-list li:last-child{border-bottom:none}.home-features-list li a{color:#6ba3c8;font-weight:500}.home-features-list li a:hover{color:#81b1d0}@media(max-width:768px){.home-page{max-width:100%}}.item-list{display:inline-block;margin-top:12px}.item-list table{background:#162033;color:#e6dfd4;box-shadow:0 0 1.5em #000000a6;border-radius:4px;padding:16px 20px;border-collapse:collapse}.item-list th{font-family:EB Garamond,Georgia,serif;color:#ff6c6c;font-size:15px;font-variant:small-caps;letter-spacing:.5px;text-align:left;padding:6px 16px;border-bottom:2px solid #4480a8}.item-list td{padding:6px 16px;font-size:16px;border-bottom:1px solid rgba(255,255,255,.06)}.item-list tbody tr:last-child td{border-bottom:none}.item-name{text-align:left}.item-cost{text-align:right}.monster-page{max-width:980px;padding-bottom:40px}.monster-layout{display:flex;flex-direction:column;gap:18px;margin-top:18px}.monster-stat-block{background:#162033;padding:12px 18px;box-shadow:0 0 1em #000000a6}.monster-stat-block .creature-heading h1{font-family:EB Garamond,Georgia,serif;color:#ff6c6c;font-variant:small-caps;letter-spacing:1px;margin:0}.monster-stat-block .creature-heading h2{font-family:EB Garamond,Georgia,serif;color:#4e6272;font-style:italic;font-size:16px;margin:2px 0 8px;text-transform:capitalize}.monster-panel{background:#162033;border-radius:4px;padding:12px 18px;box-shadow:0 0 .75em #000000a6}.monster-panel h3{font-family:EB Garamond,Georgia,serif;color:#ff6c6c;font-variant:small-caps;letter-spacing:1px;margin:0 0 8px;font-size:22px;border-bottom:1px solid #4480a8;padding-bottom:4px}.monster-panel h4{font-family:EB Garamond,Georgia,serif;color:#ff6c6c;font-size:17px;font-variant:small-caps;margin:10px 0 4px}.monster-panel .property-block{margin:4px 0;font-size:16px;line-height:1.5}.monster-panel p{margin-bottom:4px}.monster-panel ul{margin:0 0 8px 18px;font-size:16px}.encounter-subsection{margin-bottom:10px}.lair-toggle{font-size:16px;color:#e6dfd4;display:inline-flex;align-items:center;gap:4px}.lair-toggle input{margin:0 4px 0 0}.loading-message{text-align:center;color:#4e6272;font-style:italic;margin:12px 0}@media print{.top-nav,.sub-nav,.footer,.monster-controls,.export-buttons,.pin-button,.lair-toggle,.loading-message{display:none!important}body{background:#fff}.monster-page{max-width:100%;padding:0;margin:0}.monster-layout{gap:12px;margin-top:0}.monster-stat-block,.monster-panel{background:#fff;box-shadow:none;border:1px solid #333;page-break-inside:avoid;padding:10px 14px}.monster-panel h3,.monster-stat-block .creature-heading h1{color:#000;border-color:#000}.monster-panel h4{color:#000}a{color:#000;text-decoration:none}}@media screen and (max-width:768px){.monster-layout{gap:12px}.monster-stat-block,.monster-panel{padding:10px 14px}.monster-stat-block .abilities{flex-wrap:wrap;gap:6px}.monster-stat-block .abilities>div{min-width:52px;flex:1 0 52px}}.name-generator{max-width:540px;padding-bottom:40px}.name-scroll{background:#162033;border-radius:3px;border:1px solid #1e2c40;box-shadow:0 4px 24px #00000080;padding:4px;position:relative}.name-scroll:before,.name-scroll:after{content:"";display:block;height:2px;background:#2e5f84;border-radius:1px}.name-scroll:before{margin-bottom:14px}.name-scroll:after{margin-top:14px}.name-scroll-inner{padding:10px 22px}.name-entry{font-family:EB Garamond,Georgia,serif;font-size:20px;color:#e6dfd4;padding:7px 0;border-bottom:1px solid #1e2c40;letter-spacing:.3px}.name-entry:last-child{border-bottom:none}.stat-block{text-align:left;margin:20px;display:inline-block;vertical-align:top;width:60%;min-width:280px;background:#162033;color:#e6dfd4;padding:5px 10px 20px;box-shadow:0 0 1.5em #000000a6}.stat-block body{text-align:center;font-size:18px;line-height:1.3em}.stat-block body *{box-sizing:border-box;max-width:100%;font-family:EB Garamond,Georgia,serif}.stat-block h4{font-weight:700}.stat-block.wide{width:46.5%;min-width:560px;text-align:center}.stat-block.wide .section-left,.stat-block.wide .section-right{display:inline-block;vertical-align:top;width:48%;text-align:left}.stat-block.wide .section-left{margin-right:1.5%}.stat-block.wide .section-right{margin-left:1.5%}@media screen and (max-width:675px){.stat-block.wide{min-width:280px}.stat-block.wide .section-left,.stat-block.wide .section-right{display:block;width:100%}.stat-block.wide .section-left,.stat-block.wide .section-right{margin:0}}.orange-border{display:block;background:#4480a8;border:1px solid #1e2c40;height:5px;padding:0 10px;margin:-10px -10px 0;box-sizing:initial}.orange-border.bottom{margin:15px -10px -20px}.tapered-rule{display:block;width:100%;height:5px;border:none;color:#9e2a2a;fill:#9e2a2a;stroke:#9e2a2a}.creature-heading h1{font-family:Cinzel,serif;color:#ff6c6c;font-size:30px;line-height:1.2em;margin:10px 0 0;letter-spacing:1px;font-variant:small-caps;font-weight:700}.creature-heading h2{font-weight:400;font-style:italic;font-size:17px;line-height:1.2em;margin:0 0 10px}.property-line h4,.property-line p{display:inline;margin:0;color:#ff6c6c;font-size:18px;line-height:1.3em}.property-line p{margin-left:5px}.property-line h4{color:#9e2a2a}.property-line{text-indent:-1em;padding-left:1.1em;line-height:1.4em}.property-line.first{margin:8px 0 0}.property-line.last{margin:0 0 10px}.abilities{text-align:center;color:#ff6c6c}.abilities>div{display:inline-block;vertical-align:middle;width:15.5%;min-width:40px;font-size:17px;line-height:1.1em}.abilities h4{margin:10px 0 2px;font-size:19px;line-height:1.2em;text-transform:uppercase;color:#9e2a2a;font-weight:700}.abilities p{margin:0 0 10px;line-height:1.2em}.property-block h4,.property-block p{font-size:18px;line-height:1.35em;display:inline;margin:0;color:#e6dfd4}.property-block h4{font-style:italic;font-weight:700;color:#9e2a2a}.property-block p{margin-left:10px}.property-block{padding:10px 2px 0}.actions h3{border-bottom:1px solid #9e2a2a;color:#9e2a2a;font-size:27px;font-variant:small-caps;font-weight:400;letter-spacing:1px;margin:20px 0 0;padding:0 0 10px;text-indent:5px}.actions{margin:0 0 20px}.actions:last-child{margin:0}@media print{.orange-border{display:none}.stat-block,.stat-block.wide,.stat-block.wide .section-left,.stat-block.wide .section-right,.property-line,.property-block{width:100%;display:block}.stat-block.wide .section-left,.stat-block.wide .section-right{margin:0}.stat-block{width:40%;display:inline-block;vertical-align:top}.stat-block.wide{page-break-after:always}}@media screen and (max-width:575px){.stat-block{margin:20px 0}}@media screen and (max-width:768px){.stat-block{width:100%;margin:16px 0;box-sizing:border-box}.abilities>div{width:30%;min-width:0}}.npc-page{max-width:1080px;padding-bottom:40px}.npc-layout{text-align:left}.npc-layout hr{margin:10px}.npc-card{text-align:left;font-size:small;background:#162033;border:1px solid #1e2c40;border-radius:4px;padding:12px;line-height:1.5;min-width:280px;margin-bottom:12px}.npc-card h3{font-family:EB Garamond,Georgia,serif;font-size:18px;color:#ff6c6c;margin:0 0 4px}.npc-card hr{margin:5px 0;border-color:#ffffff0f}.npc-card .npc-type{margin-bottom:0;color:#4e6272}.npc-card strong{color:#ff6c6c}.npc-card-abilities{display:flex;gap:4px;text-align:center;margin:8px 0}.npc-card-abilities>div{flex:1;font-size:14px;color:#ff6c6c}.npc-card-abilities>div strong{display:block;color:#ff6c6c;font-size:13px}.seed-footer{margin-top:12px;padding:6px 12px;color:#4e6272;font-size:.85em;text-align:right;font-family:monospace}.npc-section{margin-top:10px}.npc-section-toggle{width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid #c03838;color:#9e2a2a;font-weight:700;font-size:17px;font-style:italic;cursor:pointer;padding:8px 2px 4px;display:flex;justify-content:space-between;align-items:center;font-family:EB Garamond,Georgia,serif}.npc-section-toggle:hover{color:#ff6c6c}.npc-section-chevron{font-size:12px;color:#c03838}.npc-section-body{padding-left:4px}.lock-toggle{margin-left:8px;padding:2px 8px;font-size:.7em;line-height:1;background:#1b2840;border:1px solid #2c3f58;border-radius:3px;color:#8fa5bc;cursor:pointer;vertical-align:middle}.lock-toggle:hover{background:#162033}.lock-toggle.locked{background:#4480a8;border-color:#2e5f84;color:#e6dfd4}.lock-toggle.locked:hover{background:#2e5f84}.roll-btn{margin-left:4px;padding:2px 6px;font-size:.7em;line-height:1;background:transparent;border:1px solid #2c3f58;border-radius:3px;color:#8fa5bc;cursor:pointer;vertical-align:middle}.roll-btn:hover{background:#1b2840;color:#e6dfd4}.npc-quick-card{text-align:left;background:#162033;color:#e6dfd4;padding:16px 20px;margin:20px;min-width:280px;max-width:480px;box-shadow:0 0 1.5em #000000a6;font-family:EB Garamond,Georgia,serif}.npc-quick-card h3{font-family:Libre Baskerville,Georgia,serif;color:#ff6c6c;font-size:24px;font-variant:small-caps;font-weight:700;margin:8px 0 2px}.npc-quick-card .npc-quick-type{font-style:italic;color:#8fa5bc;font-size:16px;margin:0 0 6px}.npc-quick-card hr{border:none;border-top:1px solid #ff6c6c;margin:8px 0}.npc-quick-card .npc-quick-field{padding:6px 0;font-size:17px;line-height:1.4}.npc-quick-card .npc-quick-field strong{color:#ff6c6c;font-style:italic;margin-right:8px}.quick-mode-label{display:flex;align-items:center;gap:6px;font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#8fa5bc;cursor:pointer}.quick-mode-label input[type=checkbox]{margin:0;cursor:pointer}@media screen and (max-width:768px){.npc-quick-card{margin:16px 0;max-width:100%}}.npc-expand-section,.npc-expand-prose{margin-top:12px}.npc-expand-prose .parchment-inner p{font-family:EB Garamond,Georgia,serif;font-size:17px;line-height:1.7;color:#8fa5bc;font-style:italic;margin:0}@media screen and (max-width:480px){.npc-card-abilities{flex-wrap:wrap;gap:8px}.npc-card-abilities>div{min-width:52px;flex:1 0 52px}}.quest-page{max-width:720px;padding-bottom:40px}.quest-badges{display:flex;gap:8px;margin-bottom:12px}.quest-badge{display:inline-block;font-size:13px;font-variant:small-caps;letter-spacing:.5px;padding:2px 10px;border-radius:3px;background:#4480a8;color:#fff}.quest-badge--difficulty{background:#ff6c6c}.quest-hook{font-size:17px;line-height:1.8;margin:16px 0;font-family:EB Garamond,Georgia,serif}.quest-secondary-obj{opacity:.75;font-style:italic}.quest-twist{background:#4480a81a;border-left:3px solid #4480a8;padding:2px 8px 2px 10px;margin:4px 0;text-indent:0;border-radius:0 2px 2px 0}.quest-cross-link{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}.quest-cross-link:hover{color:#4480a8}.quest-expand-section,.quest-expand-prose{margin-top:12px}.quest-expand-prose .parchment-inner p{font-family:EB Garamond,Georgia,serif;font-size:17px;line-height:1.7;color:#8fa5bc;font-style:italic;margin:0}.race-select{margin:0}.measure-input{display:inline-block;margin:10px;width:auto;float:left}.measure-input div,.measure-input button{margin:10px}.religion-page{max-width:720px;padding-bottom:40px}.religion-commandments{margin:12px 0}.religion-commandments ol{padding-left:20px}.religion-commandments ol li{margin-bottom:6px;font-size:16px;line-height:1.6}.notebook-toggle-btn{display:inline-flex;align-items:center;background:#c03838;color:#e6dfd4;border:none;padding:8px 18px;border-radius:3px;font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .2s ease}.notebook-toggle-btn:hover{background:#7a2020}.notebook-panel{position:fixed;top:0;right:0;bottom:0;width:420px;z-index:200;display:flex;flex-direction:column;background:#162033;border-left:1px solid #2c3f58;box-shadow:-4px 0 20px #00000080;font-family:EB Garamond,Georgia,serif;color:#e6dfd4;transform:translate(100%);visibility:hidden;transition:transform .25s ease,visibility .25s}.notebook-panel--open{transform:translate(0);visibility:visible}.notebook-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #2c3f58;flex-shrink:0;background:#141d2a}.notebook-panel-title{font-family:Cinzel,serif;font-variant:small-caps;font-size:13px;letter-spacing:2px;color:#4480a8}.notebook-panel-close{background:none;border:1px solid #1e2c40;color:#4e6272;font-size:20px;line-height:1;padding:2px 7px;border-radius:3px;cursor:pointer}.notebook-panel-close:hover{border-color:#9e2a2a;color:#9e2a2a}.notebook-panel-body{flex:1;overflow-y:auto;padding:12px 16px}.notebook-panel-footer{display:flex;align-items:center;gap:6px;padding:10px 16px;border-top:1px solid #2c3f58;flex-shrink:0;background:#141d2a}.notebook-empty{margin:0;padding:6px 0;color:#4e6272;font-size:15px}.notebook-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.notebook-item{display:flex;flex-direction:column;gap:2px;padding:6px 8px 6px 10px;background:#1b2840;border:1px solid #1e2c40;border-radius:3px}.notebook-item-header{display:flex;align-items:center;gap:6px}.notebook-item-link{flex:1;min-width:0;color:#e6dfd4;text-decoration:none;display:flex;flex-direction:column;line-height:1.2}.notebook-item-link:hover{color:#4480a8}.notebook-item-link strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notebook-item-summary{font-size:12px;color:#8fa5bc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notebook-unpin-btn{background:none;border:1px solid #1e2c40;color:#4e6272;font-size:16px;line-height:1;padding:2px 6px;border-radius:3px;cursor:pointer}.notebook-unpin-btn:hover{border-color:#9e2a2a;color:#9e2a2a}.notebook-action-btn{background:#1b2840;color:#e6dfd4;border:1px solid #1e2c40;padding:4px 10px;border-radius:3px;font-family:EB Garamond,Georgia,serif;font-size:13px;cursor:pointer;transition:background .2s ease}.notebook-action-btn:hover{background:#141d2a}.notebook-action-btn--danger:hover{background:#9e2a2a;border-color:#9e2a2a;color:#e6dfd4}.notebook-relation-form{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 10px}.notebook-relation-form select{font-size:13px;padding:2px 4px;height:24px;background:#1b2840;color:#e6dfd4;border:1px solid #1e2c40;border-radius:3px}.notebook-relation-form button{background:#1b2840;color:#e6dfd4;border:1px solid #1e2c40;padding:2px 10px;border-radius:3px;font-size:13px;cursor:pointer}.notebook-relation-form button:disabled{opacity:.4;cursor:not-allowed}.notebook-relation-form button:not(:disabled):hover{background:#141d2a}.notebook-item-relations{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;color:#8fa5bc}.notebook-item-relations>span:first-child{color:#4e6272}.notebook-relation-tag{display:inline-flex;align-items:center;gap:3px;background:#141d2a;border:1px solid #1e2c40;border-radius:3px;padding:1px 4px}.notebook-relation-delete{background:none;border:none;color:#4e6272;font-size:14px;line-height:1;padding:0 1px;cursor:pointer}.notebook-relation-delete:hover{color:#9e2a2a}@media(max-width:768px){.notebook-panel{width:100vw}}@media print{.notebook-toggle-btn,.notebook-panel{display:none}}.settlement-page{max-width:920px;padding-bottom:40px}.settlement-content{text-align:left}.settlement-stat-block{margin-bottom:16px}.settlement-name{font-family:Cinzel Decorative,Cinzel,serif;font-variant:small-caps;color:#ff6c6c;letter-spacing:1px;font-size:24px;margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid #4480a8}.settlement-weather-pantheon{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.settlement-section-half{margin-top:0}.settlement-prop{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:16px}.settlement-prop:last-child{border-bottom:none}.settlement-label{font-family:EB Garamond,Georgia,serif;font-weight:700;color:#ff6c6c;font-size:16px;flex-shrink:0}.settlement-value{font-family:EB Garamond,Georgia,serif;color:#e6dfd4;font-size:16px;text-align:right;min-width:0}.settlement-section{margin-top:16px}.settlement-section-title{font-family:Cinzel,serif;font-variant:small-caps;color:#ff6c6c;letter-spacing:1px;font-size:18px;font-weight:600;margin-bottom:10px}.settlement-buildings{margin-top:20px}.settlement-buildings h3{font-variant:small-caps;color:#ff6c6c;letter-spacing:1px;margin-bottom:12px}.settlement-building{margin-bottom:16px}.settlement-building-toggle{width:100%;display:flex;justify-content:space-between;align-items:flex-start;background:none;border:none;cursor:pointer;padding:0;color:inherit;font-family:inherit;font-size:inherit;text-align:left}.settlement-building-toggle:hover{opacity:.8}.settlement-building-header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex:1}.settlement-building-header h4{margin:0;color:#ff6c6c;flex:1}.settlement-building-header .settlement-building-type{font-size:26px;color:#4e6272;font-variant:small-caps;flex-shrink:0}.settlement-building-toggle-icon{font-size:26px;color:#ff6c6c;flex-shrink:0;min-width:24px;text-align:center}.settlement-building-content{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.settlement-occupants{margin-top:12px}.settlement-occupants h5{font-size:15px;color:#4e6272;margin-bottom:8px}.npc-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.quick-npc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.quick-npc-card{background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:10px;font-size:15px}.quick-npc-name{font-weight:700;color:#ff6c6c;margin-bottom:4px;font-size:16px}.quick-npc-info{color:#e6dfd4;font-size:14px;font-style:italic;margin-bottom:4px}.quick-npc-occupation{color:#4e6272;font-size:14px}.settlement-menu{margin-top:12px}.settlement-menu h5{font-size:15px;color:#4e6272;margin-bottom:8px}.deity-table{width:100%;border-collapse:collapse;font-size:15px}.deity-table th{text-align:left;padding:6px 8px;border-bottom:2px solid #ff6c6c;font-variant:small-caps;color:#ff6c6c}.deity-table td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.settlement-expand-section,.settlement-expand-prose{margin-top:12px}.settlement-expand-prose .parchment-inner p{font-family:EB Garamond,Georgia,serif;font-size:17px;line-height:1.7;color:#8fa5bc;font-style:italic;margin:0}@media screen and (max-width:768px){.settlement-weather-pantheon{grid-template-columns:1fr;gap:16px}.settlement-building-header{flex-direction:column;align-items:flex-start;gap:4px}.quick-npc-grid{grid-template-columns:1fr}.deity-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.shop-page{max-width:720px;padding-bottom:40px}.shop-inventory{margin-top:16px}.shop-inventory-table{width:100%;border-collapse:collapse;font-size:15px}.shop-inventory-table th{text-align:left;padding:6px 8px;border-bottom:2px solid #ff6c6c;font-variant:small-caps;color:#ff6c6c}.shop-inventory-table td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.shop-shopkeeper{margin-top:16px}.shop-shopkeeper h3{font-variant:small-caps;color:#ff6c6c;margin-bottom:8px}.nav-list{list-style:none;padding:20px 0 40px;margin:0;background:#141d2a;min-height:100%}.nav-list li{display:block}.nav-list a{display:block;color:#8fa5bc;padding:9px 20px 9px 18px;font-family:Cinzel,serif;font-size:14px;font-weight:400;letter-spacing:1px;text-transform:uppercase;text-decoration:none;border-left:2px solid transparent;transition:all .2s ease;line-height:1.4}.nav-list a:hover{background:#4480a81f;color:#4480a8;border-left-color:#2e5f84}.nav-list a.active{background:#4480a82e;color:#4480a8;border-left-color:#4480a8;font-weight:600}@media(max-width:900px){.nav-list{display:flex;flex-wrap:wrap;padding:8px 12px;gap:2px}.nav-list a{padding:6px 12px;border-left:none;border-bottom:2px solid transparent;font-size:13px}.nav-list a:hover{border-bottom-color:#2e5f84}.nav-list a.active{border-left:none;border-bottom-color:#4480a8}}.top-nav{background:#141d2a;height:68px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #1e2c40;box-shadow:0 2px 20px #00000080;position:relative;z-index:10}.top-nav .top-nav-brand{font-family:Cinzel Decorative,Cinzel,serif;color:#e6dfd4;letter-spacing:3px;margin:0;font-size:24px;font-weight:700;text-shadow:0 0 40px rgba(68,128,168,.5);white-space:nowrap;text-decoration:none}.top-nav .top-nav-brand:hover,.top-nav .top-nav-brand:focus{color:#e6dfd4;text-decoration:none}.top-nav .top-nav-brand:after{content:" ✦";font-size:13px;color:#2e5f84;vertical-align:middle;margin-left:4px}@media(max-width:900px){.top-nav{justify-content:center;padding:0 16px}.top-nav .top-nav-brand{font-size:20px}}.weather-page{max-width:540px;padding-bottom:40px}.weather-card{text-align:left}.weather-prop{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:baseline}.weather-prop:last-child{border-bottom:none}.weather-label{font-family:EB Garamond,Georgia,serif;font-weight:700;color:#ff6c6c;font-size:16px}.weather-value{font-family:EB Garamond,Georgia,serif;color:#e6dfd4;font-size:17px}*{box-sizing:border-box}body{background:#0e1218;color:#e6dfd4;font-family:EB Garamond,Georgia,serif;font-size:23.2px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:48px}a{color:#6ba3c8;text-decoration:none;transition:color .2s ease}a:hover{color:#81b1d0}.main-container{display:grid;grid-template-columns:220px 1fr;grid-template-rows:68px 1fr auto;min-height:100vh;max-width:1728px;margin:0 auto;background:#0e1218}header{grid-column:1/3;grid-row:1;position:sticky;top:0;z-index:100}nav{grid-column:1;grid-row:2;align-self:start;position:sticky;top:68px;max-height:calc(100vh - 68px);overflow-y:auto;background:#141d2a;border-right:1px solid #1e2c40}main{grid-column:2;grid-row:2;padding:36px 48px;min-width:0}footer{grid-column:1/3;grid-row:3;padding:20px 48px;border-top:1px solid #1e2c40;font-size:15px;color:#4e6272;letter-spacing:.3px}footer a{color:#6ba3c8}footer a:hover{color:#81b1d0}.page-heading{margin-bottom:28px}.page-heading h1,.page-heading h2{font-family:Cinzel,serif;color:#c03838;font-size:28px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin:0 0 8px}.page-heading p{color:#8fa5bc;font-size:17px;line-height:1.6;margin:0;max-width:600px}.page-controls{display:flex;align-items:flex-end;justify-content:flex-start;gap:14px;margin-bottom:28px;flex-wrap:wrap}.page-controls .form-group{display:flex;flex-direction:column;gap:4px;margin:0}.page-controls .form-group label{font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#8fa5bc;margin:0}@media screen and (max-width:768px){.page-controls{flex-direction:column;align-items:stretch}.page-controls .form-group,.page-controls .form-group select{width:100%}}.parchment-card{background:#162033;border-radius:3px;border:1px solid #1e2c40;box-shadow:0 4px 24px #00000080;padding:4px;position:relative}.parchment-card:before,.parchment-card:after{content:"";display:block;height:2px;background:#2e5f84;border-radius:1px}.parchment-card:before{margin-bottom:14px}.parchment-card:after{margin-top:14px}.parchment-inner{padding:10px 22px}.result-label{font-family:Cinzel,serif;font-weight:600;color:#8fa5bc;font-size:13px;text-transform:uppercase;letter-spacing:1px}.result-value{font-family:EB Garamond,Georgia,serif;color:#e6dfd4;font-size:17px}.error-message{background:#8b1a1033;color:#e8a090;border:1px solid rgba(158,37,21,.4);border-radius:3px;padding:10px 16px;margin-bottom:20px;font-size:16px}.button-generate{background:#9e2a2a;border:1px solid #7a2020;color:#fff;font-family:Cinzel,serif;font-size:15px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:8px 28px;border-radius:3px;cursor:pointer;transition:all .2s ease}.button-generate:hover,.button-generate:focus{background:#7a2020;border-color:#7a2020;color:#6ba3c8;transform:translateY(-1px);box-shadow:0 4px 16px #0006;outline:none}.button-generate:active{background:#6e1d1d;transform:translateY(0)}.form-select{font-family:EB Garamond,Georgia,serif;font-size:16px;border:1px solid #1e2c40;border-radius:3px;background:#1b2840;color:#e6dfd4;padding:7px 36px 7px 12px;cursor:pointer;transition:border-color .2s ease;appearance:auto}.form-select:focus{border-color:#4480a8;box-shadow:0 0 0 2px #4480a84d;outline:none}.form-select option{background:#1b2840;color:#e6dfd4}input[type=text],input[type=number],input[type=email],textarea{font-family:EB Garamond,Georgia,serif;font-size:16px;border:1px solid #1e2c40;border-radius:3px;background:#1b2840;color:#e6dfd4;padding:7px 12px;transition:border-color .2s ease}input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,textarea:focus{border-color:#4480a8;box-shadow:0 0 0 2px #4480a84d;outline:none}input[type=text]::placeholder,input[type=number]::placeholder,input[type=email]::placeholder,textarea::placeholder{color:#4e6272}.generator-actions{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.pin-btn,.expand-btn{background:transparent;color:#8fa5bc;border:1px solid #2c3f58;padding:7px 16px;border-radius:3px;font-family:Cinzel,serif;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.pin-btn:hover,.expand-btn:hover{background:#2e5f84;border-color:#2e5f84;color:#e6dfd4}.title{text-align:center;width:100%}@media(max-width:900px){.main-container{grid-template-columns:1fr;grid-template-rows:68px auto 1fr auto}header{grid-column:1;grid-row:1}nav{grid-column:1;grid-row:2;position:static;height:auto;overflow:visible;border-right:none;border-bottom:1px solid #1e2c40}main{grid-column:1;grid-row:3;padding:24px 20px}footer{grid-column:1;grid-row:4;padding:20px}}@media print{body{background:#fff;color:#000;font-size:12pt;padding-bottom:0}.main-container{display:block;min-height:auto}nav,.sub-nav,.notebook-footer,.export-buttons,.pin-btn,.page-controls,.button-generate,.generator-actions,footer,.loading-message,.error-message{display:none!important}.stat-block,.parchment-card{break-inside:avoid;border:1px solid #ccc;box-shadow:none;background:#fff}.page-heading{margin-bottom:12pt}.settlement-building{break-inside:avoid}a{color:#000;text-decoration:none}}.export-modal-overlay{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:1000}.export-modal{background:#1b2840;border:1px solid #2c3f58;border-radius:4px;width:480px;max-width:calc(100vw - 32px);padding:0}.export-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #2c3f58}.export-modal-header h3{margin:0;font-family:Cinzel,serif;font-size:16px;letter-spacing:1px;text-transform:uppercase;color:#e6dfd4}.export-modal-close{background:transparent;border:none;color:#8fa5bc;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.export-modal-close:hover{color:#e6dfd4}.export-modal-list{list-style:none;margin:0;padding:0}.export-modal-row{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #1e2c40}.export-modal-row:last-child{border-bottom:none}.export-modal-info{display:flex;flex-direction:column;gap:2px}.export-modal-label{font-family:Cinzel,serif;font-size:14px;letter-spacing:.5px;color:#e6dfd4}.export-modal-desc{font-size:14px;color:#8fa5bc}.export-modal-btn{background:transparent;color:#6ba3c8;border:1px solid #2c3f58;padding:5px 12px;border-radius:3px;font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:all .2s ease}.export-modal-btn:hover{background:#2e5f84;border-color:#2e5f84;color:#e6dfd4}.share-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px}.share-btn__copied-text{font-size:14px;font-weight:600;white-space:nowrap}.faction-page{max-width:1080px;padding-bottom:40px}.faction-results{margin-top:1.5rem}.faction-card-list{display:flex;flex-direction:column;gap:16px;margin-top:20px}.faction-card{text-align:left;background:#162033;border:1px solid #1e2c40;border-radius:4px;box-shadow:0 2px 12px #000000a6;padding:14px 18px;line-height:1.5}.faction-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px;border-bottom:1px solid #2c3f58;padding-bottom:8px}.faction-name{font-family:Cinzel,serif;font-size:20px;color:#ff6c6c;margin:0;letter-spacing:.5px}.faction-badges{display:flex;gap:6px;flex-wrap:wrap}.faction-badge{display:inline-block;font-family:Cinzel,serif;font-size:13px;font-variant:small-caps;letter-spacing:.5px;padding:2px 10px;border-radius:3px;background:#2e5f84;color:#e6dfd4}.faction-badge.faction-tier{background:#7a2020;color:#e6dfd4}.faction-fields{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:8px 0 12px;font-size:16px}.faction-fields dt{font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#8fa5bc;margin:0;padding-top:2px}.faction-fields dd{margin:0;color:#e6dfd4;font-family:EB Garamond,Georgia,serif;line-height:1.55}.faction-subsection{margin-top:10px}.faction-subsection-title{font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#8fa5bc;margin-bottom:4px}.faction-leader,.faction-hq{color:#e6dfd4;font-family:EB Garamond,Georgia,serif;font-size:16px;line-height:1.5}.faction-leader-name,.faction-hq-name{color:#ff6c6c;font-weight:600}.faction-leader-role,.faction-hq-desc{color:#e6dfd4}.faction-leader-meta{color:#8fa5bc;font-style:italic}.faction-expand-btn{margin-left:8px;padding:3px 10px;font-family:Cinzel,serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;background:transparent;border:1px solid #2c3f58;border-radius:3px;color:#8fa5bc;cursor:pointer;transition:all .2s ease}.faction-expand-btn:hover,.faction-expand-btn:focus{background:#1b2840;border-color:#4480a8;color:#6ba3c8;outline:none}.faction-notables{list-style:none;margin:0;padding:0;font-size:16px}.faction-notables li{padding:4px 0;border-bottom:1px dashed #1e2c40;color:#e6dfd4;font-family:EB Garamond,Georgia,serif}.faction-notables li:last-child{border-bottom:none}.faction-notable-tag{font-family:Cinzel,serif;font-size:12px;font-variant:small-caps;letter-spacing:.5px;color:#6ba3c8;margin-right:4px}.faction-notable-arrow{color:#4e6272;margin:0 2px}.faction-notable-target{color:#ff6c6c;font-weight:600}.faction-notable-detail{color:#8fa5bc}.stance-matrix{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:15px;background:#141d2a;border:1px solid #1e2c40;border-radius:3px;overflow:hidden}.stance-matrix th,.stance-matrix td{padding:8px 10px;text-align:center;border-bottom:1px solid #1e2c40;border-right:1px solid #1e2c40}.stance-matrix th:last-child,.stance-matrix td:last-child{border-right:none}.stance-matrix tr:last-child td,.stance-matrix tr:last-child th{border-bottom:none}.stance-matrix thead th{font-family:Cinzel,serif;font-size:13px;font-variant:small-caps;letter-spacing:.5px;color:#ff6c6c;background:#0e1218;font-weight:600}.stance-matrix tbody th.stance-row-header{text-align:left;font-family:Cinzel,serif;font-size:13px;font-variant:small-caps;letter-spacing:.5px;color:#ff6c6c;background:#0e1218;font-weight:600}.stance-cell{font-family:Cinzel,serif;font-variant:small-caps;letter-spacing:.5px;font-size:13px;font-weight:600}.stance-cell.stance-rival{background:#9e2a2a47;color:#ff6c6c}.stance-cell.stance-allied{background:#4480a847;color:#6ba3c8}.stance-cell.stance-neutral{background:#1b2840;color:#8fa5bc}.stance-cell-self,.stance-cell-mirror{background:#0e1218}.stance-cell-self{color:#4e6272;font-family:Cinzel,serif;font-weight:600;font-size:13px}.faction-expansion{margin-top:20px;background:#162033;border:1px solid #1e2c40;border-radius:4px;padding:12px 16px;box-shadow:0 2px 12px #000000a6}.faction-expansion-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #2c3f58}.faction-expansion-title{font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#ff6c6c}@media screen and (max-width:768px){.faction-card-header{flex-direction:column;align-items:flex-start}.faction-fields{grid-template-columns:1fr}.faction-fields dt{padding-top:8px}.stance-matrix{font-size:13px}.stance-matrix th,.stance-matrix td{padding:6px 4px}.faction-expand-btn{margin-left:0;margin-top:4px;display:inline-block}}.rumor-page{max-width:920px;padding-bottom:40px}.rumor-results{margin-top:24px}.rumor-card-list{display:flex;flex-direction:column;gap:16px}.rumor-card{text-align:left;background:#162033;border:1px solid #1e2c40;border-radius:4px;box-shadow:0 2px 12px #000000a6;padding:14px 18px;line-height:1.5}.rumor-card-big{border-color:#ff6c6c;box-shadow:0 2px 16px #000000a6,0 0 0 1px #ff6c6c26 inset}.rumor-text{margin:0;font-family:EB Garamond,Georgia,serif;font-size:17px;line-height:1.55;color:#e6dfd4}.rumor-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:8px;border-top:1px solid #2c3f58}.rumor-badge{display:inline-block;font-family:Cinzel,serif;font-size:13px;font-variant:small-caps;letter-spacing:.5px;padding:2px 10px;border-radius:3px;background:#2e5f84;color:#e6dfd4}.rumor-badge-truth.rumor-truth-true{background:#6ba3c847;color:#6ba3c8}.rumor-badge-truth.rumor-truth-partial{background:#4480a847;color:#6ba3c8}.rumor-badge-truth.rumor-truth-false{background:#9e2a2a47;color:#ff6c6c}.rumor-badge-hook.rumor-hook-high{background:#c0383847;color:#ff6c6c}.rumor-badge-hook.rumor-hook-medium{background:#4480a847;color:#6ba3c8}.rumor-badge-hook.rumor-hook-low{background:#1b2840;color:#8fa5bc}.rumor-whispering{margin:0 0 10px;padding:10px 14px;border-left:3px solid #ff6c6c;background:#141d2a;border-radius:3px}.rumor-whispering-label{font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#8fa5bc;margin-bottom:6px}.rumor-whispering-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.rumor-variant{font-family:EB Garamond,Georgia,serif;font-style:italic;font-size:16px;line-height:1.45;color:#e6dfd4}.rumor-variant:before{content:"“"}.rumor-variant:after{content:"”"}@media screen and (max-width:768px){.rumor-card{padding:12px 14px}.rumor-badges{gap:4px}}.loot-coin-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.travel-event-page{max-width:860px;padding-bottom:48px}.travel-event-results{margin-top:24px}.travel-event-info .parchment-inner{padding:24px}.travel-event-context{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #2c3f58}.travel-event-label{font-family:EB Garamond,Georgia,serif;font-weight:700;color:#ff6c6c;margin-right:4px}.travel-event-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #2c3f58}.travel-event-section-heading{font-family:EB Garamond,Georgia,serif;font-weight:700;color:#ff6c6c;font-size:1.05rem;margin-bottom:8px}.travel-event-weather-line{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:4px}.travel-event-weather-attrs{font-style:italic;color:#4e6272;margin-top:4px;font-size:.9rem}.travel-event-dc-row{margin-bottom:4px;line-height:1.5}.travel-event-dc-note{color:#4e6272;font-size:.88em}.travel-event-desc{line-height:1.6;margin-bottom:12px}.travel-event-resolve-label{font-weight:700;margin-bottom:8px;font-size:.95rem}.travel-event-skill{margin-bottom:12px;padding-left:12px;border-left:3px solid #ff6c6c}.travel-event-skill-header{font-weight:700;margin-bottom:4px}.travel-event-skill-outcomes{display:flex;flex-direction:column;gap:3px;font-size:.9rem}.travel-event-skill-success{color:#6ba3c8}.travel-event-skill-failure{color:#c03838}.travel-event-narrative{font-style:italic;color:#8fa5bc;padding-top:16px;border-top:1px solid #2c3f58;line-height:1.7;font-size:.95rem}.dungeon-page{max-width:960px;padding-bottom:40px}.dungeon-global-config{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.room-config-list{display:flex;gap:16px;align-items:flex-start;width:100%}@media screen and (max-width:768px){.room-config-list{flex-direction:column}}.room-config{flex:1;min-width:0;background:#141d2a;border:1px solid #1e2c40;border-radius:4px;overflow:hidden}.room-config-header{padding:10px 14px;background:#1b2840;border-bottom:1px solid #1e2c40;color:#e6dfd4;font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:.5px}.room-config-body{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.room-config-body .form-select{width:100%}.room-toggles{display:flex;gap:14px;flex-wrap:wrap}.connection-options{display:flex;flex-direction:column;gap:6px}.villain-page{max-width:860px;padding-bottom:48px}.villain-results{margin-top:24px}.villain-info{margin-bottom:16px}.villain-name-row{display:flex;align-items:baseline;gap:12px;border-bottom:2px solid #4480a8;padding-bottom:8px;margin-bottom:16px}.villain-name{font-family:Cinzel,serif;font-size:22px;color:#ff6c6c;font-variant:small-caps}.villain-title{font-family:EB Garamond,Georgia,serif;font-size:15px;color:#8fa5bc;font-style:italic}.villain-fields{display:flex;flex-direction:column}.villain-prop{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:#e6dfd4}.villain-prop:last-child{border-bottom:none}.villain-label{font-family:EB Garamond,Georgia,serif;font-weight:700;color:#ff6c6c;font-size:14px;margin-right:12px;flex-shrink:0;min-width:80px}.puzzle-page{max-width:860px;padding-bottom:48px}.puzzle-results{margin-top:24px}.puzzle-info{margin-bottom:16px}.puzzle-fields{display:flex;flex-direction:column}.puzzle-prop{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:#e6dfd4}.puzzle-prop:last-child{border-bottom:none}.puzzle-label{font-family:EB Garamond,Georgia,serif;font-weight:700;color:#ff6c6c;font-size:14px;margin-right:12px;flex-shrink:0;min-width:90px}.wild-magic-page{max-width:860px;padding-bottom:48px}.wild-magic-results{margin-top:24px}.wild-magic-info{margin-bottom:16px}.wild-magic-roll-row{display:flex;align-items:baseline;gap:16px;border-bottom:2px solid #4480a8;padding-bottom:8px;margin-bottom:16px}.wild-magic-roll-label{font-family:Cinzel,serif;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#8fa5bc}.wild-magic-roll-value{font-family:Cinzel,serif;font-size:26px;color:#ff6c6c;font-variant:small-caps}.wild-magic-effect{font-family:EB Garamond,Georgia,serif;font-size:15px;color:#e6dfd4;line-height:1.6}.generator-panel{border:1px solid #1e2c40;background:#141d2a;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;min-height:400px}.generator-panel--error{border-color:#2c3f58;background:#141d2a}.generator-panel .panel-header{padding:14px 16px;font-weight:700;display:flex;justify-content:space-between;align-items:center;color:#fff}.generator-panel .panel-header h3{margin:0;font-size:14px}.generator-panel .panel-body{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column}.generator-panel .unpin-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:16px;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:background-color .2s}.generator-panel .unpin-btn:hover{background-color:#ffffff1a}.generator-panel .loading{padding:20px;text-align:center;color:#4e6272;font-size:12px}.generator-panel .error-message{padding:12px;background:#7a202033;color:#ff6c6c;border-radius:3px;font-size:12px;line-height:1.4}.session-dashboard{min-height:100vh;background:#0e1218;padding:20px}.session-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:20px}.session-dashboard-header .header-content{flex:1;min-width:300px}.session-dashboard-header .header-content h1{margin:0 0 8px;font-size:28px;color:#e6dfd4}.session-dashboard-header .header-content .subtitle{margin:0;font-size:14px;color:#8fa5bc}.session-dashboard-header .add-generator-btn{background:#4480a8;color:#e6dfd4;border:none;padding:10px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;transition:background-color .2s}.session-dashboard-header .add-generator-btn:hover{background-color:#2e5f84}.session-dashboard-header .add-generator-btn:active{transform:scale(.98)}.generator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:16px;margin-bottom:40px}.empty-state{display:flex;justify-content:center;align-items:center;min-height:400px;padding:40px 20px}.empty-state .empty-state-card{background:#141d2a;border:1px solid #2c3f58;border-radius:4px;padding:40px 20px;text-align:center;max-width:500px}.empty-state .empty-state-card h2{margin:0 0 12px;font-size:20px;color:#e6dfd4}.empty-state .empty-state-card p{margin:0 0 20px;color:#8fa5bc;font-size:14px;line-height:1.5}.empty-state .empty-state-card .add-generator-btn{display:inline-block}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#141d2a;border-radius:4px;max-width:500px;width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 4px 12px #000000a6;border:1px solid #2c3f58}.modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #1e2c40}.modal-content .modal-header h2{margin:0;font-size:18px}.modal-content .modal-header .modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:#4e6272;transition:color .2s}.modal-content .modal-header .modal-close:hover{color:#e6dfd4}.modal-content .modal-body{padding:20px}.generator-options{display:flex;flex-direction:column;gap:12px}.generator-options .generator-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #1e2c40;background:#141d2a;border-radius:4px;cursor:pointer;transition:all .2s}.generator-options .generator-option:hover:not(:disabled){background:#1b2840;border-color:#2c3f58}.generator-options .generator-option:disabled{opacity:.6;cursor:not-allowed}.generator-options .generator-option .option-color{width:24px;height:24px;border-radius:3px;flex-shrink:0}.generator-options .generator-option .option-name{flex:1;font-size:14px;font-weight:700;text-align:left}.generator-options .generator-option .option-status{font-size:12px;color:#4e6272}.session-dashboard .encounter-page,.session-dashboard .npc-page,.session-dashboard .quest-page,.session-dashboard .religion-page,.session-dashboard .shop-page,.session-dashboard .deity-layout,.session-dashboard .dice-roller-container,.session-dashboard .dungeon-page,.session-dashboard .faction-page,.session-dashboard .monster-page,.session-dashboard .name-page,.session-dashboard .puzzle-page,.session-dashboard .rumor-page,.session-dashboard .settlement-page,.session-dashboard .travel-event-page,.session-dashboard .villain-page,.session-dashboard .weather-page,.session-dashboard .wild-magic-page,.session-dashboard .building-page{max-width:none;width:100%}@media(max-width:768px){.session-dashboard-header{flex-direction:column;align-items:flex-start}.session-dashboard-header .add-generator-btn{width:100%}.generator-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media(max-width:480px){.session-dashboard{padding:12px}.session-dashboard-header{margin-bottom:20px}.session-dashboard-header h1{font-size:22px}.generator-grid{grid-template-columns:1fr;gap:12px}.modal-content{width:95vw}}
