@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&family=JetBrains+Mono:wght@400;500&display=swap";.button{font-family:var(--font-sans);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;font-size:15px;font-weight:500;line-height:1;text-decoration:none;transition:background-color .15s,color .15s,opacity .15s,transform .1s;display:inline-flex}.button:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.primary{background-color:var(--color-brand-blue);color:var(--color-white);border-radius:999px;width:100%;padding:14px 28px}.primary:hover:not(:disabled){background-color:var(--color-blue-700)}.primary:active:not(:disabled){transform:scale(.98)}.secondary{background-color:var(--color-ash-50);color:var(--color-ink-700);border:1px solid var(--color-ash-200);border-radius:999px;padding:12px 24px}.secondary:hover:not(:disabled){background-color:var(--color-ash-100);border-color:var(--color-ink-300)}.secondary:active:not(:disabled){transform:scale(.98)}.ghost{color:var(--color-ink-500);padding:var(--space-xs);border-radius:var(--radius-md);background-color:#0000;font-size:13px;font-weight:400}.ghost:hover:not(:disabled){color:var(--color-ink-700)}.ghost:active:not(:disabled){transform:scale(.98)}@media (prefers-reduced-motion:reduce){.button{transition:none}.button:active{transform:none}}.badge{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:6px;align-items:center;padding:4px 10px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.easy{background-color:var(--semantic-success-tint);color:var(--semantic-success-on-tint)}.medium{background-color:var(--semantic-warning-tint);color:var(--semantic-warning-on-tint)}.hard{background-color:var(--semantic-danger-tint);color:var(--semantic-danger-on-tint)}.expert{background-color:var(--semantic-expert-tint);color:var(--semantic-expert-on-tint)}.daily{background-color:var(--semantic-info-tint);color:var(--semantic-info-on-tint)}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.overlay{background-color:var(--color-modal-overlay);z-index:100;padding:var(--space-md);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.container{background-color:var(--color-bg-card);border-radius:var(--radius-lg);border:.5px solid var(--color-border);width:100%;max-width:360px;padding:28px;animation:.3s both slideUp;box-shadow:0 4px 6px #0000000d,0 10px 24px #0000001a}.title{font-family:var(--font-sans);color:var(--color-text-primary);margin:0 0 var(--space-sm) 0;font-size:18px;font-weight:500;line-height:1.3}.body{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:13px;font-weight:400;line-height:1.5}@media (prefers-reduced-motion:reduce){.container{animation:none}}.auth-modal-body{gap:var(--space-sm);flex-direction:column;display:flex}.auth-modal-description{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.auth-modal-google-btn{box-sizing:border-box;width:100%;font-family:var(--font-sans);color:var(--color-text-primary);cursor:pointer;background-color:#fff;border:1px solid #dadce0;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:12px 24px;font-size:15px;font-weight:500;transition:background-color .15s;display:flex}.auth-modal-google-btn:hover{background-color:#f8f9fa}.auth-modal-google-btn:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.auth-modal-google-icon{flex-shrink:0;width:20px;height:20px}.auth-modal-google-btn:disabled{opacity:.65;cursor:not-allowed}.auth-modal-spinner{width:20px;height:20px;color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;animation:.75s linear infinite auth-modal-spin;display:inline-flex}.auth-modal-spinner svg{width:20px;height:20px}@keyframes auth-modal-spin{to{transform:rotate(360deg)}}.auth-modal-error{font-family:var(--font-sans);color:#c0392b;background-color:#fdf0ee;border:1px solid #f5c6c0;border-radius:8px;margin:0;padding:8px 12px;font-size:13px;line-height:1.4}.splash{min-height:100dvh;padding:var(--space-3xl) var(--space-md) var(--space-2xl);background:var(--color-bg-page);box-sizing:border-box;flex-direction:column;align-items:center;display:flex;position:relative}.splash__top-controls{top:var(--space-md);right:var(--space-md);align-items:center;gap:var(--space-xs);z-index:10;display:flex;position:absolute}.splash__theme-toggle,.splash__sound-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex}.splash__theme-toggle:hover,.splash__sound-toggle:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.splash__theme-toggle:focus-visible,.splash__sound-toggle:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.splash__inner{align-items:center;gap:var(--space-lg);flex-direction:column;width:100%;max-width:560px;display:flex}.splash__logo{align-items:center;gap:var(--space-xs);padding-top:var(--space-xs);flex-direction:column;display:flex}.splash__logomark{grid-template-columns:1fr 1fr;gap:3px;width:36px;height:36px;display:grid}.splash__logomark-cell{border-radius:3px}.splash__logomark-cell--blue{background:var(--color-brand-blue)}.splash__logomark-cell--green{background:var(--color-brand-green)}.splash__logomark-cell--amber{background:var(--color-brand-amber)}.splash__logomark-cell--coral{background:var(--color-brand-coral)}.splash__wordmark{font-family:var(--font-sans);color:var(--color-text-primary);letter-spacing:-.5px;margin:0;font-size:26px;font-weight:700;line-height:1.1}.splash__tagline{font-family:var(--font-sans);color:var(--color-text-tertiary);text-align:center;letter-spacing:.01em;margin:0;font-size:13px}.splash__cards{gap:var(--space-sm);grid-template-rows:auto auto;grid-template-columns:1fr 1fr;width:100%;display:grid}.splash__card--full{grid-column:1/-1}@media (width<=400px){.splash__cards{grid-template-columns:1fr}.splash__card--full{grid-column:1}}.splash__card{background:var(--color-bg-card);border:1px solid var(--color-border);align-items:flex-start;gap:var(--space-sm);border-top:1px solid var(--color-border);border-radius:16px;flex-direction:column;padding:20px;transition:box-shadow .15s,transform .15s;display:flex;box-shadow:0 1px 3px #2c25200f,0 4px 12px #2c25200a}.splash__card:hover{box-shadow:0 2px 8px #2c252014,0 8px 24px #2c25200f}.splash__card--daily,.splash__card--challenges,.splash__card--practice{border-top:1px solid var(--color-border)}.splash__card--daily{position:relative;overflow:hidden}.splash__card--daily:before{content:"";background:linear-gradient(180deg, var(--color-brand-blue) 0%, color-mix(in srgb, var(--color-brand-blue) 40%, transparent) 100%);border-radius:16px 0 0 16px;width:4px;height:100%;position:absolute;top:0;left:0}.splash__card--de-emphasized{opacity:1;background:var(--color-bg-card)}.splash__card-icon{color:var(--color-text-tertiary);flex-shrink:0}.splash__card--daily .splash__card-icon{color:var(--color-brand-blue)}.splash__card--practice .splash__card-icon{color:var(--color-brand-green)}.splash__card--challenges .splash__card-icon{color:var(--color-text-secondary)}.splash__card-body{gap:var(--space-xs);flex-direction:column;flex:1;width:100%;display:flex}.splash__card-title{font-family:var(--font-sans);color:var(--color-text-primary);margin:0;font-size:17px;font-weight:700;line-height:1.2}.splash__card-puzzle-num{font-family:var(--font-sans);color:var(--color-text-tertiary);letter-spacing:.03em;margin:0;font-size:11px;font-weight:500}.splash__card-badge{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.splash__card-progress-text{font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:.02em;margin:0;font-size:13px;font-weight:600}.splash__card-btn{width:100%;margin-top:auto}.splash__card-done{align-items:flex-start;gap:var(--space-xs);flex-direction:column;width:100%;display:flex}.splash__card-done-check{align-items:center;gap:var(--space-xs);font-family:var(--font-sans);color:var(--semantic-success);font-size:13px;font-weight:600;display:flex}.splash__card-solved-badge{font-family:var(--font-sans);color:var(--semantic-success-on-tint);background:var(--semantic-success-tint);border-radius:var(--radius-full);margin:0;padding:2px 8px;font-size:11px;font-weight:500}.splash__card-countdown{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:12px}.splash__card-countdown-time{font-family:var(--font-mono);color:var(--color-text-primary);font-size:12px;font-weight:600}.splash__streak-wrap{gap:var(--space-xs);flex-direction:column;width:100%;display:flex}.splash__streak-banner{align-items:center;gap:var(--space-sm);background:color-mix(in srgb, var(--color-brand-amber) 8%, var(--color-bg-card));border:1px solid color-mix(in srgb, var(--color-brand-amber) 20%, transparent);border-radius:var(--radius-md);width:100%;padding:var(--space-sm) var(--space-md);display:flex}.splash__flame-icon{flex-shrink:0}.splash__streak-text{flex-direction:column;gap:2px;display:flex}.splash__streak-top-row{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.splash__streak-count{font-family:var(--font-sans);color:var(--color-brand-coral);font-size:14px;font-weight:700}.splash__streak-tier-badge{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-full);border:1px solid;padding:1px 7px;font-size:10px;font-weight:700}.splash__streak-caption{font-family:var(--font-sans);color:var(--color-text-tertiary);font-size:11px}.splash__streak-guest-warning{width:100%;font-family:var(--font-sans);color:var(--color-brand-amber);text-align:left;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;font-weight:500;line-height:1.4;text-decoration:underline}.splash__streak-guest-warning:hover{opacity:.8}.splash__streak-guest-warning:focus-visible{outline:2px solid var(--color-brand-amber);outline-offset:2px;border-radius:2px}.splash__iq-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;padding:var(--space-md);gap:var(--space-xs);flex-direction:column;display:flex;box-shadow:0 1px 3px #2c25200f}.splash__iq-top{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);width:100%;display:flex}.splash__iq-top-left{flex-direction:column;gap:2px;display:flex}.splash__iq-label{font-family:var(--font-sans);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:12px;font-weight:600}.splash__iq-class{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:600}.splash__iq-value{align-items:center;gap:var(--space-xs);display:flex}.splash__iq-number{font-family:var(--font-mono);color:var(--color-text-primary);font-size:28px;font-weight:700;line-height:1}.splash__iq-trend{font-family:var(--font-sans);font-size:13px;font-weight:600}.splash__iq-trend--up{color:var(--semantic-success)}.splash__iq-trend--down{color:var(--semantic-danger)}.splash__iq-sparkline{flex-shrink:0;margin-top:2px}.splash__footer{align-items:stretch;gap:var(--space-xs);width:100%;padding-bottom:var(--space-md);flex-direction:column;display:flex}.splash__signin-banner{align-items:center;gap:var(--space-md);background:var(--color-bg-card);border:1.5px solid var(--color-border);cursor:pointer;text-align:left;border-radius:14px;width:100%;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.splash__signin-banner:hover{border-color:var(--color-ink-300);box-shadow:0 2px 8px #2c252014}.splash__signin-banner:active{transform:scale(.99)}.splash__signin-banner:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.splash__signin-icon{flex-shrink:0;width:24px;height:24px}.splash__signin-text{flex-direction:column;flex:1;gap:1px;display:flex}.splash__signin-label{font-family:var(--font-sans);color:var(--color-text-primary);font-size:15px;font-weight:600}.splash__signin-sub{font-family:var(--font-sans);color:var(--color-text-tertiary);font-size:12px}.splash__signin-arrow{color:var(--color-text-tertiary);flex-shrink:0}.splash__profile-banner{align-items:center;gap:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);cursor:pointer;text-align:left;border-radius:14px;width:100%;padding:12px 16px;transition:border-color .15s;display:flex}.splash__profile-banner:hover{border-color:var(--color-ink-300)}.splash__profile-banner:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.splash__profile-avatar{background:var(--color-bg-surface);width:36px;height:36px;color:var(--color-text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.splash__profile-text{font-family:var(--font-sans);color:var(--color-text-primary);flex:1;font-size:15px;font-weight:500}@media (prefers-reduced-motion:reduce){.splash__signin-banner,.splash__profile-banner,.splash__card{transition:none}}.splash__iq-top-right{align-items:center;gap:var(--space-xs);flex-shrink:0;display:flex}.splash__leaderboard-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex}.splash__leaderboard-btn:hover{background:var(--color-bg-surface);color:var(--color-brand-blue);border-color:var(--color-brand-blue)}.splash__leaderboard-btn:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.splash__leaderboard-link{align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-sans);color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;align-self:center;font-size:13px;font-weight:500;transition:color .15s;display:inline-flex}.splash__leaderboard-link:hover{color:var(--color-brand-blue)}.splash__leaderboard-link:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.game{background:var(--color-bg-page);box-sizing:border-box;flex-direction:column;min-height:100dvh;display:flex}.game__header{padding:var(--space-sm) var(--space-md);background:var(--color-bg-page);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.game__header-left{align-items:center;gap:var(--space-sm);display:flex}.game__back-btn{border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;color:var(--color-text-secondary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s;display:flex}.game__back-btn:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.game__back-btn:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.game__mode-info{flex-direction:column;gap:2px;display:flex}.game__mode-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-tertiary);margin:0;font-size:11px;font-weight:600;line-height:1}.game__size-label{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:13px;font-weight:500;line-height:1}.game__header-right{align-items:center;gap:var(--space-xs);display:flex}.game__timer{font-family:var(--font-mono);color:var(--color-text-primary);letter-spacing:.5px;text-align:right;min-width:48px;font-size:18px;font-weight:500}.game__ghost-btn{font-family:var(--font-sans);color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:5px;padding:6px 10px;font-size:13px;font-weight:500;line-height:1;transition:color .12s,background-color .12s,opacity .12s;display:flex}.game__ghost-btn:hover:not(:disabled){color:var(--color-text-secondary);background:var(--color-bg-surface)}.game__ghost-btn:disabled{opacity:.35;cursor:not-allowed}.game__ghost-btn:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.game__tutorial-overlay{z-index:100;padding:var(--space-lg);background:#00000080;justify-content:center;align-items:center;animation:.3s ease-out tutorial-fade-in;display:flex;position:fixed;inset:0}@keyframes tutorial-fade-in{0%{opacity:0}to{opacity:1}}.game__tutorial-card{background:var(--color-bg-card);padding:var(--space-xl) var(--space-lg);align-items:center;gap:var(--space-lg);border-radius:20px;flex-direction:column;width:100%;max-width:340px;animation:.4s cubic-bezier(.34,1.56,.64,1) tutorial-slide-up;display:flex;box-shadow:0 8px 40px #2c252033}@keyframes tutorial-slide-up{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.game__tutorial-demo{width:180px;height:180px;position:relative}.tutorial-grid{background:var(--color-border);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:3px;width:100%;height:100%;display:grid;overflow:hidden}.tutorial-cell{background:var(--color-bg-card);justify-content:center;align-items:center;display:flex}.tutorial-cell--clue{background:var(--color-bg-card)}.tutorial-badge{color:#fff;font-family:var(--font-sans);justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.tutorial-badge--wide{background:#4a9ba5;border-radius:6px;width:40px;height:28px}.tutorial-badge--tall{background:#4a9b5f;border-radius:6px;width:28px;height:40px}.tutorial-highlight{pointer-events:none;background:#4a9ba526;border:2.5px solid #4a9ba5;border-radius:8px;width:calc(100% - 6px);height:calc(33.33% - 4px);animation:3s ease-in-out infinite tutorial-sweep;position:absolute;top:3px;left:3px}@keyframes tutorial-sweep{0%,10%{opacity:0;width:calc(33.33% - 4px)}20%{opacity:1;width:calc(33.33% - 4px)}50%,65%{opacity:1;width:calc(100% - 6px)}80%{opacity:.6}90%,to{opacity:0;width:calc(100% - 6px)}}.tutorial-hand{pointer-events:none;filter:drop-shadow(0 2px 4px #0003);animation:3s ease-in-out infinite tutorial-hand-move;position:absolute;top:12%;left:10%}@keyframes tutorial-hand-move{0%,10%{opacity:0;top:12%;left:10%}20%{opacity:1;top:12%;left:10%;transform:scale(1)}25%{transform:scale(.9)}50%,65%{opacity:1;top:12%;left:72%;transform:scale(.9)}70%{opacity:1;transform:scale(1)}80%,to{opacity:0;top:12%;left:72%;transform:scale(1)}}.game__tutorial-steps{gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.tutorial-step{align-items:center;gap:var(--space-sm);display:flex}.tutorial-step-num{background:var(--color-brand-blue);color:#fff;width:24px;height:24px;font-family:var(--font-sans);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.tutorial-step p{font-family:var(--font-sans);color:var(--color-text-primary);margin:0;font-size:14px;line-height:1.4}.game__tutorial-start{background:var(--color-brand-blue);color:#fff;width:100%;height:48px;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:999px;font-size:16px;font-weight:600;transition:background .15s}.game__tutorial-start:hover{background:#2e72c7}.game__tutorial-start:active{transform:scale(.98)}.game__tutorial-start:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){.game__tutorial-overlay,.game__tutorial-card{animation:none}.tutorial-highlight{opacity:1;width:calc(100% - 6px);animation:none}.tutorial-hand{opacity:1;animation:none;left:72%}}.game__board-area{padding:var(--space-md) var(--space-md) var(--space-sm);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:auto}.game__board-card{background:var(--color-bg-card);padding:var(--space-md);touch-action:none;border-radius:16px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 2px 16px #00000012,0 1px 4px #0000000a}.patches-board{border-radius:var(--radius-md);cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;gap:0;display:grid;overflow:hidden}.patch-cell{background:var(--color-bg-card);box-sizing:border-box;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0;transition:background-color 80ms;display:flex;position:relative}.patch-cell--placed{cursor:default}.patch-cell--cursor{outline:2px solid var(--color-brand-blue);outline-offset:-2px;z-index:2}.patch-cell--snap{will-change:transform;animation:.25s ease-out both patch-snap}@keyframes patch-snap{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.patch-cell--snap{animation:none}}.drag-count-overlay{font-family:var(--font-mono);pointer-events:none;z-index:10;opacity:.65;-webkit-user-select:none;user-select:none;text-shadow:0 1px 4px #00000026;font-size:32px;font-weight:700;line-height:1;position:absolute;transform:translate(-50%,-50%)}.clue-badge{color:#fff;font-family:var(--font-sans);letter-spacing:-.5px;z-index:1;pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;line-height:1;display:flex;position:relative;box-shadow:0 2px 6px #0003}.game__error-toast{align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);padding:10px var(--space-md);background:color-mix(in srgb, var(--semantic-danger) 14%, var(--color-bg-card));border:1px solid color-mix(in srgb, var(--semantic-danger) 30%, transparent);border-radius:var(--radius-lg);color:var(--semantic-danger-on-tint);font-family:var(--font-sans);width:100%;max-width:360px;font-size:13px;font-weight:500;line-height:1.4;animation:.16s toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.game__error-toast svg{color:var(--semantic-danger);flex-shrink:0}.game__action-bar{gap:var(--space-xs);padding:var(--space-xs) var(--space-lg) var(--space-md);background:var(--color-bg-page);flex-direction:column;flex-shrink:0;display:flex}.game__action-pills{align-items:center;gap:var(--space-sm);width:100%;display:flex}.game__pill-btn{height:48px;font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg-card);border:1.5px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:999px;flex:1;justify-content:center;align-items:center;font-size:16px;font-weight:500;transition:background-color .12s,border-color .12s;display:flex}.game__pill-btn:hover:not(:disabled){background:var(--color-bg-surface);border-color:var(--color-ink-300)}.game__pill-btn:active:not(:disabled){transform:scale(.98)}.game__pill-btn:disabled{opacity:.35;cursor:not-allowed}.game__pill-btn:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.game__confirm-body{gap:var(--space-md);flex-direction:column;display:flex}.game__confirm-text{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:15px;line-height:1.5}.game__confirm-actions{gap:var(--space-xs);flex-direction:column;display:flex}[data-theme=dark] .game__board-card{box-shadow:0 2px 16px #0000004d,0 1px 4px #0003}[data-theme=dark] .clue-badge{box-shadow:0 2px 8px #0006}[data-theme=dark] .game__error-toast{background:color-mix(in srgb, var(--semantic-danger) 18%, var(--color-bg-card))}@media (prefers-reduced-motion:reduce){.patch-cell,.game__action-hint,.game__ghost-btn,.game__error-toast{transition:none;animation:none}.patch-cell--snap{animation:none}}@media (width<=360px){.game__board-card{padding:var(--space-xs)}.game__header{padding:var(--space-xs) var(--space-sm)}.game__action-bar{padding:var(--space-xs) var(--space-md) var(--space-sm)}}.wrapper{flex-direction:column;gap:6px;width:100%;display:flex}.track{background-color:var(--color-ash-100);border-radius:3px;width:100%;height:6px;overflow:hidden}.fill{background:linear-gradient(90deg,#378add,#1d9e75);border-radius:3px;min-width:0;height:100%;transition:width .5s}@media (prefers-reduced-motion:reduce){.fill{transition:none}}.install-prompt{background:var(--color-bg-card,#fff);border:1px solid var(--color-ash-200,#d9d0c5);border-radius:16px;align-items:center;gap:12px;padding:16px;display:flex;position:relative}.install-prompt__icon{border-radius:10px;flex-shrink:0;width:40px;height:40px;overflow:hidden}.install-prompt__icon img,.install-prompt__icon svg{width:100%;height:100%;display:block}.install-prompt__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.install-prompt__headline{font-family:var(--font-sans,"DM Sans", -apple-system, sans-serif);color:var(--color-ink-900,#2c2520);margin:0;font-size:15px;font-weight:600;line-height:1.3}.install-prompt__subtext{font-family:var(--font-sans,"DM Sans", -apple-system, sans-serif);color:var(--color-ink-500,#6b5e52);margin:0;font-size:14px;font-weight:400;line-height:1.4}.install-prompt__add-btn{background:var(--color-brand-blue,#378add);color:#fff;height:40px;font-family:var(--font-sans,"DM Sans", -apple-system, sans-serif);white-space:nowrap;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:0 14px;font-size:14px;font-weight:600;transition:background .15s}.install-prompt__add-btn:hover,.install-prompt__add-btn:active{background:var(--color-blue-700,#185fa5)}.install-prompt__dismiss{cursor:pointer;width:24px;height:24px;color:var(--color-ink-400,#9c8e80);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .15s;display:flex;position:absolute;top:8px;right:8px}.install-prompt__dismiss:hover{color:var(--color-ink-700,#3d3530)}.install-prompt__dismiss svg{display:block}.result{min-height:100dvh;padding:var(--space-xl) var(--space-md) 0;background:var(--color-bg-page);box-sizing:border-box;flex-direction:column;align-items:center;display:flex;overflow-y:auto}.result__inner{align-items:center;gap:var(--space-lg);flex-direction:column;width:100%;max-width:480px;padding-bottom:80px;display:flex}.confetti{pointer-events:none;z-index:999;position:fixed;inset:0;overflow:hidden}.confetti__particle{will-change:transform, opacity;animation:linear both confetti-fall;position:absolute;top:-12px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}80%{opacity:1}to{transform:translateY(110vh) rotate(var(--confetti-rotation,360deg));opacity:0}}@media (prefers-reduced-motion:reduce){.confetti{display:none}}.result__icon{flex-shrink:0;width:48px;height:48px}.result__icon--success{color:var(--semantic-success)}.result__icon--warning{color:var(--semantic-warning)}.result__icon--danger{color:var(--semantic-danger)}.result__title{font-family:var(--font-sans);color:var(--color-text-primary);text-align:center;margin:0;font-size:20px;font-weight:500}.result__stars{align-items:center;gap:var(--space-xs);display:flex}.result__star-wrap{align-items:center;animation:.3s cubic-bezier(.34,1.56,.64,1) both star-pop;display:flex}.result__star{width:28px;height:28px}.result__star--filled{color:var(--color-brand-amber)}.result__star--empty{color:var(--color-ash-200)}@keyframes star-pop{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.result__star-wrap{animation:none}}.result__stats{gap:var(--space-xs);grid-template-columns:1fr 1fr;width:100%;display:grid}.result__stats--animated .result__stat-card{animation:.4s ease-out both stat-card-enter}@keyframes stat-card-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.result__stats--animated .result__stat-card{animation:none}}.result__stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);gap:var(--space-2xs);flex-direction:column;display:flex;box-shadow:0 1px 4px #2c25200d}.result__stat-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin:0;font-size:11px;font-weight:500}.result__stat-value{font-family:var(--font-mono);color:var(--color-text-primary);margin:0;font-size:22px;font-weight:600;line-height:1.1}.result__iq-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;padding:var(--space-lg);align-items:center;gap:var(--space-sm);flex-direction:column;display:flex;box-shadow:0 4px 16px #2c252014,0 1px 3px #2c25200d}.result__iq-section-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-tertiary);margin:0;font-size:12px;font-weight:500}.result__iq-progress-text{font-family:var(--font-sans);color:var(--color-text-secondary);text-align:center;margin:0;font-size:14px}.result__iq-progress-bar{width:100%}.result__iq-reveal{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.result__iq-number{font-family:var(--font-mono);color:var(--color-text-primary);letter-spacing:-2px;font-size:64px;font-weight:700;line-height:1;animation:.4s cubic-bezier(.34,1.56,.64,1) both iq-emerge;position:relative}.result__iq-number--glow-positive:after{content:"";border-radius:var(--radius-lg);pointer-events:none;background:radial-gradient(#1d9e7540 0%,#0000 70%);animation:1.2s ease-in-out .8s both iq-glow-pulse;position:absolute;inset:-8px}.result__iq-number--glow-negative:after{content:"";border-radius:var(--radius-lg);pointer-events:none;background:radial-gradient(#e24b4a38 0%,#0000 70%);animation:1.2s ease-in-out .8s both iq-glow-pulse;position:absolute;inset:-8px}@keyframes iq-glow-pulse{0%{opacity:0;transform:scale(.9)}40%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}@keyframes iq-emerge{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.result__iq-number{animation:none}.result__iq-number--glow-positive:after,.result__iq-number--glow-negative:after{display:none}}.result__iq-classification{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.8px;opacity:0;font-size:14px;font-weight:600;transition:opacity .5s}.result__iq-classification--visible{opacity:1}@media (prefers-reduced-motion:reduce){.result__iq-classification{opacity:1;transition:none}}.result__iq-reveal-badge{font-family:var(--font-sans);color:var(--color-white);background:var(--color-brand-blue);border-radius:var(--radius-full);padding:3px 10px;font-size:12px;font-weight:500}.result__iq-delta{font-family:var(--font-sans);font-size:16px;font-weight:500}.result__iq-delta--positive{color:var(--semantic-success)}.result__iq-delta--negative{color:var(--semantic-danger)}.result__iq-delta--neutral{color:var(--color-text-tertiary)}.result__hint-notice{background:var(--semantic-warning-tint);border-radius:var(--radius-md);width:100%;padding:var(--space-sm) var(--space-md)}.result__hint-notice-text{font-family:var(--font-sans);color:var(--semantic-warning-on-tint);margin:0;font-size:13px}.result__low-accuracy{background:var(--semantic-warning-tint);border-radius:var(--radius-md);width:100%;padding:var(--space-sm) var(--space-md)}.result__low-accuracy-text{font-family:var(--font-sans);color:var(--semantic-warning-on-tint);margin:0;font-size:13px;line-height:1.5}.result__comparison{gap:var(--space-md);grid-template-columns:1fr 1fr;width:100%;display:grid}.result__mini-grid-wrap{gap:var(--space-xs);flex-direction:column;display:flex}.result__mini-grid-label{font-family:var(--font-sans);color:var(--color-text-secondary);text-align:center;margin:0;font-size:12px;font-weight:500}.result__mini-grid{justify-content:center;gap:2px;display:grid}.result__mini-cell{border-radius:2px}.result__mini-cell--correct-fill{background:var(--semantic-success)}.result__mini-cell--wrong-fill{background:var(--semantic-danger)}.result__mini-cell--missed-fill{background:var(--semantic-danger);opacity:.55}.result__mini-cell--correct-empty{background:var(--color-bg-surface);border:1px solid var(--color-border)}.result__daily-next{font-family:var(--font-sans);color:var(--color-text-secondary);text-align:center;margin:0;font-size:13px}.result__daily-countdown{font-family:var(--font-mono);color:var(--color-text-primary);font-size:13px;font-weight:500}.result__share-btn{color:#fff;width:100%;height:52px;font-family:var(--font-sans);cursor:pointer;background:#378add;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:600;transition:background-color .2s,transform .1s;display:flex}.result__share-btn:hover{background:#2e72c7}.result__share-btn:active{transform:scale(.98)}.result__share-btn--copied,.result__share-btn--copied:hover{background:#1d9e75}.result__back-home-link{font-family:var(--font-sans);color:var(--color-text-tertiary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:4px 8px;font-size:13px;text-decoration:underline;transition:color .15s}.result__back-home-link:hover{color:var(--color-text-secondary)}.result__sticky-bar{padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:var(--color-bg-page);border-top:1px solid var(--color-border);z-index:10;box-sizing:border-box;align-items:center;gap:12px;width:100%;max-width:480px;margin:0 auto;display:flex;position:sticky;bottom:0;left:0;right:0}.result__sticky-share{background:var(--color-bg-card);border:1.5px solid var(--color-border);width:48px;height:48px;color:var(--color-text-secondary);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.result__sticky-share:hover{border-color:var(--color-ink-300);color:var(--color-text-primary)}.result__sticky-primary{color:#fff;height:48px;font-family:var(--font-sans);cursor:pointer;background:#378add;border:none;border-radius:12px;flex:1;font-size:16px;font-weight:600;transition:background .15s}.result__sticky-primary:hover{background:#2e72c7}.result__sticky-primary:active{transform:scale(.98)}.result__toast{background:var(--color-ink-900,#2c2520);color:#fff;font-family:var(--font-sans);white-space:nowrap;z-index:100;pointer-events:none;border-radius:20px;padding:10px 18px;font-size:14px;font-weight:500;animation:.2s both toast-in;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.result__actions{gap:var(--space-xs);flex-direction:column;width:100%;display:flex}.result__play-again-btn,.result__home-btn{width:100%}.result__login-prompt{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex;box-shadow:0 1px 4px #2c25200d}.result__login-prompt-text{font-family:var(--font-sans);color:var(--color-text-secondary);text-align:center;margin:0;font-size:14px;line-height:1.5}.result__login-prompt-strong{color:var(--color-text-primary);font-weight:500}.result__login-prompt-btn{width:100%}.result__guest-banner{background:var(--semantic-info-tint);border-radius:var(--radius-md);width:100%;padding:var(--space-sm) var(--space-md);text-align:center}.result__guest-banner-text{font-family:var(--font-sans);color:var(--semantic-info-on-tint);margin:0;font-size:13px}.result__iq-practice-notice{font-family:var(--font-sans);color:var(--color-text-secondary);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-md);text-align:center;margin:0;font-size:13px;font-style:italic}.result__challenge-btn{width:100%;height:52px;color:var(--color-brand-coral,#d85a30);font-family:var(--font-sans);border:2px solid var(--color-brand-coral,#d85a30);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:600;transition:background-color .2s,color .2s,transform .1s;display:flex}.result__challenge-btn:hover{background:#d85a3012}.result__challenge-btn:active{transform:scale(.98)}.result__challenge-btn--copied{color:#1d9e75;background:#1d9e751a;border-color:#1d9e75}.result__challenge-btn--copied:hover{background:#1d9e7526}.result__vs-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);border-left:4px solid #d85a30;width:100%;animation:.4s ease-out both stat-card-enter;overflow:hidden;box-shadow:0 4px 16px #2c252014,0 1px 3px #2c25200d}.result__vs-card-header{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-tertiary);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);margin:0;font-size:11px;font-weight:600}.result__vs-players{padding:var(--space-md);grid-template-columns:1fr auto 1fr;align-items:start;gap:0;display:grid}.result__vs-player{align-items:center;gap:var(--space-2xs);text-align:center;flex-direction:column;display:flex}.result__vs-player-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin:0;font-size:12px;font-weight:600}.result__vs-player-name{font-family:var(--font-sans);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:110px;margin:0;font-size:13px;font-weight:500;overflow:hidden}.result__vs-player-accuracy{font-family:var(--font-mono);color:var(--color-text-primary);margin:0;font-size:22px;font-weight:600;line-height:1.1}.result__vs-player-time{font-family:var(--font-mono);color:var(--color-text-secondary);margin:0;font-size:13px;font-weight:500}.result__vs-player-score{font-family:var(--font-mono);color:var(--color-text-tertiary);margin:0;font-size:12px}.result__vs-divider{padding:0 var(--space-sm);justify-content:center;align-items:center;padding-top:20px;display:flex}.result__vs-divider-text{font-family:var(--font-sans);color:var(--color-text-tertiary);font-size:13px;font-weight:700}.result__vs-banner{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border);flex-direction:column;align-items:center;gap:2px;display:flex}.result__vs-banner--win{background:#e1f5ee}.result__vs-banner--lose{background:#fcebeb}.result__vs-banner--tie{background:#fff8e1}.result__vs-banner-title{font-family:var(--font-sans);text-align:center;margin:0;font-size:15px;font-weight:700}.result__vs-banner--win .result__vs-banner-title{color:#1d9e75}.result__vs-banner--lose .result__vs-banner-title{color:#c0392b}.result__vs-banner--tie .result__vs-banner-title{color:#b7830a}.result__vs-banner-iq{font-family:var(--font-mono);margin:0;font-size:14px;font-weight:600}.result__vs-banner--win .result__vs-banner-iq{color:#1d9e75}.result__vs-banner--lose .result__vs-banner-iq{color:#c0392b}.result__vs-banner--tie .result__vs-banner-iq{color:#b7830a}@media (prefers-color-scheme:dark){.result__vs-banner--win{background:#1d9e7526}.result__vs-banner--lose{background:#c0392b26}.result__vs-banner--tie{background:#b7830a26}}.result__challenge-complete{font-family:var(--font-sans);color:var(--semantic-success);background:var(--semantic-success-tint);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-md);text-align:center;box-sizing:border-box;width:100%;margin:0;font-size:14px;font-weight:600}.result__streak-bonus{font-family:var(--font-sans);text-align:center;margin:0;font-size:13px;font-weight:600}.result__iq-warning{background:var(--semantic-warning-tint);text-align:center;border:1px solid #ef9f274d;border-radius:12px;flex-direction:column;align-items:center;gap:12px;width:100%;padding:16px;display:flex}.result__iq-warning-title{font-family:var(--font-sans);color:var(--semantic-warning-on-tint);margin:0;font-size:15px;font-weight:600}.result__iq-warning-text{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.result__challenge-btn--guest{opacity:.75}.result__challenge-btn--guest:hover{opacity:1;background:#d85a3012}.result__download-card-btn{width:100%;color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:12px;font-size:14px;font-weight:500;text-decoration:underline;transition:color .15s}.result__download-card-btn:hover{color:var(--color-brand-blue)}.result__download-card-btn:disabled{opacity:.55;cursor:default;text-decoration:none}.wrapper{align-items:center;gap:var(--space-xs);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.label{font-family:var(--font-sans);color:var(--color-text-primary);font-size:14px;font-weight:400;line-height:1}.track{background-color:var(--color-ash-200);border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background-color .2s;position:relative}.input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.input:focus-visible+.track{outline:2px solid var(--color-brand-blue);outline-offset:2px}.trackOn{background-color:var(--color-brand-blue)}.thumb{background-color:var(--color-white);border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.thumbOn{transform:translate(18px)}@media (prefers-reduced-motion:reduce){.track,.thumb{transition:none}}.profile{min-height:100dvh;padding:var(--space-lg) var(--space-md) var(--space-3xl);background:var(--color-bg-page);box-sizing:border-box;flex-direction:column;align-items:center;display:flex}.profile__inner{gap:var(--space-xl);flex-direction:column;width:100%;max-width:480px;display:flex}.profile__header{align-items:center;gap:var(--space-sm);display:flex}.profile__back-btn{border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;color:var(--color-text-secondary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.profile__back-btn:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.profile__back-btn:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.profile__title{font-family:var(--font-sans);color:var(--color-text-primary);margin:0;font-size:20px;font-weight:500;line-height:1.2}.profile__user{align-items:center;gap:var(--space-xs);padding:var(--space-md) 0;flex-direction:column;display:flex}.profile__avatar{width:64px;height:64px;color:var(--color-ink-300);flex-shrink:0}.profile__display-name{font-family:var(--font-sans);color:var(--color-text-primary);margin:0;font-size:15px;font-weight:500}.profile__email{font-family:var(--font-sans);color:var(--color-ink-400);margin:0;font-size:13px}.profile__location{align-items:center;gap:var(--space-2xs);font-family:var(--font-sans);color:var(--color-ink-400);margin:0;font-size:13px;display:flex}.profile__location-icon{width:14px;height:14px;color:var(--color-ink-300);flex-shrink:0}.profile__iq-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex;box-shadow:0 2px 8px #00000012}.profile__iq-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin:0;font-size:13px;font-weight:500}.profile__iq-value-row{align-items:center;gap:var(--space-sm);display:flex}.profile__iq-number{font-family:var(--font-mono);color:var(--color-text-primary);font-size:48px;font-weight:600;line-height:1}.profile__iq-trend{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.profile__iq-trend--up{background:var(--semantic-success-tint);color:var(--semantic-success)}.profile__iq-trend--down{background:var(--semantic-danger-tint);color:var(--semantic-danger)}.profile__iq-classification-badge{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-full);border:1px solid;align-items:center;width:fit-content;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.profile__iq-unrevealed{font-family:var(--font-sans);color:var(--color-text-tertiary);margin:0;font-size:13px;font-style:italic}.profile__iq-toggle-row{padding-top:var(--space-sm);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.profile__iq-toggle-label{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:13px}.profile__stats-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr;width:100%;display:grid}.profile__stat-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);gap:var(--space-2xs);flex-direction:column;animation:.4s ease-out both stat-card-enter;display:flex}@media (prefers-reduced-motion:reduce){.profile__stat-card{animation:none}}.profile__stat-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin:0;font-size:11px;font-weight:500}.profile__stat-value{font-family:var(--font-mono);color:var(--color-text-primary);font-size:24px;font-weight:600;line-height:1.1}.profile__stat-sublabel{font-family:var(--font-sans);color:var(--color-text-tertiary);font-size:11px}.profile__accuracy-chart{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);gap:var(--space-xs);flex-direction:column;display:flex}.profile__accuracy-bars{align-items:flex-end;gap:3px;height:44px;display:flex}.profile__accuracy-bar-wrap{flex:1;align-items:flex-end;height:40px;display:flex}.profile__accuracy-bar{will-change:height;border-radius:2px 2px 0 0;width:100%;min-height:2px;animation:.4s ease-out both bar-rise}@keyframes bar-rise{0%{transform-origin:bottom;transform:scaleY(0)}to{transform-origin:bottom;transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.profile__accuracy-bar{animation:none}}.profile__accuracy-bar--high{background:var(--semantic-success);opacity:.85}.profile__accuracy-bar--mid{background:var(--color-brand-amber);opacity:.85}.profile__accuracy-bar--low{background:var(--semantic-danger);opacity:.7}.profile__accuracy-axis{border-top:1px solid var(--color-border);padding-top:var(--space-2xs);justify-content:space-between;display:flex}.profile__accuracy-axis-label{font-family:var(--font-sans);color:var(--color-text-tertiary);font-size:10px}.profile__history{gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.profile__section-title{font-family:var(--font-sans);color:var(--color-text-primary);margin:0;font-size:15px;font-weight:500}.profile__history-list{background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:1px;display:flex;overflow:hidden}.profile__history-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);grid-template-columns:5rem 1fr auto auto;display:grid}.profile__history-date{font-family:var(--font-sans);color:var(--color-text-tertiary);white-space:nowrap;font-size:12px}.profile__history-mode{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);justify-self:start;align-items:center;padding:2px 6px;font-size:11px;font-weight:500;display:inline-flex}.profile__history-mode--daily{background:var(--semantic-info-tint);color:var(--semantic-info-on-tint)}.profile__history-mode--practice{background:var(--semantic-expert-tint);color:var(--semantic-expert-on-tint)}.profile__history-accuracy{font-family:var(--font-mono);color:var(--color-text-secondary);text-align:right;white-space:nowrap;font-size:12px}.profile__history-delta{font-family:var(--font-mono);text-align:right;white-space:nowrap;min-width:3rem;font-size:12px;font-weight:600}.profile__history-delta--positive{color:var(--semantic-success)}.profile__history-delta--negative{color:var(--semantic-danger)}.profile__history-delta--neutral{color:var(--color-text-tertiary)}.profile__empty{font-family:var(--font-sans);color:var(--color-ink-400);padding:var(--space-lg) var(--space-md);text-align:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px}.profile__auth-zone{gap:var(--space-sm);width:100%;padding-top:var(--space-md);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.profile__auth-zone-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin:0;font-size:11px;font-weight:500}.profile__guest-cta{align-items:center;gap:var(--space-xs);padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;display:flex}.profile__guest-cta-text{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:13px}.profile__modal-body{gap:var(--space-md);padding:var(--space-lg);flex-direction:column;display:flex}.profile__modal-text{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.5}.profile__modal-actions{gap:var(--space-sm);display:flex}.profile__modal-actions>*{flex:1}@media (prefers-reduced-motion:reduce){.profile__back-btn,.profile__accuracy-chart{transition:none}.profile__stat-card,.profile__accuracy-bar{animation:none}}.challenges{background:var(--color-bg-page);box-sizing:border-box;flex-direction:column;min-height:100dvh;display:flex}.challenges__header{z-index:10;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-bg-page);border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}.challenges__back-btn{align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;font-size:14px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:flex}.challenges__back-btn:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.challenges__back-btn:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.challenges__title{font-family:var(--font-sans);color:var(--color-text-primary);margin:0;font-size:20px;font-weight:700;line-height:1.2}.challenges__progress{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border)}.challenges__progress-header{margin-bottom:var(--space-xs);justify-content:space-between;align-items:center;display:flex}.challenges__progress-label{font-family:var(--font-sans);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.challenges__progress-count{font-family:var(--font-mono);color:var(--color-text-primary);font-size:13px;font-weight:600}.challenges__progress-track{background:var(--color-ash-100);border-radius:var(--radius-full);height:6px;overflow:hidden}[data-theme=dark] .challenges__progress-track{background:var(--color-bg-surface)}.challenges__progress-fill{background:var(--color-brand-green);border-radius:var(--radius-full);min-width:4px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.challenges__grid-wrapper{padding:var(--space-lg);gap:var(--space-2xl);flex-direction:column;flex:1;display:flex}.challenges__section{gap:var(--space-md);flex-direction:column;display:flex}.challenges__section-banner{align-items:center;gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);display:flex}.challenges__section-banner--easy,.challenges__section-banner--medium,.challenges__section-banner--hard,.challenges__section-banner--expert{color:var(--color-text-primary);background:0 0;border-left:none}.challenges__section-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.challenges__section-dot--easy{background:var(--semantic-success)}.challenges__section-dot--medium{background:var(--semantic-warning)}.challenges__section-dot--hard{background:var(--semantic-danger)}.challenges__section-dot--expert{background:var(--semantic-expert-on-tint)}.challenges__section-banner-label{font-family:var(--font-sans);color:var(--color-text-primary);letter-spacing:-.1px;font-size:15px;font-weight:700}.challenges__section-banner-range{font-family:var(--font-sans);color:var(--color-text-tertiary);margin-left:2px;font-size:13px;font-weight:400}.challenges__grid{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=600px){.challenges__grid{grid-template-columns:repeat(2,1fr)}}.challenge-card{background:var(--color-bg-card);border:1px solid var(--color-border);-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:90px;padding:16px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 1px 3px #2c25200d}.challenge-card--animate-in{animation:.25s ease-out both card-enter}@keyframes card-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.challenge-card--animate-in{animation:none}}.challenge-card--completed{border:1px solid color-mix(in srgb, var(--semantic-success) 25%, transparent);border-left:3px solid var(--semantic-success);cursor:pointer;background:#f0faf5}[data-theme=dark] .challenge-card--completed{background:var(--semantic-success-tint);border-color:color-mix(in srgb, var(--semantic-success) 30%, transparent);border-left-color:var(--semantic-success)}.challenge-card--completed:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1d9e7526}.challenge-card--completed:active{transform:translateY(0)}.challenge-card--available{background:var(--color-bg-card);border:1px solid var(--color-border);border-left:3px solid var(--color-brand-blue);cursor:pointer}.challenge-card--available:hover{transform:translateY(-2px);box-shadow:0 4px 12px #378add26}.challenge-card--available:active{transform:translateY(0)}.challenge-card--next{border-left:3px solid var(--color-brand-blue);animation:.25s ease-out both card-enter,2s ease-in-out .3s infinite next-pulse}@keyframes next-pulse{0%,to{box-shadow:0 0 #378add00}50%{box-shadow:0 0 0 3px #378add33,0 4px 16px #378add26}}@media (prefers-reduced-motion:reduce){.challenge-card--next{animation:none}}.challenge-card--locked{background:var(--color-bg-secondary);opacity:.5;cursor:default;box-shadow:none;border-color:#0000}.challenge-card:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.challenge-card__header{justify-content:space-between;align-items:flex-start;display:flex}.challenge-card__number{font-family:var(--font-mono);color:var(--color-text-primary);letter-spacing:-.5px;font-size:22px;font-weight:700;line-height:1}.challenge-card--locked .challenge-card__number{color:var(--color-text-tertiary);font-size:18px}.challenge-card__check{color:var(--semantic-success);flex-shrink:0;margin-top:1px}.challenge-card__lock{color:var(--color-text-tertiary);flex-shrink:0;margin-top:1px}.challenge-card__play-label{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand-blue);background:color-mix(in srgb, var(--color-brand-blue) 10%, transparent);border-radius:var(--radius-full);flex-shrink:0;margin-top:2px;padding:2px 6px;font-size:10px;font-weight:700}.challenge-card__footer{justify-content:space-between;align-items:center;gap:var(--space-2xs);margin-top:var(--space-xs);display:flex}.challenge-card__grid-size{font-family:var(--font-sans);color:var(--color-text-tertiary);font-size:11px;font-weight:500;line-height:1}.challenge-card--locked .challenge-card__grid-size{color:var(--color-text-tertiary)}.challenge-card__difficulty{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700;line-height:1}.challenge-card__difficulty--easy{color:var(--semantic-success)}.challenge-card__difficulty--medium{color:var(--semantic-warning)}.challenge-card__difficulty--hard{color:var(--semantic-danger)}.challenge-card__difficulty--expert{color:var(--semantic-expert-on-tint)}.challenge-card--locked .challenge-card__difficulty{color:var(--color-text-tertiary);display:none}.leaderboard{background:var(--color-bg-page);box-sizing:border-box;isolation:isolate;flex-direction:column;min-height:100dvh;display:flex}.leaderboard__header{z-index:20;height:56px;padding:0 var(--space-md);background:var(--color-bg-page);border-bottom:1px solid var(--color-border);align-items:center;display:flex;position:sticky;top:0}.leaderboard__back-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.leaderboard__back-btn:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.leaderboard__back-btn:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.leaderboard__title{text-align:center;font-family:var(--font-sans);color:var(--color-text-primary);letter-spacing:-.2px;flex:1;margin:0;font-size:17px;font-weight:700;line-height:1.2}.leaderboard__header-spacer{flex-shrink:0;width:36px}.leaderboard__segments{z-index:19;padding:var(--space-sm) var(--space-lg);background:var(--color-bg-page);border-bottom:1px solid var(--color-border);justify-content:center;display:flex;position:sticky;top:56px}.leaderboard__segment-track{box-sizing:border-box;background:#ede8df;border-radius:10px;align-items:center;gap:4px;height:44px;padding:4px;display:flex}[data-theme=dark] .leaderboard__segment-track{background:var(--color-bg-surface)}.leaderboard__segment-btn{min-width:100px;height:36px;padding:0 var(--space-md);font-family:var(--font-sans);color:#9c8e80;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;font-size:14px;font-weight:500;transition:background .2s,color .2s,box-shadow .2s}.leaderboard__segment-btn--active{color:#2c2520;background:#fff;box-shadow:0 1px 3px #2c25201f}[data-theme=dark] .leaderboard__segment-btn--active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:0 1px 3px #0000004d}.leaderboard__segment-btn:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:-2px}.leaderboard__user-card-wrap{top:calc(56px + 44px + 2 * var(--space-sm) + 2px);z-index:5;padding:var(--space-sm) var(--space-md);background:var(--color-bg-page);position:sticky}.lb-user-card{background:var(--color-bg-card);border:1.5px solid var(--color-brand-blue);padding:var(--space-sm) var(--space-md);gap:var(--space-2xs);border-radius:12px;flex-direction:column;display:flex;box-shadow:0 2px 12px #378add26}.lb-user-card--guest{border-style:dashed;border-color:var(--color-border);box-shadow:none;justify-content:space-between;align-items:center;gap:var(--space-sm);cursor:pointer;flex-direction:row;transition:border-color .15s,box-shadow .15s}.lb-user-card--guest:hover{border-color:var(--color-brand-blue);box-shadow:0 2px 8px #378add1f}.lb-user-card--guest:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.lb-user-card__guest-text{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:14px;font-weight:500}.lb-user-card__header{justify-content:space-between;align-items:center;display:flex}.lb-user-card__label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);font-size:11px;font-weight:600}.lb-user-card__rank{font-family:var(--font-mono);color:var(--color-brand-blue);font-size:15px;font-weight:700}.leaderboard__guest-cta{background:var(--color-bg-card);border:1.5px dashed var(--color-brand-blue);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.leaderboard__guest-cta-title{font-family:var(--font-sans);color:var(--color-text-primary);margin:0;font-size:15px;font-weight:600}.leaderboard__guest-cta-text{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.leaderboard__guest-cta-btn{background:var(--color-brand-blue);color:#fff;font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.leaderboard__guest-cta-btn:hover{background:#2e72c7}.leaderboard__guest-cta-btn:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.leaderboard__list-wrap{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.leaderboard__list{margin:0;padding:0;list-style:none}.leaderboard__list-item{border-bottom:1px solid #ede8df}[data-theme=dark] .leaderboard__list-item{border-bottom-color:var(--color-border)}.leaderboard__list-item--you{background:#378add0a}.lb-entry{align-items:center;gap:var(--space-sm);height:64px;padding:0 var(--space-md);box-sizing:border-box;transition:background .1s;display:flex}.lb-entry--compact{height:48px;padding:0}.lb-entry--rank-1{background:#ef9f2714}.lb-entry--rank-2{background:#9c8e8014}.lb-entry--rank-3{background:#c47a5214}.lb-entry--compact.lb-entry--rank-1,.lb-entry--compact.lb-entry--rank-2,.lb-entry--compact.lb-entry--rank-3{background:0 0}.lb-entry__rank{width:40px;font-family:var(--font-mono);color:#6b5e52;text-align:center;flex-shrink:0;font-size:15px;font-weight:500}.lb-entry__avatar{width:36px;height:36px;font-family:var(--font-sans);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.lb-entry__name{font-family:var(--font-sans);color:#2c2520;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:500;overflow:hidden}[data-theme=dark] .lb-entry__name{color:var(--color-text-primary)}.lb-entry__right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;display:flex}.lb-entry__iq{font-family:var(--font-mono);color:#2c2520;font-size:15px;font-weight:600;line-height:1.2}[data-theme=dark] .lb-entry__iq{color:var(--color-text-primary)}.lb-entry__classification{font-family:var(--font-sans);white-space:nowrap;font-size:12px;font-weight:400;line-height:1.2}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.lb-skeleton{align-items:center;gap:var(--space-sm);height:64px;padding:0 var(--space-md);box-sizing:border-box;border-bottom:1px solid #ede8df;display:flex}[data-theme=dark] .lb-skeleton{border-bottom-color:var(--color-border)}.lb-skeleton__rank,.lb-skeleton__avatar,.lb-skeleton__name,.lb-skeleton__iq{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ede8df 0,#f5f0e8 150px,#ede8df 300px) 0 0/400px 100%;animation:1.4s ease-in-out infinite shimmer;display:block}[data-theme=dark] .lb-skeleton__rank,[data-theme=dark] .lb-skeleton__avatar,[data-theme=dark] .lb-skeleton__name,[data-theme=dark] .lb-skeleton__iq{background:linear-gradient(90deg, var(--color-bg-surface) 0px, var(--color-bg-secondary) 150px, var(--color-bg-surface) 300px);background-size:400px 100%}@media (prefers-reduced-motion:reduce){.lb-skeleton__rank,.lb-skeleton__avatar,.lb-skeleton__name,.lb-skeleton__iq{animation:none}}.lb-skeleton__rank{flex-shrink:0;width:40px;height:14px}.lb-skeleton__avatar{border-radius:50%;flex-shrink:0;width:36px;height:36px}.lb-skeleton__name{flex:1;max-width:160px;height:14px}.lb-skeleton__iq{flex-shrink:0;width:48px;height:14px}.leaderboard__error{align-items:center;gap:var(--space-md);padding:var(--space-2xl) var(--space-lg);text-align:center;flex-direction:column;display:flex}.leaderboard__error-icon{color:var(--color-text-tertiary)}.leaderboard__error-message{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:15px;font-weight:500}.leaderboard__retry-btn{padding:var(--space-xs) var(--space-lg);background:var(--color-brand-blue);color:#fff;border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;border:none;font-size:14px;font-weight:600;transition:opacity .15s}.leaderboard__retry-btn:hover{opacity:.88}.leaderboard__retry-btn:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}.challenge-intro-overlay{-webkit-backdrop-filter:blur(4px);z-index:800;padding:var(--space-lg);background:#1e18148c;justify-content:center;align-items:center;animation:.25s both ci-fade-in;display:flex;position:fixed;inset:0}@keyframes ci-fade-in{0%{opacity:0}to{opacity:1}}.challenge-intro-modal{background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-xl);align-items:center;gap:var(--space-lg);flex-direction:column;width:100%;max-width:400px;animation:.3s cubic-bezier(.34,1.56,.64,1) both ci-slide-up;display:flex;box-shadow:0 24px 64px #1e181438,0 4px 16px #1e18141f}@keyframes ci-slide-up{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.challenge-intro-overlay,.challenge-intro-modal{animation:none}}.challenge-intro__vs-badge{background:#d85a30;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.challenge-intro__vs-text{font-family:var(--font-sans);color:#fff;letter-spacing:-.5px;font-size:24px;font-weight:700;line-height:1}.challenge-intro__info{align-items:center;gap:var(--space-xs);text-align:center;flex-direction:column;display:flex}.challenge-intro__challenger-name{font-family:var(--font-sans);color:var(--color-text-primary);margin:0;font-size:20px;font-weight:700}.challenge-intro__stats-row{font-family:var(--font-mono);color:var(--color-text-secondary);margin:0;font-size:15px;font-weight:500}.challenge-intro__score{font-family:var(--font-mono);color:var(--color-text-tertiary);margin:0;font-size:13px;font-weight:500}.challenge-intro__prompt{font-family:var(--font-sans);color:var(--color-text-primary);text-align:center;margin:0;font-size:15px;font-weight:500;line-height:1.5}.challenge-intro__actions{gap:var(--space-xs);flex-direction:column;width:100%;display:flex}.challenge-intro__accept-btn,.challenge-intro__home-btn{width:100%}@keyframes fadeDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.portal{top:max(16px, env(safe-area-inset-top,0px) + 16px);z-index:200;align-items:center;gap:var(--space-xs);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background-color:var(--color-toast-bg);color:var(--color-toast-text);font-family:var(--font-sans);border-radius:var(--radius-full);pointer-events:auto;white-space:nowrap;text-align:center;max-width:calc(100vw - 32px);padding:10px 20px;font-size:13px;font-weight:400;line-height:1.4}.entering{animation:.2s both fadeDown}.exiting{animation:.2s both fadeUp}@media (prefers-reduced-motion:reduce){.toast{animation:none!important}}:root{--color-brand-blue:#378add;--color-brand-green:#1d9e75;--color-brand-amber:#ef9f27;--color-brand-coral:#d85a30;--color-blue-700:#185fa5;--color-ink-900:#2c2520;--color-ink-700:#3d3530;--color-ink-500:#6b5e52;--color-ink-400:#9c8e80;--color-ink-300:#b8ada2;--color-ash-200:#d9d0c5;--color-ash-100:#ede8df;--color-ash-50:#f5f0e8;--color-white:#fff;--semantic-success-tint:#e1f5ee;--semantic-success:#1d9e75;--semantic-success-on-tint:#085041;--semantic-warning-tint:#fff8e1;--semantic-warning:#ef9f27;--semantic-warning-on-tint:#854f0b;--semantic-danger-tint:#fcebeb;--semantic-danger:#e24b4a;--semantic-danger-on-tint:#791f1f;--semantic-info-tint:#e6f1fb;--semantic-info:#378add;--semantic-info-on-tint:#0c447c;--semantic-expert-tint:#eeedfe;--semantic-expert-on-tint:#3c3489;--color-bg-page:#f5f0e8;--color-bg-card:#fff;--color-bg-surface:#ede8df;--color-bg-secondary:#f0ebe3;--color-text-primary:#2c2520;--color-text-secondary:#6b5e52;--color-text-tertiary:#9c8e80;--color-border:#d9d0c5;--color-cell-empty:#f5f0e8;--color-cell-empty-border:#d9d0c5;--color-cell-filled:var(--color-brand-blue);--color-cell-marked:var(--color-ash-100);--color-modal-overlay:#0006;--color-toast-bg:var(--color-ink-900);--color-toast-text:var(--color-white);--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--font-sans:"DM Sans", -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace}[data-theme=dark]{--color-bg-page:#0f1117;--color-bg-card:#1a1d27;--color-bg-surface:#252833;--color-bg-secondary:#1a1d27;--color-text-primary:#e8ecf1;--color-text-secondary:#a0aec0;--color-text-tertiary:#718096;--color-border:#2d3240;--color-cell-empty:#1a1d27;--color-cell-empty-border:#2d3240;--color-cell-marked:#252833;--color-modal-overlay:#0009;--color-toast-bg:#e8ecf1;--color-toast-text:#1a1a2e;--semantic-success-tint:#0a2e22;--semantic-warning-tint:#2e2510;--semantic-danger-tint:#2e1515;--semantic-info-tint:#0f2035}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg-page:#0f1117;--color-bg-card:#1a1d27;--color-bg-surface:#252833;--color-bg-secondary:#1a1d27;--color-text-primary:#e8ecf1;--color-text-secondary:#a0aec0;--color-text-tertiary:#718096;--color-border:#2d3240;--color-cell-empty:#1a1d27;--color-cell-empty-border:#2d3240;--color-cell-marked:#252833;--color-modal-overlay:#0009;--color-toast-bg:#e8ecf1;--color-toast-text:#1a1a2e;--semantic-success-tint:#0a2e22;--semantic-warning-tint:#2e2510;--semantic-danger-tint:#2e1515;--semantic-info-tint:#0f2035}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-bg-page);min-height:100dvh;font-size:15px;line-height:1.5}#root{flex-direction:column;min-height:100dvh;display:flex}a{color:var(--color-brand-blue);text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-brand-blue);outline-offset:2px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-ash-200);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-ink-300)}::selection{color:var(--color-text-primary);background:#ef9f2740}
