/* Compact static portal and readable game-development handbook. */
:root{--bg:#131914;--bg-soft:#1d281f;--panel:#243126;--text:#ede5d0;--muted:#c4c2aa;--green:#c8d69d;--green-dark:#536a3e;--gold:#dbbf7f;--border:#697151;--shadow:0 3px 12px #0004}
html{scroll-behavior:auto;scroll-padding-top:20px}body{background:repeating-linear-gradient(0deg,#ffffff02 0,#ffffff02 1px,transparent 1px,transparent 4px),#131914;font:15px/1.65 Arial,Helvetica,sans-serif;color:var(--text)}a{color:var(--green);text-underline-offset:3px}a:hover{color:#f3e5ac}img{max-width:100%;height:auto}p{max-width:78ch;margin:0 0 14px}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}:focus-visible{outline:3px solid #eed37d;outline-offset:3px}h1,h2,h3,h4{letter-spacing:0;line-height:1.3}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:30px;max-width:none;margin:0 0 12px}h2{font-size:23px;margin:0 0 12px}h3{font-size:17px;margin:20px 0 8px}li{margin:6px 0}main{width:min(1160px,calc(100% - 32px));margin:0 auto;min-width:0}
.site-header{position:relative;display:block;width:min(1160px,calc(100% - 32px));margin:0 auto;padding:0;background:transparent;backdrop-filter:none;border:0;z-index:20}.utility-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:36px;font-size:11px;color:#b9c4ac}.utility-bar nav{display:flex;gap:16px}.utility-bar a{color:#dddcc8}.masthead{display:flex;justify-content:space-between;align-items:center;min-height:135px;padding:26px 32px;border:1px solid #79805c;border-bottom:0;background:linear-gradient(105deg,#18291d,#304332 55%,#1a291e);box-shadow:inset 0 0 0 4px #101b1577;position:relative}.masthead:before{content:'';position:absolute;inset:9px;border:1px solid #bbc69d33;pointer-events:none}.brand{display:flex;gap:16px;letter-spacing:0;color:#f1e4be;white-space:normal;position:relative}.brand:hover{color:#fff1c8;text-decoration:none}.brand-icon{width:72px;height:72px;border-radius:0;object-fit:contain}.brand strong{display:block;font:normal 35px/1.15 Georgia,'Times New Roman',serif;text-shadow:1px 2px #0008}.brand small{display:block;margin-top:8px;font:12px/1.4 Arial,sans-serif;color:#c3cfb7}.masthead-note{text-align:right;font:13px/1.7 Georgia,serif;color:#d4d4b8;margin:0 0 0 20px;max-width:22ch}.site-nav{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;border:1px solid #74805a;background:linear-gradient(#3a4b34,#263a28);box-shadow:inset 0 1px #d4e2ba22,0 3px 10px #0004}.site-nav a{display:flex;align-items:center;justify-content:center;padding:10px 6px;min-height:43px;font:14px Georgia,serif;border-right:1px solid #95a87933;color:#e5dec5}.site-nav a:last-child{border-right:0}.site-nav a.active,.site-nav a:hover{color:#fff0bc;background:#0f1c1477;text-decoration:none;box-shadow:inset 0 -2px #d9bd72}.nav-toggle{display:none}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:#e8d48d;color:#192219;padding:10px}.skip-link:focus{top:8px}
.site-layout{display:grid;grid-template-columns:185px minmax(0,1fr);gap:18px;margin:20px 0 28px;align-items:start}.site-page{min-width:0}.site-sidebar{display:grid;gap:16px}.rail-panel,.portal-panel{border:1px solid #64704e;background:#202e22;box-shadow:inset 0 0 0 3px #14201766,0 3px 8px #0003;min-width:0}.rail-heading,.panel-heading{margin:0;padding:10px 14px;border-bottom:1px solid #64704e;background:linear-gradient(#3a4b34,#293c2b);font:normal 18px/1.3 Georgia,serif;color:#eddfb7;letter-spacing:0}.rail-heading{font-size:16px}.rail-body,.panel-body{padding:14px 16px}.rail-body{padding:10px 13px;font-size:12px}.rail-body p:last-child,.panel-body p:last-child{margin-bottom:0}.rail-body a{display:block;padding:7px 0;border-bottom:1px solid #87976d33}.rail-body a:last-child{border:0}.rail-body .rail-small{font-size:11px;color:#b8c4aa;margin-top:8px}.portal-grid{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:18px;align-items:start;margin:20px 0 28px}.portal-main,.portal-side{display:grid;gap:18px;min-width:0}.portal-panel .panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-heading h1,.panel-heading h2{font:inherit;margin:0}.panel-heading time,.panel-heading span{font:11px Arial,sans-serif;color:#cad0b4}.welcome-panel .panel-body{padding:20px 22px}.welcome-panel h1{font-size:27px}.welcome-panel p{font-size:15px;line-height:1.8}.byline{font-size:12px!important;color:#bdc9ae;margin-top:18px}.home-links{display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid #83916c55;margin-top:18px;padding-top:14px;font-size:13px}.workbench-row{display:grid;grid-template-columns:154px minmax(0,1fr);gap:18px;padding:18px 0;border-bottom:1px solid #84926c44;align-items:start}.workbench-row:first-child{padding-top:0}.workbench-row:last-child{padding-bottom:0;border:0}.workbench-row img{display:block;width:154px;border:1px solid #87916d}.workbench-row h3{font:20px/1.3 Georgia,serif;margin:0 0 8px}.workbench-row p{font-size:13px;color:#d3d2bc}.workbench-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px}.compact-list{padding-left:18px;font-size:13px}.compact-list li{margin:9px 0}.chronicle-mark{padding:24px 16px;text-align:center;background:linear-gradient(#233c4b,#12232d);border:1px solid #527186;color:#d7edf2;font:28px/1.2 Georgia,serif;text-shadow:1px 2px #0008;margin-bottom:14px}.chronicle-mark small{display:block;margin-top:8px;font:11px Arial,sans-serif;color:#b2cbd5}.portal-side .panel-body{font-size:13px}.note-date{display:block;font-size:11px;color:#bec5ae;margin-bottom:8px}
.page-hero{padding:20px 24px;margin:0 0 18px;border:1px solid #687452;background:linear-gradient(#2e4030,#233226)}.page-hero h1{margin:4px 0 10px;font-size:30px;line-height:1.3}.page-hero p,.hero-text{font-size:15px;line-height:1.7;color:#d0d4be;max-width:78ch}.page-hero p:last-child{margin-bottom:0}.eyebrow{color:#c6ceac;font:11px/1.5 Arial,sans-serif;text-transform:none;letter-spacing:.025em;margin:0 0 8px}.small-dot{display:none}.section{padding:20px 24px;margin:0 0 18px;background:#202e22;border:1px solid #64704e}.section .section{border:0;padding:0;background:none}.section-heading{margin-bottom:18px}.button-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:8px 14px;border-radius:1px;font:700 12px/1.4 Arial,sans-serif;letter-spacing:0;box-shadow:inset 0 1px #ffffff22;transform:none;text-transform:none;transition:background .15s}.button.primary,.core-rpg-theme .button.primary{color:#182016;background:linear-gradient(#d0dba9,#adbf80);border:1px solid #dbe4bb}.button.secondary{color:#ebe4ca;background:linear-gradient(#3a4a35,#293b29);border:1px solid #81916a}.button:hover{transform:none;box-shadow:inset 0 1px #fff4;text-decoration:none;filter:brightness(1.08)}.status-pill{display:inline-block;border:1px solid #859969;background:#253f29;color:#d9e8b8;border-radius:1px;padding:2px 6px;font:11px/1.6 Arial,sans-serif}.status-pill.development,.status-pill.planned{color:#e8d9ab;background:#403b27;border-color:#a39565}.product-number{margin:8px 0;font-size:11px!important;letter-spacing:0;color:#c4cfaa!important}.product-grid,.v2-products,.cards,.doc-track-grid,.docs-grid,.doc-index-grid,.feature-grid,.script-grid,.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.v2-products{grid-template-columns:1fr}.product-card,.card,.doc-track-card,.script-link-card,.doc-index-card{padding:20px;background:#263729;border:1px solid #6d7c55;border-radius:1px;min-width:0;box-shadow:none;transform:none;display:block;min-height:0}.product-card h2,.card h2,.doc-track-card h2{font-size:23px;margin:8px 0 12px}.product-card p,.product-card li,.card p{font-size:14px;color:#d0d4be}.featured-product{background:#2a3b2a;border-color:#a5ae7b}.feature-grid>article,.feature-grid>div{min-width:0}.feature-grid h2{font-size:22px}.feature-grid p,.feature-grid li{font-size:14px}.learning-band{display:block;background:#2a3826;padding:22px}.learning-band h2{font-size:24px}.learning-steps{padding-left:24px;margin:16px 0 0}.learning-steps li{padding:4px 0;border:0}.text-links{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;margin:14px 0 0}.intro-note h2{font-size:24px}.hero{min-height:0;padding:24px 0}.hero-card,.product-art{padding:0;margin:0;background:#243126;box-shadow:none;border:1px solid #778562;border-radius:1px;transform:none;overflow:hidden}.product-art img{display:block;aspect-ratio:auto;width:100%;object-fit:contain}.product-art figcaption{padding:12px 16px;font-size:12px}.product-art figcaption span,.product-art figcaption strong{display:block;margin-bottom:4px}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.table-scroll{overflow-x:auto}.doc-table,table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.6}.doc-table th,.doc-table td,th,td{padding:10px 12px;vertical-align:top;text-align:left;border:1px solid #7b886155;overflow-wrap:anywhere}.doc-table th,th{background:#31422f;color:#e7e3ca}.doc-table caption{text-align:left;font-size:12px;padding:0 0 10px;color:#c9cbb2}.doc-search-hero{padding:18px 22px;margin-bottom:18px;border:1px solid #6c7955;background:#243427;max-width:none}input,select{color:#eee8d3;background:#16251b;border:1px solid #889570;border-radius:1px;padding:10px;min-width:0;width:100%}label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.search-inline{display:flex;gap:7px}.search-inline button{border:1px solid #d3ddb0;background:#bbcc93;color:#1d291a;padding:8px 14px;border-radius:1px;flex-shrink:0;font-size:12px;font-weight:700}.search-form{display:grid;grid-template-columns:1fr 180px auto;align-items:end;gap:12px}.search-result{padding:18px 0;border-bottom:1px solid #87976d55}.search-result h2{font-size:22px;margin:5px 0 8px}.search-result p{font-size:14px}.search-result .eyebrow{font-size:11px}.game-card{border:1px solid #6e8c9e;background:#182a33;padding:22px}.game-card h2{font-size:31px;color:#d7e9ef}.game-card p{color:#c6d5da}.game-card .chronicle-mark{font-size:38px;padding:36px 16px}.game-meta{font-size:12px!important;color:#b4d1cf!important}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;font-size:11px;color:#bbc3ab;margin:16px 0 12px}.breadcrumbs a{color:#d0dab5}.doc-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start;margin:0 0 28px;padding:0;border:0;background:transparent}.doc-sidebar{display:block;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;padding:0 0 10px;border:1px solid #6c7b55;border-radius:1px;background:#213023;min-width:0}.doc-menu>summary{padding:11px 13px;background:linear-gradient(#3a4b34,#293c2b);border-bottom:1px solid #71805b;color:#e6dec0;font:16px Georgia,serif;list-style:none}.doc-menu-content{padding:12px}.doc-sidebar a{display:block;color:#c7d0b5;font:12px/1.5 Arial,sans-serif;padding:6px 8px;border:0;border-radius:0;overflow-wrap:anywhere}.doc-sidebar a.active{color:#f0e0a7;background:#3b4c31;box-shadow:inset 2px 0 #d5bf79}.doc-sidebar .doc-nav-label{color:#e3dcba;font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;margin:18px 0 6px;padding:0 8px}.sidebar-search label{font-size:11px}.sidebar-search input{padding:7px;font-size:12px}.sidebar-search button{padding:6px 9px}.sidebar-search{margin-bottom:16px}.doc-content{min-width:0;max-width:none;padding:26px 32px;background:linear-gradient(90deg,#e0d5bb,#eae1cc 7%,#eae1cc 93%,#e0d5bb);border:1px solid #938467;box-shadow:inset 0 0 0 4px #f3ebd533,0 3px 10px #0003;border-radius:1px;color:#302d24;font-size:15px;line-height:1.8;overflow-wrap:anywhere}.doc-content h1,.doc-content h2,.doc-content h3,.doc-content strong{color:#302d24}.doc-content h1{font-size:31px}.doc-content h2{font-size:25px;margin:32px 0 12px;border-bottom:1px solid #9a8d7155;padding-bottom:7px}.doc-content h3{font-size:18px;margin:24px 0 10px}.doc-content p{color:#302d24;max-width:78ch}.doc-content li{margin:9px 0}.doc-content a{color:#2e5738;text-decoration:underline}.doc-content a:hover{color:#173d22}.doc-content .page-hero{padding:0 0 20px;margin:0 0 22px;background:none;border:0;border-bottom:1px solid #b7a889}.doc-content .page-hero h1{margin:0 0 12px}.doc-content .hero-text,.doc-content .page-hero p{font-size:15px;color:#5d5849}.doc-content .eyebrow{font-size:11px;color:#5e6245}.doc-content .section{padding:0;margin:24px 0;background:none;border:0}.doc-content code{color:#3c482a;background:#d6d0b8;padding:2px 4px;border-radius:1px;font-size:.9em;overflow-wrap:anywhere}.doc-content pre,pre{position:relative;overflow:auto;max-width:100%;background:#19231c;border:1px solid #536048;border-radius:1px;padding:42px 16px 16px;color:#e7e8d5;font:12px/1.7 Consolas,'Courier New',monospace}.doc-content pre code,pre code{background:none;padding:0;color:#e7e8d5;overflow-wrap:normal;font-size:inherit}.copy-code{position:absolute;top:7px;right:8px;padding:4px 10px;color:#e5e8cf;background:#354630;border:1px solid #9ca879;border-radius:1px;font-size:11px}.doc-content .doc-table th,.doc-content th{background:#d2c8ab;color:#302d24}.doc-content .doc-table td,.doc-content .doc-table th,.doc-content td,.doc-content th{border-color:#b0a284}.doc-content .doc-table caption{color:#5d5849}.article-toc{border:1px solid #b3a383;background:#ded5bc;padding:10px 14px;margin:0 0 24px;font-size:12px}.article-toc summary{font-weight:700;color:#3c422b}.article-toc ul{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;padding:0;margin:8px 0 0}.article-toc li{margin:0}.heading-anchor{font-family:Arial,sans-serif;font-size:.65em;opacity:0;margin-left:8px}.doc-content h2:hover .heading-anchor,.doc-content h3:hover .heading-anchor,.heading-anchor:focus{opacity:1}.version-note,.validation-status,.callout{padding:12px 16px;background:#dad3b7;border:1px solid #ad9b70;border-left:3px solid #78683b;margin:18px 0;font-size:13px;line-height:1.7;border-radius:1px;color:#403b2b}.version-note a{color:#2e5738}.doc-edition{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#bbc6a8;font-size:11px;margin:0 0 12px}.doc-edition a{color:#d1d9b3}.doc-content .doc-edition{color:#605c4a;margin:0 0 14px}.doc-content .doc-edition a{color:#435b34}.callout.warn{background:#e2d0a8;border-color:#a58a50}.small-note{font-size:12px;color:#c4c8b0}.doc-content .small-note{color:#615a49}.doc-content .card,.doc-content .doc-track-card,.doc-content .script-link-card,.doc-content .doc-index-card{background:#ddd3b9;border-color:#b2a17e;color:#302d24}.doc-content .card p,.doc-content .doc-track-card p{color:#514a3c}.doc-content .button.primary{background:linear-gradient(#d0dba9,#b8c78f);color:#24311d;border-color:#718251;text-decoration:none}.doc-content .button.secondary{color:#31472e;background:#e7dec4;border-color:#89956c;text-decoration:none}.nextprev{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #b6a786;padding-top:20px;margin-top:32px;font-size:13px}.nextprev a{max-width:48%}.doc-figure{margin:22px 0;padding:0}.doc-figure img{display:block;width:auto;max-height:760px;object-fit:contain;border:1px solid #80765c;border-radius:0}.doc-figure figcaption{font-size:12px;line-height:1.6;margin-top:8px;color:#605a49}.screenshot-link{display:block;max-width:100%;width:fit-content}.figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.figure-grid .doc-figure{min-width:0;margin:12px 0}.tutorial-list{display:grid;gap:12px}.tutorial-list a{display:block}.script-link-card{display:block;margin:10px 0}.script-link-card strong,.script-link-card span{display:block}.script-link-card span{font-size:13px}.capture-needed{border:1px dashed #a7a180;padding:20px}
.screenshot-dialog{width:fit-content;max-width:96vw;max-height:95vh;padding:14px;border:1px solid #98a47b;border-radius:1px;background:#17231b;color:#e8e4ce}.screenshot-dialog::backdrop{background:#000d}.screenshot-dialog img{display:block;width:auto;max-width:90vw;max-height:78vh;margin:14px auto}.screenshot-dialog p{font-size:12px}.screenshot-controls{position:sticky;top:0;z-index:2;display:flex;gap:8px;background:#17231b;padding:4px 0}.screenshot-controls button{min-height:40px;padding:8px 14px;border:1px solid #a0ac81;background:#344a31;color:#f1e8ca;border-radius:1px}.screenshot-dialog.actual-size img{max-width:none;max-height:none;width:auto;height:auto}.site-footer{width:min(1160px,calc(100% - 32px));margin:0 auto 24px;padding:16px 0;border-top:1px solid #65704e;display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:14px;background:transparent;font-size:12px;color:#b4bfa6}.site-footer strong{font:17px Georgia,serif;color:#ddd5b8}.site-footer p{font-size:11px;margin:5px 0}.footer-links{display:flex;flex-wrap:wrap;gap:14px;font-size:11px}.footer-copy{margin:0!important}.core-rpg-theme{--green:#c8d69d;--green-dark:#536a3e;--border:#697151}body.core-rpg-theme{background:repeating-linear-gradient(0deg,#ffffff02 0,#ffffff02 1px,transparent 1px,transparent 4px),#131914}
@media(max-width:1000px){.site-layout{grid-template-columns:160px minmax(0,1fr)}.portal-grid{grid-template-columns:minmax(0,1fr) 220px}.doc-layout{grid-template-columns:1fr}.doc-sidebar{position:static;max-height:none}.doc-menu>summary{cursor:pointer;list-style:revert}.doc-menu-content{max-height:55vh;overflow:auto}.doc-sidebar a{min-height:40px;display:flex;align-items:center}.doc-content{padding:24px}.masthead-note{display:none}}
@media(max-width:800px){.site-header,main,.site-footer{width:calc(100% - 24px)}.masthead{min-height:118px;padding:22px}.brand strong{font-size:29px}.brand-icon{width:60px;height:60px}.brand small{font-size:11px}.site-nav a{font-size:12px;padding:10px 4px}.site-layout{grid-template-columns:1fr}.site-sidebar{display:none}.portal-grid{grid-template-columns:1fr}.portal-side{grid-template-columns:1fr 1fr}.workbench-row{grid-template-columns:140px minmax(0,1fr)}.workbench-row img{width:140px}.feature-grid,.cards,.doc-track-grid,.docs-grid,.doc-index-grid,.split{grid-template-columns:1fr}.section,.page-hero{padding:20px}.search-form{grid-template-columns:1fr 160px}.search-form .button{grid-column:1/-1}.doc-content{font-size:15px}.doc-content h1{font-size:28px}.heading-anchor{opacity:1}}
@media(max-width:600px){.utility-bar{font-size:10px;min-height:32px}.utility-bar nav{gap:12px}.masthead{padding:24px 18px;min-height:110px}.brand{gap:10px}.brand strong{font-size:25px}.brand small{font-size:10px;max-width:28ch}.brand-icon{width:49px;height:49px}.nav-toggle{display:block;width:100%;text-align:left;color:#e9e0c1;background:linear-gradient(#3a4b34,#293c2b);border:1px solid #74805a;border-radius:0;font-size:13px;padding:12px 16px;min-height:44px}.site-nav{display:none;position:static;grid-template-columns:1fr 1fr;padding:0;box-shadow:none}.site-nav.open{display:grid}.site-nav a{justify-content:start;font:14px Georgia,serif;min-height:44px;padding:10px 16px;border-bottom:1px solid #95a87933}.site-nav a:nth-child(even){border-right:0}.portal-grid{margin-top:16px;gap:16px}.portal-side{grid-template-columns:1fr}.welcome-panel .panel-body,.panel-body{padding:17px}.welcome-panel h1{font-size:25px}.welcome-panel p{font-size:14px}.workbench-row{grid-template-columns:1fr;gap:12px}.workbench-row img{width:100%;max-height:185px;object-fit:cover;object-position:top}.workbench-row h3{font-size:22px}.portal-panel .panel-heading{align-items:start}.panel-heading time{white-space:nowrap;margin-top:4px}.section,.page-hero{padding:18px}.page-hero h1{font-size:27px}.button{width:auto}.search-form{grid-template-columns:1fr}.search-inline button{padding:8px 10px}.doc-content{padding:20px 18px;font-size:14px;line-height:1.85}.doc-content h1{font-size:27px}.doc-content h2{font-size:23px}.doc-content h3{font-size:18px}.doc-content ol,.doc-content ul{padding-left:22px}.doc-content .doc-table{display:block;overflow-x:auto}.doc-content pre{font-size:11px}.figure-grid{grid-template-columns:1fr}.nextprev{font-size:12px}.site-footer{font-size:11px}.breadcrumbs{font-size:10px}.article-toc ul{display:block}.article-toc li{margin:4px 0}.table-scroll{max-width:100%}.game-card{padding:16px}.game-card .chronicle-mark{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:800px){.nav-toggle{display:block;width:100%;text-align:left;color:#e9e0c1;background:linear-gradient(#3a4b34,#293c2b);border:1px solid #74805a;border-radius:0;font-size:13px;padding:12px 16px;min-height:44px}.site-nav{display:none;position:static;grid-template-columns:1fr 1fr;padding:0;box-shadow:none}.site-nav.open{display:grid}.site-nav a{justify-content:start;font:14px Georgia,serif;min-height:44px;padding:10px 16px;border-bottom:1px solid #95a87933}.site-nav a:nth-child(even){border-right:0}}
.workbench-row img{max-height:140px;object-fit:cover;object-position:top}.site-page>.callout{margin-bottom:18px}.section .doc-figure figcaption{color:#c5cbb4}.doc-content .doc-figure figcaption{color:#605a49}
.doc-layout{padding:0}.doc-content .page-hero>.eyebrow{display:none}
.legacy-anchor{display:block;height:0;overflow:hidden;scroll-margin-top:20px}
