/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--font-geist-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-geist-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--ink:#e9eee9;--muted:#95a7a2;--line:#bccfc524;--panel:#13292e;--panel-deep:#0e2227;--gold:#d9b96f;--gold-bright:#efd18a}*{box-sizing:border-box}body,html{min-height:100%;color:var(--ink);background:#0b1b1f;margin:0}body{font-family:var(--font-geist-sans),Arial,sans-serif;overflow:hidden}button,input,textarea{font:inherit}button{color:inherit}.viewer-app{--workspace-accent:#71b7b0;--workspace-accent-rgb:113,183,176;background:#0b1b1f;min-height:100vh}.viewer-app.workspace-create{--workspace-accent:#dfbe72;--workspace-accent-rgb:223,190,114}.viewer-app.workspace-repair{--workspace-accent:#d18a68;--workspace-accent-rgb:209,138,104}.viewer-app.workspace-lab{--workspace-accent:#69aee8;--workspace-accent-rgb:105,174,232}.viewer-app.workspace-lua{--workspace-accent:#d76b60;--workspace-accent-rgb:215,107,96}.topbar{border-bottom:1px solid var(--line);z-index:4;background:#0d2126f7;justify-content:space-between;align-items:center;gap:28px;height:76px;padding:0 28px;display:flex;position:relative}.workspace-navigation{justify-items:center;gap:4px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workspace-navigation-label{color:#526d68;font-family:var(--font-geist-mono),monospace;letter-spacing:.18em;text-transform:uppercase;font-size:6px;font-weight:750;line-height:1}.workspace-tabs{border:1px solid var(--line);background:#07171b8c;border-radius:7px;gap:4px;padding:3px;display:flex}.workspace-tabs button{--tab-accent:#71b7b0;--tab-accent-rgb:113,183,176;color:#79908a;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:auto 1fr;place-items:center;gap:6px;min-width:79px;height:34px;padding:0 10px;font-size:10px;font-weight:650;display:grid;position:relative}.workspace-tabs .workspace-tab-create{--tab-accent:#dfbe72;--tab-accent-rgb:223,190,114}.workspace-tabs .workspace-tab-repair{--tab-accent:#d18a68;--tab-accent-rgb:209,138,104}.workspace-tabs .workspace-tab-lab{--tab-accent:#69aee8;--tab-accent-rgb:105,174,232}.workspace-tabs .workspace-tab-lua{--tab-accent:#d76b60;--tab-accent-rgb:215,107,96}.workspace-tab-symbol{color:rgba(var(--tab-accent-rgb),.52);font-family:var(--font-geist-mono),monospace;font-size:11px;font-weight:800}.workspace-tabs button:hover{color:#c7d4cf}.workspace-tabs button.is-active{border-color:rgba(var(--tab-accent-rgb),.3);background:rgba(var(--tab-accent-rgb),.12);color:var(--tab-accent);box-shadow:inset 0 -2px 0 rgba(var(--tab-accent-rgb),.76),0 5px 16px #00000024}.workspace-tabs button.is-active .workspace-tab-symbol{color:var(--tab-accent)}.workspace-stage-tabs button:focus-visible,.workspace-tabs button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:1px}.workspace-context-bar{z-index:3;border-bottom:1px solid rgba(var(--workspace-accent-rgb),.22);background:linear-gradient(90deg,rgba(var(--workspace-accent-rgb),.085),#0b1d21fa 34%,#0a1b1ffa);height:42px;box-shadow:inset 0 1px 0 rgba(var(--workspace-accent-rgb),.09);grid-template-columns:326px minmax(260px,1fr) minmax(170px,290px);align-items:stretch;display:grid;position:relative}.workspace-context-identity{border-right:1px solid var(--line);align-items:center;gap:9px;padding:0 18px 0 28px;display:flex}.workspace-context-symbol{border:1px solid rgba(var(--workspace-accent-rgb),.3);background:rgba(var(--workspace-accent-rgb),.08);width:24px;height:24px;color:var(--workspace-accent);font-family:var(--font-geist-mono),monospace;border-radius:5px;place-items:center;font-size:10px;font-weight:800;display:grid}.workspace-context-identity>span:last-child{gap:1px;display:grid}.workspace-context-identity small{color:#607873;font-family:var(--font-geist-mono),monospace;letter-spacing:.1em;text-transform:uppercase;font-size:6px;font-weight:750}.workspace-context-identity strong{color:#c6d1cd;font-size:10px;font-weight:650}.workspace-stage-tabs{background:0 0;justify-content:flex-start;align-items:center;gap:2px;min-width:0;min-height:42px;padding:0 11px;display:flex}.workspace-stage-tabs button{color:#708681;min-width:0;height:42px;font-family:var(--font-geist-mono),monospace;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0 13px;font-size:8px;font-weight:700;position:relative}.workspace-stage-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:0;left:10px;right:10px}.workspace-stage-tabs button:hover{color:#aebfba}.workspace-stage-tabs button.is-active{background:rgba(var(--workspace-accent-rgb),.055);color:var(--workspace-accent)}.workspace-stage-tabs button.is-active:after{background:var(--workspace-accent)}.workspace-context-status{border-left:1px solid var(--line);text-align:right;align-content:center;justify-items:end;gap:2px;min-width:0;padding:0 28px 0 14px;display:grid}.workspace-context-status strong{color:#a8b8b3;font-family:var(--font-geist-mono),monospace;font-weight:650}.workspace-context-status small,.workspace-context-status strong{max-width:100%;text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.workspace-context-status small{color:#5e7670}.experimental-badge{color:#ffe3dd;background:#9f3028;border:1px solid #ff9e8e6b;border-radius:3px}.development-badge,.experimental-badge{z-index:1;font-family:var(--font-geist-mono),monospace;letter-spacing:.06em;text-transform:uppercase;pointer-events:none;padding:2px 4px;font-size:5px;font-weight:750;line-height:1;position:absolute;top:-6px;right:2px;box-shadow:0 2px 6px #00000057}.development-badge{color:#e2f3ff;background:#245f91;border:1px solid #97cfff80;border-radius:3px}.brand{align-items:center;gap:13px;min-width:240px;display:flex}.brand-mark{width:42px;height:42px;color:var(--gold-bright);background:linear-gradient(145deg,#325c5c,#142d32);border:1px solid #efd18a73;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:20px;font-weight:700;display:grid;box-shadow:inset 0 0 0 4px #06151859,0 6px 24px #0000003d}.eyebrow{color:#7e9893;font-family:var(--font-geist-mono),monospace;letter-spacing:.13em;text-transform:uppercase;margin:0 0 3px;font-size:10px;font-weight:650}.brand h1{letter-spacing:.02em;margin:0;font-family:Georgia,serif;font-size:24px;font-weight:500}.topbar-actions{align-items:center;gap:10px;display:flex}.history-actions{gap:3px;display:flex}.history-actions button{border:1px solid var(--line);color:#9fb0ab;cursor:pointer;background:0 0;border-radius:4px;width:30px;height:30px;padding:0}.history-actions button:disabled{opacity:.3;cursor:not-allowed}.button{cursor:pointer;border:1px solid #0000;border-radius:5px;height:38px;padding:0 16px;font-size:12px;font-weight:650;transition:all .16s}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.42;transform:none}.button-secondary{border-color:var(--line);color:#cbd7d2;background:#173137}.button-primary{background:var(--gold);color:#1b2724;box-shadow:0 6px 18px #d9b96f21}.button-primary:hover{background:var(--gold-bright)}.workspace{grid-template-columns:326px minmax(0,1fr);height:calc(100vh - 76px);display:grid}.has-workspace-context .workspace{height:calc(100vh - 118px)}.sidebar{z-index:2;border-right:1px solid var(--line);min-width:0;box-shadow:inset 3px 0 0 rgba(var(--workspace-accent-rgb),.62);scrollbar-width:thin;scrollbar-color:#395257 transparent;background:linear-gradient(#132b30,#10252a);flex-direction:column;padding:20px 17px 16px;display:flex;position:relative;overflow-y:auto}.workspace-masthead{border-left:2px solid var(--workspace-accent);gap:5px;margin:-3px 0 17px;padding:2px 2px 1px 11px;display:grid}.workspace-masthead p{color:var(--workspace-accent);font-family:var(--font-geist-mono),monospace;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;margin:0;font-size:7px;font-weight:750;display:flex}.workspace-masthead p span{text-align:center;min-width:14px;font-size:9px}.workspace-masthead h2{color:#d3dbd7;margin:0;font-family:Georgia,serif;font-size:18px;font-weight:500;line-height:1.15}.workspace-masthead>span{color:#708681;max-width:276px;font-size:9px;line-height:1.45}.explore-map-identity{display:block}.current-map-disclosure{border:1px solid rgba(var(--workspace-accent-rgb),.16);background:#07181c33;border-radius:5px;margin:0 0 15px}.current-map-disclosure>summary{cursor:pointer;grid-template-columns:1fr auto;align-content:center;gap:2px 10px;min-height:48px;padding:7px 30px 7px 10px;list-style:none;display:grid;position:relative}.current-map-disclosure>summary::-webkit-details-marker{display:none}.current-map-disclosure>summary:after{content:"+";color:#667e78;font-family:var(--font-geist-mono),monospace;font-size:11px;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.current-map-disclosure[open]>summary:after{content:"−"}.current-map-disclosure>summary>span{color:#627b75;font-family:var(--font-geist-mono),monospace;letter-spacing:.1em;text-transform:uppercase;grid-column:1;font-size:6px;font-weight:750}.current-map-disclosure>summary strong{color:#b9c8c3;text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:9px;font-weight:650;overflow:hidden}.current-map-disclosure>summary small{color:#657b76;grid-area:1/2/span 2;align-self:center;font-size:7px}.current-map-body{border-top:1px solid var(--line);padding:10px}.current-map-body:not(.is-editing) .map-heading{display:none}.current-map-body .editable-map-description{-webkit-line-clamp:3;min-height:0;margin:0;font-size:9px}.current-map-body.is-editing .map-heading{margin-bottom:9px}.current-map-body .metadata-editor{margin-bottom:0}.sidebar-footer{margin-top:auto;padding-top:24px}.sidebar-footer a{color:#718a84;font-family:var(--font-geist-mono),monospace;letter-spacing:.11em;align-items:center;gap:4px;font-size:8px;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}.sidebar-footer a:focus-visible,.sidebar-footer a:hover{color:var(--gold-bright)}.sidebar-footer a:focus-visible{outline-offset:4px;outline:1px solid #efd18a73}.map-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.map-heading h2{margin:0;font-family:Georgia,serif;font-size:22px;font-weight:500;line-height:1.18}.map-heading>div{min-width:0}.editable-map-description,.editable-map-name{text-align:left;cursor:text;background:0 0;border:0;width:100%;padding:0}.editable-map-name{border-radius:3px;display:block}.editable-map-name:focus-visible h2,.editable-map-name:hover h2{color:var(--gold-bright)}.editable-map-description{color:#8ea29c;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:36px;margin:10px 0 19px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.editable-map-description:focus-visible,.editable-map-description:hover{color:#c1d0ca}.metadata-editor{gap:10px;margin:11px 0 18px;display:grid}.metadata-field{gap:5px;min-width:0;display:grid}.metadata-field>span{color:#7e9893;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:9px}.metadata-field input,.metadata-field textarea{color:#e1e9e4;background:#07161aad;border:1px solid #efd18a42;border-radius:5px;outline:0;width:100%}.metadata-field input{height:36px;padding:0 10px;font-family:Georgia,serif;font-size:16px}.metadata-field textarea{resize:vertical;min-height:82px;padding:9px 10px;font-size:11px;line-height:1.45}.metadata-field input:focus,.metadata-field textarea:focus{border-color:#efd18a94;box-shadow:0 0 0 2px #efd18a14}.metadata-name-field{flex:1}.metadata-actions{justify-content:flex-end;gap:7px;display:flex}.edit-mode-prompt button,.metadata-actions button{border:1px solid var(--line);color:#aebfba;cursor:pointer;background:#173137;border-radius:4px;min-height:30px;padding:0 9px;font-size:9px}.edit-mode-prompt .confirm-edit,.metadata-actions .save-metadata{background:var(--gold);color:#172622;border-color:#0000;font-weight:700}.metadata-actions button:disabled{cursor:not-allowed;opacity:.4}.edit-mode-prompt{background:#08191da8;border:1px solid #ddc28033;border-radius:6px;margin:0 0 18px;padding:12px}.edit-mode-prompt strong{color:#e5d39f;font-size:11px}.edit-mode-prompt p{color:#8fa39d;margin:5px 0 8px;font-size:10px;line-height:1.45}.edit-mode-prompt small{color:#718983;margin:-2px 0 9px;font-size:9px;display:block}.edit-mode-prompt>div{justify-content:flex-end;gap:7px;display:flex}.creator-panel,.repair-panel,.script-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:8px;margin:0 0 20px;padding:12px 0 16px;display:grid}.creator-panel .section-title,.repair-panel .section-title,.script-panel .section-title,.tile-editor .section-title{margin-bottom:0}.randomise-world-button{width:100%;min-height:44px;color:var(--gold-bright);cursor:pointer;background:linear-gradient(135deg,#d9b96f29,#18353aad);border:1px solid #efd18a47;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding:8px 11px;display:flex}.randomise-world-button span{font-family:Georgia,serif;font-size:14px}.randomise-world-button small{color:#839a94;text-align:right;max-width:105px;font-size:8px;line-height:1.3}.randomise-world-button:disabled{cursor:wait;opacity:.72}.world-building-steps{gap:8px;display:grid}.create-stage-design .archetype-control,.create-stage-design .archetype-intensity-control,.create-stage-design .climate-group,.create-stage-design .content-group,.create-stage-design .players-group,.create-stage-design .style-picker,.create-stage-design .world-character-explanation,.create-stage-refine .generation-effort-control,.create-stage-refine .map-size-control,.create-stage-refine .map-type-control,.create-stage-refine .scale-control,.create-stage-refine .seed-row,.create-stage-refine .world-model-picker,.create-stage-refine .world-shape-group{display:none}.refinement-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.refinement-action-grid button{min-width:0}.match-intent-controls{border:1px solid var(--line);border-radius:8px;gap:8px;margin:4px 0;padding:10px;display:grid}.match-intent-controls>small{color:var(--muted)}.victory-intent-grid{gap:5px;display:grid}.victory-intent-grid>div{grid-template-columns:minmax(84px,1fr) auto auto;align-items:center;gap:5px;display:grid}.victory-intent-grid strong{text-transform:capitalize;font-size:12px}.victory-intent-grid button{min-width:72px;padding:5px 7px}.preservation-editor{gap:9px;display:grid}.protection-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.protection-channel-grid label{text-transform:capitalize;align-items:center;gap:6px;font-size:12px;display:flex}.preservation-editor>div:not(.protection-channel-grid):not(.semantic-protection-controls){gap:6px;display:flex}.semantic-protection-controls{border-top:1px solid var(--line);gap:6px;padding-top:8px;display:grid}.creator-panel>.world-building-steps{order:1}.creator-panel>.creator-actions{order:2}.creator-panel>.batch-generation-group,.creator-panel>.checkpoint-group,.creator-panel>.creator-advanced-title,.creator-panel>.generation-history,.creator-panel>.iteration-group{order:3}.creator-advanced-title{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:9px;margin-top:4px;padding-top:15px;display:flex}.creator-advanced-title span{color:#b3c2bd;font-size:10px;font-weight:650}.creator-advanced-title small{color:#687f79;text-align:right;max-width:150px;font-size:7px;line-height:1.35}.iteration-workspace{gap:9px;display:grid}.world-building-steps .climate-group{order:1}.world-building-steps .content-group{order:2}.world-building-steps .players-group{order:3}.world-recipe-card{gap:8px;display:grid}.world-recipe-card .section-title{margin-bottom:0}.recipe-fields{grid-template-columns:1.35fr .65fr;align-items:start;gap:8px;display:grid}.projection-type-control{padding:0}.world-model-picker{border:0;grid-template-columns:1fr auto;gap:6px;min-width:0;margin:0;padding:0;display:grid}.world-model-picker legend{color:#718984;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;grid-column:1;align-self:center;font-size:8px}.engine-carousel-controls{grid-column:2;align-items:center;gap:4px;display:flex}.engine-carousel-controls button{border:1px solid var(--line);color:#91a49f;cursor:pointer;background:0 0;border-radius:4px;width:27px;height:25px;padding:0}.engine-carousel-controls button:focus-visible,.engine-carousel-controls button:hover{color:#c2e0dd;border-color:#7ed8d852}.engine-carousel-controls output{color:#6d837e;min-width:29px;font-family:var(--font-geist-mono),monospace;text-align:center;font-size:7px}.engine-carousel{scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;grid-column:1/-1;gap:8px;display:flex;position:relative;overflow-x:auto}.engine-carousel::-webkit-scrollbar{display:none}.engine-carousel>button{border:1px solid var(--line);min-width:0;min-height:88px;color:inherit;text-align:left;scroll-snap-align:start;cursor:pointer;background:#091b1f6b;border-radius:5px;flex:0 0 100%;align-content:center;gap:7px;padding:13px 14px;display:grid}.engine-carousel>button>span{color:#aebfba;font-family:Georgia,serif;font-size:15px}.engine-carousel>button small{color:#718782;font-size:9px;line-height:1.45}.engine-carousel>button.is-active{background:linear-gradient(135deg,#31777a21,#091b1f73);border-color:#7ed8d85c}.engine-carousel>button.is-active>span{color:#c0e0dd}.region-architecture-controls{background:0 0;border:0;border-radius:0;gap:9px;padding:0;display:grid}.region-architecture-controls>small{color:#6e8781;font-size:8px;line-height:1.45}.physical-architecture-controls{background:0 0}.world-structure-report{background:#31777a0b;border:1px solid #7ed8d82b;border-radius:5px}.world-structure-report>summary{cursor:pointer;justify-content:space-between;gap:8px;padding:8px 9px;list-style:none;display:flex}.world-structure-report>summary span{color:#a9c9c7;font-size:9px;font-weight:650}.world-structure-report>summary small{color:#688581;text-transform:capitalize;font-size:7px}.world-structure-report>div{border-top:1px solid var(--line);gap:7px;padding:9px;display:grid}.world-structure-report dl{grid-template-columns:repeat(3,1fr);gap:4px;margin:0;display:grid}.world-structure-report dl div{border:1px solid #bccfc51a;border-radius:3px;min-width:0;padding:5px}.world-structure-report dt{color:#6c8781;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:6px;overflow:hidden}.world-structure-report dd{color:#bed0ca;font-family:var(--font-geist-mono),monospace;margin:2px 0 0;font-size:9px}.world-structure-report p,.world-structure-report>div>small{color:#708983;margin:0;font-size:7px;line-height:1.45}.style-picker{border:0;grid-template-columns:repeat(4,1fr);gap:4px;min-width:0;margin:0;padding:0;display:grid}.style-picker legend{color:#718984;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;margin-bottom:1px;font-size:8px}.style-picker button{border:1px solid var(--line);text-align:center;cursor:pointer;background:#091b1f6b;border-radius:4px;place-items:center;min-width:0;min-height:34px;padding:6px 4px;display:grid}.style-picker button strong{color:#aebfba;font-size:9px}.style-picker button small{display:none}.style-picker button.is-active{background:#d9b96f17;border-color:#efd18a61}.style-picker button.is-active strong{color:var(--gold-bright)}.style-picker button.is-active small{color:#9cae9f}.world-character-explanation{color:#8fa39d;border-left:2px solid #d9b96f52;margin:2px 0 0;padding-left:8px;font-size:10px;line-height:1.45}.world-character-explanation strong{color:#c8b278;font-family:var(--font-geist-mono),monospace;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1px;font-size:8px;display:block}.world-character-explanation span{display:block}.control-field{gap:5px;min-width:0;display:grid}.control-field>span{color:#718984;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:8px}.control-field input,.control-field select{color:#c6d2ce;background:#10262b;border:1px solid #bccfc526;border-radius:4px;outline:0;width:100%;height:34px;padding:0 9px;font-size:10px}.control-field input:focus,.control-field select:focus{border-color:#efd18a7a}.control-field small{color:#69817c;font-size:9px;line-height:1.4}.control-field .archetype-conflict-warning{color:#d09c78}.percentage-controls{grid-template-columns:1fr 1fr;gap:10px;display:grid}.percentage-field>span{justify-content:space-between;gap:8px;display:flex}.percentage-field output{color:#d7bd7f;font-size:8px}.percentage-field input[type=range]{height:24px;accent-color:var(--gold);border:0;padding:0}.generation-readout{border:1px solid var(--line);background:#08181c4d;border-radius:4px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.generation-readout span{color:#6f8781;text-transform:uppercase;font-size:8px}.generation-readout strong{color:#b9c8c2;font-family:var(--font-geist-mono),monospace;font-size:9px;font-weight:500}.generation-summary{border:1px solid var(--line);background:#08181c4d;border-radius:4px;gap:3px;padding:9px 10px;display:grid}.generation-summary span{color:#6f8781;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:7px}.generation-summary strong{color:#b9c8c2;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:500;line-height:1.4;overflow:hidden}.generation-history{background:#232b1f2e;border:1px solid #efd18a33;border-radius:5px}.generation-history>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:8px 10px;list-style:none;display:flex}.generation-history>summary::-webkit-details-marker{display:none}.generation-history>summary span{color:#c8b579;font-size:10px;font-weight:650}.generation-history>summary small{color:#748b85;font-family:var(--font-geist-mono),monospace;text-transform:uppercase;font-size:7px}.generation-history>summary:after{content:"+";color:#8ea19c;font-family:var(--font-geist-mono),monospace;font-size:12px}.generation-history[open]>summary:after{content:"−"}.generation-history-body{border-top:1px solid var(--line);padding:8px}.generation-history-body>p{color:#748a85;margin:2px;font-size:8px;line-height:1.5}.generation-history-list{gap:5px;max-height:290px;display:grid;overflow:auto}.generation-history-card{border:1px solid var(--line);background:#08181c52;border-radius:4px;overflow:hidden}.generation-history-card:hover{background:#1330347a;border-color:#bccfc540}.generation-history-card.is-active{background:#d9b96f17;border-color:#efd18a61}.generation-history-open{width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr auto;gap:9px;padding:8px 9px;display:grid}.generation-history-open>span{gap:3px;min-width:0;display:grid}.generation-history-open>span:last-child{justify-items:end}.generation-history-provenance{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.generation-history-provenance small{min-width:0}.generation-history-provenance button{flex:none;padding:4px 6px;font-size:7px}.generation-history-list strong{color:#bac8c3;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.generation-history-list small{color:#6d837e;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:7px;overflow:hidden}.generation-history-list em{color:#9cac98;font-size:8px;font-style:normal}.generation-history-list code{color:#c3a966;text-overflow:ellipsis;white-space:nowrap;max-width:92px;font-size:7px;overflow:hidden}.create-operation-status{background:#d9b96f14;border:1px solid #d9b96f47;border-radius:4px;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px;padding:8px 9px;display:flex}.create-operation-status>span{gap:2px;min-width:0;display:grid}.create-operation-status strong{color:#d9c58d;font-size:9px}.create-operation-status small{overflow-wrap:anywhere;color:#829690;font-size:8px;line-height:1.4}.create-operation-status button{color:#d8c188;border-color:#d9b96f47;flex:none;padding:5px 8px}.create-operation-status.has-error{background:#97362d21;border-color:#d16b5e6b}.create-operation-status.has-error strong{color:#e5a39a}.creator-group{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0}.creator-group summary{color:#aebfba;cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:42px;padding:7px 10px;list-style:none;display:grid}.creator-group summary::-webkit-details-marker{display:none}.creator-group summary:before{content:"+";color:#8ea19c;font-family:var(--font-geist-mono),monospace;grid-area:1/2/span 2;font-size:12px}.creator-group[open] summary:before{content:"−"}.creator-group summary span{grid-column:1;font-size:10px;font-weight:650}.creator-group[data-modified=true]>summary span:after{content:"";background:var(--gold);vertical-align:1px;border-radius:50%;width:5px;height:5px;margin-left:6px;display:inline-block;box-shadow:0 0 0 3px #d9b96f14}.creator-group summary small{color:#6d837e;text-transform:capitalize;grid-column:1;font-size:8px}.creator-group>summary{padding-inline:1px}.creator-group-body{border-top:1px solid #bccfc517;gap:9px;padding:9px 1px 11px;display:grid}.advanced-controls{background:0 0;border:0;border-top:1px dashed #bccfc521;border-radius:0}.advanced-controls>summary{color:#879b95;cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;min-height:34px;padding:7px 0;list-style:none;display:grid}.advanced-controls>summary::-webkit-details-marker{display:none}.advanced-controls>summary:after{content:"+";color:#728984;font-family:var(--font-geist-mono),monospace;grid-area:1/2/span 2}.advanced-controls[open]>summary:after{content:"−"}.advanced-controls>summary span{grid-column:1;font-size:8px;font-weight:650}.advanced-controls>summary small{color:#627873;grid-column:1;font-size:7px}.advanced-controls>div{border-top:1px solid #bccfc512;gap:9px;padding:7px 0 0;display:grid}.iteration-note{color:#718782;margin:0;font-size:8px;line-height:1.5}.selective-pass-grid{grid-template-columns:1fr 1fr;gap:5px;display:grid}.selective-pass-grid button{border:1px solid var(--line);color:#aebfba;text-align:left;cursor:pointer;background:#1431379e;border-radius:4px;align-content:center;gap:2px;min-height:48px;padding:7px 8px;display:grid}.selective-pass-grid button:first-child{border-color:#d9b96f38;grid-column:1/-1}.selective-pass-grid strong{font-size:9px}.selective-pass-grid small{color:#6f8580;font-size:7px;line-height:1.35}.batch-controls{grid-template-columns:1fr 1fr;align-items:end;gap:7px;display:grid}.batch-controls>button{background:var(--gold);color:#172622;cursor:pointer;border:1px solid #0000;border-radius:4px;min-height:34px;font-size:8px;font-weight:700}.batch-controls>button:disabled{opacity:.55;cursor:wait}.batch-candidate-list{gap:5px;max-height:260px;display:grid;overflow:auto}.batch-candidate-list>button{border:1px solid var(--line);color:inherit;text-align:left;cursor:pointer;background:#08181c57;border-radius:4px;grid-template-columns:46px 1fr;gap:8px;padding:7px;display:grid}.batch-candidate-list>button>span{align-content:center;gap:2px;min-width:0;display:grid}.batch-candidate-list>button>span:first-child{grid-template-columns:auto 1fr;column-gap:4px}.batch-candidate-list em{color:#718781;grid-row:1/span 2;align-self:center;font-size:7px;font-style:normal}.batch-candidate-list strong{color:#b9c8c3;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.batch-candidate-list small{color:#6f8580;font-size:7px}.checkpoint-create{grid-template-columns:1fr auto;gap:6px;display:grid}.checkpoint-create input{border:1px solid var(--line);color:#b9c8c3;background:#0c2429;border-radius:4px;outline:0;min-width:0;min-height:32px;padding:0 8px;font-size:9px}.checkpoint-comparison button,.checkpoint-create button,.checkpoint-list button{border:1px solid var(--line);color:#9eafa9;cursor:pointer;background:#173137;border-radius:4px;min-height:29px;padding:0 8px;font-size:7px}.checkpoint-comparison{background:#31777a14;border:1px solid #7ed8d83b;border-radius:4px;gap:5px;padding:8px;display:grid}.checkpoint-comparison strong{color:#b8c8c2;font-size:9px}.checkpoint-comparison small{color:#708984;font-size:7px}.checkpoint-comparison>div{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.checkpoint-comparison button.is-active{color:#b7dddd;border-color:#7ed8d86b}.checkpoint-comparison button:disabled{opacity:.35;cursor:not-allowed}.checkpoint-list{gap:5px;display:grid}.checkpoint-list>div{border:1px solid var(--line);border-radius:4px;grid-template-columns:1fr auto;align-items:center;gap:7px;padding:7px 8px;display:grid}.checkpoint-list>div>span{gap:2px;min-width:0;display:grid}.checkpoint-list strong{color:#afc0ba;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.checkpoint-list small{color:#687f79;font-size:7px}.checkpoint-list>div>div{gap:4px;display:flex}.checkpoint-list button:last-child{color:#c58c7d;width:27px;padding:0}.team-balance-controls{background:#d9b96f0a;border:1px solid #d9b96f2e;border-radius:4px;grid-template-columns:1fr 1fr;gap:7px;padding:8px;display:grid}.group-reset{color:#8d9f9a;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;justify-self:end;padding:0;font-size:8px;text-decoration:underline}.creator-actions{z-index:2;background:linear-gradient(#10252a00,#10252a 12px);gap:7px;margin:3px -3px -20px;padding:10px 3px 20px;display:grid;position:sticky;bottom:-20px}.action-recipe-summary{background:#0c1f23f0;border-color:#d9b96f30}.control-grid{grid-template-columns:1.35fr .65fr;gap:8px;display:grid}.control-grid.three-controls{grid-template-columns:repeat(3,1fr)}.terrain-dominance-picker{border:0;gap:6px;margin:0;padding:0;display:grid}.terrain-dominance-picker legend{color:#718984;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:8px}.terrain-dominance-picker>small{color:#69817c;font-size:8px;line-height:1.35}.terrain-dominance-picker>div{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.terrain-dominance-picker button{border:1px solid var(--line);color:#78908a;cursor:pointer;background:#091b1f6b;border-radius:4px;min-width:0;height:29px;padding:0 4px;font-size:8px}.terrain-dominance-picker button.is-active{color:var(--gold-bright);background:#d9b96f1a;border-color:#efd18a6b}.balance-check{cursor:pointer;align-items:flex-start;gap:9px;display:flex}.balance-check input{accent-color:var(--gold);margin:2px 0 0}.balance-check span{gap:2px;display:grid}.balance-check strong{color:#b8c7c1;font-size:10px}.balance-check small{color:#6f8781;font-size:8px}.check-row{color:#91a49e;cursor:pointer;align-items:flex-start;gap:8px;font-size:9px;line-height:1.4;display:flex}.check-row input{accent-color:var(--gold);margin:1px 0 0}.game-breaking-geometry-toggle{background:#5f22181a;border:1px solid #d3775b33;border-radius:5px;padding:9px}.game-breaking-geometry-toggle>span{gap:3px;display:grid}.game-breaking-geometry-toggle strong{color:#cda58f;font-size:9px;font-weight:650}.game-breaking-geometry-toggle small{color:#806f68;font-size:8px;line-height:1.45}.game-breaking-geometry-toggle.is-enabled{background:#70271933;border-color:#e07d5b6b}.game-breaking-geometry-toggle.is-enabled strong{color:#efa887}.content-note{color:#6f8781;font-size:8px;line-height:1.45}.seed-row{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.generate-button,.lua-open-button,.script-export-grid button,.seed-row>button{border:1px solid var(--line);color:#aebfba;cursor:pointer;background:#183238;border-radius:4px;height:34px;padding:0 11px;font-size:9px}.generate-button{background:var(--gold);color:#172622;border-color:#0000;font-weight:750}.generate-button.generation-cancel{color:#f1d0c6;text-overflow:ellipsis;white-space:nowrap;background:#6e4037;border-color:#da8b7459;overflow:hidden}.tile-editor{border-top:1px solid var(--line);gap:10px;margin-top:5px;padding-top:15px;display:grid}.creator-panel>.tile-editor{border-top:0;margin-top:0;padding-top:0}.tool-tabs{grid-template-columns:1fr 1fr;gap:4px;display:grid}.tool-tabs button{border:1px solid var(--line);color:#748b85;cursor:pointer;background:0 0;border-radius:4px;min-height:31px;font-size:9px}.tool-tabs button.is-active{color:#e4c982;background:#d9b96f14;border-color:#efd18a42}.brush-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.editor-note{color:#758c87;margin:0;font-size:9px;line-height:1.5}.region-tools{gap:9px;display:grid}.region-tools>strong{color:#b7c8c2;font-size:10px}.region-tools>div{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.region-tools button{border:1px solid var(--line);color:#9bada7;cursor:pointer;background:#173137;border-radius:4px;min-height:31px;font-size:9px}.region-tools button.is-active{color:var(--gold-bright);border-color:#efd18a59}.region-tools button:disabled{opacity:.4;cursor:not-allowed}.region-tools small{color:#d0b978;font-size:8px}.structure-editor{gap:9px;display:grid}.structure-editor>strong{color:#b7c8c2;font-size:10px}.structure-editor>small{color:#718983;font-size:8px;line-height:1.45}.structure-editor>div{grid-template-columns:1fr auto;gap:6px;display:grid}.structure-editor>div button{border:1px solid var(--line);color:#aebfba;cursor:pointer;background:#173137;border-radius:4px;min-height:34px;font-size:8px}.structure-editor>div button:first-child{background:var(--gold);color:#172622;border-color:#0000;font-weight:700}.structure-editor>div button:disabled{opacity:.4;cursor:not-allowed}.analysis-panel{gap:14px;display:grid}.narrative-profile-state{color:#7f9d96;width:fit-content;font-family:var(--font-geist-mono),monospace;letter-spacing:.05em;text-transform:uppercase;border:1px solid #799f9740;border-radius:999px;margin-top:2px;padding:3px 6px;font-size:6px;font-style:normal;display:inline-flex}.narrative-profile-state.state-benchmark{color:#d6bd79;background:#d9b96f12;border-color:#efd18a59}.narrative-assessment{gap:8px;display:grid}.narrative-finding-list{gap:4px;display:grid}.narrative-finding{border:1px solid var(--line);background:#08181c38;border-radius:4px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;display:grid}.narrative-finding>span{color:#81958f;font-family:var(--font-geist-mono),monospace;letter-spacing:.04em;font-size:6px}.narrative-finding>div{gap:2px;min-width:0;display:grid}.narrative-finding strong{color:#b8c8c2;font-size:8px}.narrative-finding small{color:#718781;font-size:7px;line-height:1.4}.narrative-finding b{color:#a6b8b2;font-family:var(--font-geist-mono),monospace;font-size:8px}.narrative-finding.status-met{border-color:#85c8a333}.narrative-finding.status-weak{border-color:#d2ae6e3d}.narrative-finding.status-failed{border-color:#d7655147}.narrative-disclosure{border:1px solid var(--line);background:#08181c2e;border-radius:4px}.narrative-disclosure summary{color:#8da19b;cursor:pointer;padding:8px;font-size:8px}.narrative-disclosure ul{color:#718781;gap:6px;margin:0;padding:0 10px 10px 24px;font-size:7px;line-height:1.45;display:grid}.narrative-disclosure li span,.narrative-disclosure li strong{display:block}.narrative-disclosure li strong{color:#aebfba}.grade-unassessed{color:#6f8680!important}.analysis-summary{border:1px solid var(--line);background:#08181c52;border-radius:6px;grid-template-columns:50px 1fr;align-items:center;gap:11px;padding:11px;display:grid}.analysis-grade{border:1px solid;border-radius:50%;place-items:center;width:44px;height:44px;font-family:Georgia,serif;font-size:23px;display:grid}.grade-a{color:#85c8a3!important}.grade-b{color:#b6c681!important}.grade-c{color:#d2ae6e!important}.grade-d{color:#d7836f!important}.analysis-summary h3{color:#d5dfda;margin:0;font-family:Georgia,serif;font-size:15px;font-weight:500}.analysis-summary p{color:#738983;margin:3px 0 0;font-size:8px;line-height:1.4}.polis-audit{background:#d9b96f09;border:1px solid #d9b96f3d;border-radius:6px;gap:8px;padding:10px;display:grid}.polis-audit p,.polis-audit small{color:#7f9790;margin:0;font-size:7px;line-height:1.5}.polis-audit dl{grid-template-columns:repeat(3,1fr);gap:5px;margin:0;display:grid}.polis-audit dl div{background:#08181c47;border:1px solid #bccfc51a;border-radius:4px;padding:6px}.polis-audit dt{color:#718a84;text-transform:uppercase;font-size:6px}.polis-audit dd{color:#e0c985;font-family:var(--font-geist-mono),monospace;margin:3px 0 0;font-size:10px}.player-balance-list{gap:5px;display:grid}.player-balance-list>button{border:1px solid var(--line);color:inherit;text-align:left;cursor:pointer;background:#08181c42;border-radius:5px;grid-template-columns:25px 1fr;gap:7px;padding:8px;display:grid}.player-balance-list>button.is-active{background:#438e911f;border-color:#7ed8d880}.player-grade{border:1px solid;border-radius:50%;place-items:center;width:23px;height:23px;font-size:9px;display:grid}.player-balance-list strong{color:#b8c8c2;justify-content:space-between;font-size:9px;display:flex}.player-balance-list strong small{color:#738983;font-weight:400}.player-balance-list dl{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:4px;margin:2px 0 0;display:grid}.player-balance-list dl div{gap:2px;display:grid}.player-balance-list dt{color:#637b75;text-transform:uppercase;font-size:7px}.player-balance-list dd{color:#aebfba;margin:0;font-size:9px}.validation-section{border-top:1px solid var(--line);gap:8px;padding-top:11px;display:grid}.validation-list{gap:5px;display:grid}.validation-issue{border:1px solid var(--line);border-radius:4px;grid-template-columns:49px 1fr;gap:7px;padding:8px;display:grid}.validation-issue span{color:#82958f;font-family:var(--font-geist-mono),monospace;font-size:7px}.validation-issue p{color:#98aaa4;margin:0;font-size:8px;line-height:1.4}.validation-issue.severity-error{border-color:#d7655147}.validation-issue.severity-warning{border-color:#d2ae6e40}.export-confirmation-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#030d10b8;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.export-confirmation-modal{background:#102a30;border:1px solid #e1cd9c40;border-radius:8px;outline:0;width:min(440px,100%);max-height:min(620px,100vh - 44px);padding:22px;overflow:auto;box-shadow:0 24px 72px #00000080}.export-confirmation-modal header{gap:5px;display:grid}.export-confirmation-modal header span{color:#829792;font-family:var(--font-geist-mono),monospace;letter-spacing:.11em;text-transform:uppercase;font-size:8px}.export-confirmation-modal h2{color:#eee4c7;margin:0;font-family:Georgia,serif;font-size:22px;font-weight:500;line-height:1.2}.export-confirmation-modal p{color:#9bada7;margin:13px 0 11px;font-size:11px;line-height:1.55}.export-confirmation-modal ul{border:1px solid var(--line);color:#8fa39d;background:#06141861;border-radius:5px;max-height:170px;margin:0 0 18px;padding:11px 11px 11px 27px;font-size:9px;line-height:1.5;overflow:auto}.export-confirmation-modal li+li{margin-top:5px}.export-confirmation-actions{justify-content:flex-end;gap:7px;display:flex}.export-confirmation-actions button{border:1px solid var(--line);color:#aebfba;cursor:pointer;background:#173137;border-radius:4px;min-height:34px;padding:0 11px;font-size:9px}.export-confirmation-actions button:hover{color:#e8d7a3;border-color:#efd18a4d}.export-confirmation-actions button:focus-visible{outline-offset:2px;outline:2px solid #f2cf7d}.archetype-preview-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:#030d104d;place-items:center end;padding-right:clamp(22px,5vw,76px)}.archetype-preview-modal{pointer-events:auto;width:min(470px,100vw - 44px);box-shadow:0 24px 78px #000000b8}.archetype-preview-tabs{grid-template-columns:repeat(3,1fr);gap:5px;margin:13px 0 8px;display:grid}.archetype-preview-tabs button{border:1px solid var(--line);color:#839791;text-transform:capitalize;cursor:pointer;background:#0614185c;border-radius:4px;min-height:30px;font-size:8px}.archetype-preview-tabs button.is-active{color:#e6d39d;background:#d9b96f1f;border-color:#efd18a5c}.archetype-preview-help{color:#758b85;margin:0 0 18px;font-size:8px;line-height:1.5;display:block}.archetype-transformative-warning{background:#945c261f;border:1px solid #d7a05b4d;border-radius:5px;padding:9px 10px}.archetype-transformative-warning strong{color:#e2bc82}.export-confirmation-actions .confirm-export{background:var(--gold);color:#172622;border-color:#0000;font-weight:750}.game-breaking-geometry-modal{border-color:#e07d5b61}.game-breaking-geometry-modal header span{color:#d18c72}.game-breaking-geometry-modal .confirm-game-breaking{color:#1d1714;background:#c66f50}.lua-experimental-modal{border-color:#e05b506b}.lua-experimental-modal header span{color:#e17e72}.lua-experimental-modal .confirm-experimental{color:#fff1ed;background:#a83c32}.repair-intro{color:#80958f;margin:0;font-size:9px;line-height:1.5}.repair-profile,.repair-view-tabs{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.repair-profile button,.repair-view-tabs button{border:1px solid var(--line);color:#748b85;text-transform:capitalize;cursor:pointer;background:#08181c52;border-radius:4px;min-height:31px;font-size:8px}.repair-profile button.is-active,.repair-view-tabs button.is-active{color:var(--gold-bright);background:#d9b96f1a;border-color:#efd18a57}.repair-profile-note{color:#6d837e;margin-top:-6px;font-size:8px;line-height:1.4}.repair-preview-note{color:#78908a;margin:-4px 0 0;font-size:8px;line-height:1.45}.repair-preview-note strong{color:#b8c8c2}.repair-diagnostics{background:#4c37191f;border:1px solid #d2ae6e2e;border-radius:5px}.repair-diagnostics summary{color:#bba66f;cursor:pointer;padding:8px 9px;font-size:8px}.repair-diagnostics ul{color:#869a94;margin:0;padding:0 22px 9px;font-size:8px;line-height:1.45}.start-test-summary{background:#1b493e29;border:1px solid #6cb29e33;border-radius:5px;gap:4px;padding:9px;display:grid}.start-test-summary strong{color:#a9cbb9;font-size:9px}.start-test-summary span{color:#738b84;font-size:8px;line-height:1.4}.repair-issue-list{gap:6px;max-height:430px;padding-right:2px;display:grid;overflow:auto}.repair-issue{border:1px solid var(--line);background:#08181c40;border-radius:5px;gap:6px;padding:9px;display:grid}.repair-issue.severity-error{border-color:#d7655145}.repair-issue.severity-warning{border-color:#d2ae6e3b}.repair-issue.is-selected{background:#d9b96f0e}.repair-issue label{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.repair-issue input{accent-color:var(--gold);margin:2px 0 0}.repair-issue label>span{gap:2px;display:grid}.repair-issue-heading{align-items:flex-start;gap:8px;display:flex}.repair-issue-heading>span:first-child{color:#718883;min-width:36px;font-family:var(--font-geist-mono),monospace;text-align:center;background:#bccfc514;border-radius:3px;padding:2px 4px;font-size:6px}.repair-issue-heading>span:last-child{gap:2px;display:grid}.repair-issue strong{color:#b8c8c2;font-size:9px}.repair-issue small{color:#687f79;text-transform:capitalize;font-size:7px}.repair-issue p{color:#869b95;margin:0 0 0 21px;font-size:8px;line-height:1.45}.repair-issue>button{color:#c2aa6f;cursor:pointer;background:0 0;border:0;justify-self:end;padding:0;font-size:7px}.repair-actions{background:linear-gradient(#10252a00,#10252a 12px);grid-template-columns:.8fr 1.2fr;gap:6px;margin:2px -3px -20px;padding:11px 3px 20px;display:grid;position:sticky;bottom:-20px}.repair-actions button{border:1px solid var(--line);color:#aebfba;cursor:pointer;background:#183238;border-radius:4px;min-height:36px;font-size:8px}.repair-actions button:disabled{opacity:.4;cursor:not-allowed}.repair-actions .repair-export{background:var(--gold);color:#172622;border-color:#0000;font-weight:750}.repair-validation-summary{background:#1b493e29;border:1px solid #6cb29e38;border-radius:5px;gap:4px;padding:11px;display:grid}.repair-validation-summary.has-errors{background:#5b241d2e;border-color:#d765514d}.repair-validation-summary strong{color:#acd0bd;font-size:10px}.repair-validation-summary.has-errors strong{color:#d9a094}.repair-validation-summary span{color:#768d86;font-size:8px;line-height:1.45}.repair-validation-actions{grid-template-columns:.9fr 1.1fr}.workspace-empty-state{color:#758b85;background:#08181c33;border:1px dashed #bccfc529;border-radius:5px;margin:0;padding:13px;font-size:9px;line-height:1.55}.workspace-empty-state p{margin:0 0 9px}.script-panel>p{color:#80958f;margin:0;font-size:10px;line-height:1.5}.lua-open-button{width:100%}.lua-project-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.lua-inline-button,.lua-project-actions button,.lua-run-button{border:1px solid var(--line);color:#aebfba;cursor:pointer;background:#183238;border-radius:4px;min-height:34px;padding:0 10px;font-size:9px}.lua-project-actions button:disabled,.lua-run-button:disabled{opacity:.42;cursor:not-allowed}.lua-project-file{background:#d9b96f0d;border:1px solid #d9b96f33;border-radius:5px;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;min-width:0;padding:9px 10px;display:grid}.lua-project-file span{color:#d1b875;font-family:var(--font-geist-mono),monospace;text-transform:uppercase;font-size:7px}.lua-project-file strong{color:#becbc7;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;overflow:hidden}.lua-project-file small{color:#6f8781;font-size:7px}.lua-workspace-group{border:1px solid var(--line);background:#08181c40;border-radius:5px}.lua-workspace-group>summary{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:4px 9px;min-height:42px;padding:7px 9px;list-style:none;display:grid}.lua-workspace-group>summary::-webkit-details-marker{display:none}.lua-workspace-group>summary:after{content:"+";color:#879b95;font-family:var(--font-geist-mono),monospace;grid-area:1/2/span 2;font-size:12px}.lua-workspace-group[open]>summary:after{content:"−"}.lua-workspace-group>summary span{color:#aebfba;font-size:9px;font-weight:650}.lua-workspace-group>summary small{color:#6c827c;font-size:7px}.lua-workspace-body{border-top:1px solid var(--line);gap:9px;padding:9px;display:grid}.lua-hook-editor,.lua-source-editor{resize:vertical;color:#bfd0cb;width:100%;min-height:235px;font-family:var(--font-geist-mono),monospace;tab-size:2;background:#091b20;border:1px solid #bccfc524;border-radius:4px;outline:0;padding:10px;font-size:8px;line-height:1.55}.lua-hook-editor{color:#d1c497;min-height:120px}.lua-hook-editor:focus,.lua-source-editor:focus{border-color:#efd18a73}.lua-dependency-list{gap:5px;display:grid}.lua-dependency-list>div{border:1px solid var(--line);border-radius:4px;grid-template-columns:1fr auto auto;align-items:center;gap:6px;min-width:0;padding:7px 8px;display:grid}.lua-dependency-list span{color:#aebfba;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.lua-dependency-list small{color:#68807a;font-size:7px}.lua-dependency-list button{color:#be8f79;cursor:pointer;background:0 0;border:0;padding:0;font-size:7px}.lua-empty-note{color:#6f8781;margin:0;font-size:8px;line-height:1.5}.lua-inline-button{background:#18323899;justify-self:start;min-height:29px}.lua-generate-panel{background:linear-gradient(135deg,#d9b96f1c,#18353a61);border:1px solid #efd18a40;border-radius:6px;gap:6px;padding:10px;display:grid}.lua-generate-panel small{color:#7f938d;font-size:8px;line-height:1.45}.lua-run-button{background:var(--gold);color:#172622;border-color:#0000;width:100%;min-height:42px;font-size:10px;font-weight:750}.lua-run-status{color:#91aaa3;min-height:13px;font-size:8px;line-height:1.45}.lua-run-status.is-running{color:#d6c184}.lua-report{background:#47231929;border:1px solid #da956f38;border-radius:5px;padding:11px}.lua-report.is-compatible{background:#18423233;border-color:#7bba9a40}.lua-report strong{color:#d1b09d;font-size:10px;display:block}.lua-report.is-compatible strong{color:#9ecab1}.lua-report small{color:#69807a;margin-top:3px;font-size:8px;display:block}.lua-report ul{color:#899d97;margin:8px 0 0;padding-left:15px;font-size:9px;line-height:1.55}.lua-console,.lua-pipeline{border:1px solid var(--line);background:#08181c42;border-radius:5px}.lua-console>summary,.lua-pipeline>summary{color:#94a9a3;cursor:pointer;padding:9px 10px;font-size:8px}.lua-pipeline ol{gap:0;margin:0;padding:0 9px 9px;list-style:none;display:grid}.lua-pipeline li{border-left:1px solid #bccfc51f;gap:2px;padding:7px 7px 7px 20px;display:grid;position:relative}.lua-pipeline li:before{content:"";background:#536963;border-radius:50%;width:7px;height:7px;position:absolute;top:12px;left:-4px}.lua-pipeline li.is-complete:before{background:#79b394;box-shadow:0 0 0 3px #79b39414}.lua-pipeline li span{color:#aebfba;font-size:8px}.lua-pipeline li small{color:#667d77;font-size:7px;line-height:1.4}.lua-pipeline li.is-skipped{opacity:.55}.lua-console pre{border-top:1px solid var(--line);color:#8ea39d;max-height:220px;font-family:var(--font-geist-mono),monospace;white-space:pre-wrap;margin:0;padding:9px 10px;font-size:7px;line-height:1.5;overflow:auto}.script-export-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.version-badge{color:#c6aa6b;font-family:var(--font-geist-mono),monospace;text-transform:uppercase;border:1px solid #d8b97038;border-radius:4px;flex:none;padding:4px 7px;font-size:9px}.map-badges{flex:none;justify-items:end;gap:5px;display:grid}.dirty-badge{color:#84b79b;font-family:var(--font-geist-mono),monospace;letter-spacing:.06em;text-transform:uppercase;font-size:8px}.map-stats{border:1px solid var(--line);border-radius:6px;grid-template-columns:1fr 1fr;margin:0;display:grid;overflow:hidden}.map-stats div{background:#08181c57;padding:10px 11px}.map-stats div:nth-child(odd){border-right:1px solid var(--line)}.map-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}.map-stats dt{color:#748b86;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:9px}.map-stats dd{color:#d8dfda;font-family:var(--font-geist-mono),monospace;margin:0;font-size:11px}.panel-section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.section-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.section-title h3{letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px}.section-title>span{color:#6f8681;font-family:var(--font-geist-mono),monospace;text-transform:uppercase;font-size:9px}.layer-list{gap:2px;display:grid}.layer-row{cursor:pointer;align-items:center;min-height:45px;display:flex}.layer-row>span:first-child{flex:1;display:grid}.layer-row strong{color:#cbd7d2;font-size:11px;font-weight:600}.layer-row small{color:#708883;margin-top:2px;font-size:9px}.layer-row input{opacity:0;pointer-events:none;position:absolute}.switch{background:#263e42;border-radius:20px;width:30px;height:17px;padding:2px;transition:all .14s}.switch:after{content:"";background:#81928e;border-radius:50%;width:13px;height:13px;transition:all .14s;display:block}.layer-row input:checked+.switch{background:#9b824c}.layer-row input:checked+.switch:after{background:#f6d98f;transform:translate(13px)}.layer-row input:focus-visible+.switch{outline-offset:2px;outline:2px solid #f2cf7d}.layer-row.is-disabled{cursor:not-allowed;opacity:.48}.layer-row input:disabled+.switch{background:#203438}.legend-list{gap:7px;display:grid}.legend-row{color:#a9b9b4;grid-template-columns:11px 1fr auto;align-items:center;gap:8px;font-size:10px;display:grid}.legend-row strong{color:#778d88;font-family:var(--font-geist-mono),monospace;font-size:9px;font-weight:500}.legend-swatch{border-radius:2px;width:9px;height:9px;box-shadow:inset 0 0 0 1px #ffffff1f}.demo-button{border:1px solid var(--line);color:#819994;cursor:pointer;background:0 0;border-radius:5px;width:100%;margin-top:22px;padding:9px;font-size:10px}.demo-button:hover{color:#cbd7d2;border-color:#bccfc53d}.identity-lab-panel{gap:18px;padding-bottom:12px;display:grid}.identity-lab-panel section{min-width:0}.lab-guide>p,.lab-introduction>p,.lab-reveal>p{color:#91a6a1;margin:0 0 13px;font-size:10px;line-height:1.6}.lab-prototype-list{gap:5px;display:grid}.lab-prototype-list>div{background:#69aee80e;border-left:2px solid #69aee88c;gap:2px;padding:9px 10px;display:grid}.lab-prototype-list strong{color:#c8dced;font-size:10px}.lab-prototype-list span{color:#6f8a98;font-size:8px;line-height:1.4}.lab-guide,.lab-results,.lab-review-form,.lab-session-builder{gap:11px;display:grid}.lab-candidate-nav button,.lab-confidence button,.lab-primary-action,.lab-secondary-action,.lab-session-actions button,.lab-verdict-picker button{color:#aacce8;cursor:pointer;background:#69aee812;border:1px solid #69aee838;border-radius:4px;min-height:32px;font-size:9px}.lab-primary-action{color:#eef8ff;background:#2f75aa;font-weight:700}.lab-primary-action:hover{background:#3985bd}.lab-candidate-nav button:hover,.lab-confidence button:hover,.lab-secondary-action:hover,.lab-session-actions button:hover,.lab-verdict-picker button:hover{color:#d6ecff;border-color:#69aee873}.identity-lab-panel button:disabled{opacity:.42;cursor:not-allowed}.lab-candidate-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:11px;display:flex}.lab-candidate-header>div:first-child{gap:3px;display:grid}.lab-candidate-header span{color:#6d8998;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:7px}.lab-candidate-header strong{color:#d8e7f2;font-family:Georgia,serif;font-size:17px;font-weight:500}.lab-candidate-header small{color:#76909d;font-size:8px}.lab-candidate-nav{gap:4px;display:flex}.lab-candidate-nav button{min-width:32px;padding:0;font-size:15px}.lab-status{color:#718d9b;font-family:var(--font-geist-mono),monospace;margin:0;font-size:8px;line-height:1.5}.lab-review-form textarea{resize:vertical}.lab-confidence,.lab-cue-picker,.lab-verdict-picker{border:0;margin:0;padding:0}.lab-confidence legend,.lab-cue-picker legend,.lab-verdict-picker legend{color:#78929f;letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px;font-size:8px;font-weight:650}.lab-confidence{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.lab-confidence legend{grid-column:1/-1}.lab-confidence button.is-active,.lab-verdict-picker button.is-active{color:#e7f5ff;background:#69aee833;border-color:#69aee8b3}.lab-cue-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.lab-cue-picker legend{grid-column:1/-1}.lab-cue-picker label{border:1px solid var(--line);color:#77919c;text-align:center;cursor:pointer;border-radius:4px;place-items:center;min-height:31px;padding:5px 7px;font-size:8px;display:grid;position:relative}.lab-cue-picker input{opacity:0;position:absolute}.lab-cue-picker label:has(input:checked){color:#d0e7f8;background:#69aee821;border-color:#69aee88c}.lab-reveal{background:#69aee80b;border:1px solid #69aee833;border-radius:5px;padding:12px}.lab-reveal>span{color:#d9a779;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:7px;font-weight:700;display:inline-block}.lab-reveal>span.is-correct{color:#82d5a1}.lab-reveal h3{color:#dcebf6;margin:0 0 5px;font-family:Georgia,serif;font-size:18px;font-weight:500}.lab-review-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0;display:grid}.lab-review-summary div{min-width:0;padding-right:7px}.lab-review-summary dt{color:#67828f;text-transform:uppercase;font-size:7px}.lab-review-summary dd{color:#b7cbd8;text-overflow:ellipsis;margin:3px 0 0;font-size:8px;overflow:hidden}.lab-verdict-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.lab-verdict-picker legend{grid-column:1/-1}.lab-verdict-picker button{text-transform:capitalize;min-height:29px;padding:4px}.lab-diagnostics{border-top:1px solid var(--line);margin-top:11px}.lab-diagnostics summary{color:#7894a2;cursor:pointer;text-transform:uppercase;padding:10px 0 2px;font-size:8px}.lab-diagnostics dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;display:grid}.lab-diagnostics dl div{justify-content:space-between;gap:5px;display:flex}.lab-diagnostics dt{color:#6b8189;font-size:7px}.lab-diagnostics dd{color:#bdd2df;font-family:var(--font-geist-mono),monospace;margin:0;font-size:7px}.lab-session-actions{padding-top:3px}.lab-score-grid,.lab-session-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.lab-score-grid>div{background:#69aee80d;border:1px solid #69aee829;border-radius:4px;place-items:center;gap:3px;padding:11px 4px;display:grid}.lab-score-grid strong{color:#d6ebfa;font-family:Georgia,serif;font-size:19px;font-weight:500}.lab-score-grid span{color:#67828f;text-transform:uppercase;font-size:7px}.lab-confusions,.lab-identity-results{gap:4px;display:grid}.lab-identity-results>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:7px;padding:8px 0;display:flex}.lab-identity-results>div>span:first-child{gap:2px;display:grid}.lab-identity-results strong{color:#bdd2df;font-size:9px}.lab-identity-results small,.lab-identity-results>div>span:last-child{color:#6e8996;font-size:7px}.lab-confusions>div{color:#9cb3bf;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:5px;font-size:8px;display:grid}.lab-confusions b{color:#527587}.lab-confusions strong{color:#d8ebf7}.lab-guide dl{gap:5px;margin:0 0 8px;display:grid}.lab-guide dl>div{background:#69aee809;border-left:2px solid #69aee852;padding:8px 9px}.lab-guide dt{color:#b9d8ee;margin-bottom:3px;font-size:8px}.lab-guide dd{color:#748e9a;margin:0;font-size:8px;line-height:1.5}.lab-guide code{color:#b9d8ee;font-family:var(--font-geist-mono),monospace;font-size:.95em}.lab-guide ol{color:#849da8;margin:0 0 8px;padding-left:19px;font-size:8px;line-height:1.65}.lab-guide .lab-caveat{color:#7894a0;border:1px solid #69aee824;border-radius:4px;padding:9px 10px}.canvas-shell{z-index:1;isolation:isolate;background:#10242b;min-width:0;min-height:0;position:relative;overflow:hidden}.canvas-shell:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 55% 48%,#0000 0 45%,#020c0f38 100%);position:absolute;inset:0}.canvas-shell canvas{z-index:1;cursor:grab;touch-action:none;display:block;position:relative}.canvas-shell canvas:active{cursor:grabbing}.canvas-shell.is-editing canvas,.canvas-shell.is-editing canvas:active{cursor:crosshair}.mobile-map-actions{display:none}.map-toolbar{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b1f24e6;border:1px solid #c3d5cc29;border-radius:5px;align-items:center;height:34px;padding:3px;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 8px 28px #0003}.map-toolbar button{color:#b9c7c2;cursor:pointer;background:0 0;border:0;border-radius:3px;width:28px;height:27px;padding:0}.map-toolbar button:hover{background:#ffffff12}.map-toolbar span{text-align:center;color:#819792;width:47px;font-family:var(--font-geist-mono),monospace;font-size:9px}.map-toolbar i{background:var(--line);width:1px;height:19px;margin:0 3px}.map-toolbar .fit-button{text-transform:uppercase;width:34px;font-size:9px}.map-toolbar .projection-button{width:43px;font-family:var(--font-geist-mono),monospace;font-size:8px}.map-toolbar .projection-button.is-active{color:#f0ce79;background:#f0ce7924}.map-toolbar .display-button{width:52px;font-family:var(--font-geist-mono),monospace;font-size:8px}.map-toolbar .display-button.is-active{color:#b7dddd;background:#7ed8d81f}.map-toolbar .legend-button{width:47px;font-family:var(--font-geist-mono),monospace;font-size:8px}.map-toolbar .legend-button.is-active{color:#f0ce79;background:#f0ce7924}.map-display-panel,.map-legend{z-index:4;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#091b1ff2;border:1px solid #e1cd9c33;border-radius:7px;width:min(326px,100% - 32px);max-height:calc(100% - 74px);position:absolute;top:58px;right:16px;overflow:auto;box-shadow:0 16px 42px #00000057}.map-display-panel>header,.map-legend>header{z-index:1;border-bottom:1px solid var(--line);background:#091b1ff7;justify-content:space-between;align-items:center;padding:13px 14px 11px;display:flex;position:sticky;top:0}.map-display-panel>header div,.map-legend>header div{gap:2px;display:grid}.map-display-panel>header span,.map-legend>header span{color:#6f8882;font-family:var(--font-geist-mono),monospace;letter-spacing:.12em;text-transform:uppercase;font-size:7px}.map-display-panel>header h2,.map-legend>header h2{color:#e4eae6;margin:0;font-family:Georgia,serif;font-size:17px;font-weight:500}.map-display-panel>header button,.map-legend>header button{border:1px solid var(--line);color:#8fa39d;cursor:pointer;background:0 0;border-radius:4px;width:28px;height:28px;font-size:18px}.map-display-panel>header button:hover,.map-legend>header button:hover{color:#ead18f;border-color:#efd18a42}.map-display-panel>.map-stats{margin:12px 14px}.map-display-panel>section{padding:2px 14px 10px}.map-display-panel .layer-row{min-height:39px}.display-terrain-breakdown{border-top:1px solid var(--line);margin:0}.display-terrain-breakdown>summary{color:#879b95;font-family:var(--font-geist-mono),monospace;cursor:pointer;text-transform:uppercase;padding:11px 14px;font-size:8px}.display-terrain-breakdown>.legend-list{padding:0 14px 14px}.map-legend>section{border-bottom:1px solid var(--line);gap:9px;padding:12px 14px;display:grid}.map-legend>section:last-child{border-bottom:0}.map-legend section h3{color:#708782;font-family:var(--font-geist-mono),monospace;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:7px;font-weight:650}.legend-resource-grid,.legend-terrain-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;display:grid}.legend-resource-grid>div,.legend-terrain-grid>div{color:#aebfba;align-items:center;gap:7px;min-width:0;font-size:8px;display:flex}.legend-terrain-grid i{border-radius:2px;flex:none;width:16px;height:12px;box-shadow:inset 0 0 0 1px #ffffff21}.legend-resource-grid i{border:2px solid #17292b;border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 1px #ffffff14}.legend-resource-grid span,.legend-terrain-grid span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-symbol-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px;display:grid}.map-symbol-list>div{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.map-symbol-list>div>span{gap:2px;min-width:0;display:grid}.map-symbol-list strong{color:#b8c7c2;font-size:8px;font-weight:650}.map-symbol-list small{color:#687f79;font-size:7px;line-height:1.3}.legend-icon{color:#a4b5af;width:27px;height:23px;font-style:normal;font-family:var(--font-geist-mono),monospace;place-items:center;font-size:10px;font-weight:700;display:grid}.icon-hill{color:#97804dcc;font-size:15px;transform:scaleY(.65)}.icon-mountain{color:#e4dfd0;text-shadow:0 5px #6f6a5c;font-size:20px}.icon-river{color:#72bed3;font-family:Georgia,serif;font-size:24px;font-weight:400;transform:rotate(-18deg)}.icon-forest{color:#2f754d;letter-spacing:-2px;font-size:7px}.icon-jungle{color:#2c8a59;letter-spacing:-1px;font-size:8px}.icon-marsh{color:#477c65;font-family:Georgia,serif;font-size:19px}.icon-ice{color:#deeeee;font-size:16px}.icon-fallout{color:#9ebc5d;font-size:16px}.icon-political{background:#b7648b;border:2px solid #5a3038;border-radius:2px;justify-self:center;width:24px;height:18px;box-shadow:0 0 0 1px #081416cc}.icon-strategy{color:#e0c985;background:#70a7a426;border:1px dashed #70a7a4;border-radius:50%}.icon-resource{position:relative}.icon-resource:before{content:"";background:#14282a;border-radius:50%;width:15px;height:15px}.icon-resource b{background:#e8bd63;border-radius:50%;width:8px;height:8px;position:absolute}.icon-wonder{color:#f2d17f;text-shadow:0 1px #162928;font-size:20px}.icon-city-state,.icon-major-start{color:#173036;border:2px solid #12292d;border-radius:50%;justify-self:center;width:21px;height:21px;font-size:8px}.icon-major-start{background:#f0ce79}.icon-city-state{background:#7cb5c3;font-size:7px}.icon-camp{color:#d28468;background:#4c2721;border:2px solid #d28468;border-radius:50%;justify-self:center;width:17px;height:17px;font-size:14px}.icon-ruin{color:#d8c08a;text-shadow:0 2px #4d493a;font-size:19px}.icon-road{color:#b59767;text-shadow:0 2px #251f1b;font-size:22px}.icon-city-ruin{color:#b09d79;text-shadow:2px 2px #464139;font-size:19px}.icon-hover,.icon-repair,.icon-selection{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);justify-self:center;width:25px;height:22px}.icon-hover{background:#f1d183;box-shadow:inset 0 0 0 4px #173036}.icon-selection{background:#5ec6cd8c;box-shadow:inset 0 0 0 2px #7edcdc}.icon-repair{background:#de774eb3;box-shadow:inset 0 0 0 2px #efb06f}.icon-focus{border:2px solid #7ed8d8;border-radius:50%;justify-self:center;width:21px;height:21px}.file-status{color:#8fa39e;max-width:min(420px,100% - 220px);font-family:var(--font-geist-mono),monospace;text-overflow:ellipsis;border:1px solid #c3d5cc1f;border-radius:4px;padding:8px 11px;top:16px;left:16px;overflow:hidden}.file-status,.map-hint{z-index:3;white-space:nowrap;background:#0b1f24d1;font-size:9px;position:absolute}.map-hint{color:#819791;pointer-events:none;border:1px solid #c3d5cc1c;border-radius:4px;padding:8px 12px;bottom:18px;left:50%;transform:translate(-50%)}.map-hint span{color:#526b66;margin:0 5px}.tile-card{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#091b1fe8;border:1px solid #e1cd9c33;border-radius:6px;min-width:260px;padding:14px 15px;position:absolute;bottom:16px;left:16px;box-shadow:0 12px 34px #00000040}.tile-card h3{margin:0 0 11px;font-family:Georgia,serif;font-size:17px;font-weight:500}.tile-details{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.tile-details span{color:#708782;text-transform:uppercase;font-size:8px;display:grid}.tile-details strong{color:#b9c8c3;text-transform:none;margin-top:3px;font-size:9px;font-weight:500}.drop-overlay{z-index:5;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:none;background:#0c2327e0;border:1px dashed #eed28eb3;border-radius:10px;place-items:center;display:grid;position:absolute;inset:12px}.drop-overlay div{text-align:center;gap:8px;display:grid}.drop-overlay strong{color:#f0d187;font-family:Georgia,serif;font-size:24px;font-weight:500}.drop-overlay span{color:#93a8a2;font-size:11px}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.ui-tooltip{z-index:30;color:#bdcbc6;pointer-events:none;background:#061418f7;border:1px solid #efd18a3d;border-radius:5px;width:max-content;max-width:min(280px,100vw - 36px);padding:8px 10px;font-size:9px;line-height:1.45;animation:tooltip-in .12s .24s both;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0000005c}.ui-tooltip.is-above{transform:translate(-50%,-100%)}@keyframes tooltip-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.ui-tooltip{animation-duration:0s;animation-delay:0s}}@media (max-width:1180px){.brand{min-width:175px}.topbar{gap:14px;padding-inline:18px}.topbar-actions{gap:6px}.button-export-script,.button-export-view,.history-actions{display:none}.workspace-context-bar{grid-template-columns:326px minmax(260px,1fr) minmax(145px,220px)}}@media (max-width:900px){body{overflow:auto}.topbar{padding:0 16px}.brand{min-width:132px}.brand-mark{width:34px;height:34px;font-size:17px}.brand h1{font-size:20px}.workspace-tabs button{min-width:66px;padding-inline:7px}.workspace-tab-symbol{display:none}.workspace-context-bar{grid-template-columns:300px minmax(300px,1fr);overflow-x:auto}.workspace-context-identity{padding-left:18px}.workspace-context-status{display:none}.workspace{grid-template-columns:300px minmax(500px,1fr);height:auto;min-height:calc(100vh - 76px);overflow-x:auto}.has-workspace-context .workspace{height:auto;min-height:calc(100vh - 118px)}.sidebar{padding-inline:17px}.has-workspace-context .canvas-shell{min-height:calc(100vh - 118px)}.viewer-app:not(.has-workspace-context) .canvas-shell{min-height:calc(100vh - 76px)}}@media (max-width:640px),(pointer:coarse) and (max-height:520px){body,html{width:100%;height:100%;overflow:hidden}.canvas-shell,.has-workspace-context .workspace,.viewer-app,.workspace{width:100%;height:100svh;min-height:100svh}.workspace{display:block;overflow:hidden}.drop-overlay,.file-status,.map-display-panel,.map-hint,.map-legend,.map-toolbar,.sidebar,.tile-card,.topbar,.ui-tooltip,.workspace-context-bar{display:none!important}.mobile-map-actions{z-index:6;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#08191de8;border:1px solid #efd18a33;border-radius:9px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:7px;padding:6px;display:grid;position:absolute;box-shadow:0 14px 40px #0000005c}.mobile-map-actions button{border:1px solid var(--line);cursor:pointer;touch-action:manipulation;border-radius:6px;min-width:0;min-height:50px;padding:0 12px;font-size:11px;font-weight:700;line-height:1.15}.mobile-map-actions button:disabled{opacity:.55;cursor:wait}.mobile-map-actions button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.mobile-randomise-button{background:var(--gold);color:#14231f;border-color:#efd18a73!important}.mobile-download-button{color:#d8e1dd;background:#173137}.export-confirmation-actions{grid-template-columns:1fr;display:grid}.export-confirmation-actions .confirm-export{grid-row:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}.generation-resource-warning{font-weight:650;color:#d9866a!important}.stale-evidence-notice{background:#702f2333;border:1px solid #d9866a85;border-radius:10px;gap:8px;padding:12px;display:grid}.stale-evidence-notice div{gap:3px;display:grid}.stale-evidence-notice small,.stale-evidence-notice strong{color:#f1b39e}.stale-evidence-notice span{color:var(--muted);line-height:1.45}.stale-evidence-notice button{justify-self:start}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}