:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#26333b;background:#f2eee5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}.shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#fffaf0,transparent 38%),#f2eee5}.card{width:min(100%,460px);padding:clamp(24px,6vw,44px);border:1px solid #dcd5c6;border-radius:24px;background:#fffdf7f0;box-shadow:0 18px 60px #4339261f}.eyebrow{margin:0 0 12px;color:#92745a;font-size:11px;font-weight:800;letter-spacing:.16em}h1{margin:0;color:#273a43;font-size:clamp(28px,6vw,42px);line-height:1.08}.lead{margin:16px 0 28px;color:#647179;line-height:1.7}.tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid #e5ded2}.tabs button{border:0;border-bottom:2px solid transparent;padding:10px 4px;color:#748087;background:transparent;cursor:pointer}.tabs button.active{border-color:#c46b54;color:#9a4b3b;font-weight:700}.form{display:grid;gap:16px}label{display:grid;gap:8px;color:#46545b;font-size:14px;font-weight:700}input:not([type=checkbox]){width:100%;border:1px solid #d8d0c2;border-radius:12px;padding:13px 14px;color:#26333a;background:#fff;outline:none}input:focus{border-color:#b8624e;box-shadow:0 0 0 3px #b8624e24}button{border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer}button:disabled{cursor:wait;opacity:.6}.primary{border:0;color:#fffaf5;background:#b65e4b}.secondary{border:1px solid #cfc5b6;color:#485960;background:transparent}.consent{display:flex;grid-template-columns:auto 1fr;align-items:start;gap:9px;font-size:12px;font-weight:500;line-height:1.5}.consent input{margin-top:3px}.notice,.error{margin:0 0 18px;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5}.notice{color:#2e6654;background:#e9f4ed}.error{color:#8d3d32;background:#fae8e3}.ready{display:grid;gap:14px}.muted{color:#78858b;font-size:14px;line-height:1.6}@media(max-width:480px){.shell{padding:12px;align-items:start;padding-top:9vh}.card{border-radius:18px}}:root{--ink-strong: #24353d;--ink: #52646a;--ink-soft: #7d898a;--paper: #fffaf1;--paper-strong: #fffdf8;--line: rgba(121, 101, 77, .2);--terracotta: #bd654f;--terracotta-dark: #974838;--sage: #6d8a78;--gold: #d89d4f;--shadow-soft: 0 18px 48px rgba(80, 58, 36, .12);--shadow-card: 0 10px 26px rgba(80, 58, 36, .09)}body{color:var(--ink-strong);background:#eee7d8}.game-shell{background:radial-gradient(circle at 8% 0%,rgba(255,249,231,.95),transparent 34rem),radial-gradient(circle at 90% 12%,rgba(217,191,151,.25),transparent 28rem),linear-gradient(145deg,#eee7d8,#f6f0e4 48%,#e8dfd0)}.game-header{padding:8px 2px 2px}.game-header h1,.panel-heading h1,.avatar-editor-heading h2{color:var(--ink-strong);letter-spacing:-.035em}.game-header-actions{max-width:740px}.game-header-actions button,.panel-heading>button{min-height:42px}.connection-pill,.online-count{border:1px solid var(--line);box-shadow:0 4px 12px #503a240f}.world-card,.chat-card,.panel-page>.room-settings,.panel-page>.room-directory,.panel-page>.room-game-editor,.room-board,.room-controls,.avatar-preview-panel,.avatar-picker,.shop-product,.inventory-item,.admin-card,.admin-metric,.trade-start{border-color:var(--line);box-shadow:var(--shadow-card)}.world-card{background:#fffaf0e0}.world-toolbar{background:#fffdf8bd}.world-toolbar span:first-child:before{content:"✦ ";color:var(--terracotta)}.chat-card{background:#fffdf8e6}.chat-heading h2{color:var(--ink-strong);letter-spacing:-.02em}.chat-compose button,.seat-actions button{min-height:42px}button{transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}button:not(:disabled):hover{transform:translateY(-1px)}.primary{background:linear-gradient(145deg,#c8735c,var(--terracotta-dark));box-shadow:0 8px 16px #9748382e}.secondary{border-color:#79654d4d;background:#fffdf8a3}.panel-page{padding-top:26px}.panel-heading{align-items:center}.shop-hero{display:flex;align-items:stretch;justify-content:space-between;gap:20px;margin-bottom:18px;border:1px solid rgba(121,101,77,.18);border-radius:24px;padding:18px 20px;color:#fff9ec;background:linear-gradient(115deg,#3b5753f0,#536c5edb),url(/assets/furniture/alpha-collections-board.png) center / cover;box-shadow:var(--shadow-soft)}.shop-hero>div:first-child{display:grid;align-content:center;gap:7px}.shop-hero .eyebrow{margin:0;color:#f2d5a3}.shop-hero strong{font-size:clamp(20px,3vw,32px);letter-spacing:-.03em}.shop-hero span:not(.eyebrow){color:#fff9ecc7;font-size:13px}.shop-balance-card{width:190px;margin:0;border-color:#ffffff40;background:#fffaed24;color:#fff9ec;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.shop-balance-card span,.shop-balance-card strong,.shop-balance-card small{color:inherit}.shop-toolbar{display:grid;gap:10px;margin-bottom:16px}.segmented-tabs,.filter-pills{display:flex;flex-wrap:wrap;gap:7px}.segmented-tabs{border-bottom:1px solid var(--line);padding-bottom:9px}.segmented-tabs button,.filter-pills button{min-height:42px;border:1px solid rgba(121,101,77,.22);border-radius:999px;padding:9px 15px;color:var(--ink);background:#fffdf8ad;font-size:12px}.segmented-tabs button{border:0;border-radius:10px 10px 0 0;background:transparent;font-size:14px}.segmented-tabs button.active,.filter-pills button.active{border-color:var(--terracotta);color:#fff;background:var(--terracotta);box-shadow:0 6px 14px #97483824}.segmented-tabs button.active{border-bottom:3px solid var(--terracotta-dark);border-radius:10px 10px 0 0;color:var(--terracotta-dark);background:transparent;box-shadow:none}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:15px}.shop-product{gap:13px;min-height:278px;padding:12px;overflow:hidden;background:#fffdf8e6}.shop-product-artboard,.inventory-artboard{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(145deg,#efe2cb,#d8c2a0)}.shop-product-artboard{height:136px}.shop-product-image{width:100%;height:100%;border-radius:0;object-fit:cover;background:transparent}.shop-product-image.furniture,.inventory-furniture-preview{background-color:#efe2cb;background-repeat:no-repeat;background-size:400% 400%}.inventory-furniture-preview{width:100%;height:100%}.shop-product-image.avatar{object-position:center 41%}.shop-product-image.furniture{object-position:center 43%}.rarity-badge,.owned-badge{position:absolute;top:9px;border-radius:999px;padding:4px 7px;color:#fff;background:#24353dc2;font-size:10px;font-weight:800;text-transform:uppercase}.rarity-badge{left:9px}.owned-badge{right:9px;background:#3d7057e0}.rarity-badge.rare{background:#7d4b80e6}.rarity-badge.uncommon{background:#336f79e6}.shop-product-copy{display:grid;gap:4px}.shop-product-copy strong{color:var(--ink-strong);font-size:14px}.shop-product-copy small{color:var(--ink-soft)}.shop-next-steps,.inventory-next-steps{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.shop-next-steps span{flex:1 1 100%;color:var(--ink-soft);font-size:13px}.inventory-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.inventory-summary>div{display:grid;gap:3px;border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:#fffdf8c7;box-shadow:var(--shadow-card)}.inventory-summary strong{color:var(--terracotta-dark);font-size:26px}.inventory-summary span{color:var(--ink-soft);font-size:12px}.inventory-tabs{margin-bottom:15px}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr))}.inventory-item{padding:12px;background:#fffdf8e0}.inventory-artboard{height:108px}.inventory-artboard img{width:100%;height:100%;object-fit:cover}.inventory-item>span:not(.shop-product-art){color:var(--ink-soft)}@media(max-width:800px){.shop-hero{display:grid}.shop-balance-card{width:100%}.game-header{align-items:flex-start}.game-header-actions{gap:6px}.game-header-actions button{flex:1 1 auto;min-height:44px;padding-inline:11px}}@media(max-width:480px){.panel-page{padding-top:12px}.panel-heading{align-items:flex-start}.panel-heading>button{flex:0 0 auto}.inventory-summary{gap:7px}.inventory-summary>div{padding:11px 9px}.inventory-summary strong{font-size:21px}.shop-product-artboard{height:128px}.shop-next-steps,.inventory-next-steps{align-items:stretch}.shop-next-steps button,.inventory-next-steps button{flex:1 1 100%}}.game-shell{min-height:100vh;padding:20px clamp(12px,4vw,52px) 32px;background:#f2eee5;color:#26333b}.game-header{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1400px;margin:0 auto 16px}.game-header h1{font-size:clamp(24px,4vw,40px)}.game-header-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px}.connection-pill,.online-count{border-radius:999px;padding:7px 10px;color:#53626a;background:#fffdf7;font-size:12px;font-weight:800}.connection-pill.connected{color:#2e6654;background:#e9f4ed}.connection-pill.reconnecting,.connection-pill.connecting{color:#8a6630;background:#fff1d5}.connection-pill.disconnected{color:#8d3d32;background:#fae8e3}.game-notice{max-width:1400px;margin:0 auto 12px;border-radius:10px;padding:10px 12px;color:#8d3d32;background:#fae8e3;font-size:13px}.user-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;max-width:420px;margin:0 auto 12px;padding:14px;border:1px solid #dbcdb9;border-radius:16px;background:#fffdf7fa;box-shadow:0 14px 38px #43392624}.user-card-avatar{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;color:#fff7e6;background:linear-gradient(145deg,#c97957,#6b8491);font-size:24px}.user-card-avatar-image{display:block;overflow:hidden;background-color:#f4e8d5;background-repeat:no-repeat;background-size:400% 400%;image-rendering:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.user-card p{margin:3px 0 0}.user-card-outfit{color:#78858b;font-size:12px}.user-card-actions{display:flex;flex-wrap:wrap;grid-column:1 / -1;gap:7px}.user-card-actions button{padding:8px 10px;font-size:12px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:16px;max-width:1400px;margin:0 auto}.world-card,.chat-card{min-width:0;border:1px solid #dcd5c6;border-radius:20px;background:#fffdf7f0;box-shadow:0 18px 60px #43392617}.world-card{overflow:hidden}.world-toolbar{display:flex;justify-content:space-between;gap:10px;padding:11px 16px;color:#78858b;border-bottom:1px solid #ebe4d8;font-size:12px}.world-viewport{position:relative;min-height:min(66vh,640px);height:min(66vh,640px);overflow:hidden;touch-action:none}.world-viewport canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.world-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid #dcd5c6;border-radius:999px;padding:10px 14px;color:#6b4b42;background:#fffdf7f0;box-shadow:0 8px 26px #4339261f;font-size:13px;font-weight:700;pointer-events:none}.seat-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 16px;border-top:1px solid #ebe4d8}.seat-actions button{padding:8px 11px;font-size:12px}.chat-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:min(66vh,640px);overflow:hidden}.chat-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:16px;border-bottom:1px solid #ebe4d8}.chat-heading h2{margin:0;font-size:18px}.chat-heading span{color:#78858b;font-size:11px}.chat-history{overflow-y:auto;padding:12px 16px}.chat-line{display:grid;gap:3px;margin-bottom:12px;font-size:13px;line-height:1.4}.chat-line strong{color:#9a4b3b;font-size:12px}.chat-line span{overflow-wrap:anywhere}.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 16px 16px;border-top:1px solid #ebe4d8}.chat-compose input{min-width:0}.chat-compose button{padding:10px 12px}.avatar-editor{max-width:1180px;margin:0 auto;padding:18px 0}.avatar-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.avatar-editor-heading h2{margin:0;color:#273a43;font-size:clamp(26px,4vw,38px)}.avatar-editor-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:18px}.avatar-preview-panel{display:grid;place-items:center;align-content:center;gap:10px;min-height:560px;border:1px solid #dcd5c6;border-radius:20px;background:linear-gradient(145deg,#fffaf0,#eee1cb)}.avatar-preview{position:relative;width:280px;height:360px}.avatar-preview.production-preview{display:grid;place-items:end center;overflow:hidden;border-radius:18px;background:linear-gradient(145deg,#fffaf0ad,#eee1cbb8)}.production-avatar-image{display:block;width:252px;height:348px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 10px rgba(69,54,38,.16))}.production-avatar-atlas-preview{width:252px;height:348px;border-radius:18px;background-repeat:no-repeat;background-size:400% 400%;background-color:#fffaf0ad;filter:drop-shadow(0 14px 10px rgba(69,54,38,.16))}.avatar-preview-layer-stack{position:relative;width:252px;height:348px;border-radius:18px;background:#fffaf0ad;filter:drop-shadow(0 14px 10px rgba(69,54,38,.16));overflow:hidden}.avatar-preview-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background-repeat:no-repeat;background-size:400% 400%;pointer-events:none}.avatar-preview-layer-base{background-repeat:no-repeat;background-size:400% 400%}.avatar-direction-state-board{width:min(100%,320px);margin:0;padding:8px;border:1px solid rgba(220,213,198,.9);border-radius:14px;background:#fffdf7b8}.avatar-direction-state-board img{display:block;width:100%;border-radius:9px}.avatar-direction-state-board figcaption{margin-top:6px;color:#7b6a58;font-size:11px;text-align:center}.preview-shadow{position:absolute;left:40px;right:40px;bottom:34px;height:28px;border-radius:50%;background:#45362629}.preview-legs,.preview-body,.preview-head,.preview-hair,.preview-face,.preview-accessory{position:absolute;left:50%;transform:translate(-50%)}.preview-legs{bottom:64px;width:92px;height:105px;border-radius:24px 24px 14px 14px;background:#4e6572}.preview-legs[data-color=linen]{background:#c6b393}.preview-legs[data-color=moss]{background:#70815d}.preview-legs[data-color=slate]{background:#566172}.preview-legs[data-color=clay]{background:#a36e5a}.preview-legs[data-color=night]{background:#303847}.preview-body{bottom:130px;width:142px;height:132px;border-radius:54px 54px 30px 30px;background:#d9785d;box-shadow:inset 0 -10px #5c39341f}.preview-body[data-color=sage]{background:#8ca58a}.preview-body[data-color=ocean]{background:#668fa8}.preview-body[data-color=plum]{background:#8d718c}.preview-body[data-color=sun]{background:#d2a64e}.preview-body[data-color=ink]{background:#47535e}.preview-body[data-color=mint]{background:#72b3a2}.preview-body[data-color=berry]{background:#ae5a70}.preview-head{bottom:212px;width:118px;height:118px;border-radius:48% 48% 44% 44%;background:#d39d78;z-index:2}.preview-head[data-tone=rose]{background:#e0a19b}.preview-head[data-tone=sand]{background:#e2bb8b}.preview-head[data-tone=cocoa]{background:#8e5f4f}.preview-hair{bottom:245px;width:132px;height:78px;border-radius:70px 70px 30px 30px;background:#5b3b38;z-index:3}.preview-hair[data-style=crop]{height:60px}.preview-hair[data-style=wave],.preview-hair[data-style=long]{height:108px}.preview-hair[data-style=curl]{border-radius:48% 48% 24px 24px}.preview-hair[data-style=braid]{width:150px}.preview-hair[data-style=sweep]{transform:translate(-42%)}.preview-hair[data-style=spike]{clip-path:polygon(0 100%,8% 18%,30% 40%,48% 0,64% 38%,92% 10%,100% 100%)}.preview-face{bottom:247px;width:54px;height:14px;border-top:4px solid #26333b;border-radius:50%;z-index:4}.preview-face:after{content:"";position:absolute;left:21px;top:8px;width:14px;height:6px;border-bottom:3px solid #8f4f48;border-radius:50%}.preview-face[data-face=face-02]{transform:translate(-50%) translate(-4px)}.preview-face[data-face=face-03]{transform:translate(-50%) translate(4px)}.preview-face[data-face=face-04]:after{height:10px}.preview-accessory{bottom:276px;width:88px;height:20px;border:4px solid #e2bd6c;border-radius:9px;z-index:5}.avatar-picker{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:560px;border:1px solid #dcd5c6;border-radius:20px;background:#fffdf7;overflow:hidden}.avatar-categories{display:flex;gap:6px;overflow-x:auto;padding:12px;border-bottom:1px solid #ebe4d8}.avatar-categories button{flex:0 0 auto;min-height:44px;border:1px solid #d7cdbd;color:#65737a;background:#fff;font-size:12px}.avatar-categories button.active{color:#fff;border-color:#b65e4b;background:#b65e4b}.avatar-item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));align-content:start;gap:10px;overflow-y:auto;padding:14px}.avatar-item{display:grid;justify-items:center;gap:8px;min-height:116px;border:2px solid #e0d7c9;color:#526069;background:#fff;font-size:11px}.avatar-item.selected{border-color:#b65e4b;box-shadow:0 0 0 3px #b65e4b24}.avatar-item-swatch{width:60px;height:60px;border-radius:50%;background:#d39d78;box-shadow:inset 0 -9px #352a281f}.avatar-item-swatch.hair{border-radius:58% 58% 28% 28%;background:#5b3b38}.avatar-item-swatch.top{border-radius:17px;background:#d9785d}.avatar-item-swatch.bottoms{border-radius:15px;background:#4e6572}.avatar-item-swatch.shoes{width:66px;height:30px;border-radius:50%;background:#665447}.avatar-item-swatch.accessory{border:5px solid #e2bd6c;background:transparent}.avatar-item-swatch[data-style=sage]{background:#8ca58a}.avatar-item-swatch[data-style=ocean]{background:#668fa8}.avatar-item-swatch[data-style=plum]{background:#8d718c}.avatar-item-swatch[data-style=sun]{background:#d2a64e}.avatar-item-swatch[data-style=mint]{background:#72b3a2}.avatar-item-swatch[data-style=berry]{background:#ae5a70}.avatar-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 14px;border-top:1px solid #ebe4d8}.avatar-editor-actions button{min-height:46px}.panel-page{max-width:1180px;margin:0 auto;padding:18px 0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading h1{font-size:clamp(28px,5vw,44px)}.balance-card{display:grid;gap:4px;width:min(100%,300px);margin-bottom:18px;padding:16px 18px;border:1px solid #dcd5c6;border-radius:16px;background:#fffdf7}.balance-card span{color:#92745a;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.balance-card strong{color:#273a43;font-size:32px}.balance-card small,.shop-product small{color:#78858b;font-size:12px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.shop-product{display:grid;gap:12px;min-height:220px;padding:14px;border:1px solid #dcd5c6;border-radius:16px;background:#fffdf7}.shop-product-art{display:block;width:100%;height:94px;border-radius:12px;background:linear-gradient(145deg,#f0d4a6,#d88e72)}.shop-product-art.furniture{background:linear-gradient(145deg,#b8876f,#6b4b42)}.shop-product-image{display:block;width:100%;height:94px;border-radius:12px;object-fit:contain;background:#f4eadb}.shop-product strong,.shop-product small{display:block;text-transform:capitalize}.shop-product-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.shop-product-footer b{color:#9a4b3b;font-size:13px}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.inventory-item{display:grid;gap:6px;padding:16px;border:1px solid #dcd5c6;border-radius:16px;background:#fffdf7}.inventory-item>span:not(.shop-product-art){color:#78858b;font-size:13px}.inventory-item small{color:#9a4b3b;font-size:12px}.inventory-empty{display:grid;gap:6px;padding:28px;border:1px dashed #dcd5c6;border-radius:16px;background:#fffdf7}.room-settings{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;align-items:end;gap:12px;margin-bottom:18px;padding:14px;border:1px solid #dcd5c6;border-radius:16px;background:#fffdf7}.room-overview,.room-empty-state{display:grid;gap:5px;margin-bottom:14px;border-radius:14px;padding:13px 15px;color:#6b4b42;background:#f6ecdc;font-size:13px}.room-overview span,.room-empty-state span{color:#78858b}.room-empty-state{border:1px solid #e3b8aa;background:#faeee5}.room-empty-state button{justify-self:start}.admin-page{max-width:1400px}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.admin-metric,.admin-card{border:1px solid #dcd5c6;border-radius:16px;background:#fffdf7}.admin-metric{display:grid;gap:4px;padding:14px}.admin-metric span,.admin-user-row span,.admin-log-row small{color:#78858b;font-size:12px}.admin-metric strong{color:#9a4b3b;font-size:24px}.admin-card{display:grid;gap:12px;margin-bottom:14px;padding:16px}.admin-card h2{margin:0;color:#273a43;font-size:17px}.admin-card-heading,.admin-search-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-search-row input{flex:1}.admin-search-row select{width:180px}.admin-user-list{display:grid;gap:6px;max-height:260px;overflow:auto}.admin-user-row{display:grid;gap:3px;justify-items:start;padding:10px 12px;border:1px solid #e4dacb;border-radius:10px;color:#273a43;background:#fff;text-align:left}.admin-user-row.selected{border-color:#b65e4b;background:#faeee5}.admin-action-box{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px;border-radius:12px;background:#f6ecdc}.admin-action-box input{flex:1;min-width:180px}.admin-secret-result{margin:0;border-radius:10px;padding:10px;color:#6b4b42;background:#f6ecdc;overflow-wrap:anywhere}.admin-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-columns .admin-card{min-width:0}.admin-log-row{margin:0;border-top:1px solid #ebe4d8;padding-top:8px;color:#526069;font-size:12px;overflow-wrap:anywhere}.room-directory{display:grid;gap:12px;margin-bottom:18px;padding:14px;border:1px solid #dcd5c6;border-radius:16px;background:#fffdf7}.room-directory h2{margin:0;color:#273a43;font-size:17px}.room-directory-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.room-directory-item{display:grid;gap:4px;justify-items:start;min-height:68px;border:1px solid #d7cdbd;color:#526069;background:#fff;text-align:left}.room-directory-item span,.visited-room span,.visited-room small{color:#78858b;font-size:12px}.visited-room{display:grid;gap:4px;padding:12px;border-radius:12px;color:#273a43;background:#f3ead9}.visited-placement-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.visited-placement-list span{border-radius:999px;padding:5px 8px;color:#6b4b42;background:#fffdf7;font-size:11px}.room-game-editor{display:grid;gap:12px;margin-bottom:18px;padding:16px;border:1px solid #dcd5c6;border-radius:16px;background:#fffdf7}.room-game-editor h2{margin:0;color:#273a43;font-size:17px}.room-game-actions{display:flex;flex-wrap:wrap;gap:8px}select{width:100%;border:1px solid #d8d0c2;border-radius:12px;padding:13px 14px;color:#26333a;background:#fff}.room-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.room-board{display:grid;grid-template-columns:repeat(var(--room-cols),minmax(18px,1fr));grid-template-rows:repeat(var(--room-rows),minmax(18px,1fr));aspect-ratio:1 / 1;min-height:320px;max-height:680px;padding:10px;border:1px solid #d2c2a6;border-radius:16px;background:linear-gradient(145deg,#d7c09b,#eadfc8)}.room-cell{min-width:0;min-height:0;padding:0;border:1px solid rgba(113,84,58,.18);border-radius:3px;color:#8d503e;background:#fffaeb38}.room-cell:hover,.room-cell:focus-visible{outline:3px solid rgba(182,94,75,.45);outline-offset:-2px}.room-cell.occupied{background:#b65e4b47}.room-controls{display:grid;align-content:start;gap:12px;padding:16px;border:1px solid #dcd5c6;border-radius:16px;background:#fffdf7}.room-controls h2{margin:0;color:#273a43;font-size:17px}.room-coordinates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.placement-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid #ebe4d8;color:#53626a;font-size:12px}.placement-row.selected{border-radius:10px;padding:8px;background:#faeee5}.placement-row .placement-select{flex:1;border:0;padding:7px 0;color:#53626a;background:transparent;text-align:left;font-size:12px}.placement-row .placement-select:hover{color:#9a4b3b}.placement-row button{padding:7px 9px;font-size:11px}.trade-start{display:grid;gap:14px;width:min(100%,520px);padding:18px;border:1px solid #dcd5c6;border-radius:16px;background:#fffdf7}.trade-safety-note{margin-bottom:16px;border-left:4px solid #b65e4b;padding:12px 14px;color:#6b4b42;background:#faeee5;font-size:13px;line-height:1.5}.trade-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.trade-side{display:grid;gap:12px;padding:16px;border:1px solid #dcd5c6;border-radius:16px;background:#fffdf7}.trade-side h2{margin:0;color:#273a43;font-size:18px}.trade-slots{display:grid;gap:8px}.trade-slot{display:grid;gap:6px;min-height:90px;padding:10px;border:1px dashed #cdbfae;border-radius:12px;background:#fbf6ec}.trade-slot span{color:#92745a;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.trade-slot strong{color:#526069;font-size:13px;text-transform:capitalize}.trade-slot button{justify-self:start;padding:6px 9px;font-size:11px}.trade-slot select{min-width:0;padding:8px 10px;font-size:12px}.trade-state{margin:0;color:#78858b;font-size:12px}.trade-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@media(max-width:900px)and (max-height:500px){.game-shell{padding:10px 16px 16px}.game-header{align-items:stretch;flex-direction:column;gap:8px;margin-bottom:8px}.game-header h1{margin:0;font-size:clamp(22px,5vw,30px)}.game-header-actions{justify-content:flex-start;gap:6px;max-width:none}.game-header-actions button{min-height:36px;padding:8px 10px}.game-layout{grid-template-columns:minmax(0,1fr) minmax(250px,.72fr);gap:10px}.world-toolbar{padding:8px 10px;font-size:11px}.world-viewport,.chat-card{height:calc(100vh - 178px);min-height:220px}.chat-card{min-height:220px}}@media(max-width:800px){.game-shell{overflow-x:hidden}.game-header{min-width:0;align-items:flex-start;flex-direction:column}.game-header>div{min-width:0;max-width:100%}.game-header .eyebrow{white-space:normal;overflow-wrap:anywhere}.game-header h1{font-size:clamp(28px,8vw,36px)}.game-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;justify-content:stretch}.game-header-actions button{width:100%;min-width:0;padding:10px 8px;white-space:nowrap}.connection-pill,.online-count{justify-self:start}.game-layout{grid-template-columns:1fr}.world-viewport,.chat-card{min-height:52vh;height:52vh}.chat-card{height:38vh;min-height:260px}.avatar-editor{padding:4px 0}.avatar-editor-layout{grid-template-columns:1fr}.avatar-preview-panel{min-height:390px}.avatar-picker{min-height:420px}.avatar-item-grid{max-height:300px}.room-settings,.room-editor-grid{grid-template-columns:1fr}.room-board{min-height:280px}.trade-columns{grid-template-columns:1fr}.admin-metrics,.admin-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-card-heading,.admin-search-row{align-items:stretch;flex-direction:column}.admin-search-row select{width:100%}}@media(max-width:480px){.game-shell{padding:12px 8px 20px}.world-card,.chat-card{border-radius:16px}.world-toolbar{font-size:11px}.world-viewport{height:48vh;min-height:300px}.panel-page{padding:4px 0}.panel-heading{align-items:stretch;flex-direction:column}.panel-heading button{width:100%}.room-board{min-height:270px;padding:6px}.trade-actions{display:grid;grid-template-columns:1fr}}
