@import url(https://fonts.googleapis.com/css2?family=Nunito:wght@500;600;700;800;900&family=Noto+Sans+JP:wght@400;700;900&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#10191d;color:#f7f3ea;font-family:Nunito,sans-serif;text-rendering:optimizeLegibility}body::selection{background:#f9731659;color:#fff}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-track{background:#10191d}::-webkit-scrollbar-thumb{background:#f9731647;border-radius:4px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}@keyframes pop{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes driftGlyph{0%{opacity:0;transform:translate3d(0,18px,0) rotate(-8deg)}18%{opacity:.22}to{opacity:0;transform:translate3d(28px,-70px,0) rotate(16deg)}}@keyframes pulseEdge{0%,to{opacity:.35;transform:scaleX(.96)}50%{opacity:.95;transform:scaleX(1)}}.anim-fade-up{animation:fadeUp .4s ease both}.anim-fade-in{animation:fadeIn .3s ease both}.anim-slide-in{animation:slideIn .35s ease both}.anim-pop{animation:pop .3s cubic-bezier(.175,.885,.32,1.275) both}.shimmer-text{-webkit-text-fill-color:#0000;animation:shimmer 3s linear infinite;background:linear-gradient(90deg,#f97316,#fbbf24,#f97316);-webkit-background-clip:text;background-clip:text;background-size:200% auto}.app-shell{background:#10191d}.app-main{background:linear-gradient(135deg,rgba(249,115,22,.055),#0000 30%),linear-gradient(225deg,rgba(59,130,246,.055),#0000 32%),linear-gradient(180deg,#111c21,#10191d 52%,#0d1519)!important;isolation:isolate;position:relative}.app-main>:not(.kitsu-atmosphere){position:relative;z-index:1}.app-main>.app-topbar{z-index:60}.app-main:before{background:linear-gradient(#ffffff0a 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.028) 1px,#0000 0);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,#00000073,#0000 78%);mask-image:linear-gradient(180deg,#00000073,#0000 78%)}.app-main:after,.app-main:before{content:"";inset:0;pointer-events:none;position:fixed;z-index:0}.app-main:after{background:linear-gradient(90deg,#00000038,#0000 18%,#0000 82%,#00000040)}.app-main h1{color:#fffaf2;text-shadow:0 0 32px #f973161f}.kitsu-atmosphere{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.kitsu-atmosphere span{animation:driftGlyph 9s linear infinite;color:#f7f3ea33;filter:blur(.2px);font-family:Noto Sans JP,sans-serif;font-size:34px;font-weight:900;position:absolute}.kitsu-atmosphere span:first-child{animation-delay:-2s;color:#f9731638;left:8%;top:74%}.kitsu-atmosphere span:nth-child(2){animation-delay:-7s;font-size:26px;left:17%;top:28%}.kitsu-atmosphere span:nth-child(3){animation-delay:-4s;color:#eab30830;left:30%;top:82%}.kitsu-atmosphere span:nth-child(4){animation-delay:-9s;color:#ef444429;left:42%;top:22%}.kitsu-atmosphere span:nth-child(5){animation-delay:-5s;color:#22c55e2b;left:54%;top:68%}.kitsu-atmosphere span:nth-child(6){animation-delay:-10s;left:67%;top:36%}.kitsu-atmosphere span:nth-child(7){animation-delay:-3s;color:#a855f72b;left:78%;top:80%}.kitsu-atmosphere span:nth-child(8){animation-delay:-8s;color:#3b82f62b;left:87%;top:24%}.kitsu-atmosphere span:nth-child(9){animation-delay:-1s;left:92%;top:66%}.kitsu-atmosphere span:nth-child(10){animation-delay:-11s;color:#3b82f626;left:6%;top:44%}.kitsu-atmosphere span:nth-child(11){animation-delay:-6s;color:#f9731633;left:36%;top:52%}.kitsu-atmosphere span:nth-child(12){animation-delay:-12s;left:71%;top:14%}.kitsu-atmosphere span:nth-child(13){animation-delay:-4.5s;color:#22c55e26;font-size:42px;left:14%;top:88%}.kitsu-atmosphere span:nth-child(14){animation-delay:-8.5s;color:#3b82f624;font-size:30px;left:24%;top:12%}.kitsu-atmosphere span:nth-child(15){animation-delay:-1.5s;color:#f7f3ea21;font-size:38px;left:47%;top:90%}.kitsu-atmosphere span:nth-child(16){animation-delay:-6.5s;color:#f9731629;font-size:29px;left:61%;top:9%}.kitsu-atmosphere span:nth-child(17){animation-delay:-3.5s;color:#eab30824;font-size:44px;left:82%;top:48%}.kitsu-atmosphere span:nth-child(18){animation-delay:-5.5s;color:#a855f726;font-size:28px;left:94%;top:10%}.kitsu-atmosphere span:nth-child(19){animation-delay:-7.5s;color:#f7f3ea21;font-size:32px;left:52%;top:42%}.kitsu-atmosphere span:nth-child(20){animation-delay:-2.5s;color:#ef444421;font-size:36px;left:73%;top:92%}.kitsu-atmosphere-fullscreen{opacity:.78;z-index:0}.app-sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(180deg,hsla(0,0%,100%,.035),#0000 34%),#131f24f0!important;box-shadow:18px 0 60px #00000038}.app-sidebar.hover-preview{box-shadow:24px 0 70px #0000006b}.brand-mark svg{filter:drop-shadow(0 0 14px rgba(249,115,22,.55))}.btn-primary{align-items:center;background:linear-gradient(135deg,#f97316,#fb923c);border:none;border-radius:10px;box-shadow:0 10px 26px #f973163d;color:#fff;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;gap:7px;padding:11px 22px;transition:all .2s}.btn-primary:hover{box-shadow:0 8px 22px #f973164d;transform:translateY(-2px)}.btn-primary:active{transform:scale(.97)}.btn-ghost{align-items:center;background:#0000;border:1px solid #ffffff21;border-radius:10px;color:#f7f3ea;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;gap:7px;padding:11px 22px;transition:all .2s}.btn-ghost:hover{background:#f9731614;border-color:#f9731659}.btn-danger{align-items:center;background:#ef44441f;border:1px solid #ef444447;border-radius:9px;color:#ef4444;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;gap:6px;padding:8px 16px;transition:all .2s}.btn-danger:hover{background:#ef444433}.btn-success{align-items:center;background:#22c55e1f;border:1px solid #22c55e47;border-radius:9px;color:#22c55e;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;gap:6px;padding:8px 16px;transition:all .2s}.btn-success:hover{background:#22c55e33}.btn-icon{align-items:center;background:#0000;border:1px solid #ffffff21;border-radius:8px;color:#f7f3eaad;cursor:pointer;display:inline-flex;justify-content:center;padding:7px;transition:all .18s}.btn-icon:hover{background:#f9731614;border-color:#f9731659;color:#f97316}.btn-icon.danger:hover{background:#ef444414;border-color:#ef444459;color:#ef4444}.google-auth-slot{align-items:center;display:flex;justify-content:center;min-height:40px;width:100%}.study-mode-tab{min-height:42px;white-space:nowrap}.ks-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,hsla(0,0%,100%,.045),#ffffff03),#19242beb;border:1px solid #ffffff21;border-radius:14px;box-shadow:0 18px 50px #0000003d,inset 0 1px 0 hsla(0,0%,100%,.025);transition:border-color .2s,transform .2s,box-shadow .2s}.ks-card:hover{border-color:#f9731657;box-shadow:0 22px 60px #00000052,inset 0 0 0 1px #f9731608}.ks-input,.ks-select,.ks-textarea{background:#111c21;border:1px solid #ffffff21;border-radius:9px;color:#f7f3ea;font-family:Nunito,sans-serif;font-size:14px;outline:none;padding:11px 14px;transition:border-color .2s;width:100%}.ks-input:focus,.ks-select:focus,.ks-textarea:focus{border-color:#f97316}.ks-input::placeholder,.ks-textarea::placeholder{color:#f7f3ea52}.ks-select option{background:#19242b}.ks-textarea{line-height:1.6;min-height:90px;resize:vertical}.nav-item{align-items:center;border:1px solid #0000;border-radius:10px;color:#f7f3eaad;cursor:pointer;display:flex;font-size:14px;font-weight:800;gap:11px;overflow:hidden;padding:10px 13px;position:relative;text-decoration:none;transition:all .18s;-webkit-user-select:none;user-select:none}.nav-item>svg{flex-shrink:0}.nav-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item:hover{background:#f973161a;color:#fffaf2}.nav-item.active{background:linear-gradient(90deg,#f973162e,#f973160f);border-color:#f9731652;box-shadow:0 10px 24px #f9731614;color:#f97316}.nav-item.active:before{background:#f97316;border-radius:999px;box-shadow:0 0 18px #f97316bf;content:"";height:28px;left:-17px;position:absolute;width:3px}.ks-table{border-collapse:collapse;width:100%}.ks-table th{border-bottom:1px solid #ffffff0f;color:#f7f3ea70;font-weight:700;letter-spacing:.8px;padding:12px 16px;text-align:left;white-space:nowrap}.ks-table td{border-bottom:1px solid #ffffff0a;font-size:14px;padding:13px 16px;vertical-align:middle}.ks-table tr:last-child td{border-bottom:none}.ks-table tr:hover td{background:#f9731608}.badge{align-items:center;border-radius:6px;display:inline-flex;font-size:11px;font-weight:700;gap:4px;padding:3px 9px}.choice-btn{align-items:center;background:#19242bd1;border:1px solid #ffffff21;border-radius:12px;color:#f7f3ea;cursor:pointer;display:flex;font-family:Nunito,sans-serif;font-size:15px;font-weight:800;gap:10px;line-height:1.25;min-height:56px;padding:14px 16px;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;-webkit-user-select:none;user-select:none;width:100%}.choice-btn:hover:not(:disabled){background:#f9731614;border-color:#f973166b;box-shadow:0 12px 28px #00000038;transform:translateY(-1px)}.choice-btn:active:not(:disabled){transform:scale(.99)}.choice-btn:disabled{cursor:default;opacity:1}.kana-script-toggle{flex-wrap:wrap}.kana-script-toggle>div{flex:1 1 160px}.kana-filter-bar{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex-wrap:nowrap;gap:8px;margin-bottom:20px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);overflow-x:auto;overscroll-behavior-x:contain;padding:2px 0 6px;scrollbar-width:none}.kana-filter-chip:last-child{margin-right:30px}.kana-filter-bar::-webkit-scrollbar{display:none}.kana-filter-chip{-webkit-appearance:none;appearance:none;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;color:#f7f3eab8;cursor:pointer;flex:0 0 auto;font-family:Nunito,sans-serif;font-size:13px;font-weight:800;min-height:36px;padding:8px 14px;transition:background .18s ease,color .18s ease,border-color .18s ease;white-space:nowrap}.kana-filter-chip:hover{background:#f9731614;border-color:#f9731647;color:#fffaf2}.kana-filter-chip.active{background:#f97316;border-color:#f97316b3;box-shadow:0 10px 24px #f973162e;color:#fff}.kana-chart-stack{display:flex;flex-direction:column;gap:22px}.kana-chart-section{display:flex;flex-direction:column;gap:12px}.kana-section-title{align-items:flex-end;display:flex;gap:12px;justify-content:space-between}.kana-section-title h3{font-size:15px;font-weight:900;letter-spacing:-.35px}.kana-section-title span{color:#f7f3ea8f;font-size:12px;font-weight:700}.kana-mode-toolbar,.kanji-mode-toolbar{margin-left:-2px;margin-right:-2px;padding-bottom:6px;padding-top:4px;position:-webkit-sticky;position:sticky;top:68px;z-index:40}.kana-mode-strip,.kanji-mode-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none}.kana-mode-strip::-webkit-scrollbar,.kanji-mode-strip::-webkit-scrollbar{display:none}.study-fullscreen-shell{background:#0e161a}.study-fullscreen-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.study-fullscreen-close{height:40px;padding:0;width:40px}.kanji-chart-grid{contain:layout paint}.kanji-grid-card{-webkit-backdrop-filter:none;backdrop-filter:none;contain-intrinsic-size:152px;content-visibility:auto;transition:border-color .14s ease,background .14s ease}.kanji-grid-card,.kanji-grid-card:hover{box-shadow:0 10px 24px #00000029,inset 0 1px 0 #ffffff05}.kanji-grid-card:hover{transform:none}.modal-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b8;height:100vh;inset:0;padding:24px}.modal-box{animation:pop .25s ease;background:#19242b;border:1px solid #ffffff1a;border-radius:18px;max-height:90vh;max-width:560px;overflow-y:auto;padding:32px;width:100%}.kana-modal-box,.kanji-modal-box{max-width:460px;width:min(100%,460px)}.form-label{color:#f0ede866;display:block;font-size:11px;font-weight:700;letter-spacing:.6px;margin-bottom:7px;text-transform:uppercase}.search-wrap{position:relative}.search-wrap svg{color:#f0ede847;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-wrap .ks-input{padding-left:36px}.spinner{animation:spin .7s linear infinite;border:2px solid #fff3;border-top-color:#fff;height:17px;width:17px}.toast{animation:pop .25s ease;background:#22c55e;border-radius:10px;bottom:28px;color:#fff;display:flex;font-size:14px;font-weight:700;gap:8px;padding:12px 20px;pointer-events:none;right:28px;z-index:2000}.mobile-header,.toast{align-items:center;position:fixed}.mobile-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d1519fa;border-bottom:1px solid #ffffff14;box-shadow:0 4px 20px #0006;display:none;height:60px;justify-content:space-between;left:0;padding:0 20px;right:0;top:0;z-index:1000}.mobile-nav-toggle{align-items:center;background:#0000;border:none;border-radius:12px;color:#f7f3ea;cursor:pointer;display:flex;height:44px;justify-content:center;transition:background .2s,color .2s,transform .15s;width:44px}.mobile-nav-toggle:hover{background:#ffffff12;color:#fffaf2}.mobile-nav-toggle:active{background:#f973161f;color:#f97316;transform:scale(.9)}.sidebar-close-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;color:#f7f3ea;cursor:pointer;display:none;height:36px;justify-content:center;position:absolute;right:20px;top:20px;width:36px;z-index:10}.mobile-bottom-nav{display:none}.mobile-bottom-nav-item{align-items:center;background:#0000;border:none;color:#f7f3ea80;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:Nunito,sans-serif;font-size:11px;font-weight:700;gap:3px;justify-content:center;min-width:0;padding:6px 4px;text-decoration:none;transition:color .15s ease}.mobile-bottom-nav-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-nav-item:active{transform:scale(.94)}.mobile-bottom-nav-item.active{color:#f97316}@media (max-width:1024px){.mobile-header,.sidebar-close-btn{display:flex}.app-sidebar-wrapper{width:0!important}.app-shell{--app-sidebar-w:0px!important}.app-sidebar{bottom:0;box-shadow:20px 0 50px #00000080;left:0;position:fixed!important;top:0;transform:translateX(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);width:280px!important;z-index:2000}.app-sidebar.open{transform:translateX(0)}.sidebar-overlay{animation:fadeIn .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000bf;display:none;inset:0;position:fixed;z-index:1500}.sidebar-overlay.visible{display:block}.app-main{padding-top:60px!important}.nav-item.active:before{left:-16px}}@media (max-width:768px){.kana-script-toggle>div{flex-basis:calc(50% - 5px);flex-grow:1;flex-shrink:1;min-width:0;padding:11px 14px!important}.kana-script-toggle>div div:last-child{font-size:14px!important}.kana-mode-toolbar,.kanji-mode-toolbar{flex-wrap:nowrap!important;gap:8px!important;margin-bottom:18px;padding-top:6px;top:60px}.kana-mode-strip,.kanji-mode-strip{grid-gap:2px!important;display:grid!important;flex:1 1 auto;gap:2px!important;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;overflow:visible;width:100%!important}.kana-mode-toolbar>button,.kanji-mode-toolbar>button{border-radius:12px!important;flex:0 0 auto;height:60px!important;width:46px!important}.study-mode-tab{border-radius:10px!important;flex-direction:column;font-size:11px!important;font-weight:800!important;gap:4px!important;line-height:1.1;min-height:52px;min-width:0;padding:7px 4px!important;text-align:center}.study-mode-tab svg{flex-shrink:0;height:17px;width:17px}.kana-filter-chip{font-size:12.5px;min-height:34px;padding:7px 13px}.study-fullscreen-header{height:56px!important;padding:0 14px!important}.study-fullscreen-close{height:38px;width:38px}}@media (max-width:520px){.kanji-chart-grid{gap:6px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}.kanji-grid-card{border-radius:11px!important;padding:10px 5px!important}.kanji-grid-card>div:first-child{font-size:25px!important;margin-bottom:4px!important}.kanji-grid-card>div:nth-child(2){font-size:10px!important}.kanji-grid-card>div:nth-child(3){font-size:10px!important;margin-top:4px!important}.kanji-grid-card>div:nth-child(4){margin-top:6px!important}.kanji-grid-card>div:nth-child(5){font-size:9px!important}}.page-container{margin:0 auto;max-width:1400px;padding:32px}.dashboard-page{max-width:1520px}.dashboard-section{margin-top:28px}.dashboard-hero{grid-gap:20px;border-bottom:1px solid #ffffff0f;display:grid;gap:20px;grid-template-columns:minmax(0,1.15fr) minmax(240px,.72fr);padding:24px 24px 30px}.dashboard-hero-aside,.dashboard-hero-copy{position:relative;z-index:1}.dashboard-hero-copy h1{font-size:clamp(30px,3.2vw,44px);letter-spacing:-1.4px;line-height:.98;margin:10px 0 12px}.dashboard-hero-copy p{color:#f7f3eac2;font-size:14px;line-height:1.55;max-width:56ch}.dashboard-hero-badge{align-items:center;background:#ffffff0d;border:1px solid #ffffff1c;border-radius:999px;color:#f7f3eae6;display:inline-flex;font-size:13px;font-weight:800;gap:10px;letter-spacing:.01em;padding:9px 13px}.dashboard-hero-badge span:first-child{font-size:16px}.dashboard-hero-kicker{color:#f7f3ea70;font-size:11px;font-weight:900;letter-spacing:.28em;margin-top:14px;text-transform:uppercase}.dashboard-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.dashboard-hero-actions .btn-ghost,.dashboard-hero-actions .btn-primary{min-height:46px}.dashboard-hero-aside{display:flex;flex-direction:column;gap:14px;justify-content:center}.dashboard-hero-orb{aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff1f,0 24px 60px #00000047,0 0 38px #f9731629;margin-left:auto;padding:10px;width:min(100%,250px)}.dashboard-hero-orb-inner{align-items:center;background:radial-gradient(circle at 50% 30%,#ffffff14,#0000 34%),#10191de6;border:1px solid #ffffff14;border-radius:50%;box-shadow:inset 0 1px 0 #ffffff0a;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center;width:100%}.dashboard-hero-orb-value{color:#fffaf2;font-size:clamp(34px,4vw,48px);font-weight:900;letter-spacing:-2px;line-height:.9}.dashboard-hero-orb-label{color:#f7f3ea8f;font-size:12px;font-weight:800;letter-spacing:.18em;margin-top:8px;text-transform:uppercase}.dashboard-hero-summary{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-hero-summary>div{background:hsla(0,0%,100%,.035);border:1px solid #ffffff17;border-radius:14px;padding:12px 12px 11px}.dashboard-hero-summary span{color:#f7f3ea6b;display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.dashboard-hero-summary strong{color:#fffaf2;display:block;font-size:18px;font-weight:900;margin-top:6px}.dashboard-section-head{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.dashboard-section-head h2{font-size:19px;font-weight:900;letter-spacing:-.5px}.dashboard-section-head p{color:#f7f3ea9e;font-size:13px;margin-top:4px}.dashboard-section-pill,.dashboard-view-all{align-items:center;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;color:#f7f3eadb;display:inline-flex;font-size:12px;font-weight:800;gap:8px;padding:10px 14px}.dashboard-view-all{cursor:pointer;transition:all .18s ease}.dashboard-view-all:hover{background:#f9731614;border-color:#f9731659;color:#fffaf2}.dashboard-stat-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.dashboard-stat-grid .ks-card{padding:20px 22px}.dashboard-level-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-level-card{-webkit-appearance:none;appearance:none;border:1px solid #ffffff21;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:220px;padding:18px;text-align:left;width:100%}.dashboard-level-card:disabled{cursor:default}.dashboard-level-card.active{border-color:#f9731659;box-shadow:0 18px 42px #f9731614,0 20px 54px #00000038}.dashboard-level-card.locked{opacity:.82}.dashboard-level-topline{align-items:center;color:#f7f3ea6b;display:flex;font-size:11px;font-weight:900;gap:10px;justify-content:space-between;letter-spacing:.18em;text-transform:uppercase}.dashboard-level-name{color:var(--level-color);font-size:34px;font-weight:900;letter-spacing:-1.6px;line-height:.92;margin-top:12px}.dashboard-level-note{color:#f7f3eaad;font-size:13px;line-height:1.55;margin-top:10px;max-width:18ch}.dashboard-level-bar{background:#ffffff14;border-radius:999px;height:6px;margin-top:16px;overflow:hidden}.dashboard-level-bar-fill{border-radius:inherit;box-shadow:0 0 18px #f9731638;height:100%}.dashboard-level-meta{color:#f7f3ea80;gap:8px;margin-top:6px}.dashboard-level-locked,.dashboard-level-meta{display:flex;font-size:12px;justify-content:space-between}.dashboard-level-locked{align-items:center;color:#f7f3ea85;font-weight:800;gap:10px;margin-top:auto}.dashboard-action-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-action-card{align-items:center;-webkit-appearance:none;appearance:none;border:1px solid #ffffff21;cursor:pointer;display:flex;gap:14px;padding:18px;text-align:left;width:100%}.dashboard-action-icon{align-items:center;background:#ffffff0a;border:1px solid #ffffff17;border-radius:14px;color:var(--action-color);display:flex;flex-shrink:0;font-size:20px;height:46px;justify-content:center;width:46px}.dashboard-action-copy{flex:1 1;min-width:0}.dashboard-action-copy strong{color:#fffaf2;display:block;font-size:14px;font-weight:800}.dashboard-action-copy span{color:#f7f3eaa3;display:block;font-size:12px;line-height:1.45;margin-top:2px}.dashboard-action-arrow{color:#f7f3ea57;margin-left:auto}.dashboard-vocab-list{grid-gap:10px;display:grid;gap:10px}.dashboard-vocab-card{grid-gap:18px;align-items:center;-webkit-appearance:none;appearance:none;border:1px solid #ffffff21;cursor:pointer;display:grid;gap:18px;grid-template-columns:90px minmax(0,1fr) auto;min-height:80px;padding:16px 18px;text-align:left;width:100%}.dashboard-vocab-kanji{color:#fffaf2;font-family:Noto Sans JP,sans-serif;font-size:34px;font-weight:900;line-height:1;text-align:center;white-space:nowrap}.dashboard-vocab-main{min-width:0}.dashboard-vocab-kana{color:#fffaf2;font-size:16px;font-weight:800}.dashboard-vocab-meaning{color:#f7f3eaa8;font-size:13px;margin-top:3px}.dashboard-vocab-card .badge{justify-self:end}@media (max-width:1100px){.dashboard-hero{grid-template-columns:1fr}.dashboard-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.page-container.dashboard-page{padding-top:20px}.dashboard-hero{padding:20px}.dashboard-action-grid,.dashboard-hero-summary,.dashboard-level-grid{grid-template-columns:1fr}.dashboard-vocab-card{grid-template-columns:64px minmax(0,1fr);row-gap:10px}.dashboard-vocab-card .badge{grid-column:1/-1;justify-self:start}.dashboard-section-head{align-items:flex-start;flex-direction:column}.page-container{padding:20px 16px}.dashboard-grid{grid-template-columns:1fr!important}.modal-box{margin:10px;max-height:85vh;padding:24px 20px}.ks-card{padding:16px!important}.ks-table td,.ks-table th{padding:10px 12px}.stat-card{padding:14px 16px!important}}@media (max-width:480px){.btn-ghost,.btn-primary{font-size:13px;padding:10px 16px}.app-main{padding-top:70px!important}}:focus-visible{border-radius:8px;outline:2px solid #f97316d9;outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}:focus:not(:focus-visible){box-shadow:none;outline:none}*{-webkit-tap-highlight-color:transparent}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}*{scrollbar-color:#f9731647 #10191d;scrollbar-width:thin}.ks-grid-2{display:grid;grid-template-columns:1fr 1fr}.ks-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr}.ks-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.dashboard-stat-grid .ks-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.dashboard-stat-grid .ks-card:hover{border-color:#f9731657;box-shadow:0 20px 50px #0000004d;transform:translateY(-3px)}.dashboard-action-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.dashboard-action-card:hover{border-color:#f9731666!important;box-shadow:0 16px 44px #00000052;transform:translateY(-3px)}.dashboard-action-arrow{transition:color .2s ease,transform .2s ease}.dashboard-action-card:hover .dashboard-action-arrow{color:var(--action-color);transform:translateX(4px)}.dashboard-level-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.dashboard-level-card.active:hover{transform:translateY(-3px)}.dashboard-vocab-card{transition:transform .2s ease,border-color .2s ease}.dashboard-vocab-card:hover{border-color:#f9731657;transform:translateY(-2px)}.dashboard-hero-name{-webkit-text-fill-color:#0000;animation:shimmer 4s linear infinite;background:linear-gradient(92deg,#f97316 10%,#fbbf24 55%,#f97316);-webkit-background-clip:text;background-clip:text;background-size:200% auto}.dashboard-hero-jp{color:#f97316;font-family:Noto Sans JP,sans-serif;font-weight:900;letter-spacing:.04em}.dashboard-hero-aside{justify-content:stretch}.dashboard-plan-card{display:flex;flex-direction:column;gap:16px;height:100%;padding:20px;position:relative;z-index:1}.dashboard-plan-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.dashboard-plan-title{color:#fffaf2;font-size:16px;font-weight:900;letter-spacing:-.3px}.dashboard-plan-sub{color:#f7f3ea8c;font-size:12px;margin-top:3px}.dashboard-plan-pill{align-items:center;border-radius:999px;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:800;gap:5px;padding:6px 11px;white-space:nowrap}.dashboard-plan-pill.due{background:#f973161f;border:1px solid #f9731652;color:#fb923c}.dashboard-plan-pill.clear{background:#22c55e1a;border:1px solid #22c55e47;color:#22c55e}.dashboard-plan-list{display:flex;flex-direction:column;gap:10px}.dashboard-plan-item{align-items:center;-webkit-appearance:none;appearance:none;background:#ffffff08;border:1px solid #ffffff17;border-radius:12px;cursor:pointer;display:flex;font-family:Nunito,sans-serif;gap:12px;padding:12px;text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease;width:100%}.dashboard-plan-item:hover{background:#ffffff0d;border-color:var(--plan-color);transform:translateY(-1px)}.dashboard-plan-item:active{transform:scale(.99)}.dashboard-plan-icon{align-items:center;background:var(--plan-color)14;border:1px solid var(--plan-color)28;border-radius:10px;color:var(--plan-color);display:flex;flex-shrink:0;font-size:17px;height:38px;justify-content:center;width:38px}.dashboard-plan-copy{flex:1 1;min-width:0}.dashboard-plan-copy strong{color:#fffaf2;font-size:13.5px;font-weight:800}.dashboard-plan-copy span,.dashboard-plan-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-plan-copy span{color:#f7f3ea99;font-size:12px;margin-top:2px}.dashboard-plan-cta{align-items:center;color:var(--plan-color);display:inline-flex;flex-shrink:0;font-size:12px;font-weight:800;gap:5px;margin-left:auto}@media (max-width:640px){.dashboard-hero{padding:18px 16px}.dashboard-hero-copy h1{font-size:clamp(26px,8.5vw,34px)}.dashboard-hero-orb{margin:0 auto;width:148px}.dashboard-hero-actions .btn-ghost,.dashboard-hero-actions .btn-primary{justify-content:center;width:100%}.dashboard-hero-summary,.dashboard-level-grid{grid-template-columns:1fr}.dashboard-level-card{min-height:190px}.dashboard-vocab-card{grid-template-columns:56px minmax(0,1fr)}.dashboard-plan-card{padding:16px}.dashboard-plan-item{padding:11px 10px}.ks-grid-2,.ks-grid-3{grid-template-columns:1fr}}@media (max-width:480px){.nav-item{min-height:52px}.btn-ghost,.btn-primary{min-height:44px}.page-container{padding:18px 14px}.modal-overlay{padding:12px}}@supports (padding:max(0px)){.mobile-header{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.mobile-bottom-nav{padding-bottom:max(0px,env(safe-area-inset-bottom))}}@media (max-width:768px){.mobile-bottom-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d1519fa;border-top:1px solid #ffffff14;bottom:0;box-shadow:0 -4px 20px #0006;display:flex;height:60px;left:0;position:fixed;right:0;z-index:1000}.app-main{padding-bottom:76px!important}.toast{bottom:76px;justify-content:center;left:16px;right:16px}}@media (max-width:920px){.roadmap-hero-grid{gap:24px!important;grid-template-columns:1fr!important}.roadmap-spine{display:none!important}.roadmap-chapter-row{align-items:flex-start!important;flex-direction:column!important}.roadmap-chapter-content{margin-left:0!important;width:100%!important}.roadmap-chapter-row.left .roadmap-chapter-content{margin-right:0!important}.grammar-lesson-grid,.grammar-shell-grid{grid-template-columns:1fr!important}}.profile-page{max-width:1280px}.profile-grid{grid-gap:22px;align-items:start;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 340px}.profile-main{gap:0;min-width:0}.profile-aside,.profile-main{display:flex;flex-direction:column}.profile-aside{gap:16px;position:-webkit-sticky;position:sticky;top:24px}.profile-banner{background:radial-gradient(circle at 8% -22%,#f9731621,#0000 34%),linear-gradient(150deg,rgba(249,115,22,.055),#0000 40%),#131f24f0;overflow:hidden;padding:18px 20px 16px;position:relative}.profile-banner-glyphs{inset:0;overflow:hidden;pointer-events:none;position:absolute}.profile-banner-glyphs span{color:rgba(249,115,22,.055);font-family:Noto Sans JP,sans-serif;font-weight:900;position:absolute;-webkit-user-select:none;user-select:none}.profile-banner-glyphs span:first-child{font-size:104px;right:5%;top:-14px;transform:rotate(-8deg)}.profile-banner-glyphs span:nth-child(2){bottom:-24px;font-size:72px;right:24%;transform:rotate(6deg)}.profile-banner-glyphs span:nth-child(3){font-size:38px;left:84%;top:14%}.profile-banner-glyphs span:nth-child(4){bottom:8%;font-size:48px;left:2%;transform:rotate(-4deg)}.profile-banner-glyphs span:nth-child(5){font-size:32px;left:48%;top:60%}.profile-banner-badge{background:#f9731617;border:1px solid #f9731642;border-radius:999px;color:#fdba74;display:inline-flex;font-size:12px;font-weight:800;gap:8px;letter-spacing:.02em;padding:6px 11px}.profile-banner-badge,.profile-identity{align-items:center;position:relative;z-index:1}.profile-identity{display:flex;gap:14px;margin-top:14px}.profile-avatar{align-items:center;background:linear-gradient(145deg,#f97316,#fb923c);border-radius:50%;box-shadow:0 8px 20px #f973163d,0 0 0 3px #f973161a;color:#fff;display:flex;flex-shrink:0;font-size:23px;font-weight:900;height:56px;justify-content:center;width:56px}.profile-identity h1{font-size:clamp(19px,2vw,24px);font-weight:900;letter-spacing:-.8px;line-height:1.1}.profile-tagline{color:#f7f3ea99;font-size:13px;font-weight:600;margin-top:4px}.profile-meta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.profile-meta-row span{align-items:center;color:#f7f3ea80;display:inline-flex;font-size:12px;font-weight:700;gap:6px}.profile-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;position:relative;z-index:1}.profile-cta-row .btn-ghost,.profile-cta-row .btn-primary{min-height:44px}.profile-stat-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.profile-stat-card{align-items:center;display:flex;gap:11px;padding:12px 13px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.profile-stat-card:hover{border-color:#f9731657;box-shadow:0 14px 34px #00000047;transform:translateY(-2px)}.profile-stat-icon{align-items:center;background:color-mix(in srgb,currentColor 16%,#0000);border-radius:9px;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.profile-stat-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.profile-stat-value{font-size:19px;font-weight:900;letter-spacing:-.5px;line-height:1.1}.profile-stat-label{color:#f7f3ea80;font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-week-card{padding:18px 20px 20px}.profile-week-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.profile-week-title{font-size:14px;font-weight:900}.profile-week-sub{color:#f7f3ea80;font-size:12px;font-weight:600;margin-top:3px}.profile-week-flame{align-items:center;-webkit-appearance:none;appearance:none;background:#f973161f;border:none;border-radius:10px;color:#f97316;cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:transform .15s ease,background .15s ease;width:34px}.profile-week-flame:hover{background:#f9731633}.profile-week-flame:active{transform:scale(.92)}.profile-week-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:16px}.profile-week-day{align-items:center;display:flex;flex-direction:column;gap:6px}.profile-week-day-label{color:#f7f3ea66;font-size:10px;font-weight:800;letter-spacing:.04em}.profile-week-day-dot{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:9px;color:#f7f3ea3d;display:flex;height:28px;justify-content:center;width:28px}.profile-week-day.active .profile-week-day-dot{background:linear-gradient(145deg,#f97316,#fb923c);border-color:#0000;box-shadow:0 6px 14px #f9731659;color:#fff}.profile-week-day.today .profile-week-day-label{color:#f97316}.profile-week-day.today .profile-week-day-dot{box-shadow:0 0 0 2px #f9731673}.profile-activity-card{padding:18px 20px 8px}.profile-activity-head{font-size:14px;font-weight:900;margin-bottom:10px}.profile-activity-list{display:flex;flex-direction:column}.profile-activity-item{align-items:center;border-top:1px solid #ffffff0f;display:flex;gap:12px;padding:12px 0}.profile-activity-item:first-child{border-top:none}.profile-activity-icon{align-items:center;background:#22c55e1f;border-radius:10px;color:#22c55e;display:flex;flex-shrink:0;font-size:17px;height:36px;justify-content:center;width:36px}.profile-activity-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-activity-copy strong{font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-activity-copy span{color:#f7f3ea80;font-size:12px;font-weight:600}@media (max-width:1100px){.profile-grid{grid-template-columns:minmax(0,1fr)}.profile-aside{position:static}}@media (max-width:640px){.profile-banner{padding:22px 18px 20px}.profile-identity{align-items:flex-start;flex-direction:column;gap:14px}.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-cta-row .btn-ghost,.profile-cta-row .btn-primary{flex:1 1;justify-content:center}}.loading-screen{flex-direction:column;gap:16px;min-height:calc(100vh - 64px);padding:24px 20px;text-align:center}.loading-orb,.loading-screen{align-items:center;display:flex;justify-content:center}.loading-orb{height:58px;position:relative;width:58px}.loading-orb-ring{animation:spin .9s linear infinite;border:2px solid #f9731629;border-radius:50%;border-top-color:#f97316;inset:0;position:absolute}.loading-orb-glyph{animation:loadingGlyphPulse 2.2s ease-in-out infinite;color:#f97316;font-family:Noto Sans JP,sans-serif;font-size:22px;font-weight:900}@keyframes loadingGlyphPulse{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}.loading-label{color:#f7f3ea66;font-size:11px;font-weight:900;letter-spacing:.26em;text-transform:uppercase}.loading-quote{animation:fadeUp .5s ease both;max-width:46ch}.loading-quote-jp{color:#fffaf2;font-family:Noto Sans JP,sans-serif;font-size:clamp(19px,3vw,24px);font-weight:900;letter-spacing:.04em;line-height:1.35}.loading-quote-romaji{color:#f97316d9;font-size:12px;font-style:italic;font-weight:700;letter-spacing:.04em;margin-top:7px}.loading-quote-en{color:#f7f3ea9e;font-size:14px;font-weight:600;line-height:1.55;margin-top:10px}@media (max-width:768px){.loading-screen{min-height:calc(100vh - 186px)}}@media (prefers-reduced-motion:reduce){.loading-orb-ring{animation-duration:2.4s}.loading-orb-glyph{animation:none;opacity:1}.loading-quote{animation:none}}.level-select{position:relative;z-index:20}.level-select-trigger{align-items:center;-webkit-appearance:none;appearance:none;background:color-mix(in srgb,var(--level-color) 10%,#ffffff05);border:1px solid color-mix(in srgb,var(--level-color) 34%,#0000);border-radius:14px;color:#f7f3ea;cursor:pointer;display:flex;font-family:Nunito,sans-serif;gap:13px;padding:12px 14px;text-align:left;transition:border-color .18s ease,background .18s ease;width:100%}.level-select-trigger.open,.level-select-trigger:hover{background:color-mix(in srgb,var(--level-color) 16%,#ffffff05);border-color:color-mix(in srgb,var(--level-color) 62%,#0000)}.level-select-chip{align-items:center;background:linear-gradient(145deg,var(--level-color),color-mix(in srgb,var(--level-color) 72%,#000));border-radius:12px;box-shadow:0 8px 18px color-mix(in srgb,var(--level-color) 30%,#0000);color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:900;height:44px;justify-content:center;letter-spacing:-.4px;width:44px}.level-select-text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.level-select-text strong{font-size:14px;font-weight:900;line-height:1.2}.level-select-text>span{color:#f7f3ea8c;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-select-caret{color:#f7f3ea80;flex-shrink:0;transition:transform .2s ease}.level-select-trigger.open .level-select-caret{transform:rotate(180deg)}.level-select-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#172228fa;border:1px solid #ffffff21;border-radius:16px;box-shadow:0 26px 60px #00000080;display:flex;flex-direction:column;gap:2px;left:0;max-height:340px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:30}.level-select-option{align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:1px solid #0000;border-radius:12px;color:#f7f3ea;cursor:pointer;display:flex;font-family:Nunito,sans-serif;gap:12px;padding:10px;text-align:left;transition:background .15s ease,border-color .15s ease;width:100%}.level-select-option:not(.locked):hover{background:#ffffff0d;border-color:color-mix(in srgb,var(--level-color) 34%,#0000)}.level-select-option.selected{background:color-mix(in srgb,var(--level-color) 13%,#0000);border-color:color-mix(in srgb,var(--level-color) 40%,#0000)}.level-select-option.locked{cursor:not-allowed;opacity:.5}.level-select-option.locked .level-select-chip{background:#ffffff12;box-shadow:none;color:#f7f3ea80}.level-select-option .level-select-chip{border-radius:11px;font-size:14px;height:38px;width:38px}.level-select-tick{color:var(--level-color);flex-shrink:0}.level-select-lock{color:#f7f3ea66;flex-shrink:0}.level-select.compact{flex-shrink:0}.level-select.compact .level-select-trigger{border-radius:12px;gap:9px;padding:7px 11px 7px 8px;width:auto}.level-select.compact .level-select-chip{border-radius:9px;font-size:13px;height:32px;width:32px}.level-select.compact .level-select-text strong{font-size:13px}.level-select.compact .level-select-trigger .level-select-text>span{display:none}.level-select.compact .level-select-menu{left:auto;right:0;width:300px}.app-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#10191ddb;border-bottom:1px solid #ffffff12;gap:16px;justify-content:space-between;padding:13px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.app-topbar,.app-topbar-right{align-items:center;display:flex}.app-topbar-right{gap:12px}@media (max-width:900px){.app-topbar{display:none}}.app-topbar-title{display:flex;flex-direction:column;gap:2px;min-width:0}.app-topbar-title span{font-size:17px;font-weight:900;letter-spacing:-.4px}.app-topbar-title small{color:#f7f3ea80;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-progress{border-top:1px solid #ffffff14;margin-top:16px;padding-top:14px;position:relative;z-index:1}.level-progress-head{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-bottom:9px}.level-progress-title{color:#f7f3ea80;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.level-progress-pct{color:#fffaf2;font-size:17px;font-weight:900;letter-spacing:-.4px}.level-progress-track{background:#ffffff14;border-radius:999px;height:9px;overflow:hidden}.level-progress-fill{background:linear-gradient(90deg,color-mix(in srgb,var(--level-color) 78%,#000),var(--level-color));border-radius:999px;box-shadow:0 0 16px color-mix(in srgb,var(--level-color) 45%,#0000);height:100%;min-width:9px;transition:width .6s cubic-bezier(.22,1,.36,1)}.level-progress-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:11px}.level-progress-legend span{color:#f7f3ea80;font-size:12px;font-weight:600}.level-progress-legend b{color:#fffaf2;font-weight:900;margin-right:3px}@media (max-width:768px){.dashboard-topbar{margin:-20px -16px 18px;padding:11px 16px}.app-topbar-title span{font-size:15px}.app-topbar-title small{font-size:11px}.level-select.compact .level-select-menu{width:min(300px,calc(100vw - 32px))}}.area-grid{display:flex;flex-wrap:wrap;gap:12px}.area-grid>*{flex:1 1 196px;min-width:0}.area-card{align-items:center;-webkit-appearance:none;appearance:none;cursor:pointer;display:flex;gap:13px;min-height:84px;padding:14px;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.area-card:hover{border-color:color-mix(in srgb,var(--area-color) 42%,#0000);box-shadow:0 14px 34px #00000047;transform:translateY(-2px)}.area-card.is-loading{cursor:default;opacity:.4}.area-card-glyph{align-items:center;background:color-mix(in srgb,var(--area-color) 13%,#0000);border:1px solid color-mix(in srgb,var(--area-color) 26%,#0000);border-radius:12px;color:var(--area-color);display:flex;flex-shrink:0;font-family:Noto Sans JP,sans-serif;font-size:22px;font-weight:900;height:44px;justify-content:center;width:44px}.area-card-body{display:flex;flex:1 1;flex-direction:column;gap:7px;min-width:0}.area-card-top{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.area-card-top strong{color:#f7f3ea;font-size:14px;font-weight:900}.area-card-top em{color:var(--area-color);font-size:14px;font-style:normal;font-weight:900}.area-card-track{background:#ffffff14;height:6px;overflow:hidden}.area-card-fill,.area-card-track{border-radius:999px;display:block}.area-card-fill{background:var(--area-color);height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.area-card-note{color:#f7f3ea73;font-size:11px;font-weight:700}@media (max-width:640px){.area-grid{grid-template-columns:1fr}}@media (max-width:1100px){.profile-aside,.profile-main{display:contents}.profile-grid>.dashboard-section{margin-top:0}.profile-banner{order:1}.profile-week-card{order:2}.stats-section{order:3}.areas-section{order:4}.dashboard-plan-card{order:5}.profile-activity-card{order:6}}.streak-pill{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:Nunito,sans-serif;font-size:14px;font-weight:900;gap:6px;line-height:1;padding:7px 13px 7px 11px;transition:background .2s ease,border-color .2s ease,color .2s ease}.streak-pill.done{background:#f9731626;border-color:#f973166b;color:#fb923c}.streak-pill.done svg{animation:streakFlicker 2.6s ease-in-out infinite;filter:drop-shadow(0 0 7px rgba(249,115,22,.85))}.streak-pill.pending{background:#ffffff0d;border-color:#ffffff24;color:#f7f3ea99}.streak-pill.none{background:#ffffff0a;border-color:#ffffff1a;color:#f7f3ea6b}.streak-pill:active{transform:scale(.94)}@keyframes streakFlicker{0%,to{opacity:1}45%{opacity:.72}}.profile-week-card.done-today{border-color:#f9731657!important}.profile-week-card.done-today .profile-week-flame{background:#f973162e;color:#fb923c}.profile-week-card.done-today .profile-week-flame svg{filter:drop-shadow(0 0 8px rgba(249,115,22,.8))}.profile-week-status{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;color:#f7f3ea99;display:flex;font-size:12px;font-weight:800;gap:7px;margin-top:12px;padding:8px 11px}.profile-week-card.done-today .profile-week-status{background:#22c55e1a;border-color:#22c55e47;color:#4ade80}.profile-week-status svg{flex-shrink:0}.profile-week-day.active .profile-week-day-dot svg{filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.profile-week-day.today:not(.active) .profile-week-day-dot{border-color:#f9731680;border-style:dashed;box-shadow:none;color:#f97316a6}.kana-scope-banner{align-items:center;background:#f9731614;border:1px solid #f9731647;border-radius:999px;color:#fdba74;display:inline-flex;font-size:12px;font-weight:700;gap:8px;padding:8px 8px 8px 13px}.kana-scope-banner strong{color:#fff;font-weight:900}.kana-scope-banner button{align-items:center;-webkit-appearance:none;appearance:none;background:#ffffff14;border:none;border-radius:999px;color:#f7f3ead9;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-size:11px;font-weight:800;gap:4px;padding:5px 10px;transition:background .15s ease,color .15s ease}.kana-scope-banner button:hover{background:#f9731638;color:#fff}.streak-cal-box{max-width:380px;padding:28px 24px 24px;position:relative}.streak-cal-close{position:absolute;right:14px;top:14px}.streak-cal-header{align-items:center;display:flex;flex-direction:column;gap:2px;margin-bottom:22px;text-align:center}.streak-cal-flame{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:50%;color:#f7f3ea52;display:flex;height:56px;justify-content:center;margin-bottom:8px;width:56px}.streak-cal-flame.done{background:#f9731624;border-color:#f9731666;color:#fb923c}.streak-cal-flame.done svg{filter:drop-shadow(0 0 10px rgba(249,115,22,.85))}.streak-cal-count{color:#fffaf2;font-size:40px;font-weight:900;letter-spacing:-1.5px;line-height:1}.streak-cal-label{color:#f7f3ea70;font-size:12px;font-weight:800;letter-spacing:.14em;margin-top:4px;text-transform:uppercase}.streak-cal-status{background:#ffffff0a;border:1px solid #ffffff17;border-radius:999px;color:#f7f3ea8c;font-size:12px;font-weight:800;margin-top:12px;padding:7px 14px}.streak-cal-status.done{background:#22c55e1a;border-color:#22c55e47;color:#4ade80}.streak-cal-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.streak-cal-nav span{font-size:14px;font-weight:900}.streak-cal-nav button{align-items:center;-webkit-appearance:none;appearance:none;background:#ffffff08;border:1px solid #ffffff1a;border-radius:9px;color:#f7f3ea;cursor:pointer;display:flex;height:32px;justify-content:center;transition:border-color .15s ease,background .15s ease;width:32px}.streak-cal-nav button:hover:not(:disabled){background:#f9731614;border-color:#f9731659}.streak-cal-nav button:disabled{cursor:default;opacity:.3}.streak-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:6px}.streak-cal-weekdays span{color:#f7f3ea66;font-size:10px;font-weight:800;letter-spacing:.04em;text-align:center}.streak-cal-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,minmax(0,1fr));transition:opacity .15s ease}.streak-cal-grid.is-loading{opacity:.45}.streak-cal-cell{align-items:center;aspect-ratio:1;background:#ffffff08;border:1px solid #0000;border-radius:10px;color:#f7f3ea38;display:flex;flex-direction:column;gap:2px;justify-content:center}.streak-cal-cell.empty{background:#0000}.streak-cal-cell-num{color:#f7f3ea66;font-size:10px;font-weight:700}.streak-cal-cell.future .streak-cal-cell-num{color:#f7f3ea33}.streak-cal-cell.active{background:linear-gradient(145deg,#f97316,#fb923c);box-shadow:0 4px 12px #f973164d;color:#fff}.streak-cal-cell.active .streak-cal-cell-num{color:#ffffffeb}.streak-cal-cell.today{border-color:#f973168c}.streak-cal-cell.today:not(.active){border-style:dashed}.otp-box{-moz-appearance:textfield;background:#111c21;border:1px solid #ffffff21;border-radius:11px;color:#f7f3ea;font-family:Nunito,sans-serif;font-size:24px;font-weight:900;height:60px;outline:none;text-align:center;transition:border-color .18s ease,box-shadow .18s ease;width:52px}.otp-box::-webkit-inner-spin-button,.otp-box::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.otp-box:focus{border-color:#f97316;box-shadow:0 0 0 3px #f9731629}@media (max-width:400px){.otp-box{font-size:21px;height:54px;width:46px}}.streak-cel{align-items:center;animation:streak-cel-in .28s ease-out both;background:radial-gradient(120% 80% at 50% 8%,#f9731629,#0000 62%),#0d1519;display:flex;flex-direction:column;inset:0;justify-content:center;overflow:hidden;padding:32px 22px;position:fixed;z-index:2400}@keyframes streak-cel-in{0%{opacity:0}to{opacity:1}}.streak-cel-body{align-items:center;display:flex;flex-direction:column;margin:auto 0;max-width:420px;text-align:center;width:100%}.streak-cel-stage{height:140px;margin-bottom:6px;position:relative;width:220px}.streak-cel-blob{height:108px;left:50%;margin:-54px 0 0 -54px;position:absolute;top:50%;width:108px}.streak-cel-blob,.streak-cel-blob-inner{align-items:center;display:flex;justify-content:center}.streak-cel-blob-inner{height:100%;width:100%}.streak-cel-blob.flame{animation:streak-throw-left .62s cubic-bezier(.2,1.35,.45,1) both;z-index:1}.streak-cel-blob.flame .streak-cel-blob-inner{animation:streak-drift-a 4.2s ease-in-out .7s infinite;background:linear-gradient(150deg,#fb923c,#ea580c);border-radius:46% 54% 52% 48%/52% 46% 54% 48%;box-shadow:0 12px 34px #ea580c6b;color:#fff3e4}.streak-cel-blob.mark{animation:streak-throw-right .62s cubic-bezier(.2,1.35,.45,1) both;z-index:2}.streak-cel-blob.mark .streak-cel-blob-inner{animation:streak-drift-b 3.8s ease-in-out .7s infinite;filter:drop-shadow(0 0 6px rgba(13,21,25,.85)) drop-shadow(0 8px 18px rgba(0,0,0,.45))}@keyframes streak-throw-left{0%{opacity:0;transform:translate(-260px,-40px) rotate(-150deg) scale(.7)}55%{opacity:1}70%{transform:translate(-38px) rotate(6deg) scale(1.06)}85%{transform:translate(-34px) rotate(-2deg) scale(.97)}to{opacity:1;transform:translate(-36px) rotate(0deg) scale(1)}}@keyframes streak-throw-right{0%{opacity:0;transform:translate(260px,-52px) rotate(170deg) scale(.7)}55%{opacity:1}70%{transform:translate(38px) rotate(-7deg) scale(1.07)}85%{transform:translate(34px) rotate(3deg) scale(.97)}to{opacity:1;transform:translate(36px) rotate(0deg) scale(1)}}@keyframes streak-drift-a{0%,to{transform:translateY(0) rotate(0deg) scale(1)}33%{transform:translateY(-5px) rotate(-3.5deg) scale(1.03)}66%{transform:translateY(3px) rotate(2.5deg) scale(.98)}}@keyframes streak-drift-b{0%,to{transform:translateY(0) rotate(0deg) scale(1)}30%{transform:translateY(4px) rotate(3deg) scale(.98)}70%{transform:translateY(-6px) rotate(-2deg) scale(1.04)}}.streak-cel-spark-ring{animation:streak-ring .62s ease-out .52s both;border:2px solid #f973168c;border-radius:50%;height:90px;left:50%;margin:-45px 0 0 -45px;opacity:0;position:absolute;top:50%;width:90px}@keyframes streak-ring{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.1)}}.streak-cel-spark{animation:streak-spark .7s cubic-bezier(.2,.8,.3,1) .52s both;background:#fbbf24;border-radius:50%;height:5px;left:50%;margin:-2.5px 0 0 -2.5px;opacity:0;position:absolute;top:50%;transform:rotate(var(--a)) translateY(0);width:5px}@keyframes streak-spark{0%{opacity:1;transform:rotate(var(--a)) translateY(-10px) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateY(-74px) scale(.3)}}.streak-cel-count{font-feature-settings:"tnum";animation:streak-cel-pop .5s cubic-bezier(.22,1.4,.5,1) .56s both;color:#fff;font-size:84px;font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:-3px;line-height:1;text-shadow:0 0 44px #f9731666}.streak-cel-label{animation:streak-cel-rise .44s ease-out .88s both;color:#f97316;font-size:14px;font-weight:900;letter-spacing:.16em;margin-top:6px;text-transform:uppercase}@keyframes streak-cel-pop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes streak-cel-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.streak-cel-week{animation:streak-cel-rise .44s ease-out .96s both;background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;margin-top:30px;padding:18px 16px 15px;width:100%}.streak-cel-week-row{display:flex;gap:4px;justify-content:space-between}.streak-cel-day{align-items:center;animation:streak-cel-rise .36s ease-out both;display:flex;flex:1 1;flex-direction:column;gap:8px}.streak-cel-day-label{color:#f7f3ea6b;font-size:11px;font-weight:800}.streak-cel-day-dot{align-items:center;background:#ffffff12;border-radius:50%;color:#0d1519;display:flex;height:30px;justify-content:center;width:30px}.streak-cel-day.active .streak-cel-day-dot{background:linear-gradient(135deg,#fbbf24,#f97316);box-shadow:0 4px 14px #f9731666}.streak-cel-day.today .streak-cel-day-label{color:#f97316}.streak-cel-week-note{color:#f7f3ea73;font-size:12.5px;line-height:1.5;margin-top:14px}.streak-cel-footer{animation:streak-cel-rise .44s ease-out 1.14s both;max-width:420px;padding-top:20px;width:100%}.streak-cel-continue{font-size:16px;justify-content:center;min-height:52px;width:100%}@media (max-width:420px){.streak-cel-count{font-size:68px}.streak-cel-stage{height:124px;width:180px}.streak-cel-blob{height:94px;margin:-47px 0 0 -47px;width:94px}}@media (prefers-reduced-motion:reduce){.streak-cel,.streak-cel-blob,.streak-cel-blob-inner,.streak-cel-count,.streak-cel-day,.streak-cel-footer,.streak-cel-label,.streak-cel-spark,.streak-cel-spark-ring,.streak-cel-week{animation:none!important}.streak-cel-blob.flame{transform:translateX(-36px)}.streak-cel-blob.mark{transform:translateX(36px)}.streak-cel-spark,.streak-cel-spark-ring{display:none}}.learn-page{max-width:720px}.learn-hero{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:22px}.learn-hero-kicker{background:#f973161a;border:1px solid #f973164d;border-radius:999px;color:#fdba74;display:inline-block;font-size:10.5px;font-weight:900;letter-spacing:.12em;margin-bottom:6px;padding:4px 10px}.learn-hero-copy h1{font-size:clamp(22px,4vw,30px);font-weight:900;letter-spacing:-.8px;line-height:1.1}.learn-hero-copy p{color:#f7f3ea94;font-size:13px;margin-top:5px}.learn-hero-ring{align-items:center;background:radial-gradient(closest-side,#16232a 77%,#0000 78%),conic-gradient(#f97316 calc(var(--pct)*1%),#ffffff12 0);border-radius:50%;display:flex;flex-direction:column;flex-shrink:0;gap:1px;height:84px;justify-content:center;width:84px}.learn-hero-ring span{color:#fffaf2;font-size:20px;font-weight:900;letter-spacing:-.6px;line-height:1}.learn-hero-ring i{color:#f7f3ea80;font-size:11px;font-style:normal}.learn-hero-ring small{color:#f7f3ea6b;font-size:10px;font-weight:800}.learn-section{margin-bottom:14px}.learn-section-banner{align-items:center;-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,color-mix(in srgb,var(--sec-color) 24%,#0000),color-mix(in srgb,var(--sec-color) 7%,#0000) 62%),#131f24e6;border:1px solid color-mix(in srgb,var(--sec-color) 34%,#0000);border-radius:18px;color:#f7f3ea;cursor:pointer;display:flex;font-family:Nunito,sans-serif;gap:14px;padding:16px;text-align:left;transition:border-color .2s ease,transform .15s ease;width:100%}.learn-section-banner:hover{border-color:color-mix(in srgb,var(--sec-color) 60%,#0000)}.learn-section-banner:active{transform:scale(.995)}.learn-section.complete .learn-section-banner{background:linear-gradient(135deg,#22c55e24,#0000 60%),#131f24e6;border-color:#22c55e52}.learn-section-glyph{align-items:center;background:var(--sec-color);border-radius:15px;box-shadow:0 6px 18px color-mix(in srgb,var(--sec-color) 24%,#0000);color:#fff;display:flex;flex-shrink:0;font-family:Noto Sans JP,sans-serif;font-size:25px;font-weight:900;height:52px;justify-content:center;width:52px}.learn-section-copy{flex:1 1;min-width:0}.learn-section-kicker{color:#f7f3ea80;display:block;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.learn-section-kicker em{color:var(--sec-color);font-style:normal;margin-left:4px}.learn-section.complete .learn-section-kicker em{color:#4ade80}.learn-section-copy strong{display:block;font-size:17px;font-weight:900;letter-spacing:-.4px;margin-top:3px}.learn-section-sub{color:#f7f3ea8c;display:block;font-size:12px;line-height:1.45;margin-top:2px}.learn-section-bar{background:#00000047;border-radius:999px;display:block;height:5px;margin-top:10px;overflow:hidden}.learn-section-bar i{background:var(--sec-color);border-radius:999px;display:block;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1)}.learn-section.complete .learn-section-bar i{background:#22c55e}.learn-section-right{align-items:center;align-self:flex-start;display:flex;flex-shrink:0;gap:6px}.learn-section-count{align-items:center;background:#0000004d;border-radius:999px;color:#f7f3ead1;display:inline-flex;font-size:11.5px;font-weight:900;height:26px;justify-content:center;min-width:40px;padding:0 9px}.learn-section.complete .learn-section-count{color:#4ade80}.learn-section-chevron{color:#f7f3ea80;transition:transform .3s cubic-bezier(.16,1,.3,1)}.learn-section.open .learn-section-chevron{transform:rotate(180deg)}.learn-collapse>div{min-height:0;overflow:hidden}.learn-collapse{display:grid;transition:grid-template-rows .38s cubic-bezier(.16,1,.3,1)}.learn-path{--path-inset:70px;margin:22px 0 6px;position:relative}@media (min-width:900px){.learn-path{--path-inset:150px}}.learn-path:before{background:radial-gradient(ellipse 46% 28% at 50% 50%,color-mix(in srgb,var(--sec-color) 5%,#0000),#0000 70%);bottom:0;content:"";left:50%;-webkit-mask-image:linear-gradient(180deg,#0000,#000 20%,#000 80%,#0000);mask-image:linear-gradient(180deg,#0000,#000 20%,#000 80%,#0000);pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:min(620px,100%)}.learn-row.popped{z-index:40}.learn-row{align-items:center;display:flex;flex-direction:column;gap:9px;left:70px;left:var(--path-inset,70px);position:absolute;right:70px;right:var(--path-inset,70px);transform:translateX(0);transform:translateX(var(--weave,0))}.learn-section.open .learn-row{animation:learnRowIn .42s cubic-bezier(.22,1,.36,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*38ms)}@keyframes learnRowIn{0%{opacity:0;transform:translateX(0) translateY(14px) scale(.94);transform:translateX(var(--weave,0)) translateY(14px) scale(.94)}to{opacity:1;transform:translateX(0) translateY(0) scale(1);transform:translateX(var(--weave,0)) translateY(0) scale(1)}}.learn-connector{background:hsla(0,0%,100%,.055);border-radius:999px;left:50%;margin-left:-2px;position:absolute;top:34px;transform-origin:50% 0;width:4px;z-index:0}.learn-connector.filled{background:#22c55e4d}.learn-node{-webkit-appearance:none;appearance:none;background:none;border:none;cursor:pointer;padding:0;position:relative;z-index:1}.learn-node:disabled{cursor:default}.learn-node-face{align-items:center;background:var(--sec-color);border:1.5px solid color-mix(in srgb,var(--sec-color) 55%,#fff 22%);border-radius:50%;box-shadow:0 6px 18px color-mix(in srgb,var(--sec-color) 26%,#0000);color:#fff;display:flex;height:68px;justify-content:center;position:relative;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;width:68px;z-index:1}.learn-node:not(:disabled):hover .learn-node-face{box-shadow:0 8px 24px color-mix(in srgb,var(--sec-color) 38%,#0000);filter:brightness(1.07);transform:scale(1.06)}.learn-node:not(:disabled):active .learn-node-face{transform:scale(.94)}.learn-node-glyph{font-family:Noto Sans JP,sans-serif;font-size:28px;font-weight:900;line-height:1}.learn-node.done .learn-node-face{background:#22c55e;border-color:#ffffff47;box-shadow:0 6px 20px #22c55e4d}.learn-node.done .learn-node-face svg{stroke-width:1.5}.learn-row.done .learn-row-meta strong{color:#f7f3eae6}.learn-node.locked .learn-node-face{background:#ffffff0d;border:1.5px solid #ffffff14;box-shadow:none;color:#f7f3ea42}.learn-node.checkpoint .learn-node-face{background:#f59e0b;border-color:#ffffff42;border-radius:21px;box-shadow:0 6px 20px #f59e0b47;height:72px;width:72px}.learn-node.checkpoint.locked .learn-node-face{background:#ffffff0d;border-color:#ffffff14;box-shadow:none}.learn-ring{height:calc(100% + 28px);inset:-14px;overflow:visible;pointer-events:none;position:absolute;transform:rotate(-90deg);width:calc(100% + 28px)}.learn-ring-seg{fill:none;stroke:#ffffff29;stroke-width:5;stroke-linecap:round;transition:stroke .45s ease}.learn-ring-seg.on{stroke:var(--sec-color);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--sec-color) 65%,transparent))}.learn-ring-seg.done{stroke:#22c55e8c;filter:none}.learn-ring-seg.on.done{stroke:#22c55e;filter:drop-shadow(0 0 4px rgba(34,197,94,.5))}.learn-start-pill{background:#fffaf2;border-radius:9px;box-shadow:0 6px 16px #00000057;color:var(--sec-color);font-size:11px;font-weight:900;letter-spacing:.1em;padding:5px 12px;position:absolute;text-transform:uppercase;top:50%;white-space:nowrap;z-index:3}.learn-start-pill.right{animation:learnPillBobRight 2.1s ease-in-out infinite;left:calc(100% + 11px)}.learn-start-pill.left{animation:learnPillBobLeft 2.1s ease-in-out infinite;right:calc(100% + 11px)}.learn-start-pill:after{border-bottom:5px solid #0000;border-top:5px solid #0000;content:"";height:0;margin-top:-5px;position:absolute;top:50%;width:0}.learn-start-pill.right:after{border-right:6px solid #fffaf2;right:100%}.learn-start-pill.left:after{border-left:6px solid #fffaf2;left:100%}@keyframes learnPillBobRight{0%,to{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(4px)}}@keyframes learnPillBobLeft{0%,to{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(-4px)}}.learn-row-meta{align-items:center;display:flex;flex-direction:column;gap:1px;max-width:210px;position:relative;text-align:center;z-index:2}.learn-row-meta strong{font-size:14px;font-weight:900;letter-spacing:-.2px;text-shadow:0 0 6px #10191d,0 0 3px #10191d}.learn-row.current .learn-row-meta strong{color:var(--sec-color)}.learn-row-sub{color:#f7f3ea75;font-family:Noto Sans JP,sans-serif;font-size:12px;line-height:1.35;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 6px #10191d,0 0 3px #10191d;white-space:nowrap}.learn-row.locked .learn-row-meta{opacity:.4}.learn-row-steps{color:#f7f3ea80;font-size:11.5px;font-weight:700;margin-top:3px}.learn-row-manual,.learn-row-steps b{color:var(--sec-color);font-weight:900}.learn-row-manual{-webkit-appearance:none;appearance:none;background:color-mix(in srgb,var(--sec-color) 13%,#0000);border:1px solid color-mix(in srgb,var(--sec-color) 44%,#0000);border-radius:999px;cursor:pointer;font-family:Nunito,sans-serif;font-size:11px;margin-top:7px;padding:6px 13px;transition:background .15s ease}.learn-row-manual:hover{background:color-mix(in srgb,var(--sec-color) 22%,#0000)}.learn-row-manual:disabled{cursor:default;opacity:.6}.learn-finish{align-items:center;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;color:#f7f3eab3;display:flex;font-size:12.5px;font-weight:800;gap:8px;margin:18px auto 0;padding:11px 20px;width:-webkit-fit-content;width:fit-content}.learn-finish svg{color:#f97316}@media (max-width:560px){.learn-hero{gap:12px}.learn-hero-ring{height:68px;width:68px}.learn-hero-ring span{font-size:17px}.learn-section-glyph{border-radius:13px;font-size:22px;height:46px;width:46px}.learn-section-copy strong{font-size:15.5px}.learn-row-meta{max-width:180px}}@media (prefers-reduced-motion:reduce){.learn-section.open .learn-row{animation:none}.learn-start-pill.left,.learn-start-pill.right{animation:none;transform:translateY(-50%)}}.ptest-page{max-width:1080px}.ptest-head{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.ptest-head-copy h1{font-size:clamp(21px,3vw,27px);font-weight:900;letter-spacing:-.6px}.ptest-head-copy p{color:#f7f3ea99;font-size:13px;line-height:1.55;margin-top:5px;max-width:56ch}.ptest-history-btn{flex-shrink:0;min-height:42px}.ptest-back{align-items:center;-webkit-appearance:none;appearance:none;background:none;border:none;color:#f7f3ea8c;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-size:12.5px;font-weight:800;gap:6px;margin-bottom:10px;padding:0;transition:color .15s ease}.ptest-back:hover{color:#f97316}.ptest-levels{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.ptest-level{-webkit-appearance:none;appearance:none;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;color:#f7f3eaad;cursor:pointer;font-family:Nunito,sans-serif;font-size:13px;font-weight:900;min-height:38px;min-width:58px;padding:8px 16px;transition:background .16s ease,border-color .16s ease,color .16s ease}.ptest-level:hover{border-color:color-mix(in srgb,var(--lvl-color) 40%,#0000);color:#fffaf2}.ptest-level.active{background:var(--lvl-color);border-color:var(--lvl-color);box-shadow:0 8px 20px color-mix(in srgb,var(--lvl-color) 30%,#0000);color:#fff}.ptest-error{background:#ef44441a;border:1px solid #ef444447;border-radius:10px;color:#ef4444;font-size:13px;font-weight:700;margin-bottom:16px;padding:11px 15px}.ptest-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.ptest-card{display:flex;flex-direction:column;gap:16px;padding:20px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.ptest-card:hover{border-color:color-mix(in srgb,var(--lvl-color) 42%,#0000);box-shadow:0 18px 44px #0000004d;transform:translateY(-3px)}.ptest-card-head{align-items:flex-start;display:flex;gap:14px}.ptest-card-level{align-items:center;background:linear-gradient(145deg,var(--lvl-color),color-mix(in srgb,var(--lvl-color) 70%,#000));box-shadow:0 8px 18px color-mix(in srgb,var(--lvl-color) 28%,#0000);color:#fff;font-size:14px;letter-spacing:-.3px;width:46px}.ptest-card-level,.ptest-card-score{border-radius:13px;display:flex;flex-shrink:0;font-weight:900;height:46px;justify-content:center}.ptest-card-score{align-items:baseline;background:color-mix(in srgb,var(--score-color) 13%,#0000);border:1px solid color-mix(in srgb,var(--score-color) 30%,#0000);color:var(--score-color);font-size:19px;gap:1px;letter-spacing:-.5px;padding-top:12px;width:58px}.ptest-card-score i{font-size:11px;font-style:normal;opacity:.8}.ptest-card-title{min-width:0}.ptest-card-title h2{font-size:16px;font-weight:900;letter-spacing:-.3px;line-height:1.3}.ptest-card-title p{color:#f7f3ea8c;font-size:12.5px;line-height:1.5;margin-top:4px}.ptest-card-stats{display:flex;flex-wrap:wrap;gap:8px 14px}.ptest-card-stats span{align-items:center;color:#f7f3ea99;display:inline-flex;font-size:12px;font-weight:700;gap:6px}.ptest-card-stats svg{color:var(--lvl-color);flex-shrink:0}.ptest-sections{background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;display:flex;flex-direction:column;gap:6px;list-style:none;padding:12px}.ptest-sections li{align-items:center;color:#f7f3eab8;display:flex;font-size:12.5px;font-weight:700;gap:10px;justify-content:space-between}.ptest-sections em{color:var(--lvl-color);font-size:11px;font-style:normal;font-weight:900}.ptest-score-track{background:#ffffff14;border-radius:999px;height:7px;overflow:hidden}.ptest-score-fill{border-radius:999px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.ptest-start{justify-content:center;margin-top:auto;min-height:44px;width:100%}@media (max-width:640px){.ptest-head{align-items:stretch;flex-direction:column;gap:14px}.ptest-history-btn{justify-content:center;width:100%}.ptest-grid{grid-template-columns:1fr}}:root{--gr-measure:62ch}.gr-shelf-page{max-width:1120px}.gr-shelf-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px}.gr-shelf-kicker{color:#f97316;color:var(--accent-color,#f97316);display:inline-block;font-size:11px;font-weight:900;letter-spacing:.14em;margin-bottom:9px;text-transform:uppercase}.gr-shelf-head h1{font-size:30px;font-weight:900;letter-spacing:-.6px;margin-bottom:6px}.gr-shelf-head p{color:#f7f3ea80;font-size:14.5px;line-height:1.6;max-width:46ch}.gr-shelf-progress{align-items:baseline;background:#22c55e14;border:1px solid #22c55e38;border-radius:13px;display:flex;flex-shrink:0;gap:8px;padding:10px 18px}.gr-shelf-progress strong{color:#22c55e;font-size:26px;font-weight:900;line-height:1}.gr-shelf-progress span{color:#f7f3ea80;font-size:12px;font-weight:800}.gr-continue{align-items:center;background:radial-gradient(120% 160% at 0 0,color-mix(in srgb,#f97316 26%,#0000),#0000 60%),#ffffff08;background:radial-gradient(120% 160% at 0 0,color-mix(in srgb,var(--accent-color,#f97316) 26%,#0000),#0000 60%),#ffffff08;border:1px solid color-mix(in srgb,#f97316 42%,#0000);border:1px solid color-mix(in srgb,var(--accent-color,#f97316) 42%,#0000);border-radius:18px;color:#fff;cursor:pointer;display:flex;gap:16px;justify-content:space-between;margin-bottom:26px;overflow:hidden;padding:18px 22px;position:relative;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;width:100%}.gr-continue:hover{border-color:color-mix(in srgb,#f97316 66%,#0000);border-color:color-mix(in srgb,var(--accent-color,#f97316) 66%,#0000);box-shadow:0 12px 30px #00000052;transform:translateY(-2px)}.gr-continue svg{flex-shrink:0;opacity:.65;transition:transform .16s ease,opacity .16s ease}.gr-continue:hover svg{opacity:1;transform:translateX(4px)}.gr-continue-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.gr-continue-copy em{color:#f97316;color:var(--accent-color,#f97316);font-size:10px;font-style:normal;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.gr-continue-copy strong{font-size:16px;font-weight:900;letter-spacing:-.2px}.gr-continue-copy small{color:#f7f3ea80;font-size:12.5px;font-weight:700}.gr-shelf{grid-gap:13px;display:grid;gap:13px;grid-template-columns:repeat(auto-fill,minmax(268px,1fr))}.gr-chapter{background:hsla(0,0%,100%,.028);border:1px solid #ffffff12;border-radius:17px;color:#f7f3ea;cursor:pointer;display:flex;flex-direction:column;gap:11px;overflow:hidden;padding:18px;position:relative;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease}.gr-chapter:after{bottom:-26px;color:hsla(0,0%,100%,.028);content:attr(data-num);font-size:92px;font-weight:900;letter-spacing:-4px;line-height:1;pointer-events:none;position:absolute;right:-6px}.gr-chapter:not(:disabled):hover{background:hsla(0,0%,100%,.052);border-color:color-mix(in srgb,#f97316 45%,#0000);border-color:color-mix(in srgb,var(--accent-color,#f97316) 45%,#0000);transform:translateY(-3px)}.gr-chapter:disabled{cursor:default}.gr-chapter.locked{opacity:.55}.gr-chapter.done{background:rgba(34,197,94,.055);border-color:#22c55e4d}.gr-chapter.done:after{color:#22c55e12}.gr-chapter-num{align-items:center;background:color-mix(in srgb,#f97316 85%,#0000);background:color-mix(in srgb,var(--accent-color,#f97316) 85%,#0000);border-radius:12px;box-shadow:0 4px 14px color-mix(in srgb,#f97316 30%,#0000);box-shadow:0 4px 14px color-mix(in srgb,var(--accent-color,#f97316) 30%,#0000);color:#fff;display:flex;flex-shrink:0;font-size:15px;font-weight:900;height:36px;justify-content:center;width:36px}.gr-chapter.locked .gr-chapter-num{background:#ffffff0f;box-shadow:none;color:#f7f3ea59}.gr-chapter.done .gr-chapter-num{background:#22c55e;box-shadow:0 4px 14px #22c55e4d}.gr-chapter-copy{display:flex;flex-direction:column;gap:3px;position:relative;z-index:1}.gr-chapter-copy strong{font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:900;letter-spacing:-.2px}.gr-chapter-en{color:#f7f3eab3;font-size:13px;font-weight:800}.gr-chapter-sub{color:#f7f3ea66;font-size:12.5px;line-height:1.5;margin-top:3px}.gr-chapter-foot{align-items:center;display:flex;gap:10px;margin-top:auto;padding-top:6px;position:relative;z-index:1}.gr-chapter-bar{background:#ffffff14;border-radius:999px;flex:1 1;height:5px;overflow:hidden}.gr-chapter-bar i{background:#f97316;background:var(--accent-color,#f97316);border-radius:999px;display:block;height:100%;transition:width .4s ease}.gr-chapter.done .gr-chapter-bar i{background:#22c55e}.gr-chapter-foot em{color:#f7f3ea6b;font-size:11px;font-style:normal;font-weight:900}.gr-chapter.empty .gr-chapter-foot em{font-size:10px;letter-spacing:.09em;text-transform:uppercase}.gr-chapter-page{max-width:860px}.gr-back{align-items:center;background:none;border:none;color:#f7f3ea80;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:6px;margin-bottom:18px;padding:0;transition:color .14s ease}.gr-back:hover{color:#f97316;color:var(--accent-color,#f97316)}.gr-chapter-head{background:radial-gradient(90% 130% at 0 0,color-mix(in srgb,#f97316 15%,#0000),#0000 62%),hsla(0,0%,100%,.022);background:radial-gradient(90% 130% at 0 0,color-mix(in srgb,var(--accent-color,#f97316) 15%,#0000),#0000 62%),hsla(0,0%,100%,.022);border:1px solid color-mix(in srgb,#f97316 26%,#0000);border:1px solid color-mix(in srgb,var(--accent-color,#f97316) 26%,#0000);border-radius:20px;margin-bottom:22px;overflow:hidden;padding:26px 28px;position:relative}.gr-chapter-head:after{color:color-mix(in srgb,#f97316 8%,#0000);color:color-mix(in srgb,var(--accent-color,#f97316) 8%,#0000);content:"";content:var(--ch-label,"");font-size:150px;font-weight:900;letter-spacing:-8px;line-height:1;pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%);-webkit-user-select:none;user-select:none}.gr-chapter-head>*{position:relative;z-index:1}.gr-chapter-badge{background:color-mix(in srgb,#f97316 15%,#0000);background:color-mix(in srgb,var(--accent-color,#f97316) 15%,#0000);border:1px solid color-mix(in srgb,#f97316 34%,#0000);border:1px solid color-mix(in srgb,var(--accent-color,#f97316) 34%,#0000);border-radius:999px;color:#f97316;color:var(--accent-color,#f97316);display:inline-block;font-size:10px;font-weight:900;letter-spacing:.14em;margin-bottom:11px;padding:4px 12px;text-transform:uppercase}.gr-chapter-head h1{font-family:Noto Sans JP,sans-serif;font-size:32px;font-weight:900;letter-spacing:-.6px;line-height:1.25;margin-bottom:5px}.gr-chapter-title-en{color:#f7f3eab8;font-size:16px;font-weight:800;margin-bottom:7px}.gr-chapter-summary{color:#f7f3ea75;font-size:14px;line-height:1.6;margin-bottom:17px;max-width:52ch}.gr-chapter-meter{align-items:center;display:flex;gap:12px}.gr-chapter-meter span{background:#0000004d;border-radius:999px;flex:1 1;height:7px;max-width:240px;overflow:hidden}.gr-chapter-meter i{background:#f97316;background:var(--accent-color,#f97316);border-radius:999px;display:block;height:100%;transition:width .4s ease}.gr-chapter-meter em{color:#f7f3ea80;font-size:12px;font-style:normal;font-weight:800}.gr-intro{margin-bottom:22px;padding:20px 26px 22px;position:relative}.gr-intro-head{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:0;text-align:left;width:100%}.gr-intro-head:disabled{cursor:default}.gr-intro-title{color:#f97316;color:var(--accent-color,#f97316);display:flex;font-weight:900;gap:8px;letter-spacing:.11em;text-transform:uppercase}.gr-intro-title,.gr-intro-toggle{align-items:center;font-size:12px}.gr-intro-toggle{color:#f7f3ea80;display:inline-flex;font-weight:800;gap:4px;transition:color .15s ease}.gr-intro-head:hover .gr-intro-toggle{color:#f97316;color:var(--accent-color,#f97316)}.gr-intro-toggle svg{transition:transform .22s cubic-bezier(.22,1,.36,1)}.gr-intro.open .gr-intro-toggle svg{transform:rotate(180deg)}.gr-intro-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1)}.gr-intro-collapse>div{min-height:0;overflow:hidden}.gr-intro.open .gr-intro-prose{padding-top:16px}.gr-intro p{color:#f7f3eabf;font-size:15px;line-height:1.78;margin-bottom:15px;max-width:62ch;max-width:var(--gr-measure)}.gr-intro p:first-of-type{color:#f7f3eae6;font-size:16.5px;line-height:1.7}.gr-intro p:last-of-type{margin-bottom:0}.gr-keypoints{grid-gap:9px;border-top:1px solid #ffffff12;display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));list-style:none;margin-top:18px;padding-top:18px}.gr-keypoints li{align-items:flex-start;background:rgba(251,191,36,.055);border:1px solid #fbbf2429;border-radius:12px;color:#f7f3eadb;display:flex;font-size:13.5px;gap:9px;line-height:1.5;padding:11px 14px}.gr-keypoints li svg{color:#fbbf24;flex-shrink:0;margin-top:2px}.gr-parts-head{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin:0 2px 12px}.gr-parts-head h2{color:#f7f3ea6b;font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.gr-parts-head span{color:#f7f3ea52;font-size:12px;font-weight:800}.gr-parts{display:flex;flex-direction:column;gap:10px;list-style:none}.gr-part{align-items:center;background:hsla(0,0%,100%,.028);border:1px solid #ffffff12;border-radius:16px;display:flex;gap:15px;padding:16px 18px;transition:transform .15s ease,border-color .15s ease,background .15s ease}.gr-part:hover{background:hsla(0,0%,100%,.045);border-color:color-mix(in srgb,#f97316 34%,#0000);border-color:color-mix(in srgb,var(--accent-color,#f97316) 34%,#0000);transform:translateY(-2px)}.gr-part.done{background:rgba(34,197,94,.045);border-color:#22c55e42}.gr-part.done:hover{border-color:#22c55e70}.gr-part-marker{align-items:center;background:hsla(0,0%,100%,.055);border:1px solid #ffffff17;border-radius:13px;color:#f7f3eab8;display:flex;flex-shrink:0;font-size:12.5px;font-weight:900;height:42px;justify-content:center;width:42px}.gr-part.done .gr-part-marker{background:#22c55e;border-color:#0000;color:#fff}.gr-part-body{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.gr-part-title{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.gr-part-title strong{font-size:15px;font-weight:900;letter-spacing:-.2px}.gr-part-title em{background:#22c55e24;border-radius:999px;color:#22c55e;font-size:10.5px;font-style:normal;font-weight:900;padding:2px 7px}.gr-part-pattern{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.gr-part-pattern code{background:color-mix(in srgb,#f97316 11%,#0000);background:color-mix(in srgb,var(--accent-color,#f97316) 11%,#0000);border:1px solid color-mix(in srgb,#f97316 22%,#0000);border:1px solid color-mix(in srgb,var(--accent-color,#f97316) 22%,#0000);border-radius:8px;color:#f97316;color:var(--accent-color,#f97316);font-family:Noto Sans JP,sans-serif;font-size:13.5px;font-weight:800;padding:3px 10px}.gr-part-pattern span{color:#f7f3ea73;font-size:12.5px}.gr-part-count{color:#f7f3ea4d;font-size:11px;font-weight:700}.gr-part-go{flex-shrink:0;font-size:13px;padding:10px 18px}@media (max-width:620px){.gr-chapter-head{padding:22px 20px}.gr-chapter-head:after{font-size:104px;opacity:.45;right:2px}.gr-chapter-head h1{font-size:25px}.gr-intro{padding:20px 18px 22px}.gr-intro p:first-of-type{font-size:15.5px}.gr-shelf-head{align-items:flex-start}.gr-part{flex-wrap:wrap}.gr-part-go{justify-content:center;width:100%}}.gr-runner{background:#10191d;display:flex;flex-direction:column;inset:0;position:fixed;z-index:1200}.gr-runner-head{align-items:center;border-bottom:1px solid #ffffff12;display:flex;flex-shrink:0;gap:14px;height:60px;padding:0 18px}.gr-runner-bar{background:#ffffff14;border-radius:999px;flex:1 1;height:8px;overflow:hidden;position:relative}.gr-runner-bar i{background:#f97316;background:var(--accent-color,#f97316);border-radius:999px;display:block;height:100%;transition:width .45s cubic-bezier(.34,1.4,.5,1),background .3s ease}.gr-runner-bar i:after{animation:grBarSheen .7s ease-out;background:linear-gradient(90deg,#0000,#ffffff73,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes grBarSheen{to{transform:translateX(100%)}}.gr-runner-bar.complete i{animation:grBarDone .6s cubic-bezier(.22,1,.36,1);background:#22c55e;box-shadow:0 0 14px #22c55e99}@keyframes grBarDone{0%{transform:scaleY(1)}45%{transform:scaleY(2.1)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.gr-runner-bar i,.gr-runner-bar i:after,.gr-runner-bar.complete i{animation:none;transition:width .2s linear}}.gr-settings{flex-shrink:0;position:relative}.gr-settings-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;color:#f7f3eab3;cursor:pointer;display:inline-flex;height:38px;justify-content:center;transition:color .15s ease,background .15s ease,transform .2s ease;width:38px}.gr-settings-btn:hover{background:#ffffff17;color:#f7f3ea}.gr-settings-btn.open{background:color-mix(in srgb,#f97316 13%,#0000);background:color-mix(in srgb,var(--accent-color,#f97316) 13%,#0000);border-color:color-mix(in srgb,#f97316 45%,#0000);border-color:color-mix(in srgb,var(--accent-color,#f97316) 45%,#0000);color:#f97316;color:var(--accent-color,#f97316)}.gr-settings-btn.open svg{transform:rotate(45deg);transition:transform .25s ease}.gr-settings-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#172228fa;border:1px solid #ffffff21;border-radius:14px;box-shadow:0 24px 55px #00000080;padding:13px;position:absolute;right:0;text-align:left;top:calc(100% + 9px);width:232px;z-index:20}.gr-settings-label{align-items:center;color:#f7f3ea6b;display:flex;font-size:10px;font-weight:900;gap:6px;letter-spacing:.1em;margin-bottom:9px;text-transform:uppercase}.gr-settings-choice{grid-gap:4px;background:#00000047;border-radius:11px;display:grid;gap:4px;grid-template-columns:1fr 1fr;padding:4px}.gr-settings-option{background:#0000;border:none;border-radius:8px;color:#f7f3ea99;cursor:pointer;font-family:Nunito,sans-serif;font-size:13px;font-weight:800;padding:8px 6px;transition:background .15s ease,color .15s ease}.gr-settings-option.jp{font-family:Noto Sans JP,sans-serif}.gr-settings-option:hover{color:#f7f3ea}.gr-settings-option.active{background:#f97316;background:var(--accent-color,#f97316);color:#fff}.gr-settings-hint{color:#f7f3ea61;font-size:11.5px;line-height:1.45;margin-top:9px}.gr-script-toggle{align-items:center;background:color-mix(in srgb,#f97316 13%,#0000);background:color-mix(in srgb,var(--accent-color,#f97316) 13%,#0000);border:1px solid color-mix(in srgb,#f97316 32%,#0000);border:1px solid color-mix(in srgb,var(--accent-color,#f97316) 32%,#0000);border-radius:9px;color:#f97316;color:var(--accent-color,#f97316);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:800;gap:6px;padding:7px 13px}.gr-script-toggle.romaji{font-family:Nunito,sans-serif}.gr-runner-body{align-items:center;display:flex;flex:1 1;justify-content:center;overflow-y:auto;padding:26px 20px 40px}.gr-stage{margin:0 auto;max-width:620px;text-align:center;width:100%}.gr-stage-kicker{color:#f7f3ea66;display:block;font-size:11px;font-weight:900;letter-spacing:.14em;margin-bottom:16px;text-transform:uppercase}.gr-pattern{color:#f97316;color:var(--accent-color,#f97316);font-family:Noto Sans JP,sans-serif;font-size:34px;font-weight:900;letter-spacing:1px;margin-bottom:8px}.gr-pattern-en{color:#f7f3eacc;font-size:17px;font-weight:800;margin-bottom:18px}.gr-explain{color:#f7f3eaad;font-size:14.5px;line-height:1.65;margin-bottom:16px}.gr-explain.small{font-size:13px;margin-top:14px}.gr-notes{display:flex;flex-direction:column;gap:8px;list-style:none;margin-bottom:20px;text-align:left}.gr-notes li{align-items:flex-start;background:hsla(0,0%,100%,.035);border:1px solid #ffffff0f;border-radius:11px;color:#f7f3eabf;display:flex;font-size:13px;gap:9px;line-height:1.5;padding:10px 13px}.gr-notes li svg{color:#fbbf24;flex-shrink:0;margin-top:2px}.gr-sentence{align-items:center;display:flex;flex-direction:column;gap:5px;margin-bottom:20px;word-break:break-word}.gr-sentence-main{font-family:Nunito,sans-serif;font-size:30px;font-weight:900;line-height:1.35}.gr-sentence-main.jp{font-family:Noto Sans JP,sans-serif}.gr-sentence-sub{color:#f7f3ea73;font-family:Nunito,sans-serif;font-size:15px;font-weight:700;line-height:1.35}.gr-sentence-sub.jp{font-family:Noto Sans JP,sans-serif;font-size:17px}.gr-blank{border-bottom:3px solid #f97316;border-bottom:3px solid var(--accent-color,#f97316);color:#f97316;color:var(--accent-color,#f97316);display:inline-block;margin:0 3px;min-width:42px;padding:0 8px}.gr-prompt-en{color:#f7f3eadb;font-size:20px;font-weight:800;margin-bottom:22px}.gr-tokens{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}.gr-token{align-items:center;background:color-mix(in srgb,var(--tok) 10%,#0000);border:1px solid color-mix(in srgb,var(--tok) 34%,#0000);border-radius:12px;color:#f7f3ea;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:72px;padding:10px 13px;transition:transform .14s ease,background .14s ease}.gr-token:hover{background:color-mix(in srgb,var(--tok) 17%,#0000);transform:translateY(-2px)}.gr-token.open{background:color-mix(in srgb,var(--tok) 22%,#0000)}.gr-token.has-note:after{color:var(--tok);content:"?";font-size:9px;font-weight:900;margin:-18px 0 0 52px;position:absolute}.gr-token-jp{font-family:Noto Sans JP,sans-serif;font-size:19px;font-weight:900}.gr-token-gloss{color:#f7f3eac7;font-size:12px;font-weight:800}.gr-token-role{color:var(--tok);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.gr-token-note{align-items:flex-start;background:#fbbf2417;border:1px solid #fbbf243d;border-radius:11px;color:#f7f3eadb;display:flex;font-size:13px;gap:9px;line-height:1.5;margin-bottom:16px;padding:11px 14px;text-align:left}.gr-token-note svg{color:#fbbf24;flex-shrink:0;margin-top:2px}.gr-literal,.gr-natural{background:hsla(0,0%,100%,.032);border:1px solid #ffffff0f;border-radius:11px;display:flex;flex-direction:column;gap:3px;margin-bottom:10px;padding:11px 14px;text-align:left}.gr-literal span,.gr-natural span{color:#f7f3ea5c;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.gr-literal strong{color:#f7f3eaad;font-size:14px;font-weight:700}.gr-natural strong{font-size:16px;font-weight:900}.gr-answer{align-content:flex-start;border:2px dashed #ffffff1a;border-radius:13px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:22px;min-height:68px;padding:12px;position:relative}.gr-answer.empty{align-items:center}.gr-answer-hint{color:#f7f3ea4d;font-size:12.5px;font-weight:700}.gr-pool{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.gr-tile{align-items:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:11px;box-shadow:0 2px 0 #00000047;color:#f7f3ea;cursor:pointer;display:inline-flex;flex-direction:column;gap:1px;padding:8px 15px 7px;touch-action:none;transition:transform .12s ease,background .12s ease,opacity .12s ease}.gr-tile-main{font-family:Nunito,sans-serif;font-size:16px;font-weight:800;line-height:1.25}.gr-tile-main.jp,.gr-tile-sub{font-family:Noto Sans JP,sans-serif}.gr-tile-sub{color:#f7f3ea6b;font-size:11px;font-weight:700;line-height:1.25}.gr-tile:not(:disabled):hover{background:#ffffff1a;transform:translateY(-2px)}.gr-tile.picked{background:color-mix(in srgb,#f97316 20%,#0000);background:color-mix(in srgb,var(--accent-color,#f97316) 20%,#0000);border-color:color-mix(in srgb,#f97316 44%,#0000);border-color:color-mix(in srgb,var(--accent-color,#f97316) 44%,#0000)}.gr-tile.picked .gr-tile-sub{color:#f7f3ea8c}.gr-tile.used{box-shadow:none;cursor:default;opacity:.22}.gr-tile.dragging{border-color:color-mix(in srgb,#f97316 70%,#0000);border-color:color-mix(in srgb,var(--accent-color,#f97316) 70%,#0000);box-shadow:0 10px 24px #00000073;cursor:grabbing;transition:none;z-index:3}.gr-tile.drop-target{opacity:.7;transform:translateY(-3px)}.gr-choices{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.gr-choice{align-items:center;background:hsla(0,0%,100%,.045);border:1.5px solid #ffffff1a;border-radius:13px;color:#f7f3ea;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:15px 12px;transition:transform .12s ease,border-color .12s ease}.gr-choice:not(:disabled):hover{transform:translateY(-2px)}.gr-choice strong{font-family:Noto Sans JP,sans-serif;font-size:24px;font-weight:900}.gr-choice span{color:#f7f3ea80;font-size:11px;font-weight:700}.gr-choice.selected{border-color:#f97316;border-color:var(--accent-color,#f97316)}.gr-choice.right{background:#22c55e1f;border-color:#22c55e}.gr-choice.wrong{background:#ef44441f;border-color:#ef4444}.gr-footer{align-items:center;border-top:1px solid #ffffff12;display:flex;flex-shrink:0;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 20px}.gr-footer.correct{background:#22c55e14;border-top-color:#22c55e4d}.gr-footer.wrong{background:#ef444414;border-top-color:#ef44444d}.gr-feedback{display:flex;flex-direction:column;gap:3px;text-align:left}.gr-feedback strong{align-items:center;display:flex;font-size:14px;font-weight:900;gap:6px}.gr-footer.correct .gr-feedback strong{color:#22c55e}.gr-footer.wrong .gr-feedback strong{color:#ef4444}.gr-feedback span{color:#f7f3eacc;font-family:Noto Sans JP,sans-serif;font-size:14px}.gr-feedback em{color:#f7f3ea8c;font-size:12px}.gr-next{margin-left:auto}.gr-footer .gr-next{flex-shrink:0}.gr-done{max-width:420px;text-align:center}.gr-done-score{font-size:62px;font-weight:900;letter-spacing:-2px;line-height:1}.gr-done-score span{font-size:28px}.gr-done h2{font-size:22px;font-weight:900;margin:10px 0 6px}.gr-done p{color:#f7f3ea99;font-size:14px}.gr-done-note{color:#f7f3ea70!important;font-size:13px!important;margin-top:8px}.gr-done-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px}@media (max-width:560px){.gr-sentence-main{font-size:24px}.gr-sentence-sub{font-size:13.5px}.gr-sentence-sub.jp{font-size:15px}.gr-pattern{font-size:26px}.gr-footer{align-items:stretch;flex-direction:column}.gr-footer .gr-next{justify-content:center;margin-left:0;width:100%}}.grm-admin{padding:32px}.grm-error{background:#ef44441a;border:1px solid #ef444442;border-radius:10px;color:#ef4444;font-size:13px;font-weight:700;margin-bottom:14px;padding:10px 14px}.grm-table-wrap{overflow-x:auto}.grm-form{gap:16px;padding:22px 24px}.grm-form,.grm-form label{display:flex;flex-direction:column}.grm-form label{color:#f7f3ea80;font-size:11px;font-weight:900;gap:7px;letter-spacing:.07em;text-transform:uppercase}.grm-form label .ks-input,.grm-form label .ks-select,.grm-form label .ks-textarea{color:#f7f3ea;font-size:14px;font-weight:600;letter-spacing:0;text-transform:none}.grm-form label:focus-within{color:#f97316;color:var(--accent-color,#f97316)}.grm-form .ks-textarea{line-height:1.65;resize:vertical}.grm-form .grm-en-row input:nth-child(2),.grm-form .grm-token-row input:first-child,.grm-form .ks-input.jp{font-family:Noto Sans JP,sans-serif}.grm-form-section{align-items:center;border-top:1px solid #ffffff12;color:#f97316;color:var(--accent-color,#f97316);display:flex;font-size:11px;font-weight:900;gap:10px;letter-spacing:.1em;margin-top:4px;padding-top:16px;text-transform:uppercase}.grm-form-section:first-child{border-top:none;margin-top:0;padding-top:0}.grm-form-section span{background:#ffffff12;flex:1 1;height:1px}.grm-check{align-items:center;cursor:pointer;flex-direction:row!important;gap:9px!important}.grm-check input{accent-color:#f97316;height:16px;width:16px}.grm-subhead{gap:14px}.grm-part-head,.grm-subhead{align-items:center;display:flex;justify-content:space-between}.grm-part-head{gap:12px}.grm-part-toggle{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;flex:1 1;gap:11px;padding:0;text-align:left}.grm-part-toggle strong{background:#f9731624;border-radius:8px;color:#f97316;font-size:12px;font-weight:900;padding:4px 10px}.grm-part-toggle span{flex:1 1;font-size:14px;font-weight:800}.grm-sentence{background:hsla(0,0%,100%,.028);border:1px solid #ffffff12;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-top:12px;padding:16px}.grm-sentence-head{align-items:center;display:flex;justify-content:space-between}.grm-sentence-head strong{color:#f7f3ea73;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.grm-tokens{display:flex;flex-direction:column;gap:6px}.grm-token-row{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:1fr 1fr 1.3fr 1fr 2fr 34px}.grm-token-row.head{color:#f7f3ea59;font-size:10px;font-weight:900;letter-spacing:.07em;padding:0 2px;text-transform:uppercase}.grm-token-row .ks-input,.grm-token-row .ks-select{font-size:13px;padding:8px 10px}.grm-token-add{align-self:flex-start;font-size:12px;margin-top:4px;padding:7px 13px}@media (max-width:900px){.grm-admin{padding:18px}.grm-token-row{grid-template-columns:1fr 1fr}.grm-token-row.head{display:none}}.quit-overlay{align-items:center;animation:fadeIn .16s ease both;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060b0db8;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1500}.quit-box{background:#172228;border:1px solid #ffffff1a;border-radius:18px;box-shadow:0 30px 70px #00000080;max-width:380px;padding:28px 26px;text-align:center;width:100%}.quit-icon{align-items:center;background:#fbbf2421;border:1px solid #fbbf2442;border-radius:14px;color:#fbbf24;display:inline-flex;height:46px;justify-content:center;margin-bottom:14px;width:46px}.quit-box h3{font-size:18px;font-weight:900;margin-bottom:7px}.quit-box p{color:#f7f3ea8c;font-size:13.5px;line-height:1.6}.quit-actions{display:flex;gap:10px;margin-top:22px}.quit-actions button{flex:1 1;justify-content:center}.quit-leave{border-color:#ef444457;color:#ef4444}.quit-leave:hover{background:#ef44441a}.grm-token-row.grm-en-row{grid-template-columns:1.2fr 1.2fr 1fr 34px}@media (max-width:900px){.grm-token-row.grm-en-row{grid-template-columns:1fr 1fr}}.gr-intro-teaser{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#f7f3ea9e;display:-webkit-box;font-size:14.5px;line-height:1.7;margin-top:16px;max-width:62ch;max-width:var(--gr-measure);overflow:hidden}.ann-bell{flex-shrink:0;position:relative}.ann-bell-btn{align-items:center;background:#ffffff0a;border:1px solid #ffffff17;border-radius:999px;color:#f7f3ea8c;cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:relative;transition:color .15s ease,background .15s ease,border-color .15s ease;width:36px}.ann-bell-btn:hover{background:#ffffff14;color:#f7f3ea}.ann-bell-btn.unread{background:#fbbf241c;border-color:#fbbf244d;color:#fbbf24}.ann-bell-btn.unread svg{animation:annRing 1.1s ease-in-out 2;transform-origin:50% 15%}@keyframes annRing{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(11deg)}20%,40%{transform:rotate(-11deg)}}.ann-bell-btn.open{border-color:color-mix(in srgb,#f97316 45%,#0000);border-color:color-mix(in srgb,var(--accent-color,#f97316) 45%,#0000);color:#f97316;color:var(--accent-color,#f97316)}.ann-bell-dot{align-items:center;background:#fbbf24;border:2px solid #131f24;border-radius:999px;color:#10191d;display:flex;font-size:10px;font-weight:900;height:17px;justify-content:center;min-width:17px;padding:0 4px;position:absolute;right:-3px;top:-3px}.ann-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#172228fa;border:1px solid #ffffff21;border-radius:15px;box-shadow:0 26px 60px #0000008c;overflow:hidden;position:absolute;right:0;text-align:left;top:calc(100% + 10px);width:min(340px,calc(100vw - 32px));z-index:80}.ann-panel-head{align-items:center;border-bottom:1px solid #ffffff12;display:flex;justify-content:space-between;padding:13px 15px}.ann-panel-head strong{font-size:13px;font-weight:900}.ann-panel-head span{align-items:center;color:#22c55ed9;display:inline-flex;font-size:10.5px;font-weight:800;gap:4px}.ann-list{list-style:none;max-height:340px;overflow-y:auto}.ann-item{border-bottom:1px solid #ffffff0d;padding:13px 15px}.ann-item:last-child{border-bottom:none}.ann-item-head{align-items:baseline;display:flex;gap:10px;justify-content:space-between;margin-bottom:4px}.ann-item-head strong{font-size:13.5px;font-weight:900}.ann-item-head time{color:#f7f3ea59;flex-shrink:0;font-size:10.5px;font-weight:700}.ann-item p{color:#f7f3ea99;font-size:12.5px;line-height:1.55}@media (prefers-reduced-motion:reduce){.ann-bell-btn.unread svg{animation:none}}.maint-card{margin:60px auto;max-width:460px;padding:40px 32px;text-align:center}.maint-icon{align-items:center;background:#fbbf241f;border:1px solid #fbbf2442;border-radius:18px;color:#fbbf24;display:inline-flex;height:58px;justify-content:center;margin-bottom:18px;width:58px}.maint-card h1{font-size:21px;font-weight:900;letter-spacing:-.3px;margin-bottom:9px}.maint-card p{color:#f7f3ea8c;font-size:14px;line-height:1.65;margin-bottom:24px}.cfg-note{color:#f7f3ea73;font-size:13px;line-height:1.6;margin:-4px 0 4px;max-width:66ch}.cfg-levels{grid-gap:9px;display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}.cfg-level{align-items:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:13px;color:#f7f3ea;cursor:pointer;display:flex;gap:12px;padding:13px 15px;text-align:left;transition:border-color .15s ease,background .15s ease}.cfg-level:not(:disabled):hover{border-color:#fff3}.cfg-level.on{background:#22c55e0f;border-color:#22c55e57}.cfg-level.locked{cursor:default;opacity:.75}.cfg-level-chip{align-items:center;background:#ffffff14;border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:900;height:40px;justify-content:center;width:40px}.cfg-level.on .cfg-level-chip{background:#22c55e}.cfg-level-copy{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.cfg-level-copy strong{font-size:13px;font-weight:900}.cfg-level.on .cfg-level-copy strong{color:#22c55e}.cfg-level-copy small{color:#f7f3ea6b;font-size:11.5px}.cfg-level svg{color:#f7f3ea66;flex-shrink:0}.cfg-level.on svg{color:#22c55e}.cfg-pages{gap:9px}.cfg-page,.cfg-pages{display:flex;flex-direction:column}.cfg-page{background:#ffffff08;border:1px solid #ffffff14;border-radius:13px;gap:10px;padding:13px 15px}.cfg-page.closed{background:#fbbf240d;border-color:#fbbf244d}.cfg-page-head{align-items:center;display:flex;gap:14px;justify-content:space-between}.cfg-page-id{display:flex;flex-direction:column;gap:2px;min-width:0}.cfg-page-id strong{font-size:13.5px;font-weight:900}.cfg-page-id code{color:#f7f3ea59;font-size:11.5px}.cfg-switch{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;cursor:pointer;display:inline-flex;flex-shrink:0;gap:9px;padding:5px 12px 5px 5px;transition:background .18s ease,border-color .18s ease}.cfg-switch.on{background:#22c55e21;border-color:#22c55e57}.cfg-switch-knob{background:#f7f3ea66;border-radius:999px;flex-shrink:0;height:20px;transition:background .18s ease,transform .18s cubic-bezier(.22,1,.36,1);width:20px}.cfg-switch.on .cfg-switch-knob{background:#22c55e;transform:translateX(2px)}.cfg-switch em{color:#f7f3ea80;font-size:11.5px;font-style:normal;font-weight:900}.cfg-switch.on em{color:#22c55e}.lvl-empty{margin:40px auto;max-width:440px;padding:38px 30px;text-align:center}.lvl-empty-icon{align-items:center;background:#ffffff0d;border:1px solid #ffffff17;border-radius:17px;color:#f7f3ea73;display:inline-flex;height:56px;justify-content:center;margin-bottom:16px;width:56px}.lvl-empty h2{font-size:19px;font-weight:900;letter-spacing:-.2px;margin-bottom:8px}.lvl-empty p{color:#f7f3ea80;font-size:13.5px;line-height:1.65;margin:0 auto 22px;max-width:44ch}.study-stage{display:flex;flex-direction:column;width:100%}.study-stage.fullscreen{flex:1 1;min-height:0}.study-stage-body{display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:560px;max-width:var(--stage-w,560px);padding-bottom:96px;width:100%}.study-stage.fullscreen .study-stage-body{flex:1 1;min-height:0}.study-footer{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090f12f0;border-top:1px solid #ffffff17;bottom:0;display:flex;left:0;left:var(--app-sidebar-w,0);min-height:74px;padding:14px 26px;position:fixed;right:0;transition:background .2s,border-color .2s;z-index:40}.study-stage.fullscreen .study-footer{left:0;z-index:4}.study-footer-inner{align-items:center;display:flex;gap:16px;justify-content:space-between;width:100%}.study-footer.correct{background:linear-gradient(#22c55e1c,#22c55e1c),#090f12f0;border-top-color:#22c55e57}.study-footer.wrong{background:linear-gradient(#ef44441c,#ef44441c),#090f12f0;border-top-color:#ef444457}.study-footer.close{background:linear-gradient(#eab3081c,#eab3081c),#090f12f0;border-top-color:#eab30861}.study-feedback{display:flex;flex-direction:column;gap:3px;min-width:0;text-align:left}.study-feedback strong{align-items:center;display:flex;font-size:14px;font-weight:900;gap:6px}.study-footer.correct .study-feedback strong{color:#22c55e}.study-footer.wrong .study-feedback strong{color:#ef4444}.study-footer.close .study-feedback strong{color:#eab308}.study-feedback span{color:#f7f3eacc;font-family:Noto Sans JP,sans-serif;font-size:14px}.study-footer-hint{color:#f7f3ea66;font-size:13px;font-weight:700}.study-footer-inner>.btn-primary{flex-shrink:0;font-size:15px;justify-content:center;margin-left:auto;min-height:48px;min-width:190px}.study-footer-inner>.btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.34}.study-footer-inner>.btn-ghost{min-height:48px}@media (max-width:768px){.study-footer{bottom:calc(60px + max(0px, env(safe-area-inset-bottom)))}.study-stage.fullscreen .study-footer{bottom:0}}@media (max-width:560px){.study-footer{min-height:68px;padding:12px 14px}.study-stage-body{padding-bottom:84px}.study-footer-inner{gap:10px}.study-footer-inner>.btn-primary{min-width:128px}.study-feedback span{font-size:13px}}.acct-page{max-width:720px}.acct-head{margin-bottom:20px}.acct-head h1{font-size:24px;font-weight:900;letter-spacing:-.02em}.acct-head p{color:#f7f3ea80;font-size:13.5px;margin-top:4px}.acct-card{margin-bottom:16px;padding:22px}.acct-card>h2{align-items:center;border-bottom:1px solid #ffffff12;color:#f7f3ea8c;display:flex;font-size:12px;font-weight:900;gap:8px;letter-spacing:.09em;margin-bottom:18px;padding-bottom:12px;text-transform:uppercase}.acct-card>h2 svg{color:#f97316}.acct-field{color:#f7f3eab8;display:block;font-size:12.5px;font-weight:800;margin-bottom:15px}.acct-field>small{color:#f7f3ea66;display:block;font-size:11.5px;font-weight:600;line-height:1.5;margin-top:6px}.acct-field strong{color:#f97316}.acct-input-wrap{display:block;margin-top:7px;position:relative}.acct-input-wrap>svg:first-child{color:#f7f3ea59;left:13px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.acct-input-wrap>svg:first-child~.ks-input{padding-left:37px}.acct-input-wrap>button{background:#0000;border:none;border-radius:6px;color:#f7f3ea66;cursor:pointer;display:flex;padding:6px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:color .15s}.acct-input-wrap>button:hover{color:#f97316}.acct-input-wrap.readonly .ks-input{cursor:not-allowed;opacity:.62;padding-right:92px}.acct-verified{align-items:center;color:#22c55e;display:inline-flex;font-size:10.5px;font-style:normal;font-weight:900;gap:4px;letter-spacing:.05em;position:absolute;right:11px;text-transform:uppercase;top:50%;transform:translateY(-50%)}.acct-page .ks-grid-2{gap:0 13px}.acct-hint{color:#f7f3ea66;display:block;font-size:11.5px;font-weight:600;margin:-8px 0 4px}.acct-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.acct-actions button{min-height:40px}.acct-page .btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.42}.acct-msg{color:#ef4444;font-size:12.5px;font-weight:800}.acct-msg.ok{color:#22c55e}.acct-note{color:#f7f3ea8c;font-size:13px;line-height:1.65;margin-bottom:16px;max-width:58ch}.acct-card.danger{border-color:#ef444438}.acct-card.danger>h2{color:#ef4444d9}.acct-card.danger>h2 svg{color:#ef4444}.acct-danger-btn{border-color:#ef444452;color:#ef4444}.acct-danger-btn:hover:not(:disabled){background:#ef44441a;border-color:#ef44448c}.acct-danger-btn:disabled{cursor:not-allowed;opacity:.4}.acct-danger-panel{background:rgba(239,68,68,.045);border:1px solid #ef444433;border-radius:12px;padding:16px}.acct-danger-panel .acct-field:last-of-type{margin-bottom:0}@media (max-width:640px){.acct-card{padding:17px}.acct-page .ks-grid-2{grid-template-columns:1fr}.acct-actions{align-items:stretch;flex-direction:column}.acct-actions button{justify-content:center;width:100%}}@keyframes kitsu-lift{0%{transform:translateY(0)}19%{transform:translateY(-42px)}76%{transform:translateY(-42px)}90%{transform:translateY(6px)}to{transform:translateY(0)}}@keyframes kitsu-float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes kitsu-bounce{0%{transform:translateY(0) scale(1)}18%{transform:translateY(0) scale(1.12,.86)}42%{transform:translateY(-58px) scale(.93,1.1)}68%{transform:translateY(0) scale(1.1,.9)}84%{transform:translateY(-12px) scale(.98,1.02)}to{transform:translateY(0) scale(1)}}@keyframes kitsu-shake{0%,to{transform:translateX(0) rotate(0deg)}15%{transform:translateX(-13px) rotate(-5deg)}32%{transform:translateX(11px) rotate(4deg)}49%{transform:translateX(-8px) rotate(-3deg)}66%{transform:translateX(6px) rotate(2deg)}83%{transform:translateX(-3px) rotate(-1deg)}}@keyframes kitsu-nod{0%,to{transform:translateY(0)}22%{transform:translateY(15px)}45%{transform:translateY(-7px)}68%{transform:translateY(11px)}86%{transform:translateY(-3px)}}@keyframes kitsu-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.055)}}@keyframes kitsu-pulse{0%{transform:scale(1)}14%{transform:scale(1.13)}30%{transform:scale(1)}44%{transform:scale(1.09)}60%,to{transform:scale(1)}}@keyframes kitsu-wobble{0%{transform:scale(1)}20%{transform:scale(1.18,.82)}40%{transform:scale(.86,1.14)}60%{transform:scale(1.09,.93)}80%{transform:scale(.96,1.04)}to{transform:scale(1)}}@keyframes kitsu-pop{0%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:scale(1.16)}75%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes kitsu-wheel{0%{transform:rotate(0deg)}to{transform:rotate(2turn)}}@keyframes kitsu-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.kitsu-lift{animation:kitsu-lift 2.1s cubic-bezier(.33,0,.2,1) both}.kitsu-wheel{animation:kitsu-wheel 1.2s cubic-bezier(.5,0,.15,1) .4s both}.kitsu-bounce{animation:kitsu-bounce .9s cubic-bezier(.3,0,.3,1) both}.kitsu-shake{animation:kitsu-shake .7s ease-out both}.kitsu-nod{animation:kitsu-nod .8s cubic-bezier(.3,0,.3,1) both}.kitsu-wobble{animation:kitsu-wobble .8s cubic-bezier(.3,0,.25,1) both}.kitsu-pop{animation:kitsu-pop .6s cubic-bezier(.3,1.5,.5,1) both}.kitsu-float{animation:kitsu-float 3.2s ease-in-out infinite}.kitsu-breathe{animation:kitsu-breathe 2.6s ease-in-out infinite}.kitsu-drowse{animation:kitsu-breathe 4.6s ease-in-out infinite}.kitsu-pulse{animation:kitsu-pulse 1.8s ease-out infinite}.kitsu-spin{animation:kitsu-spin 1.1s linear infinite}@media (prefers-reduced-motion:reduce){.kitsu-bounce,.kitsu-breathe,.kitsu-drowse,.kitsu-float,.kitsu-lift,.kitsu-nod,.kitsu-pop,.kitsu-pulse,.kitsu-shake,.kitsu-spin,.kitsu-wheel,.kitsu-wobble{animation:none}}.kitsu-interactive{cursor:pointer;transform-origin:center;transition:transform .18s cubic-bezier(.34,1.4,.5,1)}.kitsu-interactive:hover{transform:scale(1.09)}.kitsu-interactive:active{transform:scale(.94);transition-duration:.08s}@media (prefers-reduced-motion:reduce){.kitsu-interactive{transition:none}.kitsu-interactive:active,.kitsu-interactive:hover{transform:none}}.learn-pop{animation:learn-pop-in .16s cubic-bezier(.34,1.5,.6,1) both;background:#16232a;border:1px solid #f973164d;border-radius:16px;box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column;gap:4px;left:50%;max-width:min(310px,calc(100vw - 40px));padding:16px 18px 15px;position:absolute;top:84px;transform:translateX(-50%);width:-webkit-max-content;width:max-content;z-index:30}@keyframes learn-pop-in{0%{opacity:0;transform:translateX(-50%) translateY(-6px) scale(.96)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.learn-pop-arrow{background:#16232a;border-left:1px solid #f973164d;border-top:1px solid #f973164d;height:12px;left:50%;margin-left:-6px;position:absolute;top:-7px;transform:rotate(45deg);width:12px}.learn-pop-title{font-size:15.5px;font-weight:900;letter-spacing:-.2px}.learn-pop-sub{color:#f7f3ea80;font-size:12.5px;font-weight:700}.learn-pop-go{font-size:15px;justify-content:center;margin-top:11px;min-height:44px;width:100%}@media (prefers-reduced-motion:reduce){.learn-pop{animation:none}}.tour-root{inset:0;pointer-events:none;position:fixed;z-index:3000}.tour-spot{border-radius:12px;box-shadow:0 0 0 9999px #060b0ec7;outline:2px solid #f97316d9;outline-offset:0;position:fixed;transition:top .28s cubic-bezier(.22,1,.36,1),left .28s cubic-bezier(.22,1,.36,1),width .28s cubic-bezier(.22,1,.36,1),height .28s cubic-bezier(.22,1,.36,1)}.tour-spot-full{height:0;left:50%;outline:none;top:50%;width:0}.tour-card-centred{height:-webkit-max-content;height:max-content;inset:0;margin:auto}.tour-card{animation:tour-card-in .2s cubic-bezier(.34,1.4,.6,1) both;background:#16232a;border:1px solid #f973164d;border-radius:16px;box-shadow:0 24px 60px #0000008c;max-width:calc(100vw - 24px);padding:18px 20px 16px;pointer-events:auto;position:fixed;transition:top .28s cubic-bezier(.22,1,.36,1),left .28s cubic-bezier(.22,1,.36,1);width:330px}@keyframes tour-card-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.tour-card-head{align-items:center;display:flex;gap:10px;margin-bottom:12px}.tour-count{color:#f7f3ea66;font-size:10.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.tour-skip{background:#0000;border:none;border-radius:7px;color:#f7f3ea66;cursor:pointer;display:flex;padding:5px;position:absolute;right:12px;top:12px;transition:color .15s,background .15s}.tour-skip:hover{background:#ffffff12;color:#f7f3ea}.tour-title{font-size:16.5px;font-weight:900;letter-spacing:-.2px;margin-bottom:7px}.tour-body{color:#f7f3ea9e;font-size:13.5px;line-height:1.62}.tour-actions{display:flex;gap:9px;margin-top:16px}.tour-actions .tour-next{flex:1 1;justify-content:center;min-height:42px}.tour-actions .tour-back{min-height:42px;padding:0 14px}.tour-dots{display:flex;gap:5px;justify-content:center;margin-top:14px}.tour-dots i{background:#f7f3ea2e;border-radius:50%;height:6px;transition:background .2s,width .2s;width:6px}.tour-dots i.past{background:#f9731673}.tour-dots i.on{background:#f97316;border-radius:3px;width:16px}.tour-card-docked{bottom:16px;left:12px!important;margin:0;max-width:none;right:12px;top:auto!important;width:auto!important}.tour-card-docked.top{bottom:auto;top:calc(12px + max(0px, env(safe-area-inset-top)))!important}@media (max-width:768px){.tour-card-docked{bottom:calc(72px + max(0px, env(safe-area-inset-bottom)))}.tour-card-docked.top{bottom:auto}}@media (max-width:640px){.tour-actions{flex-direction:column-reverse}.tour-actions .tour-back{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.tour-card,.tour-spot{animation:none;transition:none}}.cmp-page{max-width:1180px}.cmp-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.cmp-head h1{font-size:23px;font-weight:900;letter-spacing:-.02em}.cmp-head p{color:#f7f3ea80;font-size:13.5px;margin-top:4px}.cmp-total{background:#f973161a;border:1px solid #f9731647;border-radius:100px;color:#f97316;font-size:11.5px;font-weight:900;letter-spacing:.06em;padding:6px 13px;text-transform:uppercase;white-space:nowrap}.cmp-grid{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:minmax(280px,380px) 1fr}.cmp-compose,.cmp-list{padding:20px}.cmp-compose h2,.cmp-list h2{color:#f7f3ea8c;font-size:12px;font-weight:900;letter-spacing:.09em;margin-bottom:14px;text-transform:uppercase}.cmp-list-head{align-items:center;display:flex;justify-content:space-between}.cmp-list-head h2{margin-bottom:0}.cmp-count{color:#f7f3ea59;font-size:11.5px;font-weight:800}.cmp-count.on{color:#f97316}.cmp-add{display:flex;gap:8px;margin-bottom:8px}.cmp-add .ks-input{flex:1 1}.cmp-add .btn-primary{justify-content:center;min-width:46px;padding:0 14px}.cmp-add-error{color:#ef4444;font-size:12px;font-weight:700;margin-bottom:9px}.cmp-row-wrap{align-items:center;display:flex;gap:2px}.cmp-row-wrap .cmp-row{flex:1 1;min-width:0}.cmp-remove{align-items:center;background:#0000;border:none;border-radius:7px;color:#f7f3ea40;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;opacity:0;transition:opacity .14s,color .14s,background .14s;width:28px}.cmp-row-wrap:hover .cmp-remove{opacity:1}.cmp-remove:hover{background:#ef44441f;color:#ef4444}.cmp-remove:focus-visible{opacity:1}.cmp-bulk{display:flex;gap:8px;margin-bottom:12px}.cmp-bulk .btn-ghost{font-size:12px;min-height:0;padding:7px 11px}.cmp-rows{list-style:none;margin:0;max-height:460px;overflow-y:auto;padding:0}.cmp-row{align-items:center;background:#0000;border:1px solid #0000;border-radius:9px;cursor:pointer;display:flex;gap:10px;padding:9px 10px;text-align:left;transition:background .14s,border-color .14s;width:100%}.cmp-row:hover{background:#ffffff0a}.cmp-row.on{background:#f9731617;border-color:#f973164d}.cmp-check{align-items:center;border:1.5px solid #ffffff38;border-radius:5px;color:#fff;display:flex;flex-shrink:0;height:17px;justify-content:center;width:17px}.cmp-row.on .cmp-check{background:#f97316;border-color:#f97316}.cmp-email{color:#f7f3ea;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-src{color:#f7f3ea4d;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.cmp-field{color:#f7f3eab8;display:block;font-size:12.5px;font-weight:800;margin-bottom:14px}.cmp-field small{color:#f7f3ea61;display:inline;font-weight:600;margin-left:6px}.cmp-field .ks-input,.cmp-field .ks-textarea{margin-top:7px}.cmp-cta-row{gap:0 13px}.cmp-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.cmp-actions .btn-primary{justify-content:center;min-height:44px;min-width:170px}.cmp-actions .btn-ghost{min-height:44px}.cmp-preview{margin-top:16px}.cmp-preview-sub{color:#f7f3ea66;font-size:11.5px;font-weight:800;margin-bottom:8px}.cmp-preview-card{background:#16232a;border:1px solid #ffffff14;border-radius:12px;padding:20px}.cmp-preview-card strong{display:block;font-size:17px;font-weight:900;margin-bottom:10px}.cmp-preview-card p{color:#f7f3ea9e;font-size:14px;line-height:1.7;margin-bottom:11px}.cmp-preview-btn{background:linear-gradient(135deg,#f97316,#fb923c);border-radius:10px;color:#fff;display:inline-block;font-size:14px;font-weight:700;margin:4px 0 12px;padding:11px 24px}.cmp-preview-card em{color:#f7f3ea52;display:block;font-size:12px;font-style:normal}.cmp-progress{background:#f9731614;border:1px solid #f9731647;border-radius:10px;margin-top:14px;padding:14px 16px}.cmp-progress-top{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.cmp-progress-top strong{color:#f97316;font-size:13.5px;font-weight:900}.cmp-progress-top .btn-ghost{font-size:12px;min-height:0;padding:6px 12px}.cmp-progress-bar{background:#ffffff17;border-radius:100px;height:6px;overflow:hidden}.cmp-progress-bar i{background:linear-gradient(90deg,#fb923c,#f97316);display:block;height:100%;transition:width .4s ease}.cmp-progress-note{color:#f7f3ea73;display:block;font-size:11.5px;margin-top:8px}.cmp-result{background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;color:#ef4444;font-size:13px;margin-top:14px;padding:12px 14px}.cmp-result.ok{background:#22c55e1a;border-color:#22c55e4d;color:#22c55e}.cmp-result-list{color:#f7f3ea80;font-size:12px;margin-top:6px;word-break:break-all}.cmp-confirm{max-width:430px;padding:26px;text-align:left}.cmp-confirm-icon{color:#f97316;margin-bottom:10px}.cmp-confirm h3{font-size:18px;font-weight:900;margin-bottom:8px}.cmp-confirm p{color:#f7f3ea99;font-size:13.5px;line-height:1.6;margin-bottom:16px}.cmp-confirm strong{color:#f7f3ea}.cmp-confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.cmp-confirm-actions button{min-height:42px}@media (max-width:900px){.cmp-grid{grid-template-columns:1fr}.cmp-rows{max-height:300px}.cmp-cta-row{grid-template-columns:1fr}}.sess-done{animation:sess-in .3s ease-out both;margin:0 auto;max-width:420px;text-align:center}@keyframes sess-in{0%{opacity:0}to{opacity:1}}.sess-stage{height:148px;margin:0 auto 10px;position:relative;width:220px}.sess-shadow{animation:sess-shadow 1.6s cubic-bezier(.4,0,.35,1) .38s infinite;background:radial-gradient(closest-side,#0000008c,#0000);border-radius:50%;bottom:6px;height:18px;left:50%;margin-left:-43px;position:absolute;width:86px}@keyframes sess-shadow{0%,to{opacity:.85;transform:scale(1)}45%{opacity:.4;transform:scale(1.28,.7)}}.sess-hop{animation:sess-drop .62s cubic-bezier(.3,1.5,.5,1) both,sess-hop 1.6s cubic-bezier(.4,0,.35,1) .38s infinite;bottom:16px;display:block;left:50%;margin-left:-46px;position:absolute}@keyframes sess-drop{0%{opacity:0;transform:translateY(-190px) scale(.6)}60%{opacity:1}75%{transform:translateY(6px) scale(1.08,.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sess-hop{0%,to{transform:translateY(0) scale(1)}18%{transform:translateY(0) scale(1.08,.9)}45%{transform:translateY(-34px) scale(.95,1.06)}72%{transform:translateY(0) scale(1.06,.93)}}.sess-token{animation:sess-token-in .7s cubic-bezier(.3,1.5,.5,1) .2s both,sess-token-orbit 2.4s ease-in-out .9s infinite;bottom:60px;height:42px;left:50%;margin-left:-21px;position:absolute;width:42px;z-index:2}.sess-token-inner{align-items:center;background:linear-gradient(150deg,#fbbf24,#f97316);border-radius:40% 60% 55% 45%/55% 45% 60% 40%;box-shadow:0 0 0 3px #0d1519e6,0 8px 22px #f9731673;color:#241004;display:flex;height:100%;justify-content:center;width:100%}@keyframes sess-token-in{0%{opacity:0;transform:translate(90px,-150px) rotate(200deg) scale(.5)}60%{opacity:1}to{opacity:1;transform:translate(54px,-12px) rotate(0deg) scale(1)}}@keyframes sess-token-orbit{0%,to{transform:translate(54px,-12px) rotate(0deg)}25%{transform:translate(60px,-26px) rotate(22deg)}50%{transform:translate(50px,-34px) rotate(-14deg)}75%{transform:translate(58px,-20px) rotate(12deg)}}.sess-score{font-feature-settings:"tnum";animation:sess-pop .42s cubic-bezier(.22,1.4,.5,1) .48s both;color:#22c55e;display:inline-block;font-size:62px;font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:-2px;line-height:1;position:relative;text-shadow:0 0 40px #22c55e59}.sess-score.miss{color:#ef4444;text-shadow:0 0 40px #ef44444d}.sess-score span{font-size:28px;margin-left:1px}@keyframes sess-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.sess-sparks{inset:0;pointer-events:none;position:absolute}.sess-sparks b{animation:sess-spark .76s cubic-bezier(.2,.8,.3,1) .9s both;background:#4ade80;border-radius:50%;height:6px;left:50%;margin:-3px 0 0 -3px;opacity:0;position:absolute;top:50%;transform:rotate(var(--a)) translateY(0);width:6px}@keyframes sess-spark{0%{opacity:1;transform:rotate(var(--a)) translateY(-14px) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateY(-84px) scale(.3)}}.sess-title{animation:sess-rise .4s ease-out .76s both;font-size:22px;font-weight:900;margin-top:8px}.sess-sub{animation:sess-rise .4s ease-out .84s both;color:#f7f3ea99;font-size:14px;margin-top:6px}.sess-detail{animation:sess-rise .4s ease-out .92s both;color:#f7f3ea6b;font-size:13px;margin-top:6px}@keyframes sess-rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.sess-actions{animation:sess-rise .4s ease-out 1s both;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}.sess-actions button{min-height:46px}@media (prefers-reduced-motion:reduce){.sess-actions,.sess-detail,.sess-done,.sess-hop,.sess-score,.sess-shadow,.sess-sparks b,.sess-sub,.sess-title,.sess-token{animation:none!important}.sess-token{transform:translate(54px,-12px)}.sess-sparks{display:none}}.learn-decor{align-items:center;display:flex;flex-direction:column;gap:6px;left:50%;left:calc(50% + var(--side)*var(--decor-x));margin-top:calc(var(--decor-size)/-2);opacity:.85;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:0}.learn-path{--decor-x:min(190px,calc(50% - 68px))}@media (min-width:900px){.learn-path{--decor-x:min(300px,calc(50% - 68px))}}@media (max-width:779px){.learn-decor{display:none}}.learn-decor-shadow{background:radial-gradient(ellipse at center,#f973164d,#f9731600 70%);border-radius:50%;filter:blur(2px);height:12px;width:58px}@media (prefers-reduced-motion:reduce){.learn-decor{display:none}}.learn-node.boss .learn-node-face{border-color:#f973168c;box-shadow:0 0 0 4px #f973161a,0 10px 26px #00000073;height:84px;width:84px}.learn-node.boss .learn-node-glyph{font-size:34px;line-height:1}.learn-node.boss.locked .learn-node-face{border-color:#f9731638;box-shadow:none}.learn-node.boss.done .learn-node-face{border-color:#22c55e8c;box-shadow:0 0 0 4px #22c55e1f,0 10px 26px #00000073}.learn-section.locked .learn-section-copy,.learn-section.locked .learn-section-glyph{opacity:.55}.learn-section-jump{align-items:center;background:#f9731614;border:1px solid #f9731659;border-radius:999px;color:#f97316;color:var(--accent,#f97316);cursor:pointer;display:inline-flex;font-size:11.5px;font-weight:800;letter-spacing:.2px;margin-right:4px;padding:5px 11px;white-space:nowrap}.learn-section-jump:hover{background:#f9731629;border-color:#f973168c}.learn-section-jump:focus-visible{outline:2px solid #f97316;outline:2px solid var(--accent,#f97316);outline-offset:2px}.learn-unlock-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04080ab8;bottom:0;display:grid;left:0;left:var(--app-sidebar-w,0);padding:20px;place-items:center;position:fixed;right:0;top:0;z-index:120}.learn-unlock-card{background:#16232a;border:1px solid #ffffff17;border-radius:18px;box-shadow:0 26px 70px #0000008c;padding:24px 24px 20px;text-align:center;width:min(430px,100%)}.learn-unlock-icon{align-items:center;background:#f9731624;border-radius:50%;color:#fb923c;display:inline-flex;height:44px;justify-content:center;margin-bottom:12px;width:44px}.learn-unlock-card strong{color:#f7f3ea;display:block;font-size:17px;font-weight:800;letter-spacing:-.2px;margin-bottom:10px}.learn-unlock-card p{color:#f7f3eab8;font-size:13.5px;line-height:1.55;margin:0 0 10px}.learn-unlock-note{color:#f7f3ea80!important;font-size:12.5px!important}.learn-unlock-actions{display:flex;gap:10px;margin-top:18px}.learn-unlock-actions>*{flex:1 1;justify-content:center}@media (max-width:480px){.learn-unlock-actions{flex-direction:column-reverse}}.kana-head-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:22px}.kana-script-toggle{align-items:center;display:flex;gap:8px;min-width:0}.kana-script-toggle>.kana-script-card{background:#16232a;background:var(--card,#16232a);border:1px solid #ffffff17;border:1px solid var(--border,#ffffff17);border-radius:11px;cursor:pointer;flex:0 0 auto;line-height:1.25;min-width:200px;padding:11px 20px;transition:border-color .2s,background .2s}.kana-script-card:hover{border-color:#f9731659}.kana-script-card.active{background:#f973161a;border-color:#f9731673}.kana-script-name{color:#f7f3ea;font-size:14px;font-weight:800;margin-bottom:1px}.kana-script-card.active .kana-script-name{color:#f97316}.kana-script-sub{color:#f7f3ea8c;font-family:Noto Sans JP,sans-serif;font-size:15px}.kana-mode-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.kana-mode-strip{background:#ffffff0a;border:1px solid #ffffff17;border:1px solid var(--border,#ffffff17);border-radius:12px;display:flex;gap:4px;padding:4px;width:-webkit-fit-content;width:fit-content}.kana-fullscreen-btn{flex-shrink:0;height:42px;justify-content:center;padding:0;width:42px}@media (max-width:900px){.kana-head-row{align-items:stretch}.kana-mode-toolbar{width:100%}}@media (max-width:768px){.kana-script-toggle{align-items:stretch;flex-wrap:nowrap;width:100%}.kana-script-toggle>.kana-script-card{flex:1 1;min-width:0;padding:10px 14px}}.fb-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:18px}.fb-head h1{font-size:23px;font-weight:900;letter-spacing:-.02em}.fb-head p{color:#f7f3ea80;font-size:13.5px;margin-top:4px}.fb-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.fb-filter{background:#0000;border:1px solid #ffffff1a;border-radius:100px;color:#f7f3ea99;cursor:pointer;font-size:12.5px;font-weight:800;padding:6px 14px;transition:all .18s}.fb-filter:hover{border-color:#f9731659;color:#f7f3ea}.fb-filter.active{background:#f9731621;border-color:#f9731673;color:#f97316}.fb-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;color:#ef4444;font-size:13px;margin-bottom:16px;padding:11px 15px}.fb-list{display:flex;flex-direction:column;gap:11px}.fb-item{padding:16px 18px}.fb-item.resolved{opacity:.55}.fb-item-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.fb-tag{align-items:center;border-radius:100px;display:inline-flex;font-size:11px;font-weight:900;gap:5px;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.fb-tag.bug{background:#ef44441f;border:1px solid #ef444447;color:#ef4444}.fb-tag.suggestion{background:#eab3081f;border:1px solid #eab30847;color:#eab308}.fb-who{align-items:baseline;color:#f7f3ea;display:flex;font-size:13px;font-weight:800;gap:7px;min-width:0}.fb-who em{color:#f7f3ea73;font-size:12px;font-style:normal;font-weight:600}.fb-when{color:#f7f3ea66;font-size:12px;margin-left:auto;white-space:nowrap}.fb-message{color:#f7f3ead9;font-size:14px;line-height:1.6;margin-bottom:12px;white-space:pre-wrap;word-break:break-word}.fb-item-foot{gap:12px;justify-content:space-between}.fb-item-foot,.fb-meta{align-items:center;display:flex;flex-wrap:wrap}.fb-meta{gap:10px;min-width:0}.fb-meta code{background:#f973161a;border-radius:6px;color:#fb923c;font-size:11.5px;padding:3px 8px}.fb-meta small{color:#f7f3ea59;font-size:11.5px}.fb-item-actions{display:flex;gap:7px;margin-left:auto}.fb-item-actions .btn-ghost{font-size:12px;padding:6px 12px}.fb-delete{border-color:#ef444447;color:#ef4444}.fb-delete:hover{background:#ef44441f;border-color:#ef444480}.acct-fb-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.acct-fb-type{background:#0000;border:1px solid #ffffff1a;border-radius:10px;color:#f7f3ea99;cursor:pointer;font-size:13px;font-weight:800;padding:8px 15px;transition:all .18s}.acct-fb-type:hover{border-color:#f9731659;color:#f7f3ea}.acct-fb-type.active{background:#f973161f;border-color:#f9731673;color:#f97316}.acct-textarea{background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;color:#f7f3ea;font-family:Nunito,sans-serif;font-size:14px;line-height:1.6;padding:12px 14px;resize:vertical;width:100%}.acct-textarea:focus{border-color:#f9731680;outline:none}.acct-textarea::placeholder{color:#f7f3ea4d}.acct-ok{align-items:center;color:#22c55e;display:flex;gap:6px}.acct-error,.acct-ok{font-size:13px;margin-top:10px}.acct-error{color:#ef4444}.landing-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);height:62px;justify-content:space-between;left:0;padding:0 40px;position:fixed;right:0;top:0;transition:background .3s,border-color .3s;z-index:1000}.hero-section,.landing-nav{align-items:center;display:flex}.hero-section{justify-content:center;min-height:100vh;overflow:hidden;padding:110px 24px 70px;position:relative;text-align:center}.stats-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 auto;max-width:800px;text-align:center}.features-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.landing-footer{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:26px 40px}@media (max-width:768px){.landing-nav{padding:0 16px}.landing-nav .nav-buttons{gap:6px!important}.landing-nav .btn-ghost,.landing-nav .btn-primary{font-size:13px!important;padding:8px 12px!important}.hero-section{padding:100px 16px 60px}.hero-section h1{letter-spacing:-1.5px!important;margin-bottom:12px!important}.hero-section p{font-size:16px!important;margin-bottom:28px!important}.stats-grid{gap:24px;grid-template-columns:1fr 1fr}.features-grid{grid-template-columns:1fr}.landing-footer{flex-direction:column;padding:32px 24px;text-align:center}.landing-footer .footer-links{justify-content:center;width:100%}}@media (max-width:480px){.landing-nav .brand-text{display:none}.hero-section .hero-badge{font-size:11px!important;padding:4px 10px!important}.stats-grid{gap:16px}.stats-grid div div:first-child{font-size:26px!important}}.practice-test-take{background:#10191d;color:#f7f3ea;display:flex;height:100vh}.test-column{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.test-header{align-items:center;background:#131f24;border-bottom:1px solid #ffffff1f;display:flex;gap:14px;padding:12px 20px;z-index:10}.test-nav-toggle{align-items:center;background:#ffffff0d;border:1px solid #ffffff17;border-radius:10px;color:#f7f3eabf;cursor:pointer;display:inline-flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.test-nav-toggle:hover{background:#ffffff17;color:#f7f3ea}.btn-exit svg,.test-nav-toggle svg{flex-shrink:0}@media (min-width:1025px){.test-nav-toggle{display:none}}.test-brand{align-items:center;color:#f7f3ea;display:inline-flex;flex-shrink:0;gap:9px;text-decoration:none}.test-brand svg{color:#f97316}.test-brand span{font-size:17px;font-weight:900;letter-spacing:-.3px}.test-brand em{color:#f97316;font-style:normal}.test-header-actions{align-items:center;display:flex;gap:10px;margin-left:auto}.test-header-actions .btn-submit{font-size:14px;padding:10px 20px}.test-info{align-items:center;display:flex;gap:16px}.test-info h2{color:#f7f3ea;font-size:20px;font-weight:800;letter-spacing:-.3px;margin:0}.btn-exit{align-items:center;border:1px solid #ffffff1a;border-radius:10px;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:700;height:38px;justify-content:center;padding:0;transition:all .2s;width:38px}.btn-exit:hover{background:#ef44441a;border-color:#ef444433;color:#ef4444}.section-tabs{background:#131f24;border-bottom:1px solid #ffffff1f;display:flex;padding:0 32px}.tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#f7f3ea57;cursor:pointer;display:flex;flex:1 1;flex-direction:row;gap:9px;justify-content:center;padding:8px 12px;transition:all .2s}.tab.active{background:#f973160d;border-bottom-color:#f97316;color:#f97316}.tab-name{font-size:13px;font-weight:700;white-space:nowrap}.tab-time{background:#ffffff0d;border-radius:6px;font-family:monospace;font-size:12px;font-weight:700;padding:2px 7px}.tab.active .tab-time{background:#f9731624}.tab-time.warning{animation:pulse 1s infinite;color:#ef4444}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.questions-container{background:#10191d;flex:1 1;overflow-y:auto;padding:40px 20px}.questions-paper{background:#131f24;border:1px solid #ffffff14;border-radius:20px;box-shadow:0 8px 32px #0003;margin:0 auto;max-width:900px;padding:40px}.questions-paper h3{border-bottom:1px solid #ffffff1a;color:#f7f3ea;font-size:24px;font-weight:900;margin-bottom:32px;margin-top:0;padding-bottom:20px}.audio-player{background:#19242b;border:1px solid #ffffff0d;border-radius:12px;margin:0 0 32px;padding:20px}.audio-player audio{filter:invert(100%) hue-rotate(180deg) brightness(1.5);width:100%}.questions-list{display:flex;flex-direction:column;gap:40px}.question-block{background:#0000;padding:0}.question-number{color:#f97316;font-size:12px;font-weight:800;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.question-image{border:1px solid #ffffff1a;border-radius:12px;margin:16px 0;overflow:hidden}.question-image img{display:block;max-width:100%}.question-text{color:#f7f3ea;font-size:17px;font-weight:600;line-height:1.6;margin-bottom:20px}.options{display:flex;flex-direction:column;gap:10px}.option{align-items:center;background:#19242b;border:1px solid #ffffff14;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s}.option:hover{background:#f973160d;border-color:#f9731666}.option.selected{background:#f973161a;border-color:#f97316;box-shadow:0 0 0 1px #f97316}.option input{accent-color:#f97316;height:18px;width:18px}.option-text{color:#f7f3ea;flex:1 1;font-size:15px;font-weight:500}.btn-cancel{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;color:#f7f3eaad;cursor:pointer;font-weight:700;padding:12px 24px}.btn-submit{background:#f97316;border:none;border-radius:10px;box-shadow:0 4px 12px #f9731633;color:#fff;cursor:pointer;font-weight:800;padding:12px 32px}.btn-submit:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#19242b;border:1px solid #ffffff1a;border-radius:20px;max-width:400px;padding:32px;text-align:center;width:90%}.modal-content h3{color:#f7f3ea;font-size:22px;font-weight:800;margin-top:0}.modal-content p{color:#f7f3eaad;line-height:1.6;margin-bottom:24px}.modal-buttons{display:flex;gap:12px}.modal-buttons button{flex:1 1}@media (max-width:1024px){.test-nav-toggle{display:inline-flex}}@media (max-width:768px){.test-header{padding:12px 16px}.test-header,.test-info{flex-wrap:wrap;gap:10px}.test-info h2{font-size:17px}.section-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:0 8px}.tab{flex-direction:column;gap:3px;min-width:104px;padding:7px 8px}.tab-name{font-size:12px}.questions-container{padding:20px 12px}.questions-paper{border-radius:14px;padding:22px 16px}.questions-paper h3{font-size:20px;margin-bottom:24px}.question-text{font-size:16px}.option{padding:14px 12px}.test-brand span,.test-info{display:none}.test-header-actions .btn-submit{font-size:13px;padding:10px 16px}.modal-buttons{flex-direction:column}.modal-content{padding:24px 20px}}.resume-box{max-width:420px}.resume-icon{align-items:center;background:#f973161f;border:1px solid #f9731642;border-radius:15px;color:#f97316;display:inline-flex;height:50px;justify-content:center;margin-bottom:14px;width:50px}.resume-times{border:1px solid #ffffff14;border-radius:11px;list-style:none;margin:18px 0 4px;overflow:hidden;text-align:left}.resume-times li{align-items:center;background:#ffffff08;border-bottom:1px solid #ffffff0d;display:flex;font-size:13px;justify-content:space-between;padding:9px 13px}.resume-times li:last-child{border-bottom:none}.resume-times span{color:#f7f3ea99;font-weight:700}.resume-times em{color:#f7f3ea;font-family:monospace;font-style:normal;font-weight:700}.practice-test-results{color:#f7f3ea;margin:0 auto;max-width:1000px;padding:40px 24px}.results-container,.review-container{background:#131f24;border:1px solid #ffffff14;border-radius:20px;box-shadow:0 8px 32px #0003;padding:40px}.results-header{margin-bottom:32px;text-align:center}.results-header h1{color:#f7f3ea;font-size:32px;font-weight:900;letter-spacing:-1px;margin:0}.test-title{color:#f97316;font-size:18px;font-weight:700;margin:8px 0 0}.score-display{margin:40px 0}.score-circle,.score-display{display:flex;justify-content:center}.score-circle{align-items:center;border-radius:50%;box-shadow:0 0 30px #0000004d;color:#fff;font-size:40px;font-weight:900;height:180px;position:relative;width:180px}.score-circle:after{border:2px solid;border-radius:50%;bottom:-8px;content:"";left:-8px;opacity:.2;position:absolute;right:-8px;top:-8px}.score-circle.green{background:#22c55e;color:#fff}.score-circle.orange{background:#f97316;color:#fff}.score-circle.red{background:#ef4444;color:#fff}.overall-stats{grid-gap:20px;background:#19242b;border:1px solid #ffffff0d;border-radius:16px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:40px;padding:24px}.stat{align-items:center;display:flex;flex-direction:column;gap:8px}.stat .label{color:#f7f3ea57;font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.stat .value{color:#f7f3ea;font-size:24px;font-weight:800}.section-scores{margin:40px 0}.section-scores h3{border-bottom:1px solid #ffffff1a;color:#f7f3ea;font-size:20px;font-weight:800;margin-bottom:24px;margin-top:0;padding-bottom:16px}.section-score{background:#19242b;border:1px solid #ffffff0d;border-radius:12px;margin-bottom:20px;padding:20px}.section-info{display:flex;justify-content:space-between;margin-bottom:12px}.section-name{color:#f7f3ea;font-weight:700}.section-details{color:#f7f3eaad;font-size:14px;font-weight:600}.score-bar{background:#ffffff0d;border-radius:10px;height:12px;overflow:hidden}.score-fill{border-radius:10px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.score-bar.green .score-fill{background:#22c55e}.score-bar.orange .score-fill{background:#f97316}.score-bar.red .score-fill{background:#ef4444}.results-actions{display:flex;gap:12px;margin-top:32px}.results-actions button{border:1px solid #0000;border-radius:12px;cursor:pointer;flex:1 1;font-size:14px;font-weight:800;padding:14px;transition:all .2s}.btn-review{background:#f97316;color:#fff}.btn-history{background:#3b82f61a;border-color:#3b82f633!important;color:#3b82f6}.btn-exit{background:#ffffff0d;border-color:#ffffff1a!important;color:#f7f3eaad}.review-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.review-header h2{font-size:24px;font-weight:900;margin:0}.review-tabs{display:flex;gap:8px;margin-bottom:32px}.review-tabs .tab{background:#19242b;border:1px solid #ffffff1a;border-radius:8px;color:#f7f3eaad;cursor:pointer;font-weight:700;padding:8px 16px}.review-tabs .tab.active{background:#f97316;border-color:#f97316;color:#fff}.review-question{background:#19242b;border:1px solid #ffffff14;border-radius:16px;margin-bottom:20px;padding:24px}.review-question.correct{border-left:4px solid #22c55e}.review-question.incorrect{border-left:4px solid #ef4444}.question-header{display:flex;justify-content:space-between;margin-bottom:16px}.result-badge{font-size:12px;font-weight:800;text-transform:uppercase}.result-badge.correct{color:#22c55e}.result-badge.incorrect{color:#ef4444}.correct-answer,.user-answer{background:#ffffff08;border-radius:8px;margin-top:8px;padding:12px 16px}.user-answer .label{color:#f7f3ea57;font-size:11px;font-weight:800}.answer-text{color:#f7f3ea;font-weight:700;margin-left:12px}@media (max-width:768px){.practice-test-results{padding:24px 14px}.results-container,.review-container{border-radius:16px;padding:24px 18px}.results-header h1{font-size:26px}.score-circle{font-size:34px;height:150px;width:150px}.overall-stats{gap:16px;grid-template-columns:1fr;padding:18px}.stat .value{font-size:21px}.results-actions{flex-direction:column}.results-actions button{padding:13px}.review-tabs{flex-wrap:wrap}.review-header{align-items:flex-start;flex-direction:column;gap:10px}.review-question{padding:18px 16px}.question-header{flex-direction:column;gap:6px}}.anim-fade-up{animation:ks-fade-up .4s ease-out}@keyframes ks-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.anim-pop{animation:ks-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes ks-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-box::-webkit-scrollbar{width:6px}.modal-box::-webkit-scrollbar-track{background:#0000}.modal-box::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.modal-box::-webkit-scrollbar-thumb:hover{background:#fff3}.ks-table th{color:#f7f3ea57;font-size:11px;letter-spacing:1px;text-transform:uppercase}input[type=radio]{accent-color:#f97316;cursor:pointer}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff1a;border-radius:50%;border-top-color:#f97316;display:inline-block;height:24px;width:24px}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.83acc731.css.map*/