@import "https://fonts.googleapis.com/css2?family=Alegreya+Sans:wght@400;500;700;800&family=Cinzel:wght@500;700&display=swap";html,body,#root{min-height:100%;margin:0;padding:0}body{min-width:320px}:root{--color-white:#fff;--color-black:#000;--color-cream-100:#161420;--color-cream-200:#242033;--color-brown-700:#d2bda0;--color-brown-900:#f3ecde;--color-amber-500:#cb9a3a;--color-red-600:#b34f45;--color-green-500:#5a9684;--color-yellow-500:#d1ae59;--color-gray-500:#9f9da8;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius-1:4px;--radius-2:8px;--radius-3:12px;--radius-4:14px;--radius-5:18px;--radius-pill:9999px;--elevation-1:0 1px 2px #00000014;--elevation-2:0 4px 12px #0000001f;--elevation-3:0 18px 40px #0708106b;--font-family-display:"Cinzel", Georgia, serif;--font-family-body:"Alegreya Sans", "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--focus-ring-width:2px;--focus-ring-offset:3px;--duration-fast:.1s;--duration-base:.2s;--duration-slow:.32s;--easing-standard:cubic-bezier(.4, 0, .2, 1);--touch-target-min:44px;--color-text-primary:var(--color-brown-900);--color-surface-primary:var(--color-cream-100);--color-surface-panel:#1a1726e6;--color-border-subtle:#e3d0ad38;--color-accent-primary:var(--color-amber-500);--color-feedback-error:var(--color-red-600);--color-feedback-success:var(--color-green-500);--color-feedback-warning:var(--color-yellow-500);--color-feedback-muted:var(--color-gray-500);--color-status-connected:var(--color-green-500);--color-status-connecting:var(--color-yellow-500);--color-status-reconnecting:var(--color-yellow-500);--color-status-error:var(--color-red-600);--color-status-disconnected:var(--color-gray-500);--color-status-unknown:var(--color-gray-500);--color-status-connected-bg:#5a968429;--color-status-connected-border:#5a96846b;--color-status-connecting-bg:#d1ae5929;--color-status-connecting-border:#d1ae5966;--color-status-reconnecting-bg:#d1ae593b;--color-status-reconnecting-border:#d1ae597a;--color-status-error-bg:#b34f452e;--color-status-error-border:#b34f4573;--color-status-disconnected-bg:#9f9da829;--color-status-disconnected-border:#9f9da86b;--color-status-unknown-bg:#9f9da824;--color-status-unknown-border:#9f9da857;--color-status-valid-ring:#5a968470;--color-status-near-valid-ring:#d1ae5975;--color-status-invalid-ring:#b34f4580;--space-control-gap:var(--space-2);--radius-component:var(--radius-2);--radius-control:var(--radius-1);--radius-action:var(--radius-2);--shadow-panel:var(--elevation-3);--font-body:var(--font-family-body);--font-display:var(--font-family-display);--font-size-body:var(--font-size-md);--font-size-label:var(--font-size-sm);--font-size-heading:var(--font-size-2xl);--focus-ring-color:var(--color-accent-primary);--transition-standard:var(--duration-base) var(--easing-standard);--ink:var(--color-text-primary);--warm:var(--color-surface-primary);--panel:var(--color-surface-panel);--panel-border:var(--color-border-subtle);--accent:var(--color-accent-primary);--radius:var(--radius-component)}*,:before,:after{box-sizing:border-box}:focus-visible{outline:var(--focus-ring-width,2px) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset,3px)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation:none!important}}.canvas-loading-fallback{border-radius:var(--radius-component);border:1px solid var(--color-border-subtle);background:color-mix(in srgb, var(--color-surface-primary) 84%, transparent);min-height:360px;color:var(--color-feedback-muted);justify-content:center;align-items:center;gap:.75rem;font-size:.95rem;display:flex}.canvas-loading-spinner{border:2px solid color-mix(in srgb, var(--color-feedback-muted) 45%, transparent);border-top-color:var(--color-accent-primary);border-radius:999px;width:1rem;height:1rem;animation:.9s linear infinite canvas-loading-spin}@keyframes canvas-loading-spin{to{transform:rotate(360deg)}}.ui-toggle-group{align-items:center;gap:var(--space-control-gap);display:inline-flex}.ui-toggle-group-item{min-height:var(--touch-target-min);min-width:var(--touch-target-min);border-radius:var(--radius-action);border:1px solid var(--color-border-subtle);color:var(--color-text-primary);padding:0 var(--space-3);background:0 0}.ui-toggle-group-item[data-state=on]{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:var(--color-white)}.ui-toggle-group-item:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.ui-tooltip-content{border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);background:var(--color-text-primary);max-width:20rem;color:var(--color-surface-primary);box-shadow:var(--shadow-panel);padding:var(--space-2) var(--space-3);font-size:var(--font-size-label);animation-duration:var(--duration-fast);animation-timing-function:var(--easing-standard);line-height:1.3}.ui-tooltip-content[data-state=delayed-open]{animation-name:ui-tooltip-fade-in}.ui-tooltip-arrow{fill:var(--color-text-primary)}@keyframes ui-tooltip-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.ui-tooltip-content{animation:none}}.status-indicator{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.5px;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-standard), border-color var(--transition-standard), color var(--transition-standard);display:flex}.status-indicator-trigger{min-width:var(--touch-target-min);min-height:var(--touch-target-min);color:inherit;font:inherit;text-align:left;cursor:help;background:0 0;border:0;align-items:stretch;padding:0;display:inline-flex}.status-indicator-trigger:focus-visible{border-radius:var(--radius-control)}.status-dot{border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.6}}.status-connected{background-color:var(--color-status-connected-bg);color:var(--color-status-connected);border:1px solid var(--color-status-connected-border)}.status-connected .status-dot{background-color:var(--color-status-connected);animation:none}.status-connecting{background-color:var(--color-status-connecting-bg);color:var(--color-status-connecting);border:1px solid var(--color-status-connecting-border)}.status-connecting .status-dot{background-color:var(--color-status-connecting)}.status-reconnecting{background-color:var(--color-status-reconnecting-bg);color:var(--color-status-reconnecting);border:1px solid var(--color-status-reconnecting-border)}.status-reconnecting .status-dot{background-color:var(--color-status-reconnecting)}.status-error{background-color:var(--color-status-error-bg);color:var(--color-status-error);border:1px solid var(--color-status-error-border)}.status-error .status-dot{background-color:var(--color-status-error)}.status-disconnected{background-color:var(--color-status-disconnected-bg);color:var(--color-status-disconnected);border:1px solid var(--color-status-disconnected-border)}.status-disconnected .status-dot{background-color:var(--color-status-disconnected);animation:none}.status-unknown{background-color:var(--color-status-unknown-bg);color:var(--color-status-unknown);border:1px solid var(--color-status-unknown-border)}.status-unknown .status-dot{background-color:var(--color-status-unknown);animation:none}.status-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (prefers-reduced-motion:reduce){.status-indicator{transition:none}.status-dot{animation:none}}:root{--ink:var(--color-text-primary);--warm:var(--color-surface-primary);--panel:var(--color-surface-panel);--panel-border:var(--color-border-subtle);--accent:var(--color-accent-primary);--radius:var(--radius-component);--atlas-surface:#110f1ae6;--atlas-ink:#ece1c9f5;--atlas-ink-muted:#d6c7abeb;--atlas-line:#e3d0ad4d;--atlas-command:#bf644ff0;--atlas-authorship:#bee1e8f5;--atlas-selection:#bf644f33}*{box-sizing:border-box}.auth-shell{min-height:100dvh;color:var(--ink);font-family:var(--font-body,"Manrope", sans-serif);background:var(--color-surface-primary);place-items:center;padding:1rem;display:grid}.auth-panel{border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--panel);width:min(440px,100%);padding:1.25rem;box-shadow:0 18px 40px #2719101f}.auth-panel h1{font-family:var(--font-display,"Marcellus", serif);margin:0}.auth-panel p{margin:.65rem 0 1rem}.app-error-page{min-height:100dvh;color:var(--ink);font-family:var(--font-body,"Manrope", sans-serif);background:radial-gradient(900px 360px at 15% 18%, #f5cea070, transparent 60%), radial-gradient(720px 320px at 88% 20%, #94b6c157, transparent 58%), var(--color-surface-primary);place-items:center;padding:1rem;display:grid}.app-error-panel{border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--panel);width:min(760px,100%);padding:1.25rem;box-shadow:0 18px 40px #2719101f}.app-error-kicker{letter-spacing:.08em;text-transform:uppercase;color:#e7d9bed6;margin:0 0 .35rem;font-family:Alegreya Sans,sans-serif;font-size:.78rem;font-weight:700}.app-error-panel h1{font-family:var(--font-display,"Marcellus", serif);margin:0;font-size:clamp(1.75rem,4vw,2.5rem)}.app-error-panel p{max-width:62ch;margin:.65rem 0 1rem}.app-error-panel button{min-height:var(--touch-target-min)}.app-error-diagnostics{background:#fff9eeb8;border:1px solid #422f2524;border-radius:8px;gap:.55rem;margin:1rem 0;padding:.75rem;display:grid}.app-error-diagnostics div{grid-template-columns:7rem minmax(0,1fr);gap:.7rem;display:grid}.app-error-diagnostics dt{font-weight:700}.app-error-diagnostics dd{overflow-wrap:anywhere;min-width:0;margin:0}.app-error-technical-details summary{cursor:pointer;font-weight:700}.app-error-technical-details pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#2d231c14;border-radius:8px;max-height:18rem;margin:.75rem 0 0;padding:.75rem;font-size:.82rem;overflow:auto}.test-identity-control{gap:.5rem;margin-bottom:1rem;display:grid}.test-identity-control label{font-size:.8rem;font-weight:600}.test-identity-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.test-identity-control input{border:1px solid var(--panel-border);border-radius:var(--radius);width:100%;min-height:2.5rem;color:var(--ink);background:var(--warm);font:inherit;padding:.55rem .65rem}.lobby-shell{min-height:100dvh;color:var(--ink);font-family:var(--font-body,"Sora", sans-serif);place-items:center;padding:1rem;display:grid;position:relative}.lobby-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:min(920px,100%);padding:1.2rem;box-shadow:0 18px 40px #2719101f}.lobby-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.lobby-header h1{font-size:1.55rem;font-family:var(--font-display,"Bodoni Moda", serif);margin:0}.lobby-header p{opacity:.78;margin:.4rem 0 0}.lobby-actions{gap:.5rem;display:flex}.lobby-create-config{background:#fff8ebb3;border:1px solid #422f2524;border-radius:14px;margin-bottom:.85rem;padding:.72rem}.lobby-claim{background:#e8f7ecd1;border:1px solid #36705257;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;padding:.72rem .86rem;display:flex}.lobby-claim h2,.lobby-claim p{margin:0}.lobby-claim h2{font-size:1rem}.lobby-claim p{opacity:.78;margin-top:.2rem;font-size:.84rem}.lobby-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.48rem;display:grid}.lobby-preset{text-align:left;background:#fffbf3d6;border:1px solid #422f253d;border-radius:12px;gap:.14rem;padding:.52rem .62rem;display:grid}.lobby-preset span{font-size:.84rem;font-weight:600}.lobby-preset small{opacity:.75;font-size:.74rem}.lobby-error{color:var(--color-feedback-error);margin:.75rem 0;font-size:.9rem}.lobby-empty{opacity:.82;margin:.75rem 0}.lobby-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.lobby-row{background:#fff9eebd;border:1px solid #422f252e;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:.72rem .86rem;display:flex}.lobby-meta h2{margin:0;font-size:1rem}.lobby-meta p{opacity:.8;margin:.25rem 0 0;font-size:.86rem}.lobby-chip{text-transform:uppercase;letter-spacing:.06em;background:#c9794b33;border-radius:999px;margin-top:.4rem;padding:.16rem .42rem;font-size:.72rem;display:inline-block}.app-shell{height:100dvh;min-height:100dvh;color:var(--ink);font-family:var(--font-body,"Sora", sans-serif);grid-template-rows:auto 1fr;gap:0;padding:0;display:grid;position:relative;overflow:hidden}.backdrop-gradient{z-index:-1;background:radial-gradient(1200px 480px at 12% 12%,#f5cea08f,#0000 60%),radial-gradient(900px 420px at 90% 18%,#94b6c16b,#0000 58%),linear-gradient(160deg,#ebe3d1 0%,#d9d2c4 60%,#e7dfd0 100%);position:fixed;inset:0}.app-header{background:var(--panel);border-bottom:1px solid var(--panel-border);flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0;padding:.6rem 1rem;display:flex}.return-btn{flex:none}.app-header-title{font-family:var(--font-display,"Bodoni Moda", serif);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:1.1rem;overflow:hidden}.app-header-meta{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.collaborator-summary,.connection-badge{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.account-control{background:#fffaf1db;border:1px solid #3b2d2429;border-radius:999px;align-items:center;gap:.45rem;min-width:0;padding:.2rem .24rem .2rem .62rem;display:inline-flex;box-shadow:inset 0 1px #ffffffb8}.account-control .profile-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:18ch;font-size:.82rem;font-weight:600;overflow:hidden}.account-control .status-indicator{background:0 0;border:0;padding:0}.account-control .status-indicator--compact{justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex}.account-control .status-indicator--compact .status-dot{width:.56rem;height:.56rem}.account-signout{min-height:var(--touch-target-min);min-width:var(--touch-target-min);width:var(--touch-target-min);height:var(--touch-target-min);border-radius:999px;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.account-signout svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:.96rem;height:.96rem}.canvas-workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,280px);gap:.75rem;min-height:0;padding:.75rem;display:grid;overflow-x:hidden}.chat-panel{top:calc(var(--app-header-height,3.5rem) + .75rem);z-index:30;border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--panel);grid-template-rows:auto minmax(10rem,1fr) auto auto;gap:.75rem;width:min(24rem,100vw - 1.5rem);min-width:0;min-height:0;padding:1rem;display:grid;position:fixed;bottom:.75rem;right:.75rem;box-shadow:0 18px 40px #27191047}.chat-panel-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:.1rem .4rem;font-size:1.3rem;line-height:1}.chat-panel-header,.chat-message-meta,.chat-composer-footer{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.chat-panel-header h2,.chat-panel-kicker,.chat-message p,.chat-panel-state,.chat-panel-error{margin:0}.chat-panel-kicker{letter-spacing:.08em;text-transform:uppercase;opacity:.68;font-size:.7rem}.chat-status{white-space:nowrap;align-items:center;gap:.35rem;font-size:.75rem;display:inline-flex}.chat-status>span{background:currentColor;border-radius:50%;width:.55rem;height:.55rem}.chat-status--connected{color:#28734a}.chat-status--error,.chat-status--disconnected{color:var(--color-feedback-error)}.chat-status--connecting,.chat-status--disconnecting{color:#94641e}.chat-message-list{align-content:start;gap:.65rem;min-height:0;padding-right:.2rem;display:grid;overflow:auto}.chat-message{border:1px solid var(--panel-border);background:#fffaf17a;border-radius:8px;padding:.65rem}.chat-message-meta{font-size:.76rem}.chat-message-meta time,.chat-message-meta span{opacity:.65}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:.3rem}.chat-message--pending{opacity:.72}.chat-message small{color:var(--color-feedback-error)}.chat-panel-state{opacity:.72;align-self:center}.chat-panel-error{color:var(--color-feedback-error);font-size:.82rem}.chat-load-more{min-height:2.25rem}.chat-composer{gap:.45rem;display:grid}.chat-composer label{font-size:.8rem;font-weight:700}.chat-composer textarea{resize:vertical;border:1px solid var(--panel-border);min-height:5rem;color:var(--ink);background:var(--warm);font:inherit;border-radius:8px;padding:.6rem}.chat-composer-footer{opacity:.75;font-size:.75rem}.chat-composer-footer button{min-height:2.35rem}.canonical-navigation{z-index:10;background:#f8f3ead1;border-bottom:1px solid #3b2d241f;gap:.55rem;padding:.65rem .75rem;display:grid;position:relative}.canonical-navigation-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.canonical-navigation h2,.canonical-navigation p{margin:0}.canonical-navigation h2{font-size:.92rem}.canonical-navigation p{opacity:.78;font-size:.78rem}.canvas-action-bar{background:#f8f3eab8;border-bottom:1px solid #3b2d241f;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.palette-region{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:0;padding:1rem;overflow:hidden auto;box-shadow:0 18px 40px #2719101f}.palette-region h2{text-transform:uppercase;letter-spacing:.08em;opacity:.78;margin:0 0 .5rem;font-size:.88rem}.palette-region h3{text-transform:uppercase;letter-spacing:.06em;opacity:.72;margin:0 0 .45rem;font-size:.8rem}.palette-control{gap:.65rem;display:grid}.palette-control-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.palette-control-header>div{min-width:0}.palette-control-chip{letter-spacing:.02em;color:#422f25d1;background:#fff9eed1;border:1px solid #422f252e;border-radius:999px;flex:none;align-self:flex-start;padding:.36rem .62rem;font-size:.78rem;font-weight:600}.palette-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;display:grid}.palette-preset-card{border-radius:12px;align-content:center;justify-items:stretch;gap:.2rem;min-height:2.55rem;padding:.35rem .42rem;display:grid}.palette-preset-card-label{text-align:left;font-size:.7rem;font-weight:600;line-height:1}.palette-preset-card-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:.18rem;display:grid}.palette-preset-card-swatch{border:1px solid #ffffff61;border-radius:999px;height:.28rem;display:block;box-shadow:inset 0 0 0 1px #0000000f}.palette-subsection{display:grid}.palette-color-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;display:grid}.palette-region .ui-toggle-group-item{background:#fff9eec7;border-color:#422f253d}.palette-region .ui-toggle-group-item:hover{border-color:#5f391e75}.palette-region .ui-toggle-group-item:active{transform:translateY(0)}.palette-region .ui-toggle-group-item[data-state=on]:not(.tile-palette-swatch){color:#291b13eb;background:linear-gradient(120deg,#ffd7b0 0%,#f3b78c 100%);border-color:#5f391e94}.shape-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.shape-grid .ui-toggle-group-item{min-width:72px;min-height:72px;transition:transform var(--transition-standard), background var(--transition-standard), border-color var(--transition-standard), box-shadow var(--transition-standard), opacity var(--transition-standard);border-radius:14px;justify-content:center;align-items:stretch;padding:.45rem;display:inline-flex}.shape-grid .ui-toggle-group-item:hover:not(:disabled){background:#fff5e5eb;border-color:#5f391e85}.shape-grid .ui-toggle-group-item:active:not(:disabled){background:#f5ddc3eb;transform:translateY(1px)}.shape-grid .ui-toggle-group-item:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 2px #fff9eeeb}.shape-grid .ui-toggle-group-item[data-state=on]{color:#291b13f0;background:linear-gradient(120deg,#ffd7b0 0%,#f3b78c 100%);border-color:#5f391e9e;box-shadow:0 5px 14px #5f391e2e}.shape-grid .ui-toggle-group-item[data-state=on]:hover:not(:disabled){border-color:#5f391eb8}.shape-grid .ui-toggle-group-item:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.tile-shape-card{flex-direction:column;justify-content:center;align-items:center;gap:.4rem;width:100%;min-width:100%;min-height:100%;display:inline-flex}.tile-shape-card-preview{color:currentColor;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:2rem;height:2rem}.tile-shape-card-label{font-size:.82rem;font-weight:500;line-height:1.1}.pill-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.rotation-display{text-align:center;font-variant-numeric:tabular-nums;color:#422f25bf;min-width:3rem;font-size:.86rem}button{color:inherit;min-height:var(--touch-target-min);min-width:var(--touch-target-min);cursor:pointer;transition:transform var(--transition-standard), background var(--transition-standard), border-color var(--transition-standard);background:#fff9eed1;border:1px solid #422f2547;border-radius:999px;padding:.5rem .82rem;font-family:inherit;font-size:.86rem}button:hover{transform:translateY(-1px)}button.active{background:linear-gradient(120deg,#ffd7b0 0%,#f3b78c 100%);border-color:#5f391e80}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,.swatch:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.color-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;display:grid}.swatch{min-height:var(--touch-target-min);min-width:var(--touch-target-min);border:2px solid #291b131f;border-radius:12px}.tile-palette-swatch{border:2px solid #291b132e;border-radius:14px;min-width:2.35rem;min-height:2.35rem;padding:0;position:relative;box-shadow:inset 0 0 0 1px #fff3}.tile-palette-swatch--common{min-width:2.15rem;min-height:2.15rem}.tile-palette-swatch[data-state=on]{box-shadow:0 0 0 2px var(--focus-ring-color), inset 0 0 0 1px #00000057;border-color:#291b13b8}.tile-palette-swatch[data-state=on]:after{content:"";border-bottom:2px solid #15111be6;border-left:2px solid #15111be6;width:.38rem;height:.22rem;position:absolute;top:.35rem;right:.35rem;transform:rotate(-45deg)}.tile-palette-swatch span{display:none}.tile-palette-summary{background:#fff9eeb8;border:1px solid #3b2d2424;border-radius:12px;margin-top:.5rem;padding:.68rem .75rem}.tile-palette-summary h2{margin-bottom:.25rem}.tile-palette-summary p{margin:0;font-size:.8rem;line-height:1.4}.palette-custom-input{background:#fff9eead;border:1px solid #3b2d2424;border-radius:14px;width:100%;min-width:0;padding:.6rem .7rem}.palette-custom-input summary{cursor:pointer;letter-spacing:.02em;font-size:.8rem;font-weight:600;list-style:none}.palette-custom-input summary::-webkit-details-marker{display:none}.palette-custom-input-body{gap:.45rem;min-width:0;margin-top:.55rem;display:grid}.palette-custom-input-body label{color:#422f25cc;font-size:.78rem;font-weight:600}.palette-custom-input-row{align-items:center;gap:.5rem;min-width:0;display:flex}.palette-custom-input-row input[type=color]{cursor:pointer;border:1px solid #422f2533;border-radius:12px;flex-shrink:0;width:3rem;min-width:3rem;height:3rem;padding:.3rem}.palette-custom-input-row input[type=text]{width:5.5rem;color:inherit;font:inherit;background:#ffffffd1;border:1px solid #422f2533;border-radius:12px;flex-shrink:0;padding:.48rem .6rem;font-size:.85rem}.palette-custom-input-row input:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.palette-custom-input-row button{display:none}.palette-custom-input-help,.palette-custom-input-error{margin:0;font-size:.76rem;line-height:1.35}.palette-custom-input-help{color:#422f25b3}.tile-palette-summary p+p{margin-top:.3rem}.canvas-shell{border-radius:var(--radius);background:#dfd7c8;border:1px solid #44342738;min-height:0;position:relative;overflow:hidden;box-shadow:0 20px 44px #2e1d1233}.canvas-scene{position:absolute;inset:0}.canvas-shell canvas{width:100%!important;height:100%!important}.status-strip{z-index:10;text-transform:uppercase;letter-spacing:.06em;background:#f8f3ead6;border:1px solid #3b2d2426;border-radius:12px;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.35rem .6rem;min-width:0;max-width:100%;padding:.42rem .68rem;font-size:.82rem;display:flex;position:absolute;top:.8rem;left:.8rem;right:.8rem}.status-strip span{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.status-strip[data-state=valid]{box-shadow:0 0 0 1px var(--color-status-valid-ring) inset}.status-strip[data-state=near-valid]{box-shadow:0 0 0 1px var(--color-status-near-valid-ring) inset}.status-strip[data-state=invalid]{box-shadow:0 0 0 1px var(--color-status-invalid-ring) inset}.grid-overlay-controls{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8f3eaeb;border:1px solid #3b2d2438;border-radius:14px;gap:.5rem;width:min(36rem,100% - 1.6rem);max-height:min(46%,15rem);padding:.55rem;display:grid;position:absolute;bottom:.8rem;left:.8rem;overflow-y:auto;box-shadow:0 10px 28px #2e1d122e}.grid-overlay-controls-header{align-items:center;gap:.5rem;min-width:0;display:flex}.grid-overlay-toggle{flex:none;justify-content:space-between;align-items:center;gap:.55rem;font-weight:700;display:inline-flex}.grid-overlay-toggle[aria-pressed=true]{color:#193c68;background:#e5d6b9f5;border-color:#245158b8;box-shadow:inset 0 0 0 1px #2451583d}.grid-overlay-toggle-state{text-transform:uppercase;letter-spacing:.06em;border:1px solid;border-radius:999px;align-items:center;min-height:1.5rem;padding:0 .45rem;font-size:.72rem;display:inline-flex}.grid-overlay-active-pattern{color:#2e241dc2;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:650;overflow:hidden}.grid-overlay-options{gap:.35rem;min-width:0;display:grid}.grid-overlay-options-label{letter-spacing:.07em;text-transform:uppercase;font-size:.74rem;font-weight:750}.grid-pattern-options{flex-wrap:wrap;width:100%;display:flex}.grid-pattern-options .ui-toggle-group-item{background:#fff9eedb;border-color:#422f2547;flex:9rem;padding:.25rem .6rem}.grid-pattern-options .ui-toggle-group-item[data-state=on]{color:#213e42;background:#e5d6b9f5;border-color:#245158c7;box-shadow:inset 0 0 0 1px #24515847}.grid-pattern-option{justify-content:center;align-items:center;gap:.35rem;width:100%;font-weight:650;display:inline-flex}.grid-pattern-preview{flex:none}.grid-pattern-preview path{fill:currentColor;stroke:#fffc;stroke-width:1.5px}.grid-overlay-compatible-shapes{color:var(--atlas-ink-muted);margin:0;font-size:.78rem}.minimap-overlay{z-index:11;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8f3eaeb;border:1px solid #3b2d2438;border-radius:14px;gap:.35rem;width:min(15rem,100% - 1.6rem);padding:.55rem;display:grid;position:absolute;bottom:.8rem;right:.8rem;box-shadow:0 10px 28px #2e1d122e}.minimap-overlay--minimized{width:auto;min-width:8.25rem;padding:.42rem .48rem}.canvas-zoom-controls{z-index:11;background:#110f1ae6;border:1px solid #e3d0ad47;border-radius:10px;justify-items:center;gap:.35rem;padding:.55rem;display:grid;position:absolute;top:50%;right:1rem;transform:translateY(-50%);box-shadow:0 10px 24px #04070e70}.canvas-zoom-controls-label{color:#b4d9e0eb;letter-spacing:.08em;text-transform:uppercase;font-family:Alegreya Sans,sans-serif;font-size:.64rem;font-weight:800}.canvas-zoom-controls-actions button{color:#2e241de6;background:#fff9eef0;border:1px solid #422f2557;border-radius:8px;justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;padding:0;display:inline-flex}.canvas-zoom-controls-actions button:hover:not(:disabled){color:#193c68;background:#e5d6b9f5;border-color:#245158c7}.canvas-zoom-controls-actions button:disabled{opacity:.5}.minimap-header{justify-content:space-between;align-items:baseline;gap:.4rem;display:flex}.minimap-header-actions{align-items:center;gap:.35rem;display:inline-flex}.minimap-header h3{letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:780}.minimap-header span{color:var(--atlas-ink-muted);letter-spacing:.02em;font-size:.72rem}.minimap-minimize-toggle{min-height:var(--touch-target-min);min-width:var(--touch-target-min);border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:.86rem;font-weight:780;display:inline-flex}.minimap-corner-controls{z-index:3;gap:.24rem;display:inline-flex;position:absolute;top:.26rem;right:.26rem}.minimap-corner-controls button{min-height:var(--touch-target-min);min-width:var(--touch-target-min);color:#2e241de6;background:#fff9eef0;border:1px solid #422f2557;border-radius:6px;padding:0;font-size:.68rem;font-weight:760;line-height:1}.minimap-corner-controls button:hover:not(:disabled){color:#213e42;background:#cbe0dc;border-color:#245158c7}.minimap-corner-controls button:disabled{opacity:.5}.minimap-track{aspect-ratio:1;cursor:crosshair;background:radial-gradient(circle at 25% 25%,#ffffff52,#0000 58%),linear-gradient(165deg,#d3cdbdbd,#c2b9a7b3);border:1px solid #3b2d2438;border-radius:10px;position:relative;overflow:hidden}.minimap-quilt-render{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.minimap-tile{opacity:.8}.minimap-occupancy{fill:#2f7677;stroke:#ffffff47;stroke-width:.2px}.minimap-viewport{cursor:grab;touch-action:none;z-index:2;background:#2d848c2e;border:2px solid #186773f2;border-radius:4px;position:absolute;box-shadow:inset 0 0 0 1px #fcfaf6eb,0 0 0 1px #18677342}.minimap-viewport:active{cursor:grabbing}.collaborator-roster{z-index:10;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;max-width:min(60%,460px);display:flex;position:absolute;top:.8rem;right:.8rem}.collaborator-chip{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;background:#f8f3eaeb;border:1px solid #3b2d242e;border-radius:999px;max-width:120px;padding:.2rem .54rem;font-size:.74rem;overflow:hidden}.invalid-pulse .status-strip{animation:.18s pulse}.hint-list p{opacity:.8;margin:0;font-size:.8rem}@keyframes pulse{0%{transform:scale(1)}40%{transform:scale(1.02)}to{transform:scale(1)}}@media (width<=960px){.app-shell{height:auto;overflow:hidden visible}.lobby-header{flex-direction:column;align-items:stretch}.lobby-actions{width:100%}.lobby-actions button{flex:1}.lobby-row{flex-direction:column;align-items:flex-start}.lobby-claim{flex-direction:column;align-items:stretch}.lobby-row button{width:100%}.lobby-preset-grid{grid-template-columns:1fr}.canvas-workspace{grid-template-rows:minmax(24rem,1fr) auto auto;grid-template-columns:1fr}.canvas-shell{height:max(24rem,100dvh - 5.5rem)}.palette-region{max-height:34dvh}.tile-palette-summary{padding:.65rem}.chat-panel{min-height:24rem}}@media (width<=479px){.canvas-workspace{gap:.5rem;padding:.5rem}.app-header{padding:.5rem .75rem}.grid-overlay-controls{width:calc(100% - 1rem);max-height:50%;padding:.45rem;bottom:.5rem;left:.5rem}.grid-overlay-controls-header{flex-direction:column;align-items:stretch}.minimap-overlay{gap:.25rem;width:8.5rem;padding:.45rem;top:7rem;bottom:auto;right:.5rem}.minimap-header h3{font-size:.72rem}.minimap-header span{display:none}.minimap-controls{gap:.2rem}.minimap-corner-controls button{min-width:.98rem;min-height:.98rem}.grid-overlay-toggle{width:100%}.grid-pattern-options .ui-toggle-group-item{flex-basis:8rem}.palette-custom-input-row{grid-template-columns:minmax(0,1fr)}.palette-custom-input-row button{width:100%}}@media (prefers-reduced-motion:reduce){button{transition:none}button:hover{transform:none}.invalid-pulse .status-strip{animation:none}}:root{--workshop-ink:#f3ecde;--workshop-blue:#65a5b0;--workshop-paper:#13111b;--workshop-paper-deep:#1e1a2a;--workshop-copper:#a44b3f;--workshop-yellow:#cb9a3a;--workshop-line:#e3d0ad3d;--workshop-soft-line:#e3d0ad24;--ink:var(--workshop-ink);--warm:var(--workshop-paper);--panel:#171321f2;--panel-border:var(--workshop-line);--radius:8px}.app-shell,.auth-shell,.lobby-shell,.app-error-page{color:var(--workshop-ink);background-color:var(--workshop-paper);background-image:radial-gradient(circle at 12% 20%,#4f8d9a33,#0000 36%),radial-gradient(circle at 84% 6%,#9f433738,#0000 30%),radial-gradient(circle at 52% 75%,#cb9a3a21,#0000 38%),linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:auto,auto,auto,30px 30px,30px 30px;font-family:Alegreya Sans,sans-serif}.backdrop-gradient{background:radial-gradient(circle at 78% 10%,#4f8d9a3d,#0000 34%),radial-gradient(circle at 18% 65%,#9f433738,#0000 40%),radial-gradient(circle at 50% 120%,#cb9a3a24,#0000 52%),linear-gradient(156deg,#11101a 0%,#171324 55%,#1f1a2e 100%);animation:28s ease-in-out infinite alternate catacomb-drift}@keyframes catacomb-drift{0%{filter:hue-rotate()saturate()}to{filter:hue-rotate(-8deg)saturate(112%)}}.auth-panel,.app-error-panel,.lobby-panel,.palette-region{border:1px solid var(--workshop-line);border-radius:8px;box-shadow:0 16px 34px #03040a6b}.app-header{min-height:68px;color:var(--workshop-ink);border-bottom:1px solid var(--workshop-line);background:linear-gradient(#1a1626fa,#15121ff2);gap:1rem;padding:.65rem 1rem;box-shadow:0 5px 16px #0000004d}.app-brand{align-items:center;gap:.55rem;min-width:0;display:flex}.app-brand-mark{color:#f7efe2;background:linear-gradient(150deg,#844337 0%,#bb6648 100%);border:1px solid #ebd8baa8;place-items:center;width:30px;height:30px;font-family:Cinzel,serif;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #fff3,0 5px 12px #00000059}.app-header-title{letter-spacing:.02em;flex:none;font-family:Cinzel,serif;font-size:1.4rem;font-weight:700}.app-brand-subtitle{color:#decdafd6;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.67rem;font-weight:700}.app-header-meta{gap:.65rem;margin-left:auto}.observer-invite{color:#b0e0e9f5;letter-spacing:.05em;text-transform:uppercase;background:#11323a70;border:1px solid #65a5b080;border-radius:999px;align-items:center;min-height:2rem;padding:.36rem .62rem;font-size:.74rem;font-weight:700;display:inline-flex}.collaborator-summary{border:1px solid var(--workshop-line);color:#dac9aaf5;background:#191623eb;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .58rem;font-size:.74rem;font-weight:700;display:inline-flex}.collaborator-summary svg,.return-btn svg,.account-signout svg{stroke-width:2.2px;width:1rem;height:1rem}.account-control{border-color:var(--workshop-line);box-shadow:none;background:#181522f2;border-radius:999px}.theme-toggle{width:var(--touch-target-min);min-width:var(--touch-target-min);height:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle svg{width:1rem;height:1rem}.account-signout{color:var(--workshop-ink);width:var(--touch-target-min);min-width:var(--touch-target-min);height:var(--touch-target-min);min-height:var(--touch-target-min);border-radius:999px}.return-btn{border-radius:999px;align-items:center;gap:.42rem;font-size:.76rem;display:inline-flex}.canvas-workspace{background:linear-gradient(#110f1bbf 0%,#0d0b15f2 100%);grid-template-columns:minmax(0,1fr) 312px;gap:0;padding:0}.canvas-shell{box-shadow:none;background:radial-gradient(circle at 60% 20%,#40545f66,#14111eeb);border:0;border-radius:0}.palette-region{box-shadow:none;background:radial-gradient(circle at 80% 0,#cb9a3a14,#0000 48%),linear-gradient(#16121ff7 0%,#110e19f7 100%);border-width:0 0 0 1px;padding:1.15rem}:root[data-theme=light]{--workshop-ink:#193c48;--workshop-blue:#286f7d;--workshop-paper:#f5f0e4;--workshop-paper-deep:#e9dfca;--workshop-copper:#a44b3f;--workshop-yellow:#a66d08;--workshop-line:#193c4838;--workshop-soft-line:#193c4824;--ink:var(--workshop-ink);--warm:var(--workshop-paper);--panel:#fffcf4f0;--panel-border:var(--workshop-line);--color-text-primary:var(--workshop-ink);--color-surface-primary:var(--workshop-paper);--color-surface-panel:var(--panel);--color-border-subtle:var(--workshop-line);--color-accent-primary:var(--workshop-yellow);--atlas-surface:#fffcf4f0;--atlas-ink:#193c48f5;--atlas-ink-muted:#193c48d6;--atlas-line:#193c4838;--atlas-command:#286f7de6;--atlas-authorship:#235260f5;--atlas-selection:#a66d082e}:root[data-theme=light] .app-shell,:root[data-theme=light] .auth-shell,:root[data-theme=light] .lobby-shell,:root[data-theme=light] .app-error-page{color:var(--workshop-ink);background-color:var(--workshop-paper);background-image:radial-gradient(circle at 12% 20%,#4f8d9a1f,#0000 36%),radial-gradient(circle at 84% 6%,#9f43371a,#0000 30%),linear-gradient(#193c4809 1px,#0000 1px),linear-gradient(90deg,#193c4809 1px,#0000 1px)}:root[data-theme=light] .backdrop-gradient{background:radial-gradient(circle at 78% 10%,#4f8d9a24,#0000 34%),radial-gradient(circle at 18% 65%,#9f43371a,#0000 40%),linear-gradient(156deg,#e9dfca 0%,#f5f0e4 55%,#dce8e5 100%)}:root[data-theme=light] .app-header{color:var(--workshop-ink);background:linear-gradient(#fffcf4fa,#efe9daf5)}:root[data-theme=light] .canvas-workspace{background:linear-gradient(#e8eee9c7,#dce8e5f2)}:root[data-theme=light] .canvas-shell{background:radial-gradient(circle at 60% 20%,#f0f4ebe6,#d6e2def5)}:root[data-theme=light] .palette-region{background:radial-gradient(circle at 80% 0,#cb9a3a1a,#0000 48%),linear-gradient(#fffcf4fa 0%,#efe9dafa 100%)}:root[data-theme=light] .status-strip,:root[data-theme=light] .collaborator-chip,:root[data-theme=light] .canonical-navigation,:root[data-theme=light] .grid-overlay-controls,:root[data-theme=light] .minimap-overlay,:root[data-theme=light] .canvas-interaction-guide,:root[data-theme=light] .canvas-zoom-coordinate{color:var(--workshop-ink);border-color:var(--workshop-line);background:#fffcf4f0;box-shadow:0 8px 18px #102f3d1f}:root[data-theme=light] button,:root[data-theme=light] .canvas-zoom-controls-actions button{color:var(--workshop-ink);border-color:var(--workshop-line);background:#fffcf4eb;box-shadow:0 2px 5px #102f3d14}:root[data-theme=light] button:hover:not(:disabled),:root[data-theme=light] .canvas-zoom-controls-actions button:hover:not(:disabled){border-color:var(--workshop-blue);background:#e9dfca}:root[data-theme=light] .palette-region .ui-toggle-group-item:not(.tile-palette-swatch){color:var(--workshop-ink);border-color:var(--workshop-line);background:#fffcf4db}:root[data-theme=light] .palette-region .ui-toggle-group-item[data-state=on]:not(.tile-palette-swatch){color:var(--workshop-ink);background:#cb9a3a3d;border-color:#a66d08b8}.palette-header-row{border-bottom:1px solid #e3d0ad5c;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding-bottom:.8rem;display:flex}.palette-region h2{color:var(--workshop-ink);letter-spacing:.02em;text-transform:none;opacity:1;margin:.12rem 0 0;font-family:Cinzel,serif;font-size:1.2rem;font-weight:700}.palette-region section h2,.palette-region h3{color:#b8d5dceb;letter-spacing:.11em;text-transform:uppercase;font-family:Alegreya Sans,sans-serif;font-size:.68rem;font-weight:800}button{color:var(--workshop-ink);background:linear-gradient(160deg,#292239fa 0%,#191524fa 100%);border-color:#e3d0ad57;border-radius:10px;font-weight:700;box-shadow:0 3px 8px #00000047}button:hover:not(:disabled){border-color:#65a5b0bd;transform:translate(-1px,-1px);box-shadow:0 8px 16px #06101880}button:active:not(:disabled){transform:translate(0);box-shadow:0 2px 6px #00000040}button.active,.grid-overlay-toggle[aria-pressed=true]{color:#fff4df;background:linear-gradient(145deg,#5e8a93 0%,#3f6974 100%);border-color:#bfe8ee9e;box-shadow:0 6px 12px #071c2373}.shape-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.shape-grid .ui-toggle-group-item{background:#221c2fcc;border-radius:10px;min-width:0;min-height:64px;padding:.32rem}.shape-grid .ui-toggle-group-item[data-state=on],.palette-region .ui-toggle-group-item[data-state=on]:not(.tile-palette-swatch){color:#193c68;background:#e5d6b9f5;border-color:#245158c7;box-shadow:inset 0 0 0 1px #24515847}.palette-region .ui-toggle-group-item:not(.tile-palette-swatch){color:var(--workshop-ink);background:#242033e0;border-color:#e3d0ad38}.palette-region .ui-toggle-group-item:not(.tile-palette-swatch):hover:not(:disabled){background:#242033fa;border-color:#65a5b0b8}.palette-region .ui-toggle-group-item[data-state=on]:not(.tile-palette-swatch){color:var(--workshop-ink);background:#cb9a3a33;border-color:#cb9a3ad1;box-shadow:inset 0 0 0 1px #cb9a3a42}.tile-shape-card-label{text-align:center;font-size:.64rem}.palette-preset-card,.tile-palette-summary,.palette-custom-input{border-radius:10px}.palette-control-chip{color:#fbecc6f5;background:#cb9a3a33;border-color:#e3d0ad5c;border-radius:999px}.tile-palette-swatch{border-radius:10px}.status-strip,.collaborator-chip,.canonical-navigation,.grid-overlay-controls,.minimap-overlay,.canvas-interaction-guide{border-color:var(--atlas-line);background:var(--atlas-surface);border-radius:10px;box-shadow:0 10px 24px #04070e70}.status-strip,.collaborator-chip,.minimap-header h3,.grid-overlay-options-label{color:var(--atlas-authorship);letter-spacing:.08em;font-family:Alegreya Sans,sans-serif;font-weight:800}.status-strip{border-left:1px solid #65a5b080;max-width:min(460px,100% - 2rem);top:1rem;left:1rem;right:auto}.collaborator-roster{top:1rem;right:1rem}.collaborator-chip{padding:.3rem .5rem}.canonical-navigation{border-bottom:1px solid #e3d0ad38;padding:.7rem .8rem}.canonical-navigation h2{letter-spacing:.02em;font-family:Cinzel,serif;font-size:1rem}.canonical-navigation p{color:var(--atlas-ink-muted)}.grid-overlay-controls{padding:.65rem;bottom:1rem;left:1rem}.grid-overlay-active-pattern{color:var(--atlas-ink-muted)}.grid-overlay-toggle[aria-pressed=true],.grid-pattern-options .ui-toggle-group-item[data-state=on]{color:var(--atlas-ink);background:var(--atlas-selection);border-color:var(--atlas-command);box-shadow:inset 0 0 0 1px #bf644f3d}.grid-pattern-options .ui-toggle-group-item{border-color:var(--atlas-line);color:var(--atlas-ink);background:#242033e0}.grid-pattern-options .ui-toggle-group-item:hover:not(:disabled){background:#242033fa;border-color:#7ebec7b8}.palette-custom-input{border-color:var(--atlas-line);color:var(--atlas-ink);background:#242033b8}.palette-custom-input-body label,.palette-custom-input-help{color:var(--atlas-ink-muted)}.palette-custom-input-error{color:var(--color-feedback-error)}.palette-custom-input-row input[type=color],.palette-custom-input-row input[type=text]{border-color:var(--atlas-line);color:var(--atlas-ink);background:#13111be0}.canvas-interaction-guide{z-index:6;color:#e7d9bef0;gap:.42rem;max-width:min(260px,100% - 2rem);padding:.62rem .72rem;display:grid;position:absolute;bottom:6.15rem;left:1rem}.canvas-interaction-guide-title{color:#b4d9e0eb;letter-spacing:.08em;text-transform:uppercase;margin:0;font-family:Alegreya Sans,sans-serif;font-size:.7rem;font-weight:800}.canvas-interaction-guide ul{gap:.18rem;margin:0;padding:0 0 0 1rem;font-size:.77rem;line-height:1.3;display:grid}.canvas-interaction-guide button{border-radius:999px;justify-self:start;min-height:2rem;padding:.2rem .6rem;font-size:.73rem}.canvas-interaction-guide-toggle{z-index:6;min-height:2.25rem;color:var(--workshop-ink);background:#1e1a2af0;border-color:#65a5b094;padding:.28rem .68rem;font-size:.73rem;position:absolute;bottom:1rem;left:1rem}.minimap-overlay{bottom:1rem;right:1rem}.canvas-zoom-controls{box-shadow:none;background:0 0;border:0;justify-items:start;gap:.3rem;padding:0;top:4.75rem;left:1rem;right:auto;transform:none}.canvas-zoom-controls-actions{gap:.25rem;display:flex}.canvas-zoom-controls-actions button{border-color:var(--atlas-line);width:1.75rem;min-width:1.75rem;height:1.75rem;min-height:1.75rem;color:var(--atlas-ink);box-shadow:none;background:#242033f0;border-radius:5px;padding:0}.canvas-zoom-controls-actions button svg{width:.65rem;height:.65rem}.canvas-zoom-coordinate{border:1px solid var(--atlas-line);color:var(--atlas-ink);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;background:#13111be0;border-radius:4px;padding:.24rem .4rem;font-family:Alegreya Sans,sans-serif;font-size:.62rem;font-weight:700;line-height:1.2;display:block}.minimap-track{border-color:var(--atlas-line);background-color:#0000;background-image:linear-gradient(#7eaeb914 1px,#0000 1px),linear-gradient(90deg,#7eaeb914 1px,#0000 1px),linear-gradient(165deg,#221e2ff0,#15121ff5);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:10px 10px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px}.minimap-occupancy{fill:#65a5b0d6}.minimap-viewport{border-color:var(--atlas-command);background:var(--atlas-selection);border-radius:4px;box-shadow:inset 0 0 0 1px #e9dcbeb8}.lobby-panel h1,.auth-panel h1,.app-error-panel h1{color:var(--workshop-ink);font-family:Cinzel,serif}@media (width<=960px){.canvas-workspace{grid-template-columns:1fr}.palette-region{border-width:1px 0 0;max-height:38dvh}.shape-grid{grid-template-columns:repeat(8,minmax(54px,1fr))}}@media (width<=640px){.app-header{gap:.5rem;min-height:58px}.app-brand-subtitle,.observer-invite,.profile-summary{display:none}.app-header-title{font-size:1.3rem}.return-btn span{display:none}.shape-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.status-strip,.collaborator-roster{top:.75rem}.status-strip{left:.75rem}.collaborator-roster{right:.75rem}.grid-overlay-controls{bottom:.75rem;left:.75rem}.canvas-interaction-guide{max-width:min(236px,100% - 1.5rem);bottom:5.85rem;left:.75rem}.canvas-interaction-guide-toggle{bottom:.75rem;left:.75rem}.minimap-overlay{align-self:start;height:fit-content;right:.75rem}.canvas-zoom-controls{inset:4.5rem auto auto .75rem;transform:none}}.palette-current-selection{border-bottom:1px solid var(--workshop-soft-line);grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:center;gap:.55rem;margin:0 0 1rem;padding:.5rem 0;display:grid}.palette-current-selection-swatch{border:2px solid var(--workshop-ink);border-radius:2px;width:2.4rem;height:2.4rem;box-shadow:inset 0 0 0 1px #ffffff47}.palette-current-selection-label{color:var(--workshop-blue);letter-spacing:.09em;text-transform:uppercase;font-size:.64rem;font-weight:700;display:block}.palette-current-selection p{color:var(--workshop-ink);margin:.16rem 0 0;font-size:.78rem;font-weight:650;line-height:1.25}.palette-current-selection code{color:#e7d9bed6;text-align:right;font-family:Alegreya Sans,sans-serif;font-size:.66rem;font-weight:700}.palette-region section{margin-bottom:1.15rem}.palette-control{gap:.5rem}.palette-control-header{align-items:center}.palette-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.palette-preset-card{gap:.28rem;min-height:3.25rem;padding:.32rem}.palette-preset-card-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.palette-preset-card-strip{gap:.1rem}.palette-preset-card-swatch{border-radius:1px;height:.36rem}.palette-subsection{gap:.35rem;padding-top:.2rem}.palette-subsection h3{margin:0}.palette-color-grid{gap:.32rem}.tile-palette-swatch{min-width:0;min-height:2.75rem}.palette-custom-input{margin-top:.25rem}@media (width<=640px){.palette-current-selection{grid-template-columns:2.25rem minmax(0,1fr) auto}.palette-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
