.app-header{text-align:center;padding:var(--space-4) var(--space-4) var(--space-1);position:relative}.header-stats-btn{position:absolute;top:var(--space-4);right:var(--space-4);background:transparent;border:none;font-size:var(--fs-lg);padding:var(--space-1)}.header-motif{width:100%;height:12px;display:block;margin-bottom:var(--space-2)}.app-title{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:600;color:var(--color-ink);margin:0;letter-spacing:.01em}.app-subtitle{font-size:var(--fs-sm);color:var(--color-ink-soft);margin:var(--space-1) 0 0}.mode-select{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4)}.mode-select-row{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.mode-pill{border:2px solid var(--color-indigo);background:transparent;color:var(--color-indigo);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-weight:600;font-size:var(--fs-sm)}.mode-pill--active{background:var(--color-indigo);color:var(--color-surface)}.theme-pill{border:1px solid var(--color-lacquer);background:transparent;color:var(--color-lacquer);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:600}.theme-pill--active{background:var(--color-lacquer);color:var(--color-surface)}.board{display:flex;flex-direction:column;gap:var(--space-2);align-items:center;padding:var(--space-4) 0}.board-row{display:flex;gap:var(--space-2)}.board-gap{width:var(--space-3)}.board-cell{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;text-transform:lowercase;border:2px solid var(--color-tile-border);border-radius:var(--radius-sm);background:var(--color-tile-empty);color:var(--color-ink);transition:transform .15s ease,background-color .2s ease,border-color .2s ease}.board-cell[data-filled=true]{border-color:var(--color-ink-soft);transform:scale(1.03)}.board-cell--correct{background:var(--color-correct);border-color:var(--color-correct);color:var(--color-surface)}.board-cell--present{background:var(--color-present);border-color:var(--color-present);color:var(--color-ink)}.board-cell--absent{background:var(--color-absent);border-color:var(--color-absent);color:var(--color-surface)}@media (max-width: 380px){.board-cell{width:38px;height:38px;font-size:var(--fs-md)}}.keyboard{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-5);background:var(--color-paper-soft);border-top:1px solid var(--color-tile-border)}.keyboard-row{display:flex;justify-content:center;gap:6px}.key{min-width:30px;height:42px;padding:0 6px;border:none;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-size:var(--fs-sm);font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);transition:transform .1s ease,background-color .2s ease}.key:active{transform:scale(.92)}.key--wide{min-width:44px;font-size:var(--fs-base)}.key--enter{background:var(--color-indigo);color:var(--color-surface)}.key--correct{background:var(--color-correct);color:var(--color-surface)}.key--present{background:var(--color-present);color:var(--color-ink)}.key--absent{background:var(--color-absent);color:var(--color-surface);opacity:.7}.keyboard-row--tone{margin-top:var(--space-1)}.key--tone{min-width:34px;height:34px;background:var(--color-paper);color:var(--color-lacquer);font-family:var(--font-display);font-size:var(--fs-md);border:1px solid var(--color-tile-border);box-shadow:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a252180;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:10}.modal{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-5);max-width:360px;width:100%;text-align:center;box-shadow:0 8px 24px #2a252140}.modal-title{font-family:var(--font-display);font-size:var(--fs-xl);margin:0 0 var(--space-3);color:var(--color-indigo)}.modal-answer{font-size:var(--fs-md);margin:0 0 var(--space-2)}.modal-attempts{color:var(--color-ink-soft);font-size:var(--fs-sm);margin:0 0 var(--space-4)}.modal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);margin:var(--space-4) 0;padding:var(--space-3) 0;border-top:1px solid var(--color-tile-border);border-bottom:1px solid var(--color-tile-border)}.modal-stat{display:flex;flex-direction:column}.modal-stat-value{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;color:var(--color-ink)}.modal-stat-label{font-size:.65rem;color:var(--color-ink-soft)}.modal-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.modal-btn{flex:1;padding:var(--space-3);border:none;border-radius:var(--radius-sm);font-weight:600;font-size:var(--fs-sm)}.modal-btn--share{background:var(--color-indigo);color:var(--color-surface)}.modal-btn--close{background:var(--color-paper-soft);color:var(--color-ink)}:root{--color-paper: #F1E7D0;--color-paper-soft: #E8DABC;--color-surface: #FAF4E6;--color-ink: #2A2521;--color-ink-soft: #5B5248;--color-indigo: #2B4570;--color-indigo-soft: #3E5C8A;--color-lacquer: #B23A2E;--color-correct: #4C7A6D;--color-present: #E0A039;--color-absent: #9C9284;--color-tile-empty: #FAF4E6;--color-tile-border: #C9BB9C;--font-display: "Fraunces", Georgia, serif;--font-body: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, sans-serif;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.5rem;--fs-xl: 2rem;--fs-2xl: 2.75rem;--max-width: 480px;--radius-sm: 6px;--radius-md: 10px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--shadow-soft: 0 2px 8px rgba(42, 37, 33, .12)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);-webkit-tap-highlight-color:transparent}body{min-height:100vh;display:flex;justify-content:center}#root{width:100%;max-width:var(--max-width);min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}button:focus-visible,input:focus-visible{outline:2px solid var(--color-indigo);outline-offset:2px}.app{display:flex;flex-direction:column;min-height:100vh;width:100%}.app-spacer{flex:1}.app-error{text-align:center;color:var(--color-lacquer);font-size:var(--fs-sm);font-weight:600;margin:var(--space-2) var(--space-4)}
