/* Nygui illustrated design-system preview: respects existing custom profiles/themes. */
:root{--nvg-pink:#ce6694;--nvg-cream:#fff8f4;--nvg-rose:#f4dbe9}
body:not(.high-contrast){background-image:radial-gradient(ellipse at 6% 8%,color-mix(in srgb,var(--primary) 11%,transparent),transparent 43%),radial-gradient(ellipse at 98% 84%,color-mix(in srgb,var(--tint) 40%,transparent),transparent 49%)}
body{color:var(--ink)}
.nyugi-symbol,.brand-mark.nyugi-symbol{background:transparent!important;box-shadow:none!important;display:flex;align-items:center;justify-content:center;min-height:48px;min-width:48px;padding:0!important}
.nyugi-symbol img{width:45px;height:45px;display:block;filter:drop-shadow(0 2px 3px #32182d22)}
.brand strong{color:var(--nvg-pink);letter-spacing:-.035em!important}
.brand .nyugi-brand-dot{color:var(--primary)}
.nvg-icon{display:inline-block;width:1.35em;height:1.35em;flex:none;vertical-align:middle;stroke-width:1.6;pointer-events:none}
.nav-icon,.nyugi-dock-btn>span:first-child,.nyugi-hub-icon{display:grid;place-items:center}
.nav-icon .nvg-icon,.nyugi-dock-btn .nvg-icon{width:24px;height:24px}
.ng-card-badge .nvg-icon{width:36px;height:36px;color:#b96692}
.ng-memory-front .nvg-icon,.ng-mahjong-tile .nvg-icon{width:min(48px,70%);height:min(48px,70%);stroke-width:1.65}
.pp-guest-avatar .nvg-icon,.pp-cafe-shelf .nvg-icon{width:29px;height:29px}
.pp-cafe-plate .nvg-icon{width:55px;height:55px}
.ng-meadow-blossom .nvg-icon,.ng-bloom-head .nvg-icon{width:100%;height:100%}
.ng-done-emblem img{max-width:64px}
.sidebar,.card,.cc-side-highlight,.nyugi-hub-link,.ng-calm-head,.ng-game-card{background-color:var(--surface);border-color:var(--line)}
.card,.nyugi-hub-link,.ng-game-card{box-shadow:0 4px 20px color-mix(in srgb,var(--ink) 6%,transparent)}
.ng-calm-head{border:1px solid var(--line);background:linear-gradient(125deg,color-mix(in srgb,var(--surface) 85%,var(--tint)),var(--surface))!important}
.ng-calm-head h1,.ng-play-title h2{color:var(--ink)!important}
.ng-game-card,.pp-level,.pp-cafe-panels>section,.pp-guest,.ng-stage{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
.ng-game-card strong,.pp-level strong,.pp-cafe-panels h3{color:var(--ink)!important}
.ng-game-card small,.ng-game-summary,.pp-level small,.pp-quiet-note,.ng-calm-clarity{color:var(--muted)!important}
.pp-square:focus-visible,.ng-game-card:focus-visible,.nc-letter:focus-visible,.nc-cell:focus-visible,.nc-object:focus-visible{outline:3px solid var(--primary)!important;outline-offset:2px}
.nvg-quiet-btn{min-width:59px;padding:2px 7px!important;font-size:.73rem!important;border:1px solid var(--line)!important;border-radius:11px!important;background:var(--subtle)!important;color:var(--ink)!important}
.nvg-quiet-btn[aria-pressed=true]{background:var(--tint)!important;border-color:var(--primary)!important}
.nvg-quiet #nyugiBell,.nvg-quiet #nyugiUnread{visibility:hidden!important}
.nvg-quiet .toast{transition:none!important}
.nvg-quiet .toast:not(.show){display:none!important}
/* Game artwork is now a set of vector illustrations, rather than text emoji. */
.pp-cafe-scene{background:linear-gradient(125deg,#f4e2e6,#f0e4ee 50%,#dce9dd)!important}
.ng-game-card:focus-visible,.ng-secondary:focus-visible,.ng-primary:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
/* Theme-specific dark components: ensure game screens are readable in both primary schemes. */
:root[style*="--bg: #221d2c"] .ng-calm,:root[style*="--bg: #221d2c"] .pp-root{color:var(--ink)}
:root[style*="--bg: #221d2c"] .pp-status,:root[style*="--bg: #221d2c"] .pp-choice-heading{color:var(--ink)!important}
:root[style*="--bg: #221d2c"] .ng-sound,:root[style*="--bg: #221d2c"] .ng-secondary{color:var(--ink)!important;background:var(--subtle)!important}
/* The former emoji-sized elements now size to the vector artwork. */
.icon-emoji,.mood-btn .face{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:550px){.top-actions{gap:3px!important}.nvg-quiet-btn{min-width:51px;font-size:.66rem!important;padding:2px 5px!important}.brand strong{font-size:1.48rem!important}.nyugi-symbol img{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.ng-calm *,.nc-scene *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.nvg-quiet .nyugi-chat-launcher{display:none!important}
