/* Shared product tokens: quiet glass surfaces, one cyan accent, legible states. */
:root{--ui-bg:#081b28;--ui-panel:rgba(12,35,49,.9);--ui-line:#456071;--ui-text:#edf7fb;--ui-muted:#b5cbd6;--ui-cyan:#6edee9;--ui-amber:#eac086;--ui-radius:12px;--ui-tile-radius:9px}
body{color:var(--ui-text)}
.app{background:rgba(5,20,31,.79)!important;backdrop-filter:blur(12px);border-color:#ffffff15!important;box-shadow:none!important}
.app>header{border-bottom:1px solid #7aafbd24;box-shadow:none!important;background:transparent!important}
.app>footer{opacity:.7;font-size:12px}
#content{min-width:0}
#content h1{font-size:clamp(26px,6.5vw,34px);line-height:1.18;letter-spacing:-.025em;text-shadow:none}
#content h2{font-size:clamp(20px,5vw,25px);line-height:1.25;text-shadow:none}
#content p,.local-note,.round-meta,.session-help{color:var(--ui-muted)}
button,input,select{font:inherit;letter-spacing:normal}
button{touch-action:manipulation}
button:focus-visible,select:focus-visible,input:focus-visible,.links-scroll:focus-visible{outline:3px solid var(--ui-cyan)!important;outline-offset:3px}
#content .primary,.umvion-welcome .primary{background:var(--ui-cyan)!important;color:#06212d!important;border:1px solid #9cebf1!important;border-radius:var(--ui-radius)!important;box-shadow:none!important;text-shadow:none!important;min-height:48px;font-weight:700}
#content .secondary,#content .back,#content .session-pause,#content .social-nav button,#content .mode-card{background:var(--ui-panel)!important;border:1px solid var(--ui-line)!important;border-radius:var(--ui-radius)!important;color:var(--ui-text)!important;box-shadow:none!important;min-height:44px;text-shadow:none!important}
#content button:active:not(:disabled){transform:scale(.98)}
#content button:disabled{cursor:default}
#content .hero,#content .practice-entry,#content .social-panel,#content .progression-panel,#content .friend-row{background:var(--ui-panel)!important;border:1px solid #486372!important;box-shadow:none!important;border-radius:18px!important}
#content .hero::after,#content .hero::before{display:none!important}
.product-home{display:grid;gap:16px}
.home-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.home-heading h1{margin:8px 0 4px!important;text-align:left!important}
.home-heading .label{font-size:11px;letter-spacing:.13em}
.home-heading>div{flex:1;min-width:0}.home-heading>button{padding:8px 15px;flex:0 0 auto;width:auto!important;min-width:64px}
.home-heading h1{font-size:clamp(22px,5.7vw,30px)!important}
#content .product-home .hero,#content .product-home .practice-entry{padding:20px;margin:0;text-align:left}
#content .product-home .hero{border-top:2px solid var(--ui-cyan)!important}
.product-home .hero h2,.product-home .practice-entry h2{margin:8px 0}
.product-home p{margin:8px 0 18px;line-height:1.5}
.home-profile{display:flex;align-items:center;gap:16px;text-align:left;background:transparent;border:1px solid var(--ui-line);border-radius:18px;padding:16px;color:var(--ui-text);width:100%}
.home-profile .study-avatar{width:76px;height:76px;aspect-ratio:1;object-fit:cover;border:1px solid #6edee97a;border-radius:50%;box-shadow:none;flex-shrink:0}
.home-profile>span{min-width:0;flex:1;display:grid;gap:5px}
.home-profile strong,.profile-entry strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;overflow-wrap:anywhere;font-size:18px}
.home-profile small{font-size:12px;color:var(--ui-muted);line-height:1.5}
.home-profile progress{height:4px;width:100%;margin:5px 0 0;accent-color:var(--ui-cyan)}
.more-grid{display:grid;gap:12px;margin:24px 0}.more-grid button{text-align:left;padding:18px}
.social-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.social-nav button{padding:9px 4px!important;font-size:12px!important}
#content .session-toolbar{min-height:80px;background:#091e2bf5!important;backdrop-filter:blur(10px);box-shadow:none!important;border-bottom:1px solid #45607175;z-index:20}
#content .session-logo{width:78px;height:78px;filter:none}
#content .session-toolbar .timer{font-size:25px;font-weight:700;font-variant-numeric:tabular-nums;text-shadow:none;color:var(--ui-text)}
#content .session-help{font-size:11px;line-height:1.4}
#question-area .board{padding:6px;gap:6px;border:none;box-shadow:none;background:transparent}
#question-area .tile{border-radius:var(--ui-tile-radius)!important;border:1px solid var(--ui-line);box-shadow:none!important;background-image:none!important;color:var(--ui-text);text-shadow:none!important;transition:background-color .14s,border-color .14s,transform .14s}
#question-area .answer,#question-area .choice{background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:var(--ui-radius);color:var(--ui-text);box-shadow:none;text-shadow:none}
#question-area .tile.picked,#question-area .tile.active-cell{border-color:var(--ui-cyan)!important;outline:2px solid var(--ui-cyan);outline-offset:-3px;background-color:#155669!important}
#question-area .tile.good,#question-area .answer.good,#question-area .tile.found{background:#164b57!important;border-color:var(--ui-cyan)!important;color:#edfdff!important}
#question-area .tile.bad,#question-area .answer.bad{background:#59452d!important;border-color:var(--ui-amber)!important;color:#fff1d8!important}
#question-area .chess-square.good{background:#246170!important}#question-area .chess-square.bad{background:#725637!important}
#question-area .tile.group-tile{background:color-mix(in srgb,var(--group-color) 65%,#091b28)!important;border:1px solid #d9f5ff65!important;backdrop-filter:none}
#question-area .tile.rectangle-tile{background:color-mix(in srgb,var(--rect-color) 70%,#091b28)!important;border:1px solid #d9f5ff65!important}
#question-area .tile.group-preview,#question-area .tile.rect-preview{outline:2px solid #e6fbff!important;outline-offset:-3px;filter:brightness(1.15)}
#question-area .group-tile::before,#question-area .group-tile::after{display:none!important}
#question-area .color-label{text-shadow:none!important}#question-area .color-word{box-shadow:none!important;background:#112b3d!important}
#question-area .memory .tile.memory-color-0{background-color:#163c61!important;color:#97caff!important}
#question-area .memory .tile.memory-color-1{background-color:#604422!important;color:#ffd28f!important}
#question-area .memory .tile.memory-color-2{background-color:#5c2d49!important;color:#ffb5de!important}
#question-area .memory .tile.memory-color-3{background-color:#205341!important;color:#9df7cb!important}
#question-area .tile.lit{background:#1d6070!important;border-color:var(--ui-cyan)!important;color:#e8feff!important}
#question-area .tile.mine-tile.revealed{background:#173644!important}#question-area .tile.mine-hit{color:var(--ui-amber)!important;background:#503e2b!important}
#question-area .sudoku .tile{border-radius:4px!important}#question-area .sudoku .given{background:#234653;color:#fff}
#question-area .sudoku-pad{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:12px 0}#question-area .sudoku-pad button{padding:9px 3px;min-width:0}
#feedback[data-outcome]{margin:16px 0;padding:14px;border-radius:12px;border:1px solid;line-height:1.45;font-weight:600}
#feedback[data-outcome=correct]{color:#c8f7fb;background:#163d47;border-color:#6edee9}
#feedback[data-outcome=wrong]{color:#ffdfaf;background:#3b3023;border-color:#d4ab74}
.answer-pulse{animation:answer-pulse .32s ease-out}@keyframes answer-pulse{from{transform:scale(.97);opacity:.5}to{transform:scale(1);opacity:1}}
.feedback-symbol{font-size:20px;margin-right:5px}.color-marks .group-tile,.color-marks .rectangle-tile{font-size:17px!important;color:#fff!important;text-shadow:0 1px 3px #000!important}.ink-symbol{display:block;text-align:center;font-size:25px;color:var(--ui-text)}
.accessibility-settings{margin:24px 0;padding:18px 0;border-top:1px solid var(--ui-line)}.check-row{display:flex;gap:12px;align-items:center;line-height:1.4}.check-row input{width:22px;height:22px;accent-color:var(--ui-cyan)}
.links-instruction,.links-notice{font-size:14px;line-height:1.5;text-align:center}.links-scroll{max-height:55vh;overflow:auto;overscroll-behavior:contain;margin:12px 0}.links-board .tile{aspect-ratio:1;min-width:0;min-height:40px;font-size:22px;padding:4px}.links-board .tile.empty{opacity:.18}.links-board~button{width:100%}
#content .avatar-choice{aspect-ratio:1!important;border-radius:50%;overflow:hidden;background:#102b3a;border:1px solid #567180;box-shadow:none;padding:2px}
#content .avatar-choice .study-avatar{aspect-ratio:1;object-fit:cover;border-radius:50%;transform:scale(1.1);filter:saturate(.78);box-shadow:none}
#content .avatar-choice.selected{outline:3px solid var(--ui-cyan);outline-offset:2px}#content .avatar-choice.selected .study-avatar{filter:none}
#content .avatar-setting .study-avatar,#content .profile-summary .study-avatar{aspect-ratio:1;object-fit:cover;border-radius:50%;border:1px solid var(--ui-line);box-shadow:none}
.umvion-welcome{background:#081b28e8!important;box-shadow:none!important}.umvion-welcome::before,.umvion-welcome::after{display:none!important}.welcome-orbit{filter:none!important;box-shadow:none!important}.welcome-orbit img{filter:none!important}.welcome-eyebrow,.welcome-facts,.welcome-footnote{display:none!important}.welcome-slogan{color:var(--ui-text)!important;text-shadow:none!important;min-height:3em}.boot-loader{max-width:330px;margin:24px auto}.boot-loader progress{height:4px}.boot-loader small{font-size:12px;color:var(--ui-muted)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:380px){.app{padding-left:14px!important;padding-right:14px!important}.home-profile{padding:12px;gap:12px}.home-profile .study-avatar{width:62px;height:62px}.links-board .tile{min-height:34px;font-size:19px}#question-area .board{gap:4px}}
