/* Website chrome follows the saved theme; the 3D room keeps its own lighting. */
html:has(.nook) {
  --n-page:#f2eee5; --n-paper:#faf7ee; --n-ink:#433a33; --n-muted:#6b5e51;
  --n-line:#ded5c6; --n-accent:#79533c; --n-primary:#79583f; --n-on-primary:#fff5e6;
  --n-control:#f2ecdf; --n-hover:#e7dfd1; --n-selected:#ece1ce; --n-active-line:#987556;
  --n-focus:#a77650; --n-temporary:#a45b35; --n-success:#586843;
  --n-success-surface:#e0e6d6; --n-success-line:#b7c3a2; --n-footer:#e9e2d5;
  --n-preview:transparent;
}
html[data-theme="dark"]:has(.nook) {
  --n-page:var(--bg); --n-paper:var(--surface); --n-ink:var(--ink); --n-muted:var(--muted);
  --n-line:var(--line); --n-accent:#dfb58d; --n-primary:#b88963; --n-on-primary:#17110c;
  --n-control:var(--surface-2); --n-hover:#2c2922; --n-selected:var(--accent-soft); --n-active-line:#b68d64;
  --n-focus:#dfb58d; --n-temporary:#e9ae83; --n-success:#bfd0a0;
  --n-success-surface:#2c3526; --n-success-line:#809065; --n-footer:var(--bg);
  --n-preview:#dccdb7;
}
html[data-theme="pink"]:has(.nook) {
  --n-page:var(--bg); --n-paper:var(--surface); --n-ink:var(--ink); --n-muted:var(--muted);
  --n-line:var(--line); --n-accent:var(--accent); --n-primary:var(--accent); --n-on-primary:#fff5e6;
  --n-control:var(--surface-2); --n-hover:#f0d0dc; --n-selected:var(--surface-2); --n-active-line:var(--accent);
  --n-focus:var(--focus); --n-temporary:var(--negative); --n-success:var(--positive);
  --n-success-surface:#e0e6d6; --n-success-line:var(--positive); --n-footer:var(--surface-2);
}
html[data-theme] body:has(.nook) { background: var(--n-page); color:var(--n-ink); min-width:0; }
.site-shell:has(.nook) > .site-header { background: var(--n-page); border-bottom: 1px solid var(--n-line); color: var(--n-ink); }
.site-shell:has(.nook) .site-header__inner { max-width: 1480px; }
.site-shell:has(.nook) .mini-mark { color: var(--n-ink); border-color: var(--n-line); }
.site-shell:has(.nook) .trade-link { color: var(--n-muted); background: transparent; border-color: var(--n-line); box-shadow: none; font-size: 11px; }
.site-shell:has(.nook) .trade-link--buy { color: var(--n-on-primary); background: var(--n-primary); border-color: var(--n-primary); }
.site-shell:has(.nook) .market { color: var(--n-muted); background: transparent; border-color: var(--n-line); }
.site-shell:has(.nook) .market strong { color: var(--n-ink); }
.site-shell:has(.nook) .cat-pattern { opacity: .3; }
.site-shell:has(.nook) .product { display: block; width: min(1480px, calc(100% - 64px)); max-width: 1480px; margin: 0 auto; padding: 0 0 24px; }
.nook { --editorial:Georgia,"Palatino Linotype",serif; color:var(--n-ink); color-scheme:inherit; padding: 38px 0 26px; font-family: var(--sans); }
.nook button, .nook select, .nook input { font-family: var(--sans); font-size: 12px; }
.nook button { cursor: pointer; transition: background .16s, color .16s, border-color .16s, transform .16s; }
.nook button:disabled { opacity: .42; cursor: default; }
.nook button:focus-visible, .nook input:focus-visible, .nook select:focus-visible { outline: 2px solid var(--n-focus); outline-offset: 4px; }
.nook-intro { display:flex; justify-content:space-between; gap:28px; align-items:center; margin:0 0 18px; }
.nook-eyebrow { font-family:var(--mono); text-transform:uppercase; letter-spacing: .17em; font-size: 9px; color:var(--n-muted); margin:0 0 12px; }
.nook-intro h1 { font-family:"Gadugi","Segoe UI Symbol",sans-serif; font-size:40px; line-height:1; letter-spacing:-.1em; font-weight:400; margin:0; }
.nook-intro h1 em { color: var(--n-accent); font-weight:400; }
.nook-intro > div > p:last-child { font-size:12px; line-height:1.6; color:var(--n-muted); margin:0; }
.nook-progress { flex:0 0 220px; text-align:right; font-size:10px; color:var(--n-muted); }
.nook-level { display:block; font-family:var(--mono); font-size:9px; letter-spacing:.025em; margin-bottom:10px; }
.nook-progress strong { display:block; font-size:25px; font-family:var(--editorial); font-weight:400; color:var(--n-ink); line-height:1; }
.nook-progress strong > span:first-child { color:var(--n-accent); font-size:19px; margin-right:4px; }
.nook-progress small { font-family:var(--sans); font-size:10px; color:var(--n-muted); }
.nook-xp-track { height:3px; margin:11px 0 5px; background:var(--n-line); border-radius:8px; overflow:hidden; }
.nook-xp-track i { display:block; height:100%; width:0; border-radius:8px; background:var(--n-accent); transition:width .4s; }
.nook-claim { display:block; margin:10px 0 0 auto; min-height:38px; padding:7px 12px; white-space:nowrap; border:1px solid var(--n-active-line); border-radius:5px; color:var(--n-on-primary); background:var(--n-primary); }
.nook-progress .nook-claim-reward { display:block; margin-top:5px; font-size:9px; }
.nook .nook-gift-guide { display:block; margin:5px 0 0 auto; padding:0; max-width:100%; border:0; background:none; color:var(--n-accent); font-size:10px; text-align:right; line-height:1.4; }
.nook-gift-guide:hover { text-decoration:underline; text-underline-offset:3px; }
.nook-xp-gift { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--n-line); }
.nook-xp-gift img { flex:none; object-fit:contain; background:var(--n-preview); border-radius:4px; }
.nook-xp-gift strong, .nook-xp-gift small { display:block; }
.nook-xp-gift strong { font-weight:400; font-size:11px; color:var(--n-ink); }
.nook-xp-gift small { margin-top:4px; font-size:9px; color:var(--n-muted); }
.nook-xp-gift[data-owned="true"] { opacity:.65; }
.nook-workspace { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:start; }
.nook-room-panel { min-width:0; }
.nook-scene-wrap { position:relative; width:100%; aspect-ratio:1.3; max-height:780px; min-height:430px; overflow:hidden; border-radius:12px; background:#6c5142; isolation:isolate; box-shadow:0 14px 34px -22px #563a20; }
#nook-canvas { width:100%; height:100%; display:block; outline:none; touch-action:none; cursor:grab; }
.nook-loading { position:absolute; inset:0; z-index:10; background:#211c17; color:#eee0c9; display:grid; place-content:center; text-align:center; }
.nook-loading span { font-family:"Gadugi","Segoe UI Symbol",sans-serif; font-size:60px; letter-spacing:-.1em; }
.nook-loading p { font-size:12px; color:#e1cdb7; }
.nook-scene-wrap[aria-busy="true"] #nook-canvas { visibility:hidden; }
.nook-loading progress { width:180px; height:5px; margin:8px auto 10px; border:0; border-radius:4px; overflow:hidden; appearance:none; accent-color:#d2aa74; background:#ffffff18; }
.nook-loading progress::-webkit-progress-bar { background:#ffffff18; border-radius:4px; }
.nook-loading progress::-webkit-progress-value { background:#d2aa74; border-radius:4px; }
.nook-loading progress::-moz-progress-bar { background:#d2aa74; border-radius:4px; }
.nook-loading small { font:10px var(--mono); color:#c3ad92; }
.nook-scene-label { position:absolute; top:20px; left:22px; color:#f4e9d4; display:flex; gap:8px; align-items:center; font-size:9px; letter-spacing:.11em; text-transform:uppercase; font-family:var(--mono); text-shadow:0 1px 6px #302016; pointer-events:none; }
.nook-scene-label i { width:4px; height:4px; background:#f0c98d; border-radius:50%; box-shadow:0 0 8px #f5c477; }
.nook-room-mood { position:absolute; bottom:22px; left:22px; font-family:var(--editorial); font-size:16px; font-style:italic; color:#f1e1cb; text-shadow:0 2px 8px #3b281d; pointer-events:none; }
.nook-focus { position:absolute; right:16px; top:16px; width:30px; height:30px; display:grid; place-items:center; color:#f5e8d5; background:#4c332a55; border:1px solid #fff2; border-radius:50%; font-size:17px!important; }
.nook-focus:hover { background:#4c332a99; }
.nook-view-reset { position:absolute; right:54px; top:16px; width:30px; height:30px; display:grid; place-items:center; color:#f5e8d5; background:#4c332a55; border:1px solid #fff2; border-radius:50%; font-size:17px!important; }
.nook-view-reset:hover { background:#4c332a99; }
.nook-room-hint { position:absolute; bottom:12px; left:12px; margin:0; padding:5px 8px; color:#ffedce; background:#30211980; border-radius:4px; font:10px var(--sans); pointer-events:none; }
.nook-fallback { position:absolute; inset:0; padding:25px; display:grid; place-content:center; text-align:center; background:#8a715c; color:#fff2dc; }
.nook-fallback strong { font-family:"Gadugi","Segoe UI Symbol",sans-serif; font-size:65px; letter-spacing:-.1em; }
.nook-fallback p { max-width:260px; font-size:12px; line-height:1.6; }
.nook-room-tools { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:15px 2px; border-bottom:1px solid var(--n-line); }
.nook-room-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.nook-room-actions button { border:1px solid var(--n-line); color:var(--n-ink); background:transparent; padding:9px 13px; border-radius:6px; font-size:11px; }
.nook-room-actions button:hover { background:var(--n-hover); }
.nook-room-actions .nook-boop { border-color:var(--n-primary); background:var(--n-primary); color:var(--n-on-primary); padding-inline:16px; }
.nook-room-actions #nook-lamp[aria-pressed="true"] { color:var(--n-ink); background:var(--n-selected); border-color:var(--n-active-line); }
.nook-boop span { margin-left:14px; }
.nook-room-actions button > span { margin-left:10px; }
.nook-save { color:var(--n-muted); font-family:var(--mono); font-size:8px; letter-spacing:.02em; text-align:right; }
.nook-save::before { content:'\2022'; color:var(--n-success); margin-right:5px; }
.nook-save[data-temporary="true"] { color:var(--n-temporary); }
.nook-save[data-temporary="true"] { display:block!important; max-width:130px; }
.nook-note { display:flex; align-items:center; gap:14px; padding:14px 2px 0; color:var(--n-muted); }
.nook-note > span { font-family:"Gadugi","Segoe UI Symbol",sans-serif; font-size:19px; letter-spacing:-.1em; color:var(--n-ink); }
.nook-note p { margin:0; font-family:var(--editorial); font-size:14px; line-height:1.5; font-style:italic; }
.nook-message { margin:10px 2px 0; color:var(--n-muted); font-size:11px; line-height:1.5; }
.nook-cabinet { padding:22px 18px 16px; background:var(--n-paper); border:1px solid var(--n-line); border-radius:10px; min-width:0; box-shadow:0 6px 18px -15px #5e4735; }
@media(min-width:761px) {
  .nook-cabinet { max-height:min(840px,calc(100svh - 28px)); overflow-y:auto; overscroll-behavior-y:contain; scrollbar-gutter:stable; scroll-padding:12px; overflow-anchor:none; }
}
.nook-cabinet-heading .nook-eyebrow { font-size:8px; letter-spacing:.1em; }
.nook-cabinet h2 { font-family:var(--sans); font-size:17px; line-height:1.15; font-weight:500; margin:0 0 20px; }
.nook-tabs { display:grid; grid-template-columns:1fr 1fr 1fr; border-bottom:1px solid var(--n-line); margin-bottom:18px; }
.nook-tabs button { color:var(--n-muted); border:0; border-bottom:2px solid transparent; background:transparent; padding:0 0 11px; font-size:10px; }
.nook-tabs button[aria-pressed="true"] { color:var(--n-accent); border-bottom-color:var(--n-accent); font-weight:600; }
.nook-ownership { display:flex; gap:3px; padding:3px; margin-bottom:12px; border:1px solid var(--n-line); border-radius:7px; background:var(--n-control); }
.nook-ownership button { flex:1; min-width:0; min-height:32px; padding:5px 8px; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--n-muted); font-size:11px; white-space:nowrap; }
.nook-ownership button[aria-pressed="true"] { border-color:var(--n-active-line); background:var(--n-selected); color:var(--n-ink); }
.nook-categories { display:flex; flex-wrap:wrap; gap:5px; margin:0 0 12px; }
.nook-categories button { display:inline-flex; align-items:center; gap:5px; min-height:29px; padding:4px 7px; border:1px solid var(--n-line); border-radius:5px; background:transparent; color:var(--n-muted); font-size:10px; line-height:1.3; }
.nook-categories button:hover { background:var(--n-hover); border-color:var(--n-active-line); }
.nook-categories button[aria-pressed="true"] { border-color:var(--n-active-line); background:var(--n-selected); color:var(--n-ink); }
.nook-categories button small { font-family:var(--mono); font-size:8px; opacity:.8; }
.nook-finish-row { display:flex; justify-content:space-between; align-items:center; margin:0 0 17px; color:var(--n-muted); font-size:10px; }
.nook-finish-row > div { display:flex; gap:7px; }
.nook-finish-row button { width:18px; height:18px; padding:0; border:2px solid var(--n-paper); border-radius:50%; box-shadow:0 0 0 1px var(--n-line); }
.nook-finish-row button[aria-pressed="true"] { box-shadow:0 0 0 1.5px var(--n-active-line); }
[data-nook-finish="ink"] { background:#342b28; }
[data-nook-finish="porcelain"] { background:#ece5d7; }
[data-nook-finish="peach"] { background:#c9896c; }
[data-nook-room="amber"] { background:#b48f64; }
[data-nook-room="rose"] { background:#bd9690; }
[data-nook-room="sage"] { background:#92a18a; }
.nook-field { display:block; color:var(--n-muted); font-size:9px; }
.nook-field[hidden] { display:none; }
.nook-field > span { display:block; margin-bottom:7px; }
.nook-field select { width:100%; border:1px solid var(--n-line); background:var(--n-control); color:var(--n-ink); border-radius:5px; padding:9px 10px; font-size:11px; cursor:pointer; }
.nook-category-field { display:none; }
.nook-equipped { display:flex; gap:5px; justify-content:space-between; align-items:center; min-height:34px; padding:9px 1px 14px; color:var(--n-accent); font-size:10px; }
.nook-equipped span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.nook-equipped button { padding:0; border:0; border-bottom:1px solid var(--n-line); background:transparent; color:var(--n-muted); font-size:9px; }
.nook-catalog-controls { display:flex; gap:6px; align-items:stretch; }
.nook-search { display:block; flex:1; min-width:0; }
.nook-search input { width:100%; min-width:0; border:1px solid var(--n-line); background:transparent; color:var(--n-ink); border-radius:5px; padding:8px; font-size:10px; }
.nook-search input::placeholder { color:var(--n-muted); }
.nook-item-count { font-size:9px; color:var(--n-muted); margin:12px 1px 9px; }
.nook-items { display:grid; grid-template-columns:1fr 1fr; gap:8px; min-height:0; align-content:start; }
.nook-item { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:start; min-width:0; min-height:121px; padding:6px 6px 8px; border:1px solid var(--n-line); border-radius:7px; color:var(--n-ink); background:var(--n-control); box-shadow:none; }
.nook-item:hover { background:var(--n-hover); border-color:var(--n-active-line); }
.nook-item[aria-pressed="true"] { border-color:var(--n-active-line); background:var(--n-selected); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--n-active-line) 40%,transparent); }
.nook-item img { display:block; width:82px; height:69px; object-fit:contain; margin:0 auto 4px; filter:drop-shadow(0 2px 2px #72583922); background:var(--n-preview); border-radius:4px; }
.nook-item > span { font-size:10px; line-height:1.3; text-align:center; overflow-wrap:anywhere; }
.nook-item small { color:var(--n-muted); font-family:var(--mono); font-size:8px; margin-top:4px; }
.nook-item[aria-pressed="true"] small { color:var(--n-muted); }
.nook-item-lock { position:absolute; right:7px; top:5px; font-size:9px; color:var(--n-muted); }
.nook-empty { grid-column:1 / -1; text-align:center; color:var(--n-muted); font-size:12px; line-height:1.7; padding:36px 10px; }
.nook-empty button { display:block; margin:12px auto 0; padding:8px 14px; background:var(--n-selected); border:1px solid var(--n-line); border-radius:4px; color:var(--n-muted); }
.nook-collection-note { border-top:1px solid var(--n-line); padding-top:13px; margin:0; font-family:var(--editorial); font-style:italic; font-size:12px; color:var(--n-muted); text-align:center; }
.nook-earn > p:first-child { margin:0 0 18px; color:var(--n-muted); font-size:12px; line-height:1.7; }
.nook-task { display:grid; grid-template-columns:18px 1fr auto; gap:8px; align-items:center; padding:15px 0; border-bottom:1px solid var(--n-line); }
.nook-task > span:first-child { width:15px; height:15px; border:1px solid var(--n-line); border-radius:50%; font-size:10px; display:grid; place-items:center; color:var(--n-success); }
.nook-task[data-completed="true"] > span:first-child { background:var(--n-success-surface); border-color:var(--n-success-line); }
.nook-task strong { display:block; font-size:11px; font-weight:400; color:var(--n-muted); }
.nook-task small { font-size:8px; color:var(--n-muted); font-family:var(--mono); }
.nook-task > span:last-child { font-size:9px; color:var(--n-muted); }
.nook-task-action { border:0; padding:0; background:none; text-align:left; color:var(--n-ink); font-size:12px; cursor:pointer; }
.nook-task-action:hover { color:var(--n-accent); text-decoration:underline; text-underline-offset:3px; }
.nook-task-action:disabled { color:var(--n-muted); cursor:default; text-decoration:none; }
.nook-earn h3 { margin:22px 0 5px; font-size:12px; font-weight:500; }
.nook-earn h3:first-child { margin-top:0; }
.nook-wearing { margin:4px 0 10px; color:var(--n-muted); font-size:10px; }
.nook-wearing summary { cursor:pointer; padding:4px 0; }
.nook-wearing > div { display:flex; flex-wrap:wrap; gap:5px; padding:7px 0 3px; }
.nook-wearing button { border:1px solid var(--n-line); border-radius:5px; background:none; padding:5px 7px; color:var(--n-ink); font-size:10px; cursor:pointer; }
.nook-wearing button:hover { border-color:var(--n-accent); }
.nook-earn .nook-earn-small { font-size:10px; line-height:1.65; color:var(--n-muted); margin:13px 0 0; }
.nook-legacy { border-top:1px solid var(--n-line); color:var(--n-muted); margin-top:8px; }
.nook-legacy > summary { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:22px 2px; list-style:none; font-size:11px; cursor:pointer; }
.nook-legacy > summary::-webkit-details-marker { display:none; }
.nook-legacy > summary > span:last-child { color:var(--n-muted); font-size:9px; }
.nook-legacy summary i { font-style:normal; margin-left:16px; font-size:17px; }
.nook-legacy[open] summary i { display:inline-block; transform:rotate(45deg); }
.nook-legacy-content { padding:10px 0 28px; }
.nook-legacy-content .intro__copy h2 { font-family:var(--editorial); font-size:40px; margin:0; font-weight:400; }
.nook-legacy-content .intro__copy h2 span { letter-spacing:-.1em; font-family:"Gadugi","Segoe UI Symbol",sans-serif; }
.nook-legacy-content .experience { margin-top:24px; }
.nook-legacy .wallet__activity-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.nook-legacy .profile-mode-dock__actions, .nook-legacy .discovery-rail { grid-template-columns:1fr; }
.site-shell:has(.nook) .site-footer { color:var(--n-muted); border-color:var(--n-line); background:var(--n-footer); }
.site-shell:has(.nook) .site-footer__inner { max-width:1480px; }
.site-shell:has(.nook) .site-footer nav a, .site-shell:has(.nook) .site-footer nav button { color:var(--n-muted); }
.nook-postcard { width:min(860px,calc(100vw - 32px)); max-height:90svh; background:var(--n-paper); color:var(--n-muted); border:1px solid var(--n-active-line); border-radius:12px; padding:20px; box-shadow:0 22px 100px #20160b77; }
.nook-postcard::backdrop { background:#271b13aa; backdrop-filter:blur(5px); }
.nook-postcard header { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:16px; }
.nook-postcard h2 { font-family:var(--editorial); font-weight:400; font-size:24px; margin:0; }
.nook-postcard button { border:1px solid var(--n-line); border-radius:5px; background:var(--n-control); color:var(--n-muted); font:11px var(--sans); padding:9px 15px; cursor:pointer; }
.nook-postcard header button { border:0; background:transparent; font-size:16px; padding:5px 9px; }
.nook-postcard img { display:block; max-height:65svh; max-width:100%; width:auto; margin:0 auto; border-radius:5px; }
.nook-postcard footer { display:flex; justify-content:center; gap:10px; margin:16px 0 0; }
.nook-postcard p { color:var(--n-muted); font-size:10px; text-align:center; margin:12px 0 0; }
.nook-art-dialog { width:min(800px,calc(100vw - 28px)); }
.nook-art-dialog h2 { font:15px var(--sans); line-height:1.4; }
.nook-art-dialog footer a { color:var(--n-accent); font:11px var(--sans); text-decoration:none; }
.nook-art-dialog footer a:hover { text-decoration:underline; }
.nook-art-dialog select { width:100%; margin:0 0 15px; padding:8px 10px; border:1px solid var(--n-line); border-radius:5px; background:var(--n-control); color:var(--n-ink); font:12px var(--sans); }
.nook-workspace.is-focused { grid-template-columns:1fr; }
.nook-workspace.is-focused .nook-cabinet { display:none; }
.nook-workspace.is-focused .nook-scene-wrap { aspect-ratio:1.7; max-height:840px; }
.nook-wardrobe-toggle { display:none; }
.nook-equipped-actions { display:flex; gap:6px; flex-shrink:0; }
.nook-equipped .nook-equipped-actions button { min-height:32px; padding:5px 7px; border:1px solid var(--n-line); border-radius:4px; color:var(--n-ink); font-size:11px; }
.nook-equipped .nook-equipped-actions button:hover:not(:disabled) { background:var(--n-hover); }
.nook-item > span { color:var(--n-ink); font-size:11px; }
.nook-item small, .nook-item[aria-pressed="true"] small { color:var(--n-muted); font-size:9px; }
.nook-item-lock { color:var(--n-muted); }
.nook-search input::placeholder { color:var(--n-muted); }
.nook-item-count { color:var(--n-muted); font-size:10px; }
.nook-looks { display:grid; gap:6px; margin-top:14px; padding-top:12px; border-top:1px solid var(--n-line); }
.nook-looks:empty { display:none; }
.nook-looks-label { display:block; margin-bottom:2px; color:var(--n-muted); font-size:10px; }
.nook-look { display:flex; min-width:0; align-items:center; gap:5px; }
.nook-look-name, .nook-look-empty { min-width:0; min-height:34px; padding:7px 9px; border:1px solid var(--n-line); border-radius:5px; color:var(--n-ink); background:var(--n-control); text-align:left; }
.nook-look-name { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nook-look-name[aria-pressed="true"] { border-color:var(--n-active-line); color:var(--n-ink); background:var(--n-selected); }
.nook-look-empty { width:100%; border-style:dashed; background:transparent; color:var(--n-muted); }
.nook-look-name:hover, .nook-look-empty:hover { background:var(--n-hover); }
.nook-look-actions { display:flex; align-items:center; gap:4px; flex-shrink:0; }
.nook-look-actions button { min-height:32px; min-width:32px; padding:5px 6px; border:1px solid var(--n-line); border-radius:4px; color:var(--n-ink); background:transparent; font-size:10px; }
.nook-look-actions button:last-child { font-size:17px; line-height:1; }
.nook-look-actions button:hover { background:var(--n-hover); }
.nook-look-dialog { width:min(360px,calc(100vw - 32px)); padding:20px; color-scheme:inherit; }
.nook-look-dialog h2 { font-size:22px; }
.nook-look-dialog label { display:block; margin-bottom:8px; font:12px var(--sans); color:var(--n-ink); }
.nook-look-dialog input { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--n-line); border-radius:5px; background:var(--n-control); color:var(--n-ink); font:16px var(--sans); }
.nook-look-dialog input:focus-visible, .nook-look-dialog button:focus-visible { outline:2px solid var(--n-focus); outline-offset:3px; }
.nook-look-dialog footer { justify-content:flex-end; }
.nook-look-dialog footer button { min-height:40px; font-size:12px; }
.nook-look-dialog footer button[type="submit"] { color:var(--n-on-primary); border-color:var(--n-primary); background:var(--n-primary); }
.nook-noscript { padding:20px; color:var(--n-muted); border:1px solid var(--n-line); }
@media(min-width:1500px) { .nook-workspace { grid-template-columns:minmax(0,1fr) 330px; gap:24px; } .nook-cabinet { padding:24px; } .nook-items { gap:10px; } }
@media(max-width:1000px) { .site-shell:has(.nook) .product { width:calc(100% - 36px); } .nook-workspace { grid-template-columns:minmax(0,1fr) 260px; gap:14px; } .nook-cabinet { padding:18px 12px; } .nook-scene-wrap { min-height:470px; aspect-ratio:1; } .nook-save { display:none; } .nook-intro h1 { font-size:37px; } .nook-intro > div > p:last-child { max-width:370px; } .nook-item img { width:75px; } }
@media(max-width:760px) { .site-shell:has(.nook) .product { width:calc(100% - 28px); } .nook { padding-top:25px; } .nook-intro { gap:15px; align-items:flex-end; margin-bottom:20px; } .nook-eyebrow { font-size:7px; letter-spacing:.12em; } .nook-intro h1 { font-size:32px; max-width:280px; } .nook-intro > div > p:last-child { font-size:10px; max-width:300px; } .nook-progress { flex-basis:125px; } .nook-level { font-size:7px; line-height:1.5; } .nook-progress strong { font-size:22px; } .nook-progress > span:last-child { font-size:8px; } .nook-workspace { display:block; } .nook-scene-wrap { min-height:370px; max-height:none; aspect-ratio:1.15; } .nook-cabinet { margin-top:22px; padding:20px; } .nook-items { grid-template-columns:repeat(3,minmax(0,1fr)); min-height:240px; } .nook-item img { width:90px; height:75px; } .nook-cabinet h2 { font-size:26px; margin-bottom:20px; } .nook-tabs button { font-size:12px; } .nook-room-tools { padding-top:12px; } .nook-room-actions { gap:6px; } .nook-room-actions button { font-size:9px; padding:9px 10px; } .nook-save { display:block; max-width:80px; font-size:7px; } .nook-scene-label { left:16px; top:17px; font-size:7px; } .nook-room-mood { left:16px; bottom:18px; font-size:14px; } .nook-legacy summary > span:last-child { max-width:125px; text-align:right; line-height:1.7; } .nook-workspace.is-focused .nook-scene-wrap { aspect-ratio:.85; min-height:420px; } .nook-workspace.is-focused .nook-cabinet { display:none; } }
@media(max-width:400px) { .nook-intro h1 { font-size:28px; } .nook-progress { flex-basis:94px; } .nook-intro > div > p:last-child { max-width:210px; } .nook-level { font-size:6px; } .nook-room-actions button { padding:8px; font-size:8px; } .nook-save { display:none; } .nook-scene-wrap { min-height:320px; } .nook-cabinet { padding:17px 13px; } .nook-items { gap:6px; } .nook-item img { width:73px; } }
@media(max-width:760px) {
  /* The drawer scrolls independently; the room stays in view while equipping. */
  .nook { padding-top:16px; }
  .nook-intro { margin-bottom:12px; }
  .nook-workspace { position:relative; display:block; isolation:isolate; scroll-margin-top:6px; overflow-anchor:none; }
  .nook-room-panel { position:sticky; top:max(6px,env(safe-area-inset-top)); z-index:3; padding-top:4px; background:var(--n-page); }
  .nook-scene-wrap { height:clamp(190px,40svh,360px); min-height:0; max-height:none; aspect-ratio:auto; border-radius:10px; }
  .nook-focus { width:36px; height:36px; right:12px; top:12px; }
  .nook-room-tools { min-height:50px; padding:8px 0; gap:6px; flex-wrap:wrap; }
  .nook-room-actions { width:100%; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .nook-room-actions button { min-width:0; min-height:34px; padding:7px 5px; font-size:11px; white-space:nowrap; }
  .nook-room-actions .nook-boop { padding-inline:5px; }
  .nook-room-actions button > span { margin-left:4px; }
  .nook-room-actions #nook-postcard span { display:none; }
  .nook-save { display:none; }
  .nook-save[data-temporary="true"] { max-width:none; font-size:10px; text-align:left; }
  .nook-message { margin:0; padding:0 0 8px; color:var(--n-muted); }
  .nook-wardrobe-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:44px; margin:4px 0 0; padding:10px 13px; border:1px solid var(--n-line); border-radius:8px; color:var(--n-ink); background:var(--n-paper); font-size:13px; font-weight:500; }
  .nook-wardrobe-toggle:hover { background:var(--n-hover); }
  .nook-wardrobe-toggle__icon { width:8px; height:8px; margin-right:3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
  .nook-wardrobe-toggle[aria-expanded="true"] { border-bottom-left-radius:0; border-bottom-right-radius:0; }
  .nook-wardrobe-toggle[aria-expanded="true"] .nook-wardrobe-toggle__icon { transform:rotate(225deg); }
  .nook-cabinet { display:none; margin:0; max-height:39svh; overflow-y:auto; overflow-anchor:none; overscroll-behavior-y:contain; scrollbar-gutter:stable; -webkit-overflow-scrolling:touch; padding:10px 12px 14px; border-top:0; border-top-left-radius:0; border-top-right-radius:0; scroll-padding:12px; }
  .nook-workspace.is-wardrobe-open:not(.is-focused) .nook-cabinet { display:block; }
  .nook-cabinet-heading { display:none; }
  .nook-tabs { margin-bottom:8px; }
  .nook-tabs button { min-height:34px; padding:4px 0 8px; color:var(--n-muted); font-size:12px; }
  #nook-collection-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(142px,.95fr); column-gap:9px; }
  .nook-ownership { grid-column:1 / -1; grid-row:1; margin:0 0 9px; padding:2px; }
  .nook-ownership button { min-height:35px; padding:5px 4px; font-size:11px; }
  .nook-categories { display:none; }
  .nook-field { grid-column:1 / -1; display:flex; align-items:center; gap:9px; min-width:0; }
  .nook-field > span { margin:0; font-size:11px; }
  .nook-field select { min-height:40px; padding:7px; font-size:16px; }
  .nook-category-field { display:block; grid-column:1; grid-row:2; margin-bottom:8px; }
  .nook-category-field > span { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .nook-finish-row { grid-column:2; grid-row:2; min-height:40px; margin:0 0 8px; gap:5px; font-size:11px; color:var(--n-muted); }
  .nook-finish-row > div { gap:4px; }
  .nook-finish-row button { width:32px; height:32px; }
  .nook-equipped { grid-column:1 / -1; min-height:38px; padding:4px 0; font-size:11px; }
  .nook-equipped .nook-equipped-actions button { min-height:32px; }
  .nook-catalog-controls, .nook-item-count, .nook-items, .nook-looks { grid-column:1 / -1; }
  .nook-search input { min-height:40px; padding:8px 10px; font-size:16px; }
  .nook-item-count { margin:8px 0; color:var(--n-muted); font-size:10px; }
  .nook-items { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; min-height:0; }
  .nook-item { min-height:102px; padding:5px 4px 7px; }
  .nook-item img { width:76px; max-width:100%; height:56px; margin-bottom:3px; }
  .nook-item > span { font-size:11px; }
  .nook-item small { font-size:9px; }
  .nook-looks { margin-top:12px; padding-top:10px; }
  .nook-look-name, .nook-look-empty { font-size:12px; }
  .nook-look-actions button { font-size:11px; }
  .nook-workspace.is-focused .nook-scene-wrap { height:clamp(280px,68svh,600px); min-height:0; aspect-ratio:auto; }
  .nook-workspace.is-focused .nook-cabinet, .nook-workspace.is-focused .nook-wardrobe-toggle { display:none; }
  /* Typing leaves space for the on-screen keyboard and the active search. */
  .nook-workspace.is-wardrobe-open:not(.is-focused) .nook-scene-wrap { height:clamp(190px,32svh,300px); }
  .nook-workspace:has(.nook-search input:focus) .nook-scene-wrap { height:clamp(130px,25svh,220px); }
  .nook-workspace:has(.nook-search input:focus) .nook-cabinet { max-height:min(47svh,calc(100dvh - 25svh - 110px)); }
  .site-shell:has(.nook) > .site-header { height:auto; }
  .site-shell:has(.nook) .site-header__inner { grid-template-columns:1fr; grid-template-rows:auto auto; height:auto; padding-inline:12px; }
  .site-shell:has(.nook) .mini-mark { display:none; }
  .site-shell:has(.nook) .trade-links { grid-column:1; grid-row:1; display:flex; flex-wrap:wrap; gap:3px 5px; padding:7px 0; }
  .site-shell:has(.nook) .trade-link { flex:0 0 auto; min-width:0; min-height:34px; height:auto; padding:7px 9px; white-space:nowrap; font-size:11px; line-height:1.2; }
  .site-shell:has(.nook) .trade-link--manifesto::before { content:none; }
  .site-shell:has(.nook) .market { grid-column:1; grid-row:2; min-height:42px; border-inline:0; border-top:1px solid var(--n-line); }
  .site-shell:has(.nook) .market small { font-size:9px; }
  .site-shell:has(.nook) .market strong { font-size:12px; }
}
@media(max-width:760px) and (max-height:540px) {
  .nook-scene-wrap { height:clamp(140px,32svh,220px); }
  .nook-workspace.is-wardrobe-open:not(.is-focused) .nook-scene-wrap { height:clamp(140px,27svh,190px); }
  .nook-cabinet { max-height:38svh; }
}
@media(prefers-reduced-motion:reduce) { .nook *, .nook *::before { transition:none!important; scroll-behavior:auto; } }

/* Collection goals stay separate from the purchase/wear action on each card. */
.nook-item-card { display:flex; flex-direction:column; min-width:0; gap:4px; }
.nook-item-card > .nook-item { width:100%; flex:1; }
.nook-item-goal { min-height:30px; padding:5px 7px; border:1px solid var(--n-line); border-radius:5px; background:transparent; color:var(--n-muted); font-size:10px; }
.nook-item-goal:hover, .nook-item-goal[aria-pressed="true"] { background:var(--n-hover); border-color:var(--n-active-line); }
.nook-item-goal:focus-visible, .nook-goal-actions button:focus-visible { outline:2px solid var(--n-focus); outline-offset:3px; }
.nook-placement { grid-column:1 / -1; margin:6px 0 0; color:var(--n-muted); font-size:11px; }
.nook-collection-goal { margin:0 0 16px; padding:0 0 14px; border-bottom:1px solid var(--n-line); }
.nook-goal-row { display:flex; gap:9px; align-items:center; min-width:0; }
.nook-goal-row img { width:52px; height:44px; flex:none; object-fit:contain; }
.nook-goal-row > div { min-width:0; }
.nook-goal-row small, .nook-goal-row strong, .nook-goal-row span { display:block; }
.nook-goal-row small { margin-bottom:3px; color:var(--n-muted); font-size:10px; }
.nook-goal-row strong { color:var(--n-ink); font-size:12px; font-weight:500; overflow-wrap:anywhere; }
.nook-goal-row span { margin-top:4px; color:var(--n-muted); font-size:10px; line-height:1.5; }
.nook-goal-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.nook-goal-actions button { min-height:34px; padding:7px 10px; border:1px solid var(--n-line); border-radius:5px; background:transparent; color:var(--n-ink); font-size:11px; }
.nook-goal-actions button[data-goal-action="purchase"] { background:var(--n-primary); border-color:var(--n-primary); color:var(--n-on-primary); }
.nook-next-unlock { margin:11px 0 0; color:var(--n-muted); font-size:10px; line-height:1.6; }
@media(max-width:760px) { .nook-item-goal { min-height:34px; font-size:11px; } .nook-collection-goal { margin-bottom:12px; padding-bottom:11px; } }
.nook-save-button { border:0; border-bottom:1px solid var(--n-line); padding:4px 0; background:transparent; cursor:pointer; }
@media(min-width:761px) and (max-width:1000px) {
 .nook-room-tools { flex-wrap:wrap; }
 .nook-save-button { display:block; max-width:none; font-size:10px; line-height:1.5; text-align:left; }
}
#nook-canvas:focus-visible { outline:2px solid #f7d6a6; outline-offset:-4px; }
.nook-scene-wrap.is-walking #nook-canvas { touch-action:none; cursor:grab; }
.nook-walk-controls { position:absolute; inset:auto 16px 16px; display:flex; align-items:end; justify-content:space-between; gap:12px; pointer-events:none; }
.nook-walk-controls > p { position:absolute; bottom:86px; left:0; font-size:11px; color:#ffedce; text-shadow:0 1px 5px #1b100a; margin:0; }
.nook-walk-controls button { pointer-events:auto; touch-action:none; min-width:40px; min-height:38px; padding:5px 12px; border:1px solid #f8d9b66b; border-radius:6px; color:#ffedce; background:#36261fbb; backdrop-filter:blur(4px); cursor:pointer; }
.nook-walk-pad { display:grid; grid-template-columns:repeat(3,40px); gap:4px; }
.nook-walk-pad button { padding:0; font-size:18px; }
.nook-walk-view { display:grid; gap:4px; }
.nook-walk-zoom { display:flex; gap:4px; }
.nook-walk-zoom button { width:40px; padding:0; font-size:20px; }
.nook-walk-controls button:active { background:#a47748cc; }
@media(max-width:760px) {
 .nook-room-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .nook-save-button { display:block; max-width:none; font-size:10px; margin:1px 0 0; }
 .nook-walk-controls { inset:auto 10px 10px; }
 .nook-walk-controls > p { display:none; }
 .nook-walk-controls::before { content:'drag to look'; position:absolute; bottom:90px; left:0; color:#ffedce; font-size:10px; text-shadow:0 1px 5px #1b100a; }
}
.nook-cloud-dialog { width:min(420px,calc(100vw - 28px)); color-scheme:inherit; }
.nook-cloud-dialog p { text-align:left; font-size:12px; line-height:1.6; color:var(--n-muted); }
.nook-cloud-dialog label { display:block; margin:20px 0 8px; font-size:12px; }
.nook-cloud-dialog input { width:100%; min-height:44px; font-size:16px; padding:10px; border:1px solid var(--n-line); border-radius:5px; background:var(--n-control); color:var(--n-ink); }
.nook-cloud-dialog input + button { margin-top:8px; }
.nook-cloud-actions { display:flex; flex-wrap:wrap; gap:8px; }
.nook-cloud-dialog button { min-height:40px; }
@media(max-width:760px) {
 html:has(.nook), body:has(.nook) { overflow-x:clip; overflow-y:visible; }
}
@media(max-width:760px) {
 .nook-room-panel { position:static; flex:0 0 auto; }
 .nook-workspace.is-wardrobe-open:not(.is-focused) { position:sticky; top:6px; display:flex; flex-direction:column; height:calc(100svh - 12px); }
 .nook-wardrobe-toggle { flex:0 0 auto; }
 .nook-workspace.is-wardrobe-open:not(.is-focused) .nook-cabinet { flex:1 1 auto; min-height:0; max-height:none; }
 .nook-workspace.is-wardrobe-open:not(.is-focused):has(.nook-search input:focus) { height:calc(100dvh - 12px); }
}
@media(max-width:760px) { .nook-workspace.is-wardrobe-open:not(.is-focused) { align-items:stretch; } }

/* A real cosmetic to work toward, alongside the room rather than in its header. */
.nook-reward-preview { margin:12px 0 0; }
.nook-weekly-reward { margin-top:8px; }
.nook-weekly-reward[hidden], .nook-backup-hint[hidden] { display:none; }
.nook-weekly-card { display:grid; grid-template-columns:62px minmax(0,1fr) auto; align-items:center; gap:12px; padding:9px; min-height:76px; border:1px solid var(--n-line); border-radius:8px; background:var(--n-control); }
.nook-weekly-icon { width:62px; height:52px; object-fit:contain; background:var(--n-preview); border-radius:5px; }
.nook-weekly-copy { display:grid; gap:4px; min-width:0; }
.nook-weekly-copy strong { font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.nook-weekly-copy small { font-size:10px; color:var(--n-muted); line-height:1.4; }
.nook .nook-weekly-claim { padding:9px 12px; font-size:11px; }
.nook-backup-hint { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:10px 2px 0; font-size:11px; color:var(--n-muted); }
.nook .nook-backup-hint button { font-size:11px; padding:7px 10px; }
.nook-workspace.is-focused .nook-weekly-reward, .nook-workspace.is-focused .nook-backup-hint { display:none; }
@media(max-width:760px) {
 .nook-weekly-card { grid-template-columns:48px minmax(0,1fr); gap:8px 10px; min-height:64px; padding:8px; }
 .nook-weekly-icon { width:48px; height:44px; }
 .nook .nook-weekly-claim { grid-column:1 / -1; justify-self:stretch; }
 .nook-workspace.is-wardrobe-open .nook-weekly-reward, .nook-workspace.is-wardrobe-open .nook-backup-hint { display:none; }
}
.nook-reward-preview[hidden] { display:none; }
.nook .nook-reward-card { display:grid; grid-template-columns:62px minmax(0,1fr) auto 14px; align-items:center; gap:12px; width:100%; min-height:76px; padding:9px 13px 9px 9px; text-align:left; border:1px solid var(--n-line); border-radius:8px; background:var(--n-control); color:var(--n-ink); }
.nook .nook-reward-card:hover { background:var(--n-hover); border-color:var(--n-active-line); }
.nook .nook-reward-card:disabled { opacity:1; cursor:default; }
.nook-reward-icon { width:62px; height:52px; object-fit:contain; background:var(--n-preview); border-radius:5px; }
.nook-reward-copy { display:grid; gap:4px; min-width:0; }
.nook-reward-caption { font-size:9px; line-height:1.3; color:var(--n-muted); }
.nook-reward-copy strong { font-size:13px; line-height:1.35; font-weight:500; overflow-wrap:anywhere; }
.nook-reward-track { display:block; width:min(220px,100%); height:3px; margin-top:3px; overflow:hidden; border-radius:4px; background:var(--n-line); }
.nook-reward-track[hidden], .nook-reward-icon[hidden] { display:none; }
.nook-reward-track i { display:block; height:100%; border-radius:inherit; background:var(--n-accent); transition:width .35s ease; }
.nook-reward-detail { color:var(--n-accent); font-size:10px; white-space:nowrap; }
.nook-reward-arrow { color:var(--n-muted); font-size:15px; }
.nook .nook-reward-card[data-complete="true"] { grid-template-columns:minmax(0,1fr) auto 14px; min-height:58px; padding-inline:13px; }
.nook-workspace.is-focused .nook-reward-preview { display:none; }
@media(max-width:760px) {
 .nook-reward-preview { margin-top:8px; }
 .nook .nook-reward-card { min-height:64px; grid-template-columns:48px minmax(0,1fr) auto 11px; gap:9px; padding:7px 10px 7px 7px; }
 .nook-reward-icon { width:48px; height:44px; }
 .nook-reward-copy strong { font-size:12px; }
 .nook-reward-detail { font-size:9px; }
 .nook-workspace.is-wardrobe-open .nook-reward-preview { display:none; }
}
@media(prefers-reduced-motion:reduce) { .nook-reward-track i { transition:none; } }
.nook-workspace.is-public { grid-template-columns:minmax(0,1fr); max-width:1160px; margin-inline:auto; }
.nook-workspace.is-public .nook-cabinet, .nook-workspace.is-public .nook-wardrobe-toggle { display:none!important; }
.nook-public-visit { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 2px; color:var(--n-muted); font-size:12px; }
.nook-public-visit[hidden] { display:none; }
.nook-public-visit a { color:var(--n-on-primary); background:var(--n-primary); padding:10px 14px; border-radius:6px; text-decoration:none; }
.nook-room-link { border-top:1px solid var(--n-line); margin-top:16px; padding-top:12px; }
.nook-room-link p { margin:0 0 10px; color:var(--n-muted); font-size:12px; line-height:1.5; }
.nook-room-link #nook-room-link-wrap { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:10px; }
.nook-room-link #nook-room-link-wrap[hidden] { display:none; }
.nook-room-link input { width:100%; min-width:0; border:1px solid var(--n-line); border-radius:5px; background:var(--n-control); color:var(--n-ink); padding:10px; font-size:14px; }
.nook-room-link-actions { display:flex; flex-wrap:wrap; gap:8px; }
.nook-room-link a { color:var(--n-accent); font-size:12px; }
#nook-postcard-dialog { max-height:90svh; overflow:auto; }
#nook-postcard-dialog > img { max-height:45svh; object-fit:contain; }
@media(max-width:760px) {
  .nook-room-link input { font-size:16px; }
  .nook-public-visit { font-size:11px; }
  .nook-workspace.is-public .nook-scene-wrap { height:clamp(300px,65svh,600px); }
}
