:root{color:#152033;background:radial-gradient(circle at 20% 10%,rgba(73,155,225,.24),transparent 30%),linear-gradient(135deg,#edf6fb,#f7f9fd 52%,#e9f0f7);font-family:Segoe UI Variable,Segoe UI,PingFang SC,Noto Sans CJK SC,Source Han Sans SC,Microsoft YaHei UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh;padding:18px 24px 24px}.game-stage{width:min(1360px,100%);margin:0 auto}.title-row{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:12px}.eyebrow{margin:0 0 4px;color:#3175ad;font-size:.78rem;font-weight:650;letter-spacing:0;text-transform:uppercase}h1{margin:0;color:#111b2d;font-size:clamp(2.25rem,5vw,4.6rem);font-weight:600;line-height:1}.top-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;align-items:end}.language-select-label select{min-width:132px}.primary-action,.tool-grid button,.number-key{border:1px solid rgba(54,92,128,.18);border-radius:8px;background:#fff;color:#17324d;box-shadow:0 8px 22px #233b5914;transition:transform .15s ease,background .15s ease,border-color .15s ease}.primary-action{min-height:50px;padding:0 22px;background:#176fb8;color:#fff;font-weight:650}.primary-action:hover,.tool-grid button:hover,.number-key:hover{transform:translateY(-1px);border-color:#176fb873}.status-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px}.status-bar div{min-height:58px;padding:8px 14px;border:1px solid rgba(54,92,128,.14);border-radius:8px;background:#ffffffc7;box-shadow:0 14px 30px #233b5914}.status-bar dt{margin:0 0 5px;color:#66809c;font-size:.76rem;font-weight:600}.status-bar dd{margin:0;color:#102238;font-size:1.24rem;font-weight:650}.play-layout{display:grid;gap:16px;justify-items:center}.board-wrap{position:relative;width:min(820px,100%);min-width:min(100%,360px)}.sudoku-board{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,minmax(0,1fr));width:100%;aspect-ratio:1;overflow:hidden;border:3px solid #17324d;border-radius:8px;background:#17324d;box-shadow:0 22px 52px #18345233}.sudoku-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border:0;border-right:1px solid #bfd0df;border-bottom:1px solid #bfd0df;border-radius:0;background:#fff;color:#236397;font-family:Segoe UI Variable Display,Segoe UI,Arial,sans-serif;font-size:clamp(1.65rem,5.2vw,3.15rem);font-weight:500;line-height:1;box-shadow:none}.sudoku-cell:nth-child(3n){border-right-width:3px;border-right-color:#17324d}.sudoku-cell:nth-child(9n){border-right:0}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom-width:3px;border-bottom-color:#17324d}.sudoku-cell:nth-child(n+73){border-bottom:0}.sudoku-cell.is-peer{background:#eaf4fc}.sudoku-cell.is-match{background:#d8ecfb;color:#0e64a8}.sudoku-cell.is-selected{z-index:1;outline:3px solid #176fb8;outline-offset:-3px;background:#cce6fa}.sudoku-cell.is-hint{z-index:2;outline:3px solid #27a36d;outline-offset:-5px;background:#dcf7eb}.sudoku-cell.is-hint-elimination{outline-color:#d88a24;background:#fff2d7}.sudoku-cell.is-unit-complete{z-index:3;animation:unit-complete-pop .82s ease-out both}.sudoku-cell.is-given{color:#111b2d;font-weight:650}.sudoku-cell.is-error{background:#fde9e7;color:#c43528}.sudoku-cell.is-disabled{color:transparent}.cell-value{transform:translateY(-1px)}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);width:72%;height:72%;color:#597894;font-size:clamp(.5rem,1.7vw,.92rem);font-weight:500;line-height:1}.notes-grid span{display:grid;place-items:center;min-width:0}.pause-shade{position:absolute;inset:0;display:grid;place-items:center;border-radius:8px;background:#eff6fbd1;color:#17324d;font-size:2rem;font-weight:650;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bottom-panel{width:min(100%,1040px);display:grid;gap:12px}.controls,.keypad{border:1px solid rgba(54,92,128,.14);border-radius:8px;background:#ffffffd1;box-shadow:0 16px 36px #233b591a}.controls{display:grid;gap:12px;padding:12px}.select-label{display:grid;gap:6px;color:#536d86;font-size:.86rem;font-weight:650}select{min-width:164px;min-height:50px;padding:0 12px;border:1px solid rgba(54,92,128,.2);border-radius:8px;background:#fff;color:#172033}.tool-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.tool-grid button{min-height:52px;font-weight:650}.tool-grid button.is-active{background:#176fb8;color:#fff}.hint-card{display:grid;gap:8px;padding:12px;border:1px solid rgba(39,163,109,.24);border-radius:8px;background:#ecfbf3;color:#164d36}.hint-card--notice{border-color:#d18f2842;background:#fff8e8;color:#674713}.hint-card__top{display:flex;justify-content:space-between;gap:12px;align-items:center}.hint-card__top span{font-size:.82rem;font-weight:650}.hint-card__top strong{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#27a36d;color:#fff;font-size:1.15rem}.hint-lines{display:grid;gap:4px}.hint-lines p{margin:0;font-size:.9rem;line-height:1.45}.hint-card small{color:#47745f;font-weight:600}.keypad{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;padding:12px}.number-key{display:grid;place-items:center;align-content:center;gap:3px;min-height:76px;color:#176fb8;font-weight:650}.number-key:disabled,.tool-grid button:disabled{opacity:.48}.number-key.is-complete{background:#edf1f5;color:#7b8da0;box-shadow:none}.key-value{font-size:clamp(1.55rem,2.8vw,2.25rem);line-height:1}.key-count{color:#5f7890;font-size:.72rem;font-weight:600}.completion-banner{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:18px;padding:14px 16px;border:1px solid rgba(34,143,91,.22);border-radius:8px;background:#e8f8ef;color:#155b3c;box-shadow:0 16px 32px #23593b1a}.completion-banner strong{font-size:1.2rem}[dir=rtl] .top-controls{justify-content:flex-start}[dir=rtl] .hint-card__top,[dir=rtl] .completion-banner{direction:rtl}.seo-panel{width:min(980px,100%);margin:24px auto 0;padding:18px 0 4px;color:#334c66}.seo-panel h2{margin:0 0 8px;color:#14243a;font-size:1.28rem;font-weight:650}.seo-panel p{max-width:760px;margin:0;font-size:.95rem;line-height:1.72}.seo-panel nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.seo-panel a{color:#176fb8;font-weight:650;text-decoration:none}.seo-panel a:hover{text-decoration:underline}.completion-celebration{position:fixed;z-index:50;top:46%;left:50%;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;width:min(520px,calc(100vw - 32px));padding:18px 48px 18px 18px;pointer-events:auto;overflow:hidden;border:1px solid rgba(23,111,184,.2);border-radius:8px;background:radial-gradient(circle at 12% 50%,rgba(39,163,109,.22),transparent 24%),linear-gradient(135deg,#fff,#e9f6ff);box-shadow:0 22px 46px #233b5929;animation:celebration-card-in .36s cubic-bezier(.2,.9,.2,1.08) both}.celebration-close{position:absolute;z-index:2;top:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(23,111,184,.18);border-radius:50%;background:#ffffffc7;color:#4d6b86;font-size:1.35rem;line-height:1;cursor:pointer}.celebration-close:hover,.celebration-close:focus-visible{border-color:#176fb86b;color:#176fb8;outline:none}.celebration-medal{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#27a36d,#176fb8);color:#fff;font-size:2rem;font-weight:700;box-shadow:0 10px 20px #176fb838,inset 0 0 0 4px #ffffff47;animation:celebration-medal-pop .9s .12s cubic-bezier(.18,.9,.2,1.25) both}.celebration-copy{position:relative;z-index:1;display:grid;gap:4px}.celebration-copy strong{color:#102238;font-size:1.35rem;font-weight:700}.celebration-copy span{color:#4d6b86;font-size:.92rem;font-weight:600}.celebration-burst{position:absolute;inset:0;pointer-events:none}.confetti-piece{--hue: calc(145 + var(--i) * 23);position:absolute;top:50%;left:34px;width:8px;height:14px;border-radius:2px;background:hsl(var(--hue),78%,56%);opacity:0;transform:translate(-50%,-50%) rotate(0);animation:confetti-burst 1.15s cubic-bezier(.16,.8,.25,1) both;animation-delay:calc(var(--i) * 24ms)}@keyframes celebration-card-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 18px)) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes celebration-medal-pop{0%{transform:scale(.2) rotate(-18deg)}55%{transform:scale(1.14) rotate(8deg)}to{transform:scale(1) rotate(0)}}@keyframes confetti-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(0) scale(.3)}16%{opacity:1}to{opacity:0;transform:translate(calc((var(--i) - 8.5) * 18px),calc(-44px + (var(--i) % 5) * 20px)) rotate(calc(var(--i) * 46deg)) scale(1)}}@keyframes unit-complete-pop{0%{background:#fff;box-shadow:inset 0 0 #27a36d00;transform:scale(1)}28%{background:#c9f6df;box-shadow:inset 0 0 0 3px #27a36d73,0 0 18px #27a36d42;transform:scale(1.035)}62%{background:#e6fbf0;box-shadow:inset 0 0 0 2px #27a36d3d,0 0 10px #27a36d2e;transform:scale(.995)}to{background:inherit;box-shadow:none;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.sudoku-cell.is-unit-complete,.completion-celebration,.celebration-medal,.confetti-piece{animation:none}.sudoku-cell.is-unit-complete{background:#dcf7eb}.confetti-piece{display:none}}@media(max-width:860px){.app-shell{padding:16px}.board-wrap{width:min(100%,720px);margin:0 auto}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.keypad{grid-template-columns:repeat(9,minmax(64px,1fr));overflow-x:auto}}@media(max-width:620px){.title-row{align-items:stretch;flex-direction:column}.primary-action,.top-controls,.select-label,select{width:100%}.status-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.sudoku-cell{font-size:clamp(1.35rem,8vw,2.15rem)}.notes-grid{font-size:clamp(.42rem,2.7vw,.62rem)}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.number-key{min-height:68px}}.view-tabs{display:inline-flex;gap:4px;margin:0 0 14px;padding:4px;border:1px solid rgba(54,92,128,.16);border-radius:8px;background:#ffffffd1;box-shadow:0 12px 28px #233b5914}.view-tabs__links>button{min-width:104px;min-height:42px;border:0;border-radius:6px;background:transparent;color:#536d86;font-weight:650;transition:background .15s ease,color .15s ease,transform .15s ease}.view-tabs__links>button:hover{transform:translateY(-1px);color:#17324d}.help-page{display:grid;gap:18px;padding-bottom:28px}.help-hero{display:grid;gap:8px;padding:22px 0 4px;color:#334c66}.help-hero h2{margin:0;color:#111b2d;font-size:clamp(2rem,4vw,3.4rem);font-weight:650;line-height:1.08}.help-hero p:not(.eyebrow){max-width:760px;margin:0;font-size:1rem;line-height:1.75}.help-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.help-section{display:grid;align-content:start;gap:12px;min-height:230px;padding:18px;border:1px solid rgba(54,92,128,.14);border-radius:8px;background:#ffffffd6;box-shadow:0 16px 36px #233b591a}.help-section--diagram,.help-section--accent{background:linear-gradient(135deg,#fffffff0,#e8f6ffe6)}.help-section>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.help-section h3{margin:0;color:#13263d;font-size:1.34rem;font-weight:700}.section-index{color:#176fb8;font-size:.78rem;font-weight:750}.help-section p,.help-section li{color:#3b5570;font-size:.96rem;line-height:1.72}.help-section p,.help-section ul{margin:0}.help-section ul{display:grid;gap:8px;padding-left:1.1rem}.diagram-row,.method-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.help-diagram{display:grid;gap:8px;margin:0}.mini-board{display:grid;grid-template-columns:repeat(9,1fr);width:min(210px,100%);aspect-ratio:1;overflow:hidden;border:2px solid #17324d;border-radius:8px;background:#17324d}.mini-board span{display:grid;place-items:center;min-width:0;min-height:0;border-right:1px solid #c7d6e2;border-bottom:1px solid #c7d6e2;background:#fff;color:#17324d;font-size:1rem;font-weight:700}.mini-board span:nth-child(3n){border-right-width:2px;border-right-color:#17324d}.mini-board span:nth-child(9n){border-right:0}.mini-board span:nth-child(n+19):nth-child(-n+27),.mini-board span:nth-child(n+46):nth-child(-n+54){border-bottom-width:2px;border-bottom-color:#17324d}.mini-board span:nth-child(n+73){border-bottom:0}.mini-board span.is-marked{background:#d8ecfb;color:#0e64a8}.help-diagram figcaption{color:#5c7892;font-size:.82rem;font-weight:650}.benefit-list{display:flex;flex-wrap:wrap;gap:8px}.benefit-list span{padding:7px 10px;border:1px solid rgba(23,111,184,.2);border-radius:999px;background:#edf7ff;color:#176fb8;font-size:.86rem;font-weight:700}@media(max-width:860px){.help-section-grid,.diagram-row,.method-layout{grid-template-columns:1fr}.mini-board{width:min(240px,100%)}}@media(max-width:620px){.view-tabs{width:100%}.view-tabs__links>button{flex:1}.help-section{padding:16px}}.view-tabs{display:flex;width:fit-content;margin:0 0 16px}.help-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:16px;align-items:start}.help-index{position:sticky;top:16px;display:grid;gap:8px;padding:10px;border:1px solid rgba(54,92,128,.14);border-radius:8px;background:#ffffffdb;box-shadow:0 16px 36px #233b591a}.help-index button{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;width:100%;padding:12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#314b66;text-align:left;transition:background .15s ease,border-color .15s ease,transform .15s ease}.help-index button:hover{transform:translate(2px);border-color:#176fb833;background:#f2f8fd}.help-index button.is-active{border-color:#176fb847;background:#e8f4fd;box-shadow:inset 3px 0 #176fb8}.help-index span{color:#176fb8;font-size:.78rem;font-weight:750}.help-index strong{color:#13263d;font-size:.98rem;font-weight:750}.help-index small{grid-column:2;color:#647d95;font-size:.78rem;font-weight:600;line-height:1.45}.help-topic{display:grid;gap:18px;min-height:620px;padding:22px;border:1px solid rgba(54,92,128,.14);border-radius:8px;background:#ffffffdb;box-shadow:0 18px 42px #233b591c}.help-topic__header{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding-bottom:16px;border-bottom:1px solid rgba(54,92,128,.12)}.help-topic__header>span{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#176fb8;color:#fff;font-weight:800}.help-topic h3{margin:0 0 6px;color:#111b2d;font-size:clamp(1.65rem,3vw,2.35rem);font-weight:750;line-height:1.16}.help-topic__header p,.help-copy-block p,.technique-card p,.help-steps li{color:#3b5570;font-size:.98rem;line-height:1.75}.help-topic__header p,.help-copy-block p,.technique-card p{margin:0}.help-copy-block{display:grid;gap:12px}.help-content-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:18px;align-items:start}.help-content-grid--wide{grid-template-columns:repeat(2,minmax(0,1fr))}.technique-card,.timeline-card{display:grid;gap:10px;padding:16px;border:1px solid rgba(54,92,128,.14);border-radius:8px;background:#f8fbfd}.technique-card h4{margin:0;color:#17324d;font-size:1.08rem;font-weight:750}.help-steps{display:grid;gap:8px;margin:0;padding-left:1.25rem}.example-line{padding:10px 12px;border-left:3px solid #176fb8;border-radius:6px;background:#edf7ff;color:#214d72!important;font-weight:650}.timeline-card span{position:relative;padding:10px 12px 10px 30px;border-radius:8px;background:#edf7ff;color:#176fb8;font-weight:750}.timeline-card span:before{content:"";position:absolute;top:50%;left:12px;width:8px;height:8px;border-radius:50%;background:#176fb8;transform:translateY(-50%)}.benefit-list--large span{border-radius:8px}.mini-board span.is-highlighted{background:#fff4d8}.mini-board span.is-marked.is-highlighted{background:#cfe9fb}@media(max-width:980px){.help-layout{grid-template-columns:1fr}.help-index{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.help-content-grid,.help-content-grid--wide{grid-template-columns:1fr}}@media(max-width:620px){.view-tabs{width:100%;order:-1}.help-index{grid-template-columns:1fr}.help-topic{min-height:0;padding:16px}.help-topic__header{grid-template-columns:1fr}}.mini-board span.is-note{font-size:.66rem;font-weight:750;letter-spacing:0;white-space:nowrap}.daily-panel,.stats-panel{width:min(100%,1040px);margin:0 auto 14px;padding:14px;border:1px solid rgba(54,92,128,.14);border-radius:8px;background:#ffffffd1;box-shadow:0 16px 36px #233b5917}.stats-panel{margin-top:16px;margin-bottom:0}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.panel-heading h2{margin:0 0 4px;color:#13263d;font-size:1.18rem;font-weight:750}.panel-heading p{margin:0;color:#5b748d;font-size:.9rem;line-height:1.55}.daily-actions{display:flex;gap:10px;align-items:end}.daily-actions .primary-action{white-space:nowrap}.daily-calendar{display:grid;grid-template-columns:repeat(30,minmax(26px,1fr));gap:5px;margin-top:14px}.calendar-day{display:grid;gap:5px;min-height:48px;padding:6px 4px;border:1px solid rgba(54,92,128,.12);border-radius:6px;background:#f8fbfd;color:#6b8399;text-align:center}.calendar-day.is-today{border-color:#176fb873;background:#edf7ff;color:#176fb8}.calendar-day.has-completion{background:#eefaf4}.calendar-day span{font-size:.72rem;font-weight:750;line-height:1}.calendar-day div{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;width:20px;margin:0 auto}.calendar-day i{width:7px;height:7px;border-radius:50%;background:#cbd8e4}.calendar-day i.is-done{background:#27a36d}.stats-summary,.difficulty-stats{display:grid;gap:10px;margin-top:14px}.stats-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.stats-summary div,.difficulty-stats div{padding:12px;border:1px solid rgba(54,92,128,.12);border-radius:8px;background:#f8fbfd}.stats-summary span,.difficulty-stats span{display:block;color:#66809c;font-size:.74rem;font-weight:650}.stats-summary strong{display:block;margin-top:5px;color:#102238;font-size:1.35rem;font-weight:750;line-height:1}.difficulty-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.difficulty-stats h3{margin:0 0 10px;color:#17324d;font-size:1rem}.difficulty-stats p{display:flex;justify-content:space-between;gap:8px;margin:6px 0 0;color:#334c66;font-size:.86rem}.difficulty-stats p strong{color:#102238}@media(max-width:980px){.panel-heading,.daily-actions{align-items:stretch;flex-direction:column}.daily-calendar{grid-template-columns:repeat(10,minmax(0,1fr))}.stats-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.difficulty-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.daily-panel,.stats-panel{padding:12px}.daily-calendar{grid-template-columns:repeat(6,minmax(0,1fr))}.stats-summary,.difficulty-stats{grid-template-columns:1fr}}.daily-page{display:grid;gap:16px;width:min(1120px,100%);margin:0 auto}.daily-page__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px;border:1px solid rgba(54,92,128,.14);border-radius:8px;background:#ffffffd6;box-shadow:0 16px 36px #233b5917}.daily-page__header h2,.stats-panel h2{margin:0 0 6px;color:#111b2d;font-size:clamp(1.65rem,3vw,2.35rem);font-weight:750;line-height:1.1}.daily-page__header p,.stats-panel .panel-heading p{margin:0;color:#526c86;font-size:.98rem;line-height:1.65}.daily-start-card{display:flex;gap:10px;align-items:end}.daily-start-card .primary-action{white-space:nowrap}.daily-page__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:16px;align-items:start}.month-card,.daily-detail{border:1px solid rgba(54,92,128,.14);border-radius:8px;background:#ffffffdb;box-shadow:0 18px 42px #233b591a}.month-card{padding:16px}.month-card__top{display:grid;grid-template-columns:42px 1fr 42px;gap:10px;align-items:center;margin-bottom:12px}.month-card__top strong{color:#13263d;font-size:1.2rem;text-align:center}.month-card__top button{display:grid;place-items:center;min-height:42px;border:1px solid rgba(54,92,128,.16);border-radius:8px;background:#f8fbfd;color:#176fb8;font-size:1.4rem;font-weight:750}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.month-weekdays{margin-bottom:8px}.month-weekdays span{color:#66809c;font-size:.76rem;font-weight:750;text-align:center}.month-day{display:grid;align-content:space-between;min-height:82px;padding:10px;border:1px solid rgba(54,92,128,.12);border-radius:8px;background:#f8fbfd;color:#243e58;box-shadow:none;text-align:left;transition:transform .15s ease,border-color .15s ease,background .15s ease}.month-day:hover{transform:translateY(-1px);border-color:#176fb859;background:#f2f8fd}.month-day.is-outside{color:#a6b5c4;background:#f8fbfd7a}.month-day.is-today{border-color:#176fb88c;box-shadow:inset 0 0 0 2px #176fb81f}.month-day.is-selected{border-color:#27a36d7a;background:#eefaf4}.month-day span{font-size:.92rem;font-weight:750;line-height:1}.month-day div{display:flex;flex-wrap:wrap;gap:4px;min-height:8px;margin-top:14px}.month-day i{width:8px;height:8px;border-radius:50%}.dot-beginner{background:#7abf5a}.dot-easy{background:#27a36d}.dot-medium{background:#176fb8}.dot-hard{background:#d88a24}.dot-expert{background:#b64965}.daily-detail{display:grid;gap:12px;padding:16px}.daily-detail>span{color:#176fb8;font-size:.8rem;font-weight:750}.daily-detail h3{margin:0;color:#13263d;font-size:1.35rem}.daily-detail__list{display:grid;gap:8px}.daily-detail__list div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(54,92,128,.12);border-radius:8px;background:#f8fbfd}.daily-detail__list div.is-complete{border-color:#27a36d38;background:#eefaf4}.daily-detail__list strong{color:#17324d}.daily-detail__list span{color:#5f7890;font-size:.86rem;font-weight:650}@media(max-width:980px){.daily-page__header,.daily-page__body{grid-template-columns:1fr}.daily-start-card{align-items:stretch;flex-direction:column}}@media(max-width:620px){.month-card{padding:12px}.month-weekdays,.month-grid{gap:5px}.month-day{min-height:58px;padding:7px}.month-day div{margin-top:8px}}.language-picker{position:relative}.language-picker__button{min-width:178px;min-height:50px;display:grid;gap:2px;padding:7px 14px;border:1px solid rgba(54,92,128,.2);border-radius:8px;background:#fff;color:#172033;text-align:left;box-shadow:0 10px 24px #0e22370d}.language-picker__button span{color:#536d86;font-size:.78rem;font-weight:700}.language-picker__button strong{font-size:1rem;font-weight:760;line-height:1.15}.language-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:22px}.language-modal__scrim{position:absolute;inset:0;border:0;background:#09172757;cursor:default}.language-modal__panel{position:relative;width:min(920px,100%);max-height:min(760px,calc(100vh - 44px));display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;padding:18px;border:1px solid rgba(54,92,128,.18);border-radius:10px;background:#fff;box-shadow:0 28px 80px #0b1f3438}.language-modal__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.language-modal__header div{display:grid;gap:3px}.language-modal__header span{color:#5d7891;font-size:.82rem;font-weight:700}.language-modal__header strong{color:#0f1e33;font-size:1.35rem}.language-modal__close{width:42px;height:42px;border:1px solid rgba(54,92,128,.18);border-radius:999px;background:#f7fbff;color:#12304b;font-size:1.45rem;line-height:1}.language-modal__search{width:100%;min-height:46px;padding:0 14px;border:1px solid rgba(54,92,128,.2);border-radius:8px;color:#172033;font:inherit}.language-modal__groups{overflow:auto;padding-right:4px}.language-modal__group{display:grid;gap:10px;padding:10px 0 16px}.language-modal__group h3{margin:0;color:#385a76;font-size:.86rem;letter-spacing:0}.language-modal__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.language-modal__grid button{min-height:64px;display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(54,92,128,.16);border-radius:8px;background:#fbfdff;color:#102037;text-align:left}.language-modal__grid button:hover,.language-modal__grid button.is-selected{border-color:#176fb894;background:#eaf5ff}.language-modal__grid button strong{font-size:1rem;line-height:1.15}.language-modal__grid button span{color:#5d7891;font-size:.78rem;font-weight:650}@media(max-width:860px){.language-picker,.language-picker__button{width:100%}.language-modal{align-items:end;padding:12px}.language-modal__panel{max-height:calc(100vh - 24px)}}.view-tabs{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0 0 16px;padding:8px;border:1px solid rgba(54,92,128,.16);border-radius:10px;background:#f7fbffeb;box-shadow:0 12px 28px #233b591a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.view-tabs .language-picker__button{min-width:156px;min-height:42px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:6px 10px;box-shadow:none}.language-picker__icon{display:inline-grid;place-items:center;width:34px;height:28px;border-radius:7px;background:#e8f3fd;color:#176fb8;font-size:.78rem;font-weight:850;letter-spacing:0}.language-picker__text{display:grid;gap:1px;min-width:0}.language-picker__text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:620px){.view-tabs{align-items:stretch;flex-wrap:wrap;gap:8px}.view-tabs__links{flex-basis:100%}.view-tabs .language-picker,.view-tabs .language-picker__button{width:100%}}.app-shell{padding-top:0;overflow:visible}.game-stage{overflow:visible}.view-tabs{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin:0 0 18px;padding:8px 10px;border:1px solid rgba(54,92,128,.14);border-top:0;border-radius:0 0 8px 8px;background:#f7fbfff0;box-shadow:0 14px 30px #233b591a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.view-tabs__links{display:flex;flex:1 1 auto;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}.view-tabs__links::-webkit-scrollbar{display:none}.view-tabs__links>button,.view-tabs .language-picker__button{min-width:104px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:#536d86;box-shadow:none;font:inherit;font-weight:650;line-height:1;transition:background .15s ease,color .15s ease,transform .15s ease}.view-tabs__links>button:hover,.view-tabs .language-picker__button:hover{transform:translateY(-1px);color:#17324d;background:#176fb814}.view-tabs__links>button.is-active{background:#176fb8;color:#fff;box-shadow:0 8px 18px #176fb833}.view-tabs .language-picker{flex:0 0 auto}.view-tabs .language-picker__button{min-width:138px;justify-content:flex-start;white-space:nowrap}.language-picker__icon{display:inline-grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:0;background:transparent;color:currentColor}.language-picker__globe{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.view-tabs .language-picker__text{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.view-tabs .language-picker__text span,.view-tabs .language-picker__text strong{color:currentColor;font-size:.95rem;font-weight:650;line-height:1}.view-tabs .language-picker__text strong{max-width:7.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:620px){.view-tabs{align-items:stretch;flex-wrap:wrap;gap:8px}.view-tabs__links{flex-basis:100%}.view-tabs__links>button{flex:1 0 auto}.view-tabs .language-picker,.view-tabs .language-picker__button{width:100%}}.view-tabs{position:sticky;top:0;z-index:80;isolation:isolate;width:100%;margin:0 0 18px;border:0;border-radius:0;background:transparent;box-shadow:none}.view-tabs:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translate(-50%);border-bottom:1px solid rgba(54,92,128,.14);background:#f7fbfff0;box-shadow:0 14px 30px #233b591a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
