/* Game interface skin. Shared selectors cover dynamically rendered controls. */
:root{--paper:#e7e6ce;--surface:#fff4d9;--ink:#293e31;--muted:#65735b;--line:#b9bea0;--green:#315f45;--soft:#e1e8c5;--gold:#d4aa55;--radius:6px;--wood:#805732;--wood-dark:#49351f;--parchment:#f4e5bd}
body{background:radial-gradient(ellipse at top right,#f6ebca80,transparent 65%),repeating-linear-gradient(0deg,#526b3510 0 1px,transparent 1px 6px),var(--paper)}
.brand{color:#fff1c6}.brand-mark{border-radius:3px;background:#c4a05d;color:#263e30;border:2px solid #f7d890;box-shadow:0 3px #102c23}
/* Raised plaques, with a physical downward press. */





button[data-glyph]::before{content:attr(data-glyph);font-size:20px;line-height:1;color:inherit}

button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #b36e25;outline-offset:4px}
input:not([type=checkbox]):not([type=file]),select{background:#fff8e3;border:2px solid #c0ab78;border-radius:3px;box-shadow:inset 0 2px #84734615}.creator-preview,.pet-stage{border:2px solid #9aab7f;border-radius:4px;background:#dce6bf}.sprite-gallery button,dialog .activity-tile,dialog .shop-item,dialog .person-card{border:2px solid #b59b65;border-bottom:4px solid #8b7349;border-radius:5px;background:#f5e8be;box-shadow:inset 0 2px #fff7dc;min-height:60px}.sprite-gallery button.selected{outline:2px solid #557544;outline-offset:2px}.swatches button{border-radius:50%;min-height:24px;box-shadow:0 2px #6c6043}.swatches button.selected{outline:3px solid #42653e;outline-offset:2px}.character-offer,.wardrobe-item,.lobby-card{background:#f2e8c9;border:2px solid #b39e6c;border-radius:5px}.presence-player{border-radius:3px;background:#e7dfbd}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Override earlier component-specific dashboard treatments. */

/* The inventory shelf: cards read as objects, rather than form fields. */
.shop-item,.room-style-card,.character-offer,.signature-offer{
  position:relative;background:#f5e7bf;border:2px solid #baa06b;
  border-radius:5px;box-shadow:inset 0 2px #fff4d2,0 3px #ae9361;
  padding:14px;gap:12px;overflow-wrap:anywhere;
}
.shop-item canvas,.room-style-card canvas,.character-offer canvas{
  background:radial-gradient(ellipse at center,#fdf6d8,#e5d6a5);
  border:1px solid #cfb980;border-radius:3px;image-rendering:pixelated;
}
.shop-item h3,.room-style-card strong,.character-offer strong{color:#3e5031}
.room-style-card.equipped,.character-offer.equipped{
  background:#e2e8c0;border-color:#678452;box-shadow:inset 0 0 0 2px #b9cc8d,0 3px #516d3f;
}
.room-style-card.equipped::before,.character-offer.equipped::before{
  content:'Equipped';align-self:flex-start;background:#3f633e;color:#fff2c3;
  padding:4px 8px;font-size:9px;font-weight:700;border-radius:3px;
}
.milestone-badge{background:#e7dfc3;border:2px dashed #b0a078;border-radius:5px;color:#71684e}
.milestone-badge.earned{
  background:radial-gradient(ellipse at top,#fff2b9,#e5c978);
  border:2px solid #ab8643;color:#584321;box-shadow:inset 0 2px #fff7d5,0 3px #9b793e;
}
.milestone-badge.earned>span{color:#8d601b;text-shadow:0 1px #fff5ce}
.pet-bond-track{height:8px;background:#c1cca0;border:1px solid #87966a;border-radius:2px}
.pet-bond-track span{background:linear-gradient(#92b16b,#648747)}
.pet-tricks .button{background:#efda9c;border-color:#ad8c4d;color:#574724}
#task-list>div,#quest-list>div{background:#f5e7c3;border:1px solid #c7b280;border-left:4px solid #9c814a;border-radius:4px;padding:12px;margin-bottom:10px}
#task-list input[type=checkbox]{width:20px;height:20px;accent-color:#527440;flex-shrink:0}
#task-list>div:has(input:checked){background:#e6e8c7;border-left-color:#64834f}
#task-list>div:has(input:checked) strong{color:#68734f}
.dialog-footer{border-top:2px solid #c7b17c;margin-top:20px;padding-top:16px;gap:12px}
.dialog-intro{max-width:60ch;line-height:1.65;color:#68704e}
/* Match results must stay distinct from other disabled buttons. */
dialog .matching-card{background:repeating-linear-gradient(45deg,#d3bc7b 0 4px,#e5cf95 4px 8px);border:2px solid #9e8047;border-bottom-width:4px;box-shadow:inset 0 0 0 3px #f5e4b5}
dialog .matching-card.revealed{background:#fff3cc;border-color:#af9357}
dialog .matching-card.matched{background:#d8e5b4;border-color:#67874e;opacity:1;filter:none;box-shadow:inset 0 0 0 2px #b1c58b}
dialog .matching-card.matched::after{content:'✓';position:absolute;right:5px;top:3px;color:#466933;font-size:12px;font-weight:700}
@media(max-width:650px){
  .shop-item,.room-style-card,.character-offer{padding:10px}.dialog-footer{flex-wrap:wrap}
}

/* Interaction prompts float above the character without covering the world.
   Reset bottom explicitly: the legacy fullscreen bottom inset stretches a
   top-positioned prompt into a tall panel. */

/* One HUD replaces the sidebar; each global command has one home. */
main{max-width:1500px;margin:auto;padding:0 clamp(14px,3vw,44px) 24px}
@media(max-width:650px){
 main{padding:0 12px 20px}
}

/* Field journal: supplies, daily rounds and workshop recipes. */
.supply-hud>span{background:#f7e8bb;border:1px solid #b89b5e;border-bottom:3px solid #927743;border-radius:4px;padding:7px 11px;font-size:12px;font-weight:700;text-transform:capitalize;font-variant-numeric:tabular-nums}
.field-section{margin:24px 0 12px;font-size:25px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.field-card{display:flex;flex-direction:column;gap:12px;background:#f1e1b5;border:2px solid #b4975c;border-radius:5px;padding:16px;box-shadow:0 3px #a88c55}
.field-card h4{margin:0;font-size:14px;color:#3e5233}.field-card p{font-size:11px;line-height:1.7;color:#746344}.field-card button{margin-top:auto;width:100%}
.field-card.level-locked{background:#e7dec4;border-style:dashed;box-shadow:none}.item-description{font-size:11px;color:#77684a;line-height:1.5}.shop-item.level-locked{background:#e7dec4;border-style:dashed;box-shadow:none}
.activity-timer{flex:1 0 100%;min-height:40px;padding:12px;background:#dbe3ba;border:1px solid #9baa7d;color:#4a633b;font-size:13px;border-radius:5px;font-variant-numeric:tabular-nums}
@media(max-width:560px){.field-grid{grid-template-columns:1fr}.field-card{padding:13px}.supply-hud>span{font-size:11px;padding:6px 8px}}

/* A field notebook for discoveries, with collected keepsakes brought home. */
.exploration-body{display:grid;gap:16px;padding-top:18px;min-width:0}
.exploration-body p{line-height:1.65;font-size:14px}.exploration-body h3{font-family:Caladea,serif;font-size:25px;margin-bottom:10px}.exploration-body h4{margin:12px 0 6px;font-size:14px}
.exploration-card{border:1px solid #c5b587;border-left:5px solid #71895d;background:#fff8e6;padding:20px;box-shadow:0 3px 0 #d8c69a}
.exploration-card[data-region=coast]{border-left-color:#b49660}.exploration-card[data-region=alpine]{border-left-color:#7b90ae}.exploration-card p+p{margin-top:9px}.exploration-clue{font-style:italic;color:#61714d}.exploration-ending{padding:14px;background:#e6ebce;border-left:3px solid #819568;font-family:Caladea,serif;font-size:20px!important}.exploration-story{font-family:Caladea,serif;font-size:24px!important;padding:20px 8px}.exploration-card details{margin:10px 0}.exploration-card summary{cursor:pointer;min-height:32px;padding:6px 0}
.exploration-conditions{display:flex;flex-wrap:wrap;gap:14px;padding:15px;background:#e9dfbb;border:1px solid #c7b47e}.exploration-conditions label{display:grid;gap:5px;flex:1;min-width:100px;font-size:12px;font-weight:700}.exploration-conditions select{width:100%;padding:8px;border:1px solid #a49162;border-radius:4px;background:#fff8e5;text-transform:capitalize;min-height:44px}
.exploration-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.exploration-buttons small{line-height:1.5;color:#6c7057}.exploration-keepsake{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:14px;border-bottom:1px solid #c8b78a}.keepsake-icon{font-size:26px;color:#71865d}.exploration-keepsake small{font-size:11px;max-width:100px;line-height:1.5}.exploration-puzzle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.exploration-puzzle .exploration-tile{min-height:88px;background:#e5e9c9;border:2px solid #899a6b;box-shadow:0 3px #637b51;padding:10px 4px;display:grid;justify-items:center;align-content:center;gap:8px}.exploration-tile canvas{image-rendering:pixelated;width:48px;height:36px}.exploration-puzzle .exploration-coast{background:#e1e9df;border-color:#80a7a2;box-shadow:0 3px #607b77}.exploration-puzzle .exploration-alpine{background:#e0e5ed;border-color:#8494ac;box-shadow:0 3px #63718d}.exploration-puzzle .found{border-color:#96713e;background:#f7e7ae}.exploration-puzzle-status{min-height:46px;padding:10px;background:#e9dfbb}.pet-exploration-hint{background:#f8edc8;border:1px solid #b7aa71;color:#596849;padding:10px 14px;font-size:13px;line-height:1.5;margin-top:10px}
@media(max-width:480px){.exploration-card{padding:14px}.exploration-keepsake{grid-template-columns:24px 1fr;gap:8px}.exploration-keepsake button,.exploration-keepsake small{grid-column:2}.exploration-puzzle{gap:8px}.exploration-body p{font-size:13px}.exploration-conditions{gap:9px;padding:10px}}

.pet-command-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.pet-motion-setting{display:flex;align-items:center;gap:12px;margin:12px 0}.pet-motion-setting select{min-height:40px;max-width:100%;padding:8px;border:1px solid #9bad91;border-radius:8px;background:#faf6e8;color:#354739}
