@font-face{font-family:Fredoka;src:url(../fonts/Fredoka.woff2)format("woff2");font-style:normal;font-weight:600 700;font-display:swap}@font-face{font-family:Lexend;src:url(../fonts/Lexend.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{--font-display:"Fredoka", "Segoe UI", Aptos, Calibri, -apple-system, BlinkMacSystemFont, sans-serif;--font-ui:"Lexend", "Segoe UI", Aptos, Calibri, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:Consolas, "Courier New", Courier, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--header-height:64px;--palette-width:288px;--control-min-size:44px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-round:999px;--cp-canvas:#f3eddf;--cp-app-surface:#fffdf8;--cp-app-surface-raised:#fff;--cp-app-surface-sunken:#eae1d2;--cp-ink-900:#25232d;--cp-ink-700:#4c4857;--cp-ink-500:#6f6977;--cp-app-border-strong:#82796c;--cp-app-border-soft:#d5ccbe;--cp-brand-700:#4634b5;--cp-brand-600:#5a46d6;--cp-brand-500:#715ee5;--cp-brand-100:#ece8ff;--cp-brand-050:#f7f5ff;--cp-sun-500:#f2b544;--cp-sun-100:#fff0bf;--cp-app-danger:#a9363a;--cp-app-danger-soft:#fce8e8;--cp-app-success:#28744a;--cp-app-warning:#7a4b00;--cp-info:#176b87;--cp-world-outline:#2d3240;--cp-world-keyline-light:#fff9ec;--cp-map-focus-under:#fff;--cp-map-focus:#4634b5;--cp-terrain-empty-top:#e9e1d3;--cp-terrain-empty-side:#cfc4b2;--cp-terrain-empty-motif:#9d9180;--cp-terrain-grass-top:#80c95b;--cp-terrain-grass-side:#4f9b43;--cp-terrain-grass-motif:#2f7736;--cp-terrain-desert-top:#ebc666;--cp-terrain-desert-side:#be8e32;--cp-terrain-desert-motif:#8d641f;--cp-terrain-snow-top:#e7f3f5;--cp-terrain-snow-side:#b5d3da;--cp-terrain-snow-motif:#6e98a3;--cp-terrain-dirt-top:#bf8659;--cp-terrain-dirt-side:#8f5f3d;--cp-terrain-dirt-motif:#68422e;--cp-terrain-water-shallow:#61c2da;--cp-terrain-water-shallow-side:#3292b0;--cp-terrain-water-shallow-motif:#176987;--cp-terrain-water-deep:#337eac;--cp-terrain-water-deep-side:#215a80;--cp-terrain-water-deep-motif:#e3f7fa;--cp-forest-main:#3f9f59;--cp-forest-highlight:#78c86f;--cp-forest-shadow:#24683b;--cp-forest-snow-main:#4e8a72;--cp-forest-snow-highlight:#8eb9a3;--cp-forest-snow-detail:#f6fbfc;--cp-forest-desert-main:#3e9a62;--cp-forest-desert-highlight:#75bd70;--cp-forest-desert-detail:#8a5a37;--cp-forest-dirt-main:#62865b;--cp-forest-dirt-highlight:#89a77b;--cp-forest-dirt-detail:#76513a;--cp-mountain-main:#aab2c1;--cp-mountain-highlight:#dce1e9;--cp-mountain-shadow:#6d7484;--cp-animal-main:#c97843;--cp-animal-highlight:#e7a06b;--cp-animal-shadow:#70402b;--cp-berry-main:#c43c67;--cp-berry-highlight:#ef789a;--cp-berry-shadow:#783049;--cp-veggie-main:#e46f3f;--cp-veggie-highlight:#f5a160;--cp-veggie-leaf:#3f8c4a;--cp-farm-main:#dca93d;--cp-farm-highlight:#f3cf68;--cp-farm-shadow:#7c5a1f;--cp-gold-main:#f6c445;--cp-gold-highlight:#ffe58a;--cp-gold-shadow:#b87b1c;--cp-fish-main:#f28c52;--cp-fish-highlight:#ffc18e;--cp-fish-shadow:#9a4f32;--cp-whale-main:#5c7fa3;--cp-whale-highlight:#91afc8;--cp-whale-shadow:#354f6b;--cp-village-roof:#d85e47;--cp-village-roof-highlight:#f18a68;--cp-village-roof-shadow:#7b4b36;--cp-village-wall:#f2d6a2;--cp-village-wall-highlight:#fff0cc;--cp-village-wall-shadow:#a6794e;--cp-ruins-main:#a8a39b;--cp-ruins-highlight:#d7d2c9;--cp-ruins-shadow:#6d6963;--cp-temple-main:#d7c9a5;--cp-temple-highlight:#f3e8c8;--cp-temple-detail:#357c72;--cp-monument-main:#7a8f9b;--cp-monument-highlight:#afc1c9;--cp-monument-detail:#f2b544;--cp-piece-shadow:#25232d29;--cp-valid-highlight:var(--cp-sun-500);--cp-terrain-empty:var(--cp-terrain-empty-top);--cp-terrain-grass:var(--cp-terrain-grass-top);--cp-terrain-desert:var(--cp-terrain-desert-top);--cp-terrain-snow:var(--cp-terrain-snow-top);--cp-terrain-dirt:var(--cp-terrain-dirt-top);--cp-water-shallow:var(--cp-terrain-water-shallow);--cp-water-shallow-motif:var(--cp-terrain-water-shallow-motif);--cp-water-deep:var(--cp-terrain-water-deep);--cp-water-deep-motif:var(--cp-terrain-water-deep-motif);--cp-forest-leafy:var(--cp-forest-main);--cp-forest-snow:var(--cp-forest-snow-main);--cp-forest-desert:var(--cp-forest-desert-main);--cp-forest-dirt:var(--cp-forest-dirt-main);--cp-mountain-snow:var(--cp-mountain-highlight);--cp-animal:var(--cp-animal-main);--cp-berries:var(--cp-berry-main);--cp-berries-highlight:var(--cp-berry-highlight);--cp-veggies-orange:var(--cp-veggie-main);--cp-veggies-red:var(--cp-veggie-highlight);--cp-farm:var(--cp-farm-main);--cp-gold:var(--cp-gold-main);--cp-fish:var(--cp-fish-main);--cp-whale:var(--cp-whale-main);--cp-ruins:var(--cp-ruins-main);--cp-temple:var(--cp-temple-main);--cp-temple-accent:var(--cp-temple-detail);--cp-monument:var(--cp-monument-main);--cp-shadow-control:0 3px 0 #25232d29;--cp-shadow-raised:0 4px 0 #25232d1a, 0 10px 24px #25232d1f;--cp-shadow-dialog:0 8px 0 #25232d1a, 0 24px 60px #25232d33;--cp-shadow-map:0 18px 36px #25232d24;--cp-dialog-backdrop:#25232d7a;--cp-print-ink:#171717;--cp-print-line:#4a4a4a;--cp-print-grid:#949494;--cp-print-pattern:#969696;--cp-print-light:#fafafa;--cp-print-mid:#ededed;--cp-print-shallow:#f4f4f4;--cp-print-deep:#dbdbdb;--cp-print-paper:#fff}html[data-theme=dark]{--cp-canvas:var(--cp-bg);--cp-app-surface:var(--cp-surface);--cp-app-surface-raised:var(--cp-bg-elevated);--cp-app-surface-sunken:var(--cp-surface-soft);--cp-ink-900:var(--cp-text);--cp-ink-700:var(--cp-text-soft);--cp-ink-500:var(--cp-text-muted);--cp-app-border-strong:var(--cp-border-strong);--cp-app-border-soft:var(--cp-border);--cp-brand-700:var(--cp-accent-hover);--cp-brand-600:var(--cp-accent);--cp-brand-500:var(--cp-accent-hover);--cp-brand-100:var(--cp-accent-soft);--cp-brand-050:var(--cp-highlight);--cp-sun-100:var(--cp-surface-soft);--cp-app-danger:var(--cp-danger);--cp-app-success:var(--cp-success);--cp-app-warning:var(--cp-warning);--cp-shadow-control:0 3px 0 #00000052;--cp-shadow-raised:0 4px 0 #00000038, 0 10px 24px #00000047;--cp-shadow-dialog:0 8px 0 #0000003d, 0 24px 60px #0000006b;--cp-shadow-map:0 18px 36px #00000057;--cp-dialog-backdrop:#0000009e}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-width:1024px;height:100%;min-height:720px}html{background:var(--cp-canvas);color:var(--cp-ink-900);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--cp-canvas);color:var(--cp-ink-900);margin:0;font-size:16px;font-weight:500;line-height:1.5;overflow:hidden}button,a{font:inherit}button{min-height:var(--control-min-size);border:1px solid var(--cp-app-border-soft);border-radius:var(--radius-md);background:var(--cp-app-surface-raised);color:var(--cp-ink-900);cursor:pointer;font-weight:700;transition:background-color 80ms cubic-bezier(.2,.8,.2,1),border-color 80ms cubic-bezier(.2,.8,.2,1),box-shadow 80ms cubic-bezier(.2,.8,.2,1),transform 80ms cubic-bezier(.2,.8,.2,1)}button:hover{border-color:var(--cp-app-border-strong);background:var(--cp-brand-050)}button:active{transform:translateY(2px)}button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}button:focus-visible,a:focus-visible{outline:3px solid var(--cp-brand-700);outline-offset:2px}.app-shell{grid-template-rows:var(--header-height) minmax(0, 1fr);background:var(--cp-canvas);height:100vh;min-height:720px;display:grid;position:relative;overflow:hidden}.app-header{z-index:20;height:var(--header-height);border-bottom:1px solid var(--cp-app-border-soft);background:var(--cp-app-surface-raised);padding:0 var(--space-4);justify-content:space-between;align-items:center;display:flex;position:relative}.app-title{margin:0}.app-identity{align-items:center;gap:var(--space-4);display:flex}.home-link{min-height:var(--control-min-size);color:var(--cp-ink-700);text-underline-offset:4px;white-space:nowrap;align-items:center;font-size:14px;display:inline-flex}.brand-lockup{align-items:center;gap:var(--space-2);color:var(--cp-ink-900);font-family:var(--font-display);font-size:24px;font-weight:700;line-height:28px;display:flex}.brand-mark{width:36px;height:32px;display:block}.header-actions{align-items:center;gap:var(--space-2);display:flex}.header-button{min-width:var(--control-min-size);min-height:var(--control-min-size);justify-content:center;align-items:center;gap:var(--space-2);color:var(--cp-ink-700);padding:0 var(--space-3);background:0 0;border:1px solid #0000;display:flex}.header-button:hover{border-color:var(--cp-app-border-soft);background:var(--cp-app-surface-sunken)}.header-button[aria-expanded=true]{border:2px solid var(--cp-brand-600);background:var(--cp-brand-100)}.header-button svg,.action-button svg{flex:none;width:24px;height:24px}.help-wrap{position:relative}.help-popover{z-index:40;border:1px solid var(--cp-app-border-soft);border-radius:var(--radius-xl);background:var(--cp-app-surface-raised);width:320px;box-shadow:var(--cp-shadow-raised);padding:var(--space-5);position:absolute;top:52px;right:0}.help-popover h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:24px;line-height:30px}.help-popover ol{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.help-steps li{align-items:center;gap:var(--space-2);grid-template-columns:24px 40px minmax(0,1fr);min-height:44px;display:grid}.help-steps svg{width:40px;height:40px}.help-step__number{border-radius:var(--radius-round);background:var(--cp-brand-700);width:24px;height:24px;color:var(--cp-app-surface-raised);place-items:center;font-size:14px;font-weight:700;display:grid}.help-correction{margin:var(--space-4) 0 0;border-radius:var(--radius-md);background:var(--cp-app-surface-sunken);color:var(--cp-ink-700);padding:var(--space-3);font-size:14px;line-height:20px}.help-attribution{margin:var(--space-3) 0 0;color:var(--cp-ink-500);font-size:11px;line-height:16px}.help-attribution a{color:inherit}.sound-toggle{min-height:var(--control-min-size);align-items:center;gap:var(--space-2);border-radius:var(--radius-md);color:var(--cp-ink-700);background:0 0;border:1px solid #0000;padding:0 10px;display:flex}.sound-toggle:hover{border-color:var(--cp-app-border-soft);background:var(--cp-app-surface-sunken)}.sound-toggle svg{width:24px;height:24px}.sound-toggle__track{border-radius:var(--radius-round);background:var(--cp-app-surface-sunken);width:34px;height:20px;box-shadow:inset 0 0 0 1px var(--cp-app-border-strong);position:relative}.sound-toggle__thumb{border-radius:var(--radius-round);background:var(--cp-ink-500);width:14px;height:14px;transition:transform .12s cubic-bezier(.2,.8,.2,1);position:absolute;top:3px;left:3px}.sound-toggle[aria-pressed=true] .sound-toggle__track{background:var(--cp-brand-100);box-shadow:inset 0 0 0 2px var(--cp-brand-600)}.sound-toggle[aria-pressed=true] .sound-toggle__thumb{background:var(--cp-brand-700);transform:translate(14px)}.app-body{grid-template-columns:var(--palette-width) minmax(736px, 1fr);min-height:0;display:grid}.canvas-workspace{grid-template-rows:auto minmax(0,1fr);min-width:736px;min-height:0;display:grid}.palette{z-index:10;border-right:1px solid var(--cp-app-border-soft);background:var(--cp-app-surface);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;position:relative}.selected-tool{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--cp-app-border-soft);background:var(--cp-app-surface);min-height:76px;padding:var(--space-2) var(--space-3);grid-template-columns:44px minmax(0,1fr) auto;display:grid}.selected-tool--empty{min-height:56px;color:var(--cp-ink-700);display:flex}.selected-tool--empty p{margin:0}.selected-tool--active{border-left:3px solid var(--cp-brand-600);background:var(--cp-brand-050);padding-left:9px}.selected-tool__icon{place-items:center;width:40px;height:40px;display:grid}.selected-tool__copy{min-width:0}.selected-tool__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:20px;display:block;overflow:hidden}.selected-tool__copy span{color:var(--cp-ink-700);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:16px;display:-webkit-box;overflow:hidden}.selected-tool__done{min-height:var(--control-min-size);align-items:center;gap:var(--space-1);color:var(--cp-ink-700);padding:0 var(--space-1);background:0 0;border:0;display:flex}.selected-tool__done svg{width:20px;height:20px}.palette__tools{min-height:0;padding:var(--space-3);display:block;overflow:hidden}.palette-group+.palette-group{margin-top:var(--space-3)}.palette-group{min-height:0}.palette-group h2{margin:0 0 6px;font-size:15px;line-height:20px}.palette-group__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.tool-card{align-items:center;gap:var(--space-1);border:1px solid var(--cp-app-border-soft);border-radius:var(--radius-md);background:var(--cp-app-surface-raised);width:100%;min-width:0;min-height:52px;box-shadow:var(--cp-shadow-control);color:var(--cp-ink-900);text-align:left;grid-template-columns:32px minmax(0,1fr);padding:6px;display:grid;position:relative}.tool-card:hover{border-color:var(--cp-app-border-strong);background:var(--cp-brand-050);transform:translateY(-1px)}.tool-card:active{box-shadow:0 1px 0 var(--cp-app-border-strong);transform:translateY(2px)}.tool-card[aria-pressed=true],.fixture-selected{border:3px solid var(--cp-brand-600);background:var(--cp-brand-100);padding:4px}.tool-card__icon{width:32px;height:32px;overflow:visible}.tool-card__label{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;line-height:16px;overflow:hidden}.tool-card__check{border:2px solid var(--cp-app-surface-raised);border-radius:var(--radius-round);background:var(--cp-brand-700);width:18px;height:18px;color:var(--cp-app-surface-raised);place-items:center;font-size:12px;line-height:1;display:grid;position:absolute;top:-6px;right:-6px}.action-button{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:48px;box-shadow:var(--cp-shadow-control);padding:var(--space-2) var(--space-3);display:flex}.action-button--primary{border:0;border-bottom:3px solid var(--cp-brand-700);background:var(--cp-brand-600);min-height:56px;color:var(--cp-app-surface-raised)}.action-button--primary:hover{border-color:var(--cp-brand-700);background:var(--cp-brand-500)}.action-button--primary span{text-align:left;display:grid}.action-button--primary small{font-size:14px;font-weight:500;line-height:18px}.action-button--secondary{border:2px solid var(--cp-brand-600);background:var(--cp-app-surface-raised);color:var(--cp-brand-700)}.action-button--secondary:hover{border-color:var(--cp-brand-600);background:var(--cp-brand-050)}.action-button--quiet{box-shadow:none;color:var(--cp-ink-700);background:0 0;border-color:#0000}.action-button--quiet:hover{border-color:var(--cp-app-border-soft);background:var(--cp-app-surface-sunken)}.action-button--danger{border:0;border-bottom:3px solid var(--cp-ink-900);background:var(--cp-app-danger);color:var(--cp-app-surface-raised)}.action-button--danger:hover{border-color:var(--cp-ink-900);background:var(--cp-danger)}.canvas-toolbar{z-index:8;justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--cp-app-border-soft);background:var(--cp-app-surface);min-width:0;min-height:60px;padding:var(--space-2) 10px;display:flex;position:relative}.canvas-toolbar__land,.canvas-toolbar__actions{align-items:center;gap:var(--space-1);min-width:0;display:flex}.tool-card--toolbar{width:auto;min-height:var(--control-min-size);gap:var(--space-1);border-radius:var(--radius-sm);box-shadow:none;flex:none;padding:4px;display:flex}.tool-card--toolbar[aria-pressed=true]{padding:2px}.tool-card--toolbar .tool-card__icon{width:24px;height:24px}.tool-card--toolbar .tool-card__label{font-size:12px;line-height:16px}.tool-card--toolbar .tool-card__check{display:none}.canvas-toolbar__action{min-height:var(--control-min-size);justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);box-shadow:none;white-space:nowrap;flex:none;padding:0 6px;font-size:12px;line-height:16px;display:flex}.canvas-toolbar__action svg{width:18px;height:18px}.canvas-toolbar__action--secondary{border:2px solid var(--cp-brand-600);background:var(--cp-app-surface-raised);color:var(--cp-brand-700)}.canvas-toolbar__action--quiet{color:var(--cp-ink-700);background:0 0;border-color:#0000}.canvas-toolbar__action--primary{border:0;border-bottom:2px solid var(--cp-brand-700);background:var(--cp-brand-600);color:var(--cp-app-surface-raised)}.canvas-toolbar__action--primary:hover{border-color:var(--cp-brand-700);background:var(--cp-brand-700)}.canvas-region{overscroll-behavior:contain;background:var(--cp-canvas);min-height:0;padding:var(--space-3);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:auto}.canvas-helper{top:var(--space-2);z-index:2;border:1px solid var(--cp-sun-500);border-radius:var(--radius-round);background:var(--cp-sun-100);box-shadow:var(--cp-shadow-control);padding:var(--space-1) var(--space-3);font-size:12px;line-height:16px;position:absolute}.canvas-helper--invalid{color:var(--cp-app-warning);font-weight:700}.map-stage{width:clamp(616px, min(100%, calc((100vh - var(--header-height) - 88px) * 1.54386)), 1450px);aspect-ratio:704/456;height:auto;filter:drop-shadow(var(--cp-shadow-map));flex:none;position:relative}.semantic-map-grid,.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.semantic-map-cell{width:1px;min-width:1px;height:1px;min-height:1px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}.map-svg{touch-action:none;width:100%;height:100%;display:block;overflow:visible}.tile-group{transition:opacity .12s cubic-bezier(.2,.8,.2,1),transform .12s cubic-bezier(.2,.8,.2,1)}.tile-group--invalid{opacity:.35}.tile-feedback--invalid{transform-box:fill-box;transform-origin:50%;animation:.12s cubic-bezier(.4,0,1,1) invalid-nudge}.tile-feedback--place{transform-box:fill-box;transform-origin:50%;animation:.16s cubic-bezier(.34,1.56,.64,1) placement-bounce}.tile-feedback--replace{transform-box:fill-box;transform-origin:50%;animation:.14s cubic-bezier(.2,.8,.2,1) replacement-pop}.tile-feedback--remove{animation:.1s cubic-bezier(.4,0,1,1) removal-emphasis}.editor-asset--cursor .piece-contact-shadow{display:none}.lowpoly-sprite{pointer-events:none}.editor-asset--map .lowpoly-sprite{filter:contrast(.7)brightness(1.08)saturate(.94)}.tile-base-asset .lowpoly-sprite{filter:contrast(.58)brightness(1.14)saturate(.9)}.editor-asset--map .piece-contact-shadow{opacity:.55}.map-scene--generate{animation:.18s cubic-bezier(.2,.8,.2,1) map-generation-crossfade}.tile-invalid-hatch{opacity:.18;pointer-events:none}[data-layer=pointer-grid] polygon{cursor:pointer;pointer-events:all}.map-hit-target--invalid{cursor:not-allowed}[data-layer=cursor-badge]{filter:drop-shadow(var(--cp-shadow-control));transform-box:view-box;will-change:transform}.confirm-dialog{border:1px solid var(--cp-app-border-soft);border-radius:var(--radius-xl);background:var(--cp-app-surface-raised);width:min(440px,100vw - 32px);max-width:440px;box-shadow:var(--cp-shadow-dialog);color:var(--cp-ink-900);padding:var(--space-6)}.confirm-dialog::backdrop{background:var(--cp-dialog-backdrop)}.confirm-dialog h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:24px;line-height:30px}.confirm-dialog p{color:var(--cp-ink-700);margin:0;line-height:24px}.confirm-dialog__actions{gap:var(--space-3);margin-top:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.confirm-dialog__actions .action-button{min-height:48px}@keyframes invalid-nudge{0%,to{transform:translate(0)}35%{transform:translate(-4px)}70%{transform:translate(4px)}}.toast{right:var(--space-6);bottom:var(--space-6);z-index:60;border:1px solid var(--cp-app-border-soft);border-radius:var(--radius-md);background:var(--cp-app-surface-raised);max-width:320px;box-shadow:var(--cp-shadow-raised);padding:var(--space-3) var(--space-4);position:fixed}.status-message{right:var(--space-6);bottom:var(--space-6);z-index:30;align-items:center;gap:var(--space-2);border:1px solid var(--cp-app-border-soft);border-radius:var(--radius-md);background:var(--cp-app-surface-raised);max-width:420px;min-height:44px;box-shadow:var(--cp-shadow-raised);color:var(--cp-ink-700);padding:var(--space-2) var(--space-3);font-size:14px;line-height:20px;display:flex;position:fixed}.status-message--saved{color:var(--cp-app-success)}.status-message--warning{border-color:var(--cp-sun-500);background:var(--cp-sun-100);color:var(--cp-app-warning)}.status-message--warning>span:first-child{border-radius:var(--radius-round);border:2px solid;flex:none;place-items:center;width:24px;height:24px;font-weight:700;display:grid}.status-message--restore{background:var(--cp-app-surface)}.status-message--restore button{min-height:var(--control-min-size);color:var(--cp-brand-700);padding:0 var(--space-2);background:0 0;border-color:#0000;margin-left:auto}.print-root{visibility:hidden;background:var(--cp-print-paper);width:612pt;height:792pt;position:fixed;top:0;left:-10000px}.print-root--screen{width:612pt;height:792pt;margin:var(--space-8) auto;visibility:visible;box-shadow:var(--cp-shadow);position:static}.print-spike,.print-page{background:var(--cp-print-paper);width:612pt;height:792pt;color:var(--cp-print-ink);-webkit-print-color-adjust:exact;print-color-adjust:exact;font-family:Arial,Helvetica,sans-serif;display:block}.visual-fixture{background:var(--cp-canvas);height:100%;padding:var(--space-6);overflow:auto}.visual-fixture__header{border-bottom:1px solid var(--cp-app-border-soft);margin-bottom:var(--space-6);padding-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.visual-fixture h1{margin:var(--space-6) 0 var(--space-3);font-family:var(--font-display);font-size:24px}.visual-fixture h2{margin:0;font-size:14px;line-height:20px}.fixture-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.fixture-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.fixture-card{gap:var(--space-2);border:1px solid var(--cp-app-border-soft);border-radius:var(--radius-lg);background:var(--cp-app-surface-raised);min-width:0;padding:var(--space-3);display:grid}.fixture-card--small{width:150px}.fixture-sizes{justify-content:space-around;align-items:end;gap:var(--space-1);min-height:112px;display:flex}.fixture-asset{width:96px;height:96px;display:block;overflow:visible}.fixture-asset--grayscale{filter:grayscale()}.fixture-composition{width:112px;height:112px;margin:auto;display:block;overflow:visible}.fixture-controls{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.fixture-controls>button{box-shadow:var(--cp-shadow-control);padding:0 var(--space-4)}.fixture-tool-states{gap:var(--space-3);flex-wrap:wrap;display:flex}.fixture-tool-states .tool-card{place-items:center;width:100px;display:grid}.fixture-hover{border-color:var(--cp-app-border-strong);background:var(--cp-brand-050);transform:translateY(-1px)}.fixture-pressed{box-shadow:0 1px 0 var(--cp-app-border-strong);transform:translateY(2px)}.fixture-focus{outline:3px solid var(--cp-brand-700);outline-offset:2px}.fixture-disabled{border-color:var(--cp-app-border-soft);background:var(--cp-app-surface-sunken);box-shadow:none;opacity:.48}.fixture-button-states{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.fixture-button-states article{gap:var(--space-2);border:1px solid var(--cp-app-border-soft);border-radius:var(--radius-lg);background:var(--cp-app-surface-raised);padding:var(--space-3);display:grid}.action-button--primary.fixture-hover{background:var(--cp-brand-500)}.action-button--secondary.fixture-hover{background:var(--cp-brand-050)}.action-button--quiet.fixture-hover{background:var(--cp-app-surface-sunken)}.fixture-icons{gap:var(--space-3);color:var(--cp-ink-700);display:flex}.fixture-icons svg{width:24px;height:24px}.fixture-print-row{align-items:start}.fixture-print-sample{gap:var(--space-2);width:116px;color:var(--cp-ink-700);justify-items:center;font-size:14px;display:grid}.fixture-print-sizes{align-items:center;gap:var(--space-2);min-height:52px;display:flex}.fixture-print-asset{border:1px solid var(--cp-print-grid);background:var(--cp-print-paper);display:block}.fixture-print-composition{width:104px;height:104px;display:block}.fixture-contrast-tile{border:1px solid var(--cp-print-grid);background:var(--cp-print-paper);width:112px;height:112px;margin:0 auto;display:block}@page{size:Letter portrait;margin:0}@media (width<=1023px){body{overflow:auto}#root,.app-shell{min-width:1024px}}@media (height<=760px){.canvas-region{justify-content:flex-start}}@media print{html,body,#root{background:var(--cp-print-paper);width:612pt;min-width:612pt;height:792pt;min-height:792pt;margin:0;overflow:hidden}.app-root{display:none!important}.print-root,.print-root--screen{visibility:visible;width:612pt;height:792pt;box-shadow:none;margin:0;position:static}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}.tile-feedback--invalid,.tile-feedback--place,.tile-feedback--replace,.tile-feedback--remove{animation:.1s linear reduced-feedback!important}}@keyframes reduced-feedback{50%{opacity:.72}}@keyframes map-generation-crossfade{0%{opacity:.2}to{opacity:1}}
