:root{--font-sans: system-ui, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", Menlo, monospace;--t-xs: .78rem;--t-sm: .88rem;--t-md: 1rem;--t-lg: 1.35rem;--t-xl: 1.75rem;--lh-tight: 1.3;--lh-body: 1.6;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--r-sm: 8px;--r-md: 12px;--r-lg: 20px;--r-pill: 999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 20px rgba(0, 0, 0, .35);--ease: cubic-bezier(.2, .7, .2, 1);--dur-fast: .15s;--dur: .25s;--w-content: 960px;--w-mobile: 28rem;--w-sidebar: 15rem;--w-sidebar-collapsed: 4.5rem;--w-content-doc: 42rem;--tap-min: 44px;--z-header: 10;--z-overlay: 20;--z-toast: 30;--color-success: #8fd4a0;--color-danger: #ff8a8a;--color-warn: #f0c674;--brand: #7b5cff;--brand-ink: #ffffff;--accent: #e85d8a;--bg: #1a1520;--surface: rgba(255, 255, 255, .05);--surface-solid: #171b24;--border: rgba(255, 255, 255, .12);--text: #f5eef8;--text-muted: #aeb7c7;--link: #c9a8ff}:root{--font-sans: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Rounded Mplus 1c", system-ui, "Segoe UI", sans-serif;--brand: #6c4ce0;--brand-ink: #ffffff;--accent: #e85d8a;--text: #3a3040;--text-muted: #5c5164;--link: #6c4ce0;--surface: rgba(58, 44, 68, .05);--surface-solid: #fbf6ec;--border: rgba(58, 44, 68, .12);--bg-gradient: linear-gradient(165deg, #f6eede 0%, #f1e7d6 45%, #efe4d2 100%)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(58,44,68,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(58,44,68,.035) 1px,transparent 1px);background-size:24px 24px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;height:100%;min-height:100%;min-height:100dvh}body{font-family:var(--font-sans);background:var(--bg-gradient);color:var(--text)}a{color:var(--link)}.shell-header{flex-shrink:0;z-index:10;display:flex;align-items:flex-start;gap:.75rem;padding:max(.75rem,env(safe-area-inset-top)) 1rem .5rem;background:linear-gradient(to bottom,#faf4eaf5,#faf4eab8)}.shell-header--document{background:linear-gradient(to bottom,rgba(250,244,234,.95),transparent);padding-bottom:1rem}.shell-back{text-decoration:none;font-size:1.25rem;padding:.25rem .5rem;color:#6c4ce0;line-height:1.2}.shell-header-text{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.shell-title{font-weight:600;font-size:.95rem;line-height:1.3}.shell-header--document .shell-title{font-size:1.05rem;font-weight:700}.shell-subtitle{font-size:.78rem;opacity:.8;color:#6c4ce0;line-height:1.35}.shell-header--document .shell-subtitle{font-size:.85rem;opacity:.75;color:inherit}.shell-mini-nav{display:flex;justify-content:center;gap:.35rem;width:100%;max-width:20rem;padding:.35rem;border-radius:999px;background:#3a2c440f;border:1px solid rgba(58,44,68,.1)}.shell-mini-nav-link{flex:1;min-height:40px;display:flex;align-items:center;justify-content:center;padding:.45rem .75rem;border-radius:999px;text-decoration:none;font-size:.85rem;font-weight:500;color:#3a2c44bf;transition:background .15s ease,color .15s ease}.shell-mini-nav-link--active{background:#6c4ce059;border:1px solid rgba(120,92,220,.4);color:#3a3040;font-weight:600}.shell-mini-nav--three{max-width:24rem}.shell-mini-nav--three .shell-mini-nav-link{font-size:.78rem;padding:.4rem .45rem}.shell-mini-nav--four{max-width:27rem}.shell-mini-nav--four .shell-mini-nav-link{font-size:.76rem;padding:.4rem .35rem}.room-home .shell-mini-nav{margin-top:auto}.room-sidebar{display:none;position:fixed;left:0;top:0;bottom:0;z-index:var(--z-header, 10);width:var(--w-sidebar, 15rem);flex-direction:column;gap:.25rem;padding:1.5rem 1rem;background:#faf4eaf5;border-right:1px solid rgba(58,44,68,.1);overflow-y:auto}.room-sidebar-brand{display:flex;align-items:center;gap:.5rem;padding:.5rem .5rem 1.25rem;color:var(--text);text-decoration:none;font-weight:700;font-size:1rem}.room-sidebar-brand-mark{color:#6c4ce0}.room-sidebar-links{display:flex;flex-direction:column;gap:.25rem}.room-sidebar-link{display:flex;align-items:center;gap:.6rem;min-height:44px;padding:.55rem .75rem;border-radius:.65rem;color:var(--text-muted);text-decoration:none;font-weight:600;font-size:.92rem}.room-sidebar-link:hover{background:#3a2c440f}.room-sidebar-link--active{background:#6c4ce024;color:#6c4ce0}.room-sidebar-footer{margin-top:auto;padding:.5rem}@media (min-width: 1024px){body{padding-left:var(--w-sidebar, 15rem)}.shell-header,.shell-mini-nav{display:none}.room-sidebar{display:flex}}.shell-btn{display:inline-block;padding:.65rem 1rem;border-radius:999px;background:#6c4ce0;border:1px solid transparent;color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;text-align:center;cursor:pointer}.shell-btn--secondary{background:#3a2c440f;border-color:#3a2c4426;color:#7a5be6;font-weight:500}.room-bottom{flex-shrink:0;display:flex;flex-direction:column;background:#faf4eaf5;border-top:1px solid rgba(58,44,68,.08)}.room-bottom .room-soul-list{border-top:none;padding-bottom:.5rem}.room-bottom .shell-mini-nav{margin:0 auto .65rem;padding-bottom:max(.35rem,env(safe-area-inset-bottom))}.tap-footer .shell-mini-nav{margin-top:.25rem}.kit-page .shell-mini-nav{margin:0 auto 1.25rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom))}.room-home{min-height:100dvh;padding:max(2rem,env(safe-area-inset-top)) 1.25rem 2rem;display:flex;flex-direction:column;gap:1rem;max-width:28rem;margin:0 auto}.room-home--dashboard{gap:1.25rem;position:relative}@media (min-width: 1024px){.room-home{max-width:64rem}}.room-home-toast{position:fixed;top:max(1rem,env(safe-area-inset-top));left:1rem;right:1rem;z-index:20;padding:.75rem 1rem;border-radius:.75rem;background:#6c4ce0eb;color:#fff;text-align:center;font-size:.9rem;font-weight:600;box-shadow:0 4px 20px #46345259;pointer-events:none}.room-home-error-block{display:flex;flex-direction:column;align-items:stretch;gap:.65rem}.room-collection-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem;width:100%}.room-collection-card{display:flex;flex-direction:column;gap:.35rem;padding:.55rem;border-radius:.85rem;background:#6c4ce01a;border:1px solid rgba(120,92,220,.22);text-decoration:none;color:inherit;min-height:44px;transition:border-color .2s ease,box-shadow .2s ease}.room-collection-card:hover{border-color:#785cdc73}.room-collection-card--highlight{border-color:#785cdca6;box-shadow:0 0 0 2px #6c4ce059;animation:collection-highlight 1.2s ease-out 2}@keyframes collection-highlight{0%,to{box-shadow:0 0 0 2px #6c4ce059}50%{box-shadow:0 0 0 4px #6c4ce08c}}.room-collection-thumb{aspect-ratio:3 / 4;border-radius:.55rem;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.room-collection-thumb--live{background:#faf4ead9}.room-collection-thumb-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.avatar-thumb-shell{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.avatar-thumb-canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .25s ease;pointer-events:none}.avatar-thumb-canvas--ready{opacity:1}.avatar-thumb-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:0;transition:opacity .25s ease;pointer-events:none}.avatar-thumb-image--ready{opacity:1}.room-collection-thumb-mark{font-size:1.75rem;opacity:.85;text-shadow:0 2px 12px rgba(70,52,82,.35)}.room-collection-name{font-weight:600;font-size:.9rem;line-height:1.3;padding:0 .15rem}.room-collection-meta{font-size:.75rem;opacity:.75;color:#6c4ce0;padding:0 .15rem .2rem}.room-collection-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;border-radius:.85rem;background:#3a2c440a;border:1px dashed rgba(120,92,220,.25);text-align:center}.room-collection-empty-icon{font-size:2rem;opacity:.7}.room-collection-empty-title{margin:0;font-weight:600}.room-collection-card--skeleton{pointer-events:none}.room-collection-thumb--skeleton{background:#3a2c440f;animation:collection-pulse 1.2s ease-in-out infinite}.room-collection-skeleton-line{display:block;height:.75rem;border-radius:.25rem;background:#3a2c4414;animation:collection-pulse 1.2s ease-in-out infinite}.room-collection-skeleton-line--short{width:60%}@keyframes collection-pulse{0%,to{opacity:.45}50%{opacity:.9}}.room-home-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.room-home-header h1,.room-home-greeting h1{margin:0;font-size:1.35rem}.room-home-sub{margin:.25rem 0 0;font-size:.88rem;color:#6c4ce0;opacity:.9}.room-home-error{margin:0;color:#c0392b;font-size:.9rem}.room-lead--compact{margin:0}.room-cta--button{border:none;cursor:pointer;width:100%;font:inherit}.room-account-menu{flex-shrink:0}.room-account-avatar{width:2rem;height:2rem}.room-hint--dev{opacity:.5;font-size:.8rem}.room-hint--dev a{color:#6c4ce0}.room-lead{line-height:1.6;opacity:.9}.room-cta{display:inline-block;padding:.85rem 1.25rem;border-radius:999px;background:#6c4ce0;color:#fff;text-decoration:none;font-weight:600;text-align:center}.room-cta--secondary{background:transparent;border:1px solid rgba(120,92,220,.45);color:#6c4ce0}.room-hint{font-size:.85rem;color:var(--text-muted);opacity:.85}.mvp-action-grid{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media (min-width: 1024px){.mvp-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.mvp-action-card{display:flex;flex-direction:column;gap:.35rem;min-height:8.5rem;padding:1rem;border-radius:.65rem;border:1px solid rgba(58,44,68,.1);background:#3a2c440d;color:inherit;text-decoration:none}.mvp-action-card--primary{border-color:#e85d8a99;background:#e85d8a38;box-shadow:0 2px 10px #e85d8a2e}.mvp-action-kicker{font-size:.72rem;font-weight:700;color:#6c4ce0}.mvp-action-title{font-size:1.05rem;font-weight:700;line-height:1.35}.mvp-action-body{margin-top:auto;font-size:.84rem;line-height:1.5;opacity:.82}.make-page{gap:1rem}.make-primary{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:.65rem;background:#e85d8a33;border:1px solid rgba(232,93,138,.5);box-shadow:0 2px 10px #e85d8a29}.make-primary h2,.make-primary p{margin:0}.make-primary h2{font-size:1.1rem;line-height:1.35}.make-primary p{font-size:.88rem;line-height:1.55;opacity:.86}.make-kicker{color:#6c4ce0;font-size:.74rem;font-weight:700}.make-recent{display:flex;flex-direction:column;gap:.65rem}.make-recent-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.make-recent-header h2{margin:0;font-size:.95rem}.make-inline-link{flex-shrink:0;font-size:.82rem;color:#6c4ce0;text-decoration:none}.make-inline-link:hover{text-decoration:underline}.make-primary-actions{display:flex;flex-wrap:wrap;gap:.5rem}.make-primary-actions .room-cta{flex:1 1 auto}.make-templates{display:flex;flex-direction:column;gap:.65rem;opacity:.92}.works-list--compact .works-list-link{padding:.55rem .7rem}.make-kit-gallery-link{margin:0;text-align:center;font-size:.82rem;opacity:.75}.tap-page{height:100vh;height:100svh;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;position:relative;overflow:hidden}.tap-header{flex-shrink:0;z-index:10;display:flex;align-items:flex-start;gap:.75rem;padding:max(.75rem,env(safe-area-inset-top)) 1rem .5rem;background:linear-gradient(to bottom,#faf4eaf5,#faf4eab8)}.tap-main{flex:1;min-height:0;display:flex;flex-direction:column}.tap-stage{flex:1;min-height:0;position:relative;overflow:hidden}.tap-header-text{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.tap-outfit-active{font-size:.78rem;opacity:.8;color:#6c4ce0}.tap-peek-label{font-size:.78rem;opacity:.75;color:#d4c4e8}.tap-toast{position:absolute;top:max(3.5rem,calc(env(safe-area-inset-top) + 2.75rem));left:1rem;right:1rem;z-index:15;padding:.75rem 1rem;border-radius:.75rem;background:#6c4ce0eb;color:#fff;text-align:center;font-size:.9rem;font-weight:600;box-shadow:0 4px 20px #46345259;pointer-events:none}.tap-feed-banner{position:absolute;top:max(3.5rem,calc(env(safe-area-inset-top) + 2.75rem));left:1rem;right:1rem;z-index:14;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .85rem;border-radius:.65rem;background:#eee6faf0;border:1px solid rgba(120,92,220,.45);box-shadow:0 4px 16px #4634524d}.tap-feed-banner-link{flex:1;font-size:.84rem;font-weight:600;text-decoration:none;color:#e8d4ff}.tap-feed-banner-link:hover{text-decoration:underline}.tap-feed-banner-dismiss{flex-shrink:0;border:none;background:transparent;color:#3a2c44bf;font-size:.78rem;padding:.25rem .35rem;cursor:pointer}.tap-feed-banner-dismiss:hover{color:#3a3040}.tap-back{text-decoration:none;font-size:1.25rem;padding:.25rem .5rem}.tap-title{font-weight:600;font-size:.95rem}.tap-loading,.tap-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.tap-loading-spinner{font-size:2rem;animation:tap-pulse 1.2s ease-in-out infinite}@keyframes tap-pulse{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.tap-footer{flex-shrink:0;padding:.65rem 1rem;padding-bottom:max(1rem,calc(env(safe-area-inset-bottom) + .75rem));background:#faf4eaf5;border-top:1px solid rgba(58,44,68,.08);display:flex;flex-direction:column;align-items:center;gap:.5rem}.tap-footer-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;width:100%;max-width:24rem}.tap-room-cta{flex:1 1 auto;min-width:7.5rem;display:inline-block;padding:.65rem 1rem;border-radius:999px;background:#6c4ce040;border:1px solid rgba(120,92,220,.45);color:#6c4ce0;text-decoration:none;font-weight:600;font-size:.9rem;text-align:center}.tap-outfits{flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;padding:.35rem .75rem .5rem;background:linear-gradient(to top,rgba(250,244,234,.88),transparent)}.tap-outfit-chip{border:1px solid rgba(58,44,68,.18);background:#3a2c4414;color:#3a3040;border-radius:999px;min-height:44px;padding:.55rem 1rem;font-size:.85rem;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tap-outfit-chip:disabled{opacity:.45;cursor:not-allowed}.tap-outfit-chip--active{background:#6c4ce059;border-color:#785cdc8c}.tap-promo-hint{margin:0;font-size:.8rem;opacity:.75;text-align:center}.tap-bind{width:100%;display:flex;flex-direction:column;align-items:center;gap:.35rem}.tap-bind-btn{border:1px solid rgba(120,92,220,.55);background:#6c4ce033;color:#6c4ce0;border-radius:999px;min-height:44px;padding:.55rem 1.1rem;font-size:.88rem;font-weight:600;cursor:pointer}.tap-bind-btn:disabled{opacity:.6;cursor:not-allowed}.tap-bind-btn--secondary{background:transparent;border:1px solid rgba(120,92,220,.45)}.tap-bind-status{margin:0;font-size:.88rem;font-weight:600;color:#6c4ce0}.tap-bind-link{font-size:.82rem;color:#6c4ce0}.tap-encounter{width:100%;display:flex;flex-direction:column;align-items:center;gap:.45rem}.tap-encounter-btn{width:100%;max-width:18rem}.tap-desktop-title{display:none}.tap-desktop-title-name{display:block;font-weight:700;font-size:1rem}@media (min-width: 1024px){.tap-page{padding-right:16rem}.tap-desktop-title{display:block;position:fixed;top:max(1.5rem,calc(env(safe-area-inset-top) + 1rem));right:1rem;z-index:6;width:15rem;padding:.65rem .85rem;border-radius:.75rem;background:#faf4eae6;border:1px solid rgba(58,44,68,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tap-outfits{position:fixed;top:max(6.5rem,calc(env(safe-area-inset-top) + 5.5rem));right:1rem;bottom:auto;left:auto;width:15rem;max-height:40vh;overflow-y:auto;flex-direction:column;justify-content:flex-start;background:#faf4eae6;border:1px solid rgba(58,44,68,.1);border-radius:.75rem;padding:.65rem}.tap-footer{position:fixed;right:1rem;bottom:1rem;left:auto;width:15rem;border-radius:.75rem;border:1px solid rgba(58,44,68,.1);box-shadow:var(--shadow-md, 0 4px 20px rgba(70, 52, 82, .2))}.tap-footer-actions{max-width:none}}.encounter-notebook-badge{display:inline-block;margin-right:.35rem;padding:.05rem .35rem;border-radius:999px;font-size:.68rem;font-weight:600;vertical-align:middle}.encounter-notebook-badge--saved{background:#6c4ce040;color:#7a5be6}.encounter-notebook-badge--incoming{background:#3a2c4414;border:1px dashed rgba(120,92,220,.45);color:#6c4ce0}.encounter-notebook-badge--exchange{background:#ffd68c2e;border:1px solid rgba(255,214,140,.35);color:#ffe4a8}.room-hint--notebook{margin-top:-.35rem;text-align:center}.room-home-encounters-link{align-self:center;font-size:.85rem;color:#6c4ce0;text-decoration:none}.room-home-encounters-link:hover{text-decoration:underline}.doll-info{width:100%;padding:1rem 0;border-top:1px solid rgba(58,44,68,.08);border-bottom:1px solid rgba(58,44,68,.08)}.doll-info-heading{margin:0 0 .85rem;font-size:.95rem;font-weight:600;color:#3a2c44eb}.doll-info-announcements{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1rem}.doll-info-announcement{padding:.75rem .85rem;border-radius:.65rem;background:#3a2c440d;border:1px solid rgba(58,44,68,.08)}.doll-info-date{display:block;font-size:.72rem;color:#785cdcd9;margin-bottom:.35rem}.doll-info-announcement-title{margin:0 0 .35rem;font-size:.9rem;font-weight:600}.doll-info-announcement-body{margin:0;font-size:.82rem;line-height:1.45;opacity:.88;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.doll-info-card-grid{display:grid;grid-template-columns:1fr;gap:.65rem}@media (min-width: 360px){.doll-info-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.doll-info-card{display:flex;flex-direction:column;gap:.3rem;padding:.75rem .8rem;border-radius:.65rem;background:#3a2c440d;border:1px solid rgba(58,44,68,.1);text-decoration:none;color:inherit;min-height:6.5rem;transition:border-color .15s ease,background .15s ease}a.doll-info-card:hover{border-color:#785cdc73;background:#3a2c4414}.doll-info-card--static{opacity:.92}.doll-info-card-kind{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#6c4ce0}.doll-info-card-title{margin:0;font-size:.85rem;font-weight:600;line-height:1.3}.doll-info-card-body{margin:0;font-size:.75rem;line-height:1.4;opacity:.82;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.doll-info-card-action{margin-top:auto;font-size:.72rem;color:#6c4ce0}.doll-info-empty,.doll-info-error{margin:0;font-size:.85rem;opacity:.8}.doll-info-error{color:#c0392b}.doll-info-skeleton-line{height:.75rem;border-radius:.35rem;background:#3a2c4414;margin-bottom:.5rem}.doll-info-skeleton-line--short{width:55%}.doll-info-card--skeleton{min-height:5.5rem;background:#3a2c440f;border-color:transparent;animation:doll-info-pulse 1.2s ease-in-out infinite}@keyframes doll-info-pulse{0%,to{opacity:.55}50%{opacity:.9}}.room-incoming{margin-top:.5rem;padding:.85rem 0;border-top:1px solid rgba(58,44,68,.08)}.room-incoming-title{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:#3a2c44e6}.room-incoming-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.room-incoming-item{display:flex;flex-direction:column;gap:.1rem;padding:.55rem .65rem;border-radius:.65rem;border:1px solid rgba(58,44,68,.1);background:#3a2c440a;text-decoration:none;color:inherit}.room-incoming-name{font-size:.88rem;font-weight:600;color:#6c4ce0}.room-incoming-meta{font-size:.78rem;opacity:.75}.room-today-toggle{flex-shrink:0;border:1px dashed rgba(120,92,220,.45);background:#6c4ce01f;color:#7a5be6;border-radius:999px;padding:.35rem .6rem;font-size:.72rem;cursor:pointer;white-space:nowrap}.room-today-encounters{padding:.55rem 1rem .35rem;border-top:1px dashed rgba(120,92,220,.35);background:#6c4ce00f}.room-today-encounters-label{margin:0 0 .4rem;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:#785cdcd9;text-transform:none}.room-today-encounters-chips{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}.room-today-encounter-chip{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.4rem .7rem;border-radius:.65rem;border:1px dashed rgba(120,92,220,.5);background:#3a2c440a;text-decoration:none;color:#7a5be6;font-size:.82rem;opacity:.92}.room-today-encounter-name{font-weight:600}.room-today-encounter-time{font-size:.72rem;opacity:.75}.room-main--today-only{display:flex;align-items:center;justify-content:center}.room-today-only-hint{margin:0;font-size:.9rem;opacity:.65}.avatar-shell{flex:1;position:relative;width:100%;min-height:100dvh}.tap-page .avatar-shell{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;height:auto}.tap-page .avatar-canvas{width:100%;height:100%;min-height:0}.tap-page .avatar-fallback{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0}.avatar-canvas{display:block;width:100%;height:100dvh;touch-action:manipulation}.avatar-canvas--interactive{touch-action:none}.avatar-fallback{flex:1;min-height:50dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;opacity:.85;padding:2rem 1rem}.avatar-fallback-icon{font-size:3rem}.avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#faf4ea8c}.avatar-overlay--error{background:#fae2e6bf}.room-page{height:100vh;height:100svh;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;position:relative}.room-main{flex:1;min-height:0;position:relative;overflow:hidden}.room-header{flex-shrink:0;z-index:10;display:flex;align-items:flex-start;gap:.75rem;padding:max(.75rem,env(safe-area-inset-top)) 1rem .5rem;background:linear-gradient(to bottom,#faf4eaf5,#faf4eab8)}.room-header-text{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.room-title{font-weight:700;font-size:1.05rem}.room-subtitle{font-size:.85rem;opacity:.75}.room-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem 1.25rem;text-align:center}.room-empty .room-cta{margin-top:.25rem}.room-soul-list{flex-shrink:0;position:relative;z-index:5;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:.65rem 1rem;padding-bottom:max(1rem,calc(env(safe-area-inset-bottom) + .75rem));background:#faf4eaf5;border-top:1px solid rgba(58,44,68,.08)}.room-soul-chip{padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(120,92,220,.35);color:#7a5be6;text-decoration:none;font-size:.88rem}.parade-shell{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;overflow:hidden}.room-page .avatar-shell{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;height:auto}.room-page .avatar-canvas{width:100%;height:100%;min-height:0}.room-page .avatar-fallback{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0}.room-desktop-title{display:none}.room-desktop-title-name{display:block;font-weight:700;font-size:1.05rem}.room-desktop-title-sub{display:block;font-size:.85rem;opacity:.75}.room-today-toggle--desktop{display:none}@media (min-width: 1024px){.room-page{padding-right:16rem}.room-desktop-title{display:block;position:fixed;top:max(1.5rem,calc(env(safe-area-inset-top) + 1rem));left:1rem;z-index:6;padding:.55rem .85rem;border-radius:.75rem;background:#faf4eae6;border:1px solid rgba(58,44,68,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.room-bottom{position:fixed;right:1rem;top:max(1.5rem,calc(env(safe-area-inset-top) + 1rem));bottom:1rem;left:auto;width:15rem;flex-direction:column;align-items:stretch;border-radius:.75rem;border:1px solid rgba(58,44,68,.1);box-shadow:var(--shadow-md, 0 4px 20px rgba(70, 52, 82, .2));overflow-y:auto}.room-soul-list{justify-content:flex-start}.room-today-toggle--desktop{display:inline-flex;align-self:flex-start;margin:.65rem 1rem 0}}.parade-fallback-list{margin:.5rem 0 0;padding:0;list-style:none;font-size:.9rem;opacity:.85}.avatar-greeting{position:absolute;left:1rem;right:1rem;bottom:max(4.5rem,calc(env(safe-area-inset-bottom) + 3.5rem));padding:.85rem 1rem;border-radius:1rem;background:#3a2c4414;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(58,44,68,.12)}.tap-page .avatar-greeting{bottom:.65rem;max-height:28%;overflow-y:auto}.avatar-greeting p{margin:0;line-height:1.5;font-size:.95rem}.tap-kit-link{flex:1 1 auto;min-width:7.5rem;display:inline-block;padding:.65rem 1rem;border-radius:999px;border:1px solid rgba(58,44,68,.15);background:#3a2c440f;color:#7a5be6;text-decoration:none;font-size:.88rem;font-weight:500;text-align:center}.kit-page{min-height:100dvh;display:flex;flex-direction:column}.kit-header{display:flex;align-items:flex-start;gap:.75rem;padding:max(.75rem,env(safe-area-inset-top)) 1rem 1rem;background:linear-gradient(to bottom,rgba(250,244,234,.95),transparent)}.kit-back{text-decoration:none;font-size:1.25rem;padding:.25rem .5rem;color:#6c4ce0}.kit-header-text{min-width:0}.kit-title{margin:0;font-size:1.05rem;font-weight:700}.kit-subtitle{margin:.2rem 0 0;font-size:.85rem;opacity:.75}.kit-body{flex:1;padding:0 1.25rem 2rem;max-width:28rem;margin:0 auto;width:100%}@media (min-width: 1024px){.kit-body{max-width:var(--w-content-doc, 42rem)}}.kit-tagline{line-height:1.6;opacity:.92;margin:0 0 1.5rem}.kit-section{margin-bottom:1.5rem;padding:1rem;border-radius:.75rem;background:#3a2c440d;border:1px solid rgba(58,44,68,.08)}.kit-section--muted{opacity:.85}.kit-section-title{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:#6c4ce0}.kit-stats{margin:0;display:grid;gap:.65rem}.kit-stats div{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}.kit-stats dt{opacity:.7}.kit-stats dd{margin:0;font-weight:600}.kit-note{margin:.75rem 0 0;font-size:.82rem;opacity:.7}.kit-tips{margin:0;padding-left:1.1rem;line-height:1.55;font-size:.9rem}.kit-tips li+li{margin-top:.5rem}.kit-footer{display:flex;flex-direction:column;gap:.65rem;padding-top:.5rem}.kit-cta{display:block;padding:.75rem 1rem;border-radius:999px;background:#6c4ce0;color:#fff;text-decoration:none;font-weight:600;text-align:center}.kit-cta--secondary{background:transparent;border:1px solid rgba(120,92,220,.45);color:#6c4ce0}.paint-page{min-height:100dvh;padding:max(.5rem,env(safe-area-inset-top)) 1rem 2rem;display:flex;flex-direction:column;gap:.75rem;max-width:32rem;margin:0 auto}.paint-page--studio{position:relative;height:100vh;height:100svh;min-height:100vh;min-height:100svh;max-width:none;width:100%;margin:0;padding:0;gap:0;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 18% 8%,rgba(232,93,138,.16),transparent 28%),linear-gradient(165deg,#f4ece0,#251e2e 48%,#efe6d8)}.paint-page--studio *{-webkit-user-select:none;user-select:none}.paint-page--guest{padding-top:max(1.5rem,env(safe-area-inset-top))}.paint-error{margin:0;color:#c0392b;font-size:.88rem}.paint-studio-topbar{flex-shrink:0;z-index:8;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:58px;padding:max(.5rem,env(safe-area-inset-top)) .75rem .5rem;background:linear-gradient(to bottom,#faf4eaf0,#faf4ea6b)}.paint-studio-actions{display:flex;align-items:center;gap:.35rem}.paint-history-btn{min-height:40px;padding:.4rem .55rem;border:1px solid rgba(58,44,68,.13);border-radius:999px;background:#3a2c440f;color:#3a2c44e0;font:inherit;font-size:.74rem;font-weight:700;cursor:pointer}.paint-studio-back{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:#3a3040;font-size:1.75rem;line-height:1;text-decoration:none;cursor:pointer}.paint-studio-back:disabled{opacity:.42;cursor:wait}.paint-studio-title{min-width:0;display:flex;flex-direction:column;gap:.1rem}.paint-studio-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:700}.paint-studio-title small{font-size:.72rem;color:#785cdcd1}.paint-studio-save{min-height:40px;padding:.45rem .85rem;border:1px solid rgba(232,93,138,.48);border-radius:999px;background:#e85d8a42;color:#fff;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.paint-studio-save:disabled{opacity:.48;cursor:not-allowed}.paint-studio-banner{position:absolute;top:max(3.75rem,calc(env(safe-area-inset-top) + 3rem));left:.75rem;right:.75rem;z-index:12;padding:.65rem .75rem;border:1px solid rgba(255,180,180,.26);border-radius:.6rem;background:#fae2e6e6;box-shadow:0 10px 22px #46345247}.paint-studio-banner--action{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.paint-studio-banner--action span{min-width:0;line-height:1.45}.paint-studio-retry{flex-shrink:0;min-height:36px;padding:.4rem .75rem;border:1px solid rgba(192,57,43,.3);border-radius:999px;background:#ffffff73;color:#a7352a;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.paint-studio-retry--muted{border-color:#3a2c4429;color:#3a2c44b8}.paint-studio-toast{position:absolute;top:max(3.75rem,calc(env(safe-area-inset-top) + 3rem));left:50%;z-index:13;display:inline-flex;align-items:center;gap:.5rem;max-width:calc(100% - 1.5rem);min-height:40px;padding:.55rem .85rem;border:1px solid rgba(120,92,220,.28);border-radius:999px;background:#6c4ce0eb;color:#fff;box-shadow:0 10px 22px #46345247;font-size:.82rem;font-weight:700;pointer-events:none;transform:translate(-50%)}.paint-studio-toast span{opacity:.78;font-size:.74rem;white-space:nowrap}.paint-studio-stage{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;padding:0 .65rem calc(5.25rem + env(safe-area-inset-bottom))}.paint-part-tabs{display:flex;gap:.35rem}.paint-part-switcher{z-index:5;display:flex;gap:.35rem;width:min(100%,28rem);margin:0 auto;padding:.35rem 0 .4rem}.paint-part-tab{flex:1;min-height:36px;padding:.45rem .5rem;border-radius:.5rem;border:1px solid rgba(58,44,68,.12);background:#3a2c440a;color:inherit;font-size:.82rem;cursor:pointer}.paint-part-tab:disabled{opacity:.48;cursor:wait}.paint-part-tab--active{border-color:#785cdc8c;background:#6c4ce040}.paint-region-switcher{z-index:5;display:flex;gap:.35rem;width:min(100%,32rem);margin:0 auto .45rem;padding:0 .15rem;overflow-x:auto}.paint-region-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:32px;padding:.35rem .55rem;border-radius:.5rem;border:1px solid rgba(58,44,68,.12);background:#3a2c440a;color:inherit;font-size:.78rem;white-space:nowrap}.paint-region-chip--active{border-color:#49cea499;background:#2b947b3d}.paint-region-chip-swatch{width:.7rem;height:.7rem;border-radius:999px;border:1px solid rgba(58,44,68,.55)}.paint-viewport{position:relative;width:100%;min-width:0;aspect-ratio:3 / 4;min-height:280px;border-radius:.75rem;overflow:hidden;border:1px solid rgba(58,44,68,.1);background:#46345240;touch-action:none}.paint-page--studio .paint-viewport{flex:1;min-height:0;height:auto;aspect-ratio:auto;border-radius:.65rem;border-color:#3a2c4414;box-shadow:inset 0 0 0 1px #3a2c4408}.paint-viewport .avatar-shell{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;min-height:0;flex:none}.paint-viewport .avatar-canvas{width:100%;height:100%;min-height:0;max-height:100%}.paint-viewport--orbit .avatar-canvas{pointer-events:auto}.paint-viewport--paint .avatar-canvas{pointer-events:none}.paint-input-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;touch-action:none;cursor:none}.paint-brush-cursor{position:absolute;z-index:3;background:transparent;border:1.5px solid #e85d8a;border-radius:50%;box-shadow:0 0 0 1px #4634527a,inset 0 0 0 1px #3a2c4447;pointer-events:none;transform:translate(-50%,-50%)}.paint-brush-cursor--transparent{border-color:#3a2c44e6;border-style:dashed}.paint-brush-cursor--transparent:after{content:"";position:absolute;right:-5px;bottom:-5px;width:7px;height:7px;border:1px solid rgba(58,44,68,.95);border-radius:50%;background:#100c14b8;box-shadow:0 0 0 1px #46345261}.paint-orbit-gizmo{position:absolute;top:auto;right:auto;bottom:.85rem;left:50%;z-index:4;width:52px;height:52px;padding:0;border:1px solid rgba(58,44,68,.32);border-radius:50%;background:#100c147a;box-shadow:0 8px 18px #46345247;cursor:grab;touch-action:none;translate:-50% 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.paint-orbit-gizmo:active,.paint-orbit-gizmo--active{cursor:grabbing;border-color:#e85d8ac7;background:#100c14a8}.paint-orbit-gizmo-ring,.paint-orbit-gizmo-stick{position:absolute;pointer-events:none}.paint-orbit-gizmo-ring{top:9px;right:9px;bottom:9px;left:9px;border:1px dashed rgba(58,44,68,.46);border-radius:50%}.paint-orbit-gizmo-ring:before,.paint-orbit-gizmo-ring:after{content:"";position:absolute;background:#3a2c445c}.paint-orbit-gizmo-ring:before{top:50%;left:7px;right:7px;height:1px}.paint-orbit-gizmo-ring:after{top:7px;bottom:7px;left:50%;width:1px}.paint-orbit-gizmo-stick{top:50%;left:50%;width:12px;height:12px;border:2px solid rgba(58,44,68,.92);border-radius:50%;background:#100c14cc;box-shadow:0 0 0 1px #4634526b;transform:translate(0);translate:-50% -50%;transition:transform .06s linear}.paint-mode-toggle{display:inline-flex;border-radius:.5rem;overflow:hidden;border:1px solid rgba(58,44,68,.12)}.paint-mode-btn{padding:.35rem .65rem;font-size:.78rem;background:#3a2c440a;color:#3a2c44cc;border:none;cursor:pointer}.paint-mode-btn--active{background:#e85d8a59;color:#fff}.paint-work-mode{min-height:32px;display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:.5rem;background:#e85d8a38;color:#3a3040;font-size:.78rem;font-weight:700}.paint-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0}.paint-control-layer{position:absolute;left:0;right:0;bottom:0;z-index:10;display:flex;flex-direction:column;gap:.45rem;padding:0 .65rem max(.65rem,env(safe-area-inset-bottom));pointer-events:none}.paint-quick-dock,.paint-tool-sheet{pointer-events:auto}.paint-quick-dock{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:.35rem;align-items:stretch;width:100%;max-width:42rem;margin:0 auto;padding:.4rem;border:1px solid rgba(58,44,68,.12);border-radius:.85rem;background:#faf4eae6;box-shadow:0 12px 28px #46345257;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.paint-primary-controls{min-width:0;display:grid;grid-template-columns:44px 44px minmax(6rem,1fr) minmax(6rem,1fr);gap:.35rem;align-items:stretch}.paint-dock-btn{min-width:0;min-height:44px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.35rem .45rem;border:1px solid rgba(58,44,68,.13);border-radius:.6rem;background:#3a2c440f;color:#3a3040;font:inherit;font-size:.75rem;font-weight:700;line-height:1.15;cursor:pointer}.paint-dock-btn:disabled{opacity:.45;cursor:not-allowed}.paint-dock-btn--wide{align-items:flex-start;padding-left:.6rem}.paint-dock-btn-kicker{display:block;color:#785cdcc7;font-size:.66rem;font-weight:600}.paint-dock-btn--active{border-color:#e85d8a9e;background:#e85d8a3d}.paint-dock-btn--primary{border-color:#e85d8a8a;background:#e85d8a57}.paint-color-gesture{position:relative;min-width:0}.paint-color-chip{position:relative;width:100%;min-height:44px;display:block;padding:0;border:1px solid rgba(58,44,68,.13);border-radius:.6rem;background:linear-gradient(45deg,rgba(58,44,68,.12) 25%,transparent 25%),linear-gradient(-45deg,rgba(58,44,68,.12) 25%,transparent 25%),#3a2c440d;background-size:12px 12px;overflow:hidden;cursor:pointer;touch-action:none}.paint-color-chip span{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(58,44,68,.44);border-radius:50%}.paint-desktop-color-picker{display:none}.paint-color-popover{position:absolute;left:0;bottom:calc(100% + .65rem);z-index:30;width:min(72vw,220px);padding:.65rem;border:1px solid rgba(58,44,68,.16);border-radius:.85rem;background:#faf4eaf5;box-shadow:0 14px 34px #46345266;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.paint-color-plane{position:relative;height:128px;border-radius:.65rem;background:linear-gradient(to right,#d32f2f,#ffe13b,#49e85d,#41d9ff,#5c6cff,#f05cff,#d32f2f);overflow:hidden;touch-action:none}.paint-color-plane:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.paint-color-plane:after{background:linear-gradient(to top,#000,#46345200)}.paint-color-plane-cursor{position:absolute;z-index:2;width:14px;height:14px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #463452b3;transform:translate(-50%,-50%)}.paint-hue-slider{display:flex;align-items:center;gap:.5rem;margin-top:.55rem;font-size:.72rem;color:#3a2c44bd}.paint-hue-slider input{flex:1}.paint-mini-slider{min-width:0;min-height:44px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:center;column-gap:.35rem;padding:.35rem .45rem;border:1px solid rgba(58,44,68,.13);border-radius:.6rem;background:#3a2c440f}.paint-mini-slider span,.paint-mini-slider output{min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap;font-size:.62rem;color:#3a2c44b8}.paint-mini-slider output{color:#3a3040;font-weight:700}.paint-mini-slider input{grid-column:1 / -1;width:100%;min-width:0}.paint-tool-sheet{width:100%;max-width:42rem;max-height:min(48svh,23rem);margin:0 auto;border:1px solid rgba(58,44,68,.12);border-radius:.9rem .9rem .65rem .65rem;background:#faf4eaf5;box-shadow:0 -12px 30px #4634525c;overflow:hidden;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.paint-tool-sheet-header{display:flex;align-items:center;gap:.45rem;padding:.55rem;border-bottom:1px solid rgba(58,44,68,.08)}.paint-tool-sheet-header .paint-mode-toggle{flex:1}.paint-tool-sheet-header .paint-mode-btn{flex:1;min-height:36px;padding-inline:.35rem}.paint-sheet-close{flex-shrink:0;width:36px;min-height:36px;border:1px solid rgba(58,44,68,.12);border-radius:999px;background:#3a2c440f;color:#3a3040;font-size:1.1rem;cursor:pointer}.paint-tool-sheet-body{max-height:calc(min(48svh,23rem) - 3.5rem);overflow-y:auto;padding:.65rem}.paint-sheet-panel{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.paint-sheet-panel .paint-toolbar-field--slider{flex:1 1 100%;min-width:0}.paint-sheet-panel .paint-toolbar-field--slider span{min-width:5.6rem}.paint-sheet-panel .paint-toolbar-field input[type=range]{flex:1;width:auto}.paint-sheet-panel--actions,.paint-sheet-panel--advanced{align-items:stretch}.paint-sheet-panel--actions>*{flex:1 1 8rem}.paint-debug-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;border:1px solid rgba(120,92,220,.34);border-radius:.55rem;color:#7a5be6;text-decoration:none;font-size:.82rem;font-weight:700}@media (max-width: 380px){.paint-studio-stage,.paint-control-layer{padding-inline:.45rem}.paint-quick-dock{grid-template-columns:minmax(0,1fr) 50px;gap:.25rem}.paint-primary-controls{grid-template-columns:40px 40px minmax(4.8rem,1fr) minmax(4.8rem,1fr);gap:.25rem}.paint-dock-btn{padding-inline:.25rem;font-size:.7rem}.paint-mini-slider{padding-inline:.3rem}.paint-mini-slider span{display:none}}@media (min-width: 900px){.paint-page--studio{padding-right:20rem}.paint-studio-topbar{padding-right:21rem}.paint-studio-stage{padding:0 1rem 1rem}.paint-part-switcher{width:min(28rem,100%)}.paint-control-layer{top:max(4.75rem,calc(env(safe-area-inset-top) + 4rem));right:1rem;bottom:1rem;left:auto;width:18rem;padding:0}.paint-orbit-gizmo{top:.75rem;right:.75rem;bottom:auto;left:auto;translate:none}.paint-quick-dock{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.paint-primary-controls,.paint-dock-btn--primary{grid-column:span 2}.paint-primary-controls{grid-template-columns:1fr 1fr;padding:.6rem;border:1px solid rgba(58,44,68,.1);border-radius:.75rem;background:#3a2c440a}.paint-color-gesture{grid-column:span 2;display:grid;grid-template-columns:52px minmax(0,1fr);gap:.55rem;align-items:stretch}.paint-desktop-color-picker{display:flex;flex-direction:column;gap:.5rem;padding:.45rem .6rem;border:1px solid rgba(58,44,68,.13);border-radius:.65rem;background:#3a2c440d}.paint-color-plane--desktop{height:142px;border:1px solid rgba(58,44,68,.12)}.paint-color-chip{min-height:52px}.paint-hue-slider--desktop{margin-top:0}.paint-transparent-btn{min-height:48px}.paint-mini-slider{grid-column:span 2;min-height:58px;padding:.5rem .6rem}.paint-mini-slider span,.paint-mini-slider output{font-size:.74rem}.paint-tool-sheet{max-height:none;flex:1;max-width:none;margin:0;border-radius:.85rem}.paint-tool-sheet-body{max-height:none}}.paint-toolbar{display:flex;flex-wrap:wrap;align-items:stretch;gap:.65rem}.paint-toolbar--workbench{padding:.65rem;border:1px solid rgba(58,44,68,.09);border-radius:.75rem;background:#0e0b1270}.paint-tool-panel{display:flex;flex-direction:column;gap:.4rem;min-width:max-content;padding:.5rem;border:1px solid rgba(58,44,68,.08);border-radius:.6rem;background:#3a2c4409}.paint-tool-panel-label{font-size:.68rem;font-weight:700;letter-spacing:0;color:#3a2c4494}.paint-tool-panel-body{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.paint-toolbar-actions{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem;margin-left:auto}.paint-toolbar-field{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:#3a2c44d9}.paint-toolbar-field--slider{min-width:9.5rem}.paint-toolbar-field--slider span{min-width:4.8rem}.paint-toolbar-field input[type=range]{width:6.5rem}.paint-hint{text-align:center}.paint-debug-page .paint-hint code{font-size:.75rem;opacity:.85}.paint-page.paint-debug-page{max-width:min(960px,100%);scrollbar-gutter:stable}.paint-debug-shell{display:grid;grid-template-columns:306px minmax(0,1fr);gap:.75rem;align-items:start}.paint-debug-stage{position:sticky;top:max(.5rem,env(safe-area-inset-top));display:flex;flex-direction:column;gap:.5rem;width:306px;flex-shrink:0}.paint-debug-stage-modes{display:flex;justify-content:center}.paint-debug-viewport--fixed{width:306px;height:409px;min-height:409px;max-height:409px;aspect-ratio:unset;flex-shrink:0;border:none;outline:1px solid rgba(58,44,68,.1);outline-offset:0}.paint-debug-stage-previews{display:flex;flex-direction:column;gap:.5rem;width:306px}.paint-debug-panel{min-width:0;max-height:calc(100dvh - 7rem);overflow-y:auto;overscroll-behavior:contain;padding-right:.15rem}.paint-debug-action-hint{flex:1 1 100%;min-height:2.4em;margin:0;font-size:.72rem;line-height:1.35;opacity:.85}.paint-debug-step-detail--clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.paint-debug-diagnose{margin-top:.5rem;padding:.55rem .65rem;border-radius:.55rem;background:#3a2c4408;border:1px solid rgba(58,44,68,.08)}@media (max-width: 720px){.paint-debug-shell{grid-template-columns:1fr}.paint-debug-stage{position:static;width:100%;max-width:306px;margin:0 auto}.paint-debug-stage-previews{width:100%;max-width:306px;margin:0 auto}.paint-debug-panel{max-height:none}}.paint-debug-steps{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.45rem}.paint-debug-step{display:flex;gap:.55rem;align-items:flex-start;padding:.55rem .65rem;border-radius:.55rem;background:#3a2c440a;border:1px solid rgba(58,44,68,.08);font-size:.82rem}.paint-debug-step--pass{border-color:#78dca073;background:#28785026}.paint-debug-step--fail{border-color:#ff787880;background:#78282833}.paint-debug-step-icon{font-weight:700;min-width:1rem}.paint-debug-step-detail{margin:.2rem 0 0;font-size:.74rem;opacity:.85;word-break:break-all}.paint-debug-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.65rem}.paint-debug-workspace{display:grid;grid-template-columns:1fr min(160px,28vw);gap:.65rem;align-items:start}.paint-debug-workspace .paint-debug-2d+.paint-debug-2d{margin-top:.5rem}.paint-debug-repro{margin-top:.45rem;font-size:.75rem}.paint-debug-repro-steps{margin:.35rem 0 0;padding-left:1.2rem;opacity:.85}.paint-kit-integrity-banner{border-left:3px solid #e8a838}@media (max-width: 640px){.paint-debug-workspace{grid-template-columns:1fr}}.paint-debug-viewport{min-height:320px;min-width:0}.paint-debug-2d{border-radius:.55rem;border:1px solid rgba(58,44,68,.1);background:#46345259;padding:.45rem}.paint-debug-2d-label{margin:0 0 .35rem;font-size:.72rem;opacity:.8}.paint-debug-2d-img{display:block;width:100%;height:auto;image-rendering:pixelated}.paint-debug-2d-empty{margin:0;font-size:.75rem;opacity:.6}.paint-debug-part-tabs{display:flex;gap:.35rem;margin-bottom:.65rem}.paint-debug-kit-meta{margin-bottom:.85rem;padding:.65rem .75rem;border-radius:.5rem;background:#3a2c440a;border:1px solid rgba(58,44,68,.08)}.paint-debug-kit-meta--warn{border-color:#ffb45073;background:#ff8c2814}.paint-debug-kit-meta-title{margin:0 0 .4rem;font-size:.85rem;font-weight:600}.paint-debug-kit-meta-line{margin:.2rem 0 0;font-size:.72rem;line-height:1.45;word-break:break-all}.paint-debug-kit-meta-line code{font-family:ui-monospace,monospace}.paint-debug-kit-meta-line--warn{color:#ffb454}.works-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.works-list li{display:flex;flex-direction:column;gap:.45rem}@media (min-width: 1024px){.paint-page:not(.paint-page--guest):not(.paint-page--studio):not(.paint-page--model-builder):not(.paint-page--work-detail){max-width:56rem}.works-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));align-items:start}.works-list li{height:100%;justify-content:space-between}}.works-list-link{display:flex;flex-direction:column;gap:.2rem;padding:.75rem .85rem;border-radius:.65rem;background:#3a2c440d;border:1px solid rgba(58,44,68,.08);text-decoration:none;color:inherit}.works-list-link--static{cursor:default}.works-list-name{font-weight:600;font-size:.92rem}.works-list-meta{font-size:.75rem;opacity:.75}.model-action-row{display:flex;flex-wrap:wrap;gap:.55rem}.model-action-row .room-cta{flex:1 1 12rem}.model-inline-action{align-self:flex-start}.model-inline-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.model-delete-action{border:none;background:transparent;color:#ff9696d9;font-size:.8rem;cursor:pointer;padding:.25rem .4rem}.model-builder{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem}.model-preview-stage{position:relative;width:100%;aspect-ratio:3 / 4;min-height:260px;max-height:58vh;overflow:hidden;border-radius:.75rem;border:1px solid rgba(58,44,68,.1);background:#faf4ea73}.model-preview-stage .avatar-shell{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;height:auto}.model-preview-stage .avatar-canvas,.model-preview-stage .avatar-fallback{width:100%;height:100%;min-height:0}.model-editor-panel{display:flex;flex-direction:column;gap:.8rem;padding:.85rem;border-radius:.75rem;background:#3a2c440d;border:1px solid rgba(58,44,68,.08)}.model-field{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:#3a2c44c7}.model-field input,.model-field select{min-height:42px;width:100%;border:1px solid rgba(58,44,68,.14);border-radius:.55rem;background:#faf4eab8;color:#3a3040;font:inherit;padding:.55rem .7rem}.model-field select:disabled{opacity:.6}.assemble-template-toggle{gap:.5rem}.assemble-template-toggle input[type=checkbox]{width:auto;min-height:auto;vertical-align:middle}.model-slot-list{display:flex;flex-direction:column;gap:.65rem}@media (min-width: 760px){.model-builder{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);align-items:start}}@media (min-width: 1024px){.paint-page--model-builder{max-width:60rem}}.work-preview-stage{position:relative;width:100%;aspect-ratio:3 / 4;min-height:240px;border-radius:.75rem;overflow:hidden;border:1px solid rgba(58,44,68,.1)}.work-preview-stage .avatar-shell{position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.works-part-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.works-part-item{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.85rem}.works-part-status{font-size:.75rem;color:#a8e6a3}.works-part-status--empty{color:#3a2c4480}.paint-delete-btn{align-self:flex-start;border:none;background:transparent;color:#ff9696d9;font-size:.8rem;cursor:pointer;padding:.25rem 0}.work-detail-grid,.work-detail-preview-col,.work-detail-list-col{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 1024px){.paint-page--work-detail{max-width:56rem}.work-detail-grid{flex-direction:row;align-items:flex-start;gap:1.25rem}.work-detail-preview-col{flex:1.1 1 0}.work-detail-list-col{flex:.9 1 0;min-width:18rem}}.dev-assembly-page{min-height:100svh;padding:1rem;color:#3a3040;background:radial-gradient(circle at 18% 0%,rgba(143,210,188,.16),transparent 30rem),linear-gradient(180deg,#151018,#0f0d12)}.dev-assembly-toolbar{display:flex;gap:.7rem;align-items:end;margin:.8rem 0}.dev-assembly-toolbar label,.dev-assembly-panel label{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-size:.78rem;color:#3a2c44b8}.dev-assembly-toolbar input,.dev-assembly-toolbar button,.dev-assembly-panel input,.dev-assembly-panel select,.dev-assembly-panel button{min-height:40px;border:1px solid rgba(58,44,68,.14);border-radius:.5rem;background:#faf4eab8;color:#3a3040;font:inherit;padding:.5rem .65rem}.dev-assembly-toolbar button,.dev-assembly-panel button{cursor:pointer;background:#8fd2bc29}.dev-assembly-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem}.dev-assembly-preview{position:relative;min-height:340px;aspect-ratio:3 / 4;overflow:hidden;border-radius:.7rem;border:1px solid rgba(58,44,68,.12);background:#faf4ea80}.dev-assembly-preview .avatar-shell{position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.dev-assembly-panel{display:flex;flex-direction:column;gap:.75rem;padding:.85rem;border-radius:.7rem;border:1px solid rgba(58,44,68,.1);background:#3a2c440b}.dev-assembly-fields{display:flex;flex-direction:column;gap:.75rem}.dev-assembly-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.dev-assembly-vector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;padding:.65rem;border:1px solid rgba(58,44,68,.1);border-radius:.55rem}.dev-assembly-vector legend{padding:0 .35rem;color:#3a2c44b8;font-size:.78rem}.dev-assembly-json{max-height:18rem;overflow:auto;margin:0;padding:.75rem;border-radius:.55rem;background:#46345257;color:#d8f7e9;font-size:.78rem;line-height:1.45}@media (min-width: 820px){.dev-assembly-grid{grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);align-items:start}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1rem;background:#3a2c4473;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{position:relative;width:min(92vw,26rem);max-height:85vh;overflow-y:auto;background:var(--surface-solid);border:1px solid var(--border);border-radius:1rem;padding:1.5rem 1.25rem 1.25rem;box-shadow:0 20px 50px #3a2c4459}.modal-close{position:absolute;top:.6rem;right:.6rem;border:none;background:transparent;font-size:1.3rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:.25rem .5rem}.modal-close:hover{color:var(--text)}.modal-title{font-weight:700;font-size:1.05rem;margin:0 0 .75rem;color:var(--text)}.modal-dismiss-link{border:none;background:transparent;color:var(--text-muted);text-decoration:underline;font-size:.8rem;cursor:pointer;padding:.4rem 0}.mint-soul-modal-steps{margin:0 0 1rem;padding-left:1.2rem;font-size:.85rem;color:var(--text);line-height:1.5}.mint-soul-modal-actions{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.work-detail-mint{display:flex;flex-direction:column;gap:.5rem;padding:.9rem;margin-top:.75rem;background:#e85d8a14;border:1px solid rgba(232,93,138,.25);border-radius:.75rem}.works-list-mint-pill{display:inline-block;align-self:flex-start;margin-top:.15rem;padding:.15rem .55rem;border-radius:999px;font-size:.68rem;font-weight:600;color:var(--brand-ink);background:var(--accent)}
