@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Shippori+Mincho:wght@500;600;700&display=swap";.reading-page{max-width:900px}.reading-intro{margin-bottom:2.7rem}.story-library-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.story-library-heading h2{margin:.3rem 0 0;color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.45rem;font-weight:500}.story-library-heading>span{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.54rem}.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.story-card{display:flex;min-height:12rem;flex-direction:column;align-items:flex-start;padding:1.05rem;border:1px solid hsl(var(--border));border-radius:1rem;color:hsl(var(--foreground));background:#302218ad;text-align:left}.story-card.is-unavailable{cursor:not-allowed;opacity:.78}.story-card.is-ready{border-color:hsl(var(--primary) / .42);background:linear-gradient(145deg,#302244d1,#32271ab8);box-shadow:0 16px 36px #04061229,0 0 30px hsl(var(--primary) / .05);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.story-card.is-ready:hover{border-color:hsl(var(--primary) / .78);box-shadow:0 20px 42px #0406123b,0 0 34px hsl(var(--primary) / .1);transform:translateY(-3px)}.story-card-topline,.story-card-detail,.story-card-footer{display:flex;align-items:center;width:100%}.story-card-topline{justify-content:space-between}.story-number,.story-status,.story-card-detail,.story-card-footer{font-family:var(--app-font-mono);font-size:.51rem}.story-number{color:hsl(var(--gold));letter-spacing:.1em}.story-status{color:hsl(var(--muted-foreground));letter-spacing:.08em}.story-card-title{margin:2.4rem 0 .55rem;color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.7rem;font-weight:500}.story-card-english{margin-top:-.32rem;color:hsl(var(--primary));font-family:var(--app-font-mono);font-size:.57rem}.story-card-detail{gap:.35rem;color:hsl(var(--muted-foreground))}.story-card-dot{color:hsl(var(--primary))}.story-card-description{margin-top:.85rem;color:hsl(var(--muted-foreground));font-size:.68rem;line-height:1.5}.story-card-footer{gap:.42rem;margin-top:auto;padding-top:1.1rem;color:hsl(var(--primary))}.story-card-footer svg:last-child{margin-left:auto;color:hsl(var(--muted-foreground))}.reading-story-page{max-width:820px;margin:0 auto;padding:2rem 0 4rem}.story-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:3.5rem 0 2rem}.story-header h1{margin:.55rem 0 .25rem;color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:clamp(2.7rem,7vw,4.55rem);font-weight:500;letter-spacing:-.07em;line-height:1}.story-english-title{margin:0;color:hsl(var(--primary));font-family:var(--app-font-mono);font-size:.67rem;letter-spacing:.06em}.story-difficulty{display:inline-flex;margin-top:1rem;padding:.38rem .6rem;border:1px solid hsl(var(--gold) / .3);border-radius:99px;color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.52rem}.story-header-mark{display:grid;place-items:center;width:3.25rem;height:3.25rem;border:1px solid hsl(var(--primary) / .42);border-radius:1rem;color:hsl(var(--primary));background:hsl(var(--primary) / .08);box-shadow:0 0 28px hsl(var(--primary) / .08)}.reading-controls{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem;padding:.7rem;border:1px solid hsl(var(--border) / .9);border-radius:.9rem;background:#2d2016ad;box-shadow:0 12px 32px #0f08041f}.reading-controls-label{padding:0 .25rem;color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.5rem;letter-spacing:.12em;white-space:nowrap}.reading-mode-buttons{display:flex;flex:1;gap:.35rem}.reading-mode-buttons button{min-height:2.35rem;flex:1;padding:0 .6rem;border:1px solid hsl(var(--border));border-radius:.55rem;color:hsl(var(--muted-foreground));background:#21171061;font-size:.65rem;transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}.reading-mode-buttons button:hover{border-color:hsl(var(--primary) / .52);color:hsl(var(--foreground));transform:translateY(-1px)}.reading-mode-buttons button.is-active{border-color:hsl(var(--primary) / .78);color:hsl(var(--primary-foreground));background:hsl(var(--primary));box-shadow:0 6px 16px hsl(var(--primary) / .14)}.reading-mode-note{min-width:7.5rem;margin:0;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.49rem;text-align:right}.story-reading-card{position:relative;padding:1.35rem clamp(1rem,4vw,2.5rem) 1.15rem;border:1px solid hsl(var(--border) / .9);border-radius:1.15rem;background:linear-gradient(155deg,#362519d6,#281f15bd);box-shadow:0 24px 70px #0f08042e}.story-reading-topline{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid hsl(var(--border) / .65);color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.5rem;letter-spacing:.07em}.story-reading-topline span:first-child{color:hsl(var(--primary))}.story-text{padding:1.65rem 0 1.1rem}.story-sentence{margin:0;color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:clamp(1.18rem,2.5vw,1.52rem);letter-spacing:.025em;line-height:2.35}.story-sentence+.story-sentence{margin-top:.2rem}.story-sentence ruby{ruby-position:over}.story-sentence rt{color:hsl(var(--primary));font-family:var(--app-font-sans);font-size:.48em;letter-spacing:0}.story-word{display:inline;min-height:2rem;padding:.08rem;border:0;border-radius:.3rem;color:inherit;background:transparent;font:inherit;line-height:inherit;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease;-webkit-tap-highlight-color:transparent}.story-word:hover,.story-word:focus-visible,.story-word.is-selected{color:hsl(var(--primary));background:hsl(var(--primary) / .1);box-shadow:0 0 0 3px hsl(var(--primary) / .045)}.story-sentence-romaji{font-family:var(--app-font-mono);font-size:clamp(.78rem,2vw,.98rem);letter-spacing:.01em;line-height:2.05}.story-sentence-romaji .story-word{padding-right:.14rem;padding-left:.14rem}.translation-sentence{color:hsl(var(--foreground) / .9);font-family:var(--app-font-sans);font-size:clamp(.93rem,2vw,1.12rem);letter-spacing:0;line-height:1.8}.translation-sentence+.translation-sentence{margin-top:.72rem}.word-info-popover{position:absolute;z-index:20;width:min(15rem,calc(100vw - 1.5rem));margin:0;padding:.62rem .7rem;border:1px solid hsl(var(--primary) / .45);border-radius:.85rem;background:#261b13f5;box-shadow:0 18px 45px #0f08045c,0 0 28px hsl(var(--primary) / .08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:reading-popover-in .2s ease both}@keyframes reading-popover-in{0%{opacity:0}to{opacity:1}}.word-info-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.word-info-heading>div:first-child{display:flex;flex-direction:column;gap:.16rem}.word-info-label{color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.45rem;letter-spacing:.13em}.word-info-heading strong{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.25rem;font-weight:500}.word-info-actions{display:flex;gap:.2rem}.favourite-button,.word-info-close{display:grid;place-items:center;width:1.75rem;height:1.75rem;border:1px solid hsl(var(--border));border-radius:.52rem;color:hsl(var(--muted-foreground));background:#c49c6c14}.favourite-button:hover,.favourite-button.is-favourite{border-color:hsl(var(--gold) / .62);color:hsl(var(--gold))}.word-info-close:hover{color:hsl(var(--foreground));border-color:hsl(var(--primary) / .5)}.word-info-popover dl{display:grid;gap:.28rem;margin:.52rem 0 .38rem}.word-info-popover dl div{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.33rem .42rem;border:1px solid hsl(var(--border) / .7);border-radius:.5rem;background:#080c1b38}.word-info-popover dt{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.45rem;text-transform:uppercase}.word-info-popover dd{margin:0;color:hsl(var(--foreground));font-size:.62rem;text-align:right;line-height:1.35}.word-info-type{color:hsl(var(--violet));font-family:var(--app-font-mono);font-size:.48rem;text-transform:uppercase}.story-reading-footer{display:flex;align-items:center;gap:.42rem;padding-top:.95rem;border-top:1px solid hsl(var(--border) / .65);color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.5rem}.story-reading-footer svg{color:hsl(var(--gold))}@media(max-width:700px){.story-library-heading{align-items:flex-start;flex-direction:column;gap:.35rem}.story-grid{grid-template-columns:1fr}.reading-story-page{padding-top:.45rem}.story-header{margin-top:2.8rem}.story-header-mark{width:2.7rem;height:2.7rem}.reading-controls{align-items:stretch;flex-direction:column;gap:.55rem;padding:.7rem}.reading-controls-label{padding:0 .15rem}.reading-mode-buttons{width:100%}.reading-mode-buttons button{min-height:2.7rem;padding:0 .35rem}.reading-mode-note{min-width:0;text-align:left}.story-reading-card{padding-right:.95rem;padding-left:.95rem}.story-text{padding-top:1.25rem}.story-sentence{font-size:1.16rem;line-height:2.45}.story-sentence-romaji{font-size:.77rem;line-height:2.1}.word-info-popover{width:min(15rem,calc(100vw - 1.5rem))}}.word-of-day-only{grid-template-columns:1fr}.holo-sprite{display:block;height:clamp(300px,52vh,520px);width:auto;filter:drop-shadow(0 22px 30px rgba(20,8,3,.55));opacity:0;transform:translateY(16px) scale(.985);transition:opacity .5s ease,transform .5s ease}.holo-sprite.is-entered{opacity:1;transform:translateY(0) scale(1)}.vn-holo{position:relative}.vn-holo:before{position:absolute;inset:-18% -30%;content:"";border-radius:50%;background:radial-gradient(ellipse,rgba(226,152,74,.17),transparent 65%);animation:vn-breathe 5.5s ease-in-out infinite alternate;pointer-events:none}@keyframes vn-breathe{0%{opacity:.6;transform:scale(.97)}to{opacity:1;transform:scale(1.04)}}.vn-scene:before,.vn-scene:after{position:absolute;width:.42rem;height:.64rem;content:"";border:1px solid rgba(224,158,88,.4);border-radius:70% 30%;animation:vn-drift 12s ease-in-out infinite alternate;pointer-events:none}.vn-scene:before{top:12%;right:8%}.vn-scene:after{top:46%;left:6%;animation-delay:-6s}@keyframes vn-drift{0%{transform:translate3d(0,-10px,0) rotate(-10deg)}to{transform:translate3d(30px,46px,0) rotate(40deg)}}.vn-lesson{display:flex;flex-direction:column;min-height:calc(100dvh - 8rem)}.vn-backlink{align-self:flex-start}.vn-scene{position:relative;flex:1;display:flex;align-items:flex-end;justify-content:center;gap:clamp(.8rem,3vw,2.6rem);padding-top:.6rem}.vn-holo{position:relative;z-index:1;flex:0 0 auto;align-self:flex-end}.vn-chat-wrap{position:relative;z-index:2;display:flex;flex:0 1 30rem;flex-direction:column;gap:.65rem;width:min(30rem,100%);margin-bottom:clamp(2.6rem,9vh,5.5rem);min-width:0}.vn-chat{padding:.95rem 1.15rem .9rem;border:1px solid hsl(var(--primary) / .4);border-radius:1rem 1rem 1rem .28rem;background:linear-gradient(150deg,#3c2619f0,#241911f2);box-shadow:0 14px 30px #0f080466;cursor:default;-webkit-user-select:none;user-select:none}.vn-chat-name{margin:0;color:hsl(var(--primary));font-family:var(--app-font-mono);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase}.vn-chat-text{display:inline-block;margin:.45rem 0 0;min-height:3.4em;color:hsl(var(--foreground));font-size:.88rem;line-height:1.65}.vn-chat-dismiss{display:inline-flex;align-items:center;justify-content:center;margin-top:.7rem;padding:.38rem 1rem;border:1px solid hsl(var(--primary) / .5);border-radius:.6rem;color:hsl(var(--primary));background:transparent;font-family:var(--app-font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease}.vn-chat-dismiss:hover{background:hsl(var(--primary) / .14)}.vn-caret{display:inline-block;margin-left:1px;color:hsl(var(--primary));animation:vn-caret-blink .85s steps(1) infinite}@keyframes vn-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.vn-note-stack{display:grid;gap:.45rem}.vn-note{display:flex;align-items:baseline;justify-content:space-between;gap:.9rem;padding:.55rem .85rem;border:1px solid hsl(var(--border) / .8);border-radius:.8rem;background:#281c14a8;animation:vn-note-in .4s ease both}@keyframes vn-note-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.vn-note b{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:.98rem;font-weight:500;white-space:nowrap}.vn-note span{color:hsl(var(--muted-foreground));font-size:.68rem}.vn-choices{display:grid;justify-items:center;gap:.8rem;margin-top:1.1rem;animation:vn-note-in .35s ease both}.vn-choice-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}.vn-choice{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:0 1.4rem;border:1px solid hsl(var(--primary) / .55);border-radius:.75rem;color:hsl(var(--primary-foreground));background:hsl(var(--primary));font-size:.72rem;font-weight:600;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease}.vn-choice:hover,.vn-choice:focus-visible{border-color:hsl(var(--primary) / .8);background:#ec9265;transform:translateY(-2px);outline:none}.vn-choice:active{transform:translateY(0)}.vn-choice.is-secondary{border-color:hsl(var(--border));color:hsl(var(--foreground));background:#be986c14}.vn-choice.is-secondary:hover,.vn-choice.is-secondary:focus-visible{border-color:hsl(var(--primary) / .55);background:#be986c24}.vn-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;width:min(46rem,100%)}.vn-answer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.95rem 1.1rem;border:1px solid hsl(var(--border) / .9);border-radius:.9rem;background:#281c1499;color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.02rem;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.vn-answer small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.56rem;letter-spacing:.08em;text-align:right}.vn-answer:hover:not(:disabled),.vn-answer:focus-visible{border-color:hsl(var(--primary) / .65);background:#3d281b9e;transform:translateY(-1px);outline:none}.vn-answer:active:not(:disabled){transform:translateY(0)}.vn-answer.is-wrong{border-color:#e25c6ebf;background:#601e2e73}.vn-answer.is-right{border-color:#60cd8ab3;background:#1c4a3480}.vn-answer:disabled{cursor:default}@media(max-width:760px){.vn-scene{flex-direction:column;align-items:center;justify-content:flex-end;gap:.4rem}.vn-chat-wrap{order:1;flex-basis:auto;margin-bottom:.4rem}.vn-holo{order:2}.holo-sprite{height:clamp(220px,36vh,320px)}.vn-chat-text{min-height:4.2em}.vn-answer-grid{grid-template-columns:1fr}}.app-shell.is-gate-blurred>*{filter:blur(14px) saturate(.8) brightness(.62);pointer-events:none;-webkit-user-select:none;user-select:none}.wg-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:radial-gradient(ellipse at 50% 42%,transparent 30%,rgba(16,9,4,.55) 100%);animation:wg-fade .45s ease both}@keyframes wg-fade{0%{opacity:0}to{opacity:1}}.wg-scene{display:flex;align-items:flex-end;justify-content:center;gap:clamp(1rem,3.5vw,3rem);width:min(64rem,100%)}.wg-holo{position:relative;flex:0 1 auto;align-self:flex-end;animation:wg-rise .6s cubic-bezier(.2,.8,.3,1) both}.wg-holo:before{position:absolute;inset:-16% -30%;content:"";border-radius:50%;background:radial-gradient(ellipse,rgba(226,152,74,.2),transparent 65%);animation:vn-breathe 5.5s ease-in-out infinite alternate;pointer-events:none}.wg-holo img{width:clamp(240px,30vw,460px);height:clamp(280px,46vh,480px);object-fit:contain;object-position:bottom center}@keyframes wg-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.wg-side{display:flex;flex:0 1 26rem;flex-direction:column;gap:1rem;width:min(26rem,100%);margin-bottom:clamp(3rem,14vh,8rem);min-width:0;animation:wg-rise .6s cubic-bezier(.2,.8,.3,1) .12s both}.wg-chat{border-radius:1rem 1rem .28rem}.wg-chat-text{display:inline-block;margin:.45rem 0 0;min-height:3.4em;color:hsl(var(--foreground));font-size:.92rem;line-height:1.65}.wg-choices{display:flex;flex-direction:column;gap:.6rem}.wg-choice{display:flex;align-items:center;gap:.85rem;padding:.8rem 1rem;border:1px solid rgba(224,152,96,.42);border-radius:.85rem;color:hsl(var(--foreground));text-align:left;background:linear-gradient(150deg,#3c2619eb,#241911f0);box-shadow:0 10px 24px #0f080461;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease,background-color .2s ease}.wg-choice svg{flex:none;color:hsl(var(--gold))}.wg-choice b{display:block;font-size:.95rem;font-weight:600;letter-spacing:.01em}.wg-choice small{display:block;margin-top:.12rem;color:hsl(var(--muted-foreground));font-size:.68rem}.wg-choice:hover,.wg-choice:focus-visible{border-color:#f0b26ed9;transform:translate(4px);box-shadow:0 14px 30px #0f080480;outline:none}.wg-choice:focus-visible{border-color:hsl(var(--gold))}.wg-choice-quiet{border-color:#e0986038;background:linear-gradient(150deg,#302116c7,#1e160fd1)}.wg-choice-quiet small{color:hsl(var(--muted-foreground) / .8)}@media(max-width:720px){.wg-scene{flex-direction:column;align-items:center;gap:.6rem}.wg-holo img{width:clamp(150px,44vw,220px);height:clamp(190px,32vh,250px)}.wg-side{margin-bottom:0}.wg-chat{border-radius:1rem}}.kana-setbar{display:flex;flex-wrap:wrap;gap:.5rem;margin:.35rem 0 1.1rem}.kana-settab{padding:.5rem .95rem;border:1px solid rgba(224,152,96,.35);border-radius:.7rem;color:hsl(var(--muted-foreground));background:#3021168c;font-size:.78rem;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}.kana-settab:hover{color:hsl(var(--foreground));border-color:#e0986099;transform:translateY(-1px)}.kana-settab.is-active{color:hsl(var(--foreground));border-color:#f0b26ecc;background:linear-gradient(150deg,#e9a35a33,#5d3a1e47);box-shadow:inset 0 0 0 1px #140a044d}.kana-settab-back{margin-left:auto;border-style:dashed;color:hsl(var(--gold))}.kana-ready-row{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.25rem}.kana-ready{position:relative;display:inline-flex;align-items:center;gap:.75rem;align-self:flex-start;padding:.55rem 1rem .55rem .55rem;border:1px solid rgba(224,152,96,.45);border-radius:.85rem;color:hsl(var(--foreground));background:linear-gradient(150deg,#3c2619e6,#241911f0);box-shadow:0 8px 20px #0f080459;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.kana-ready:hover:not(:disabled){border-color:#f0b26ed9;transform:translateY(-2px);box-shadow:0 12px 26px #0f080473}.kana-ready:disabled{cursor:default}.kana-ready.is-done{border-color:#f0b26e8c}.kana-ready-holo{display:grid;place-items:end center;width:3.4rem;height:3.4rem;border:1px solid rgba(224,152,96,.35);border-radius:.6rem;background:radial-gradient(ellipse at 50% 30%,#e9a35a2e,#1e140c99);overflow:hidden}.kana-holo-mini{width:auto!important;height:2.6rem!important;object-fit:contain;margin-bottom:-.15rem;filter:drop-shadow(0 3px 6px rgba(20,10,4,.5))}.kana-ready-copy b{display:block;font-size:.88rem;font-weight:600}.kana-ready-copy small{display:block;margin-top:.1rem;color:hsl(var(--muted-foreground));font-size:.64rem;letter-spacing:.04em}.kana-ready-check{color:hsl(var(--gold))}.kana-chat{max-width:34rem;animation:kana-pop .35s cubic-bezier(.2,.8,.3,1.2) both}.kana-holo-row{display:flex;align-items:flex-end;gap:.9rem;animation:kana-pop .4s ease both}.kana-holo-sprite{width:92px;flex-shrink:0}@keyframes kana-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.kana-board{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:1px solid rgba(198,158,110,.18);border-radius:1rem;background:#1c130c73}.kana-row{display:grid;grid-template-columns:2.7rem repeat(5,minmax(0,1fr));gap:.4rem}.kana-rowlabel{display:grid;place-items:center;border:1px solid transparent;border-radius:.6rem;color:hsl(var(--gold));font-family:var(--app-font-serif);font-size:1.02rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.kana-rowlabel:hover{border-color:#e0986066;background:#e9a35a14}.kana-rowlabel.is-complete{color:hsl(var(--gold));border-color:#f0b26e8c;background:#e9a35a24}.kana-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.08rem;min-height:3.4rem;padding:.4rem .3rem;border:1px solid rgba(198,158,110,.16);border-radius:.6rem;color:hsl(var(--foreground));background:#2e211666;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.kana-cell b{font-size:1.28rem;font-weight:500;line-height:1.15}.kana-cell small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.56rem;letter-spacing:.08em}.kana-cell:hover{border-color:#e098608c;background:#e9a35a1a;transform:translateY(-1px)}.kana-cell.is-selected{border-color:#f0b26ed9;background:linear-gradient(160deg,#e9a35a38,#5d3a1e4d);box-shadow:0 0 0 1px #f0b26e59,0 6px 14px #140a0459}.kana-cell.is-selected small{color:hsl(var(--gold))}.kana-cell-empty{pointer-events:none;background:transparent;border-style:dashed;border-color:#c69e6e12}.kana-note{display:flex;align-items:center;gap:.5rem;margin-top:1rem;color:hsl(var(--muted-foreground));font-size:.74rem}.kana-note svg{color:hsl(var(--gold));flex:none}.kana-row:has(.kana-cell-empty+.kana-cell+.kana-cell+.kana-cell+.kana-cell:only-child){grid-template-columns:2.7rem repeat(5,minmax(0,1fr))}@media(max-width:640px){.kana-row{grid-template-columns:2rem repeat(5,minmax(0,1fr));gap:.3rem}.kana-cell{min-height:2.8rem;padding:.3rem .15rem}.kana-cell b{font-size:1.05rem}.kana-cell small{font-size:.5rem}}@media(prefers-reduced-motion:reduce){.kana-chat{animation:none}}.kana-ask-holo{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;padding:.42rem .8rem;border:1px dashed rgba(224,152,96,.4);border-radius:.65rem;color:hsl(var(--muted-foreground));background:transparent;font-size:.7rem;letter-spacing:.03em;cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.kana-ask-holo:hover{color:hsl(var(--gold));border-color:#f0b26ea6;background:#e9a35a12}.kana-ask-holo[aria-expanded=true]{color:hsl(var(--gold));border-style:solid}.kana-actionbar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;margin-top:1.1rem;padding:.85rem 1rem;border:1px solid rgba(224,152,96,.4);border-radius:.9rem;background:linear-gradient(150deg,#342418f5,#20170ffa);box-shadow:0 -6px 24px #0f080473;animation:kana-pop .3s ease both}.kana-rounds{display:flex;align-items:center;gap:.65rem}.kana-rounds .kicker{margin:0}.kana-roundchips{display:flex;flex-wrap:wrap;gap:.35rem}.kana-roundchip{padding:.34rem .7rem;border:1px solid rgba(224,152,96,.3);border-radius:.55rem;color:hsl(var(--muted-foreground));background:#1c130c80;font-family:var(--app-font-mono);font-size:.68rem;cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.kana-roundchip:hover{color:hsl(var(--foreground));border-color:#e0986099}.kana-roundchip.is-selected{color:hsl(var(--foreground));border-color:#f0b26ecc;background:#e9a35a2e}.kana-learn{flex:none;font-size:.95rem;padding:.7rem 1.5rem}.kana-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1rem}.kana-answer{padding:.8rem 1rem;border:1px solid rgba(198,158,110,.25);border-radius:.7rem;color:hsl(var(--foreground));background:#2e211673;font-family:var(--app-font-mono);font-size:.95rem;letter-spacing:.06em;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.kana-answer:hover:not(:disabled){border-color:#e09860a6;background:#e9a35a1a;transform:translateY(-1px)}.kana-answer.is-right{border-color:#78c882cc;background:#468c5040}.kana-answer.is-wrong{border-color:#dc645acc;background:#963c3247}.kana-answers.is-correct .kana-answer.is-right{box-shadow:0 0 0 1px #78c88266}.kana-answers.is-incorrect .kana-answer.is-wrong{box-shadow:0 0 0 1px #dc645a66}@media(max-width:560px){.kana-answers{grid-template-columns:1fr}.kana-actionbar{position:static}}.roadmap-entry{display:flex;align-items:center;gap:.9rem;width:100%;margin-top:1rem;padding:.95rem 1.15rem;border:1px solid rgba(224,152,96,.4);border-radius:.95rem;color:hsl(var(--foreground));text-align:left;background:linear-gradient(120deg,rgba(233,163,90,.1),transparent 45%),linear-gradient(150deg,#342418d9,#20170feb);cursor:pointer;transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease}.roadmap-entry:hover{border-color:#f0b26ecc;transform:translateY(-2px);box-shadow:0 14px 30px #0f080473}.roadmap-entry-icon{display:grid;place-items:center;flex:none;width:2.6rem;height:2.6rem;border:1px solid rgba(224,152,96,.4);border-radius:.7rem;color:hsl(var(--gold));background:radial-gradient(ellipse at 50% 30%,#e9a35a2e,#1e140c99)}.roadmap-entry-copy b{display:block;font-size:.95rem;font-weight:600;letter-spacing:.01em}.roadmap-entry-copy small{display:block;margin-top:.12rem;color:hsl(var(--muted-foreground));font-size:.68rem}.roadmap-entry-arrow{margin-left:auto;color:hsl(var(--gold));transition:transform .22s ease}.roadmap-entry:hover .roadmap-entry-arrow{transform:translate(4px)}.roadmap-intro{display:flex;align-items:flex-end;gap:clamp(.8rem,3vw,1.8rem);margin:.8rem 0 1.4rem;animation:kana-pop .4s ease both}.roadmap-intro-holo{position:relative;flex:none}.roadmap-intro-holo:before{position:absolute;inset:-14% -26%;content:"";border-radius:50%;background:radial-gradient(ellipse,rgba(226,152,74,.18),transparent 65%);animation:vn-breathe 5.5s ease-in-out infinite alternate;pointer-events:none}.roadmap-intro-holo img{width:clamp(120px,16vw,190px);height:auto}.roadmap-intro-chat{display:flex;flex-direction:column;gap:.7rem;max-width:34rem}.roadmap-intro-chat .vn-chat{border-radius:1rem 1rem .28rem}.roadmap-continue{align-self:flex-end;animation:kana-pop .3s ease both}.roadmap-open-intro{margin-bottom:1rem}.roadmap-path{position:relative;display:flex;flex-direction:column;gap:clamp(1.4rem,4vh,2.6rem);margin-top:.6rem;padding:1.4rem 0 2.2rem}.roadmap-section{display:flex;align-items:center;gap:.9rem;margin-bottom:.4rem}.roadmap-section:before,.roadmap-section:after{content:"";flex:1;height:1px;background:#c69e6e38}.roadmap-section span{padding:.42rem 1.1rem;border:1px solid rgba(240,178,110,.5);border-radius:99px;color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.62rem;letter-spacing:.22em}@media(min-width:761px){.roadmap-path{max-width:34rem;margin-left:auto;margin-right:auto}}.roadmap-node{position:relative;display:flex;width:100%}.roadmap-node-left{justify-content:flex-start}.roadmap-node-right{justify-content:flex-end}.roadmap-nodebtn{position:relative;display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:0;border:0;background:transparent;cursor:pointer}.roadmap-nodebtn:disabled{cursor:default;opacity:.55}.roadmap-nodebtn:not(:disabled):hover .roadmap-bubble,.roadmap-nodebtn:focus-visible .roadmap-bubble{transform:scale(1.06);box-shadow:0 0 0 6px #f0b26e1f,0 10px 30px #0f080480}.roadmap-bubble{display:grid;place-items:center;width:5.4rem;height:5.4rem;border:2px solid rgba(224,152,96,.45);border-radius:50%;color:hsl(var(--foreground));background:radial-gradient(circle at 38% 30%,#46301ef2,#221810fa);box-shadow:0 10px 26px #0f080473,inset 0 2px 6px #ffe2b214;transition:transform .22s ease,box-shadow .22s ease}.roadmap-bubble b{font-family:var(--app-font-serif);font-size:1.55rem;font-weight:500;line-height:1}.roadmap-bubble.is-next{border-color:#f0b26ef2;background:radial-gradient(circle at 38% 30%,#e9a35a66,#5d3a1ed9);box-shadow:0 0 0 5px #f0b26e24,0 0 34px #e9a35a4d;animation:roadmap-pulse 2.4s ease-in-out infinite}@keyframes roadmap-pulse{0%,to{box-shadow:0 0 0 5px #f0b26e1f,0 0 26px #e9a35a3d}50%{box-shadow:0 0 0 9px #f0b26e12,0 0 44px #e9a35a6b}}.roadmap-bubble.is-done{border-color:#78c882b3;color:#a0e6aa;background:radial-gradient(circle at 38% 30%,#3c784bb3,#1a281cf2)}.roadmap-label{display:flex;flex-direction:column;align-items:center;gap:.1rem;text-align:center}.roadmap-label b{color:hsl(var(--foreground));font-size:.78rem;font-weight:600}.roadmap-label small{color:hsl(var(--muted-foreground));font-size:.62rem}.roadmap-nextup{position:absolute;top:-.9rem;left:50%;transform:translate(-50%);padding:.26rem .7rem;border-radius:.6rem;color:#201206;background:linear-gradient(150deg,#f0b26e,#e29a4a);font-size:.62rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;box-shadow:0 6px 16px #e9a35a66}.roadmap-nextup:after{position:absolute;bottom:-.28rem;left:50%;transform:translate(-50%) rotate(45deg);content:"";width:.55rem;height:.55rem;border-radius:2px;background:#e29a4a}.roadmap-lock{position:absolute;right:-.4rem;top:-.3rem;color:hsl(var(--muted-foreground) / .7)}@media(max-width:640px){.study-gate-holo-row,.roadmap-intro{flex-direction:column;align-items:center}.roadmap-bubble{width:4.4rem;height:4.4rem}.roadmap-bubble b{font-size:1.25rem}.roadmap-node-left{justify-content:flex-start;padding-left:8%}.roadmap-node-right{justify-content:flex-end;padding-right:8%}}@media(prefers-reduced-motion:reduce){.roadmap-bubble.is-next{animation:none}}.brand-name{display:block;font-family:var(--app-font-serif);font-size:.92rem;font-weight:600;letter-spacing:.035em;line-height:1.15;background:linear-gradient(175deg,#f6ddae 8%,#e2a75e 55%,#c98a45 90%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 0 rgba(20,10,4,.25)}.brand-name em{font-style:italic;font-weight:500;background:linear-gradient(175deg,#e8c896,#c9924f);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .06em}.brand-jp{display:block;margin-top:.22rem;color:hsl(var(--gold) / .72);font-family:var(--app-font-serif);font-size:.56rem;letter-spacing:.42em}.brand-text:hover .brand-name{background:linear-gradient(175deg,#ffeec9 8%,#f0b76b 55%,#d99a52 90%);-webkit-background-clip:text;background-clip:text}.mobile-topbar .brand-name{font-size:.78rem}.mobile-topbar .brand-jp{letter-spacing:.3em;font-size:.5rem}.dash-jp{margin-left:.55rem;color:hsl(var(--gold) / .6);font-family:var(--app-font-serif);font-size:.42em;font-weight:500;letter-spacing:.24em;vertical-align:.28em;white-space:nowrap}.leaf{position:absolute;top:-6vh;display:block;width:.72rem;height:.72rem;border-radius:0 60%;background:linear-gradient(135deg,#e8a04c,#c96f3b);box-shadow:0 0 6px #e8a04c40;opacity:.8;animation:leaf-fall linear infinite;pointer-events:none}@keyframes leaf-fall{0%{transform:translate3d(0,-8vh,0) rotate(0);opacity:0}6%{opacity:.85}28%{transform:translate3d(3.2vw,26vh,0) rotate(120deg)}52%{transform:translate3d(-2.4vw,52vh,0) rotate(230deg)}78%{transform:translate3d(2.8vw,80vh,0) rotate(320deg)}94%{opacity:.7}to{transform:translate3d(-1vw,108vh,0) rotate(400deg);opacity:0}}.leaf-1{left:4%;animation-duration:13s;animation-delay:-2s;background:linear-gradient(135deg,#e9c46a,#d1913f)}.leaf-2{left:16%;animation-duration:16s;animation-delay:-9s;width:.55rem;height:.55rem;opacity:.65;filter:blur(1px)}.leaf-3{left:27%;animation-duration:11s;animation-delay:-5s;background:linear-gradient(135deg,#c96f3b,#a34e2e)}.leaf-4{left:38%;animation-duration:15s;animation-delay:-12s;width:.85rem;height:.85rem}.leaf-5{left:49%;animation-duration:12s;animation-delay:-3.5s;background:linear-gradient(135deg,#e8a04c,#c96f3b)}.leaf-6{left:61%;animation-duration:17s;animation-delay:-14s;width:.5rem;height:.5rem;opacity:.6;filter:blur(1px);background:linear-gradient(135deg,#b8543f,#8f3d2c)}.leaf-7{left:72%;animation-duration:10s;animation-delay:-7s;background:linear-gradient(135deg,#e9c46a,#c9913f)}.leaf-8{left:83%;animation-duration:14s;animation-delay:-1s;width:.8rem;height:.8rem;background:linear-gradient(135deg,#d98e4a,#b0602f)}.leaf-9{left:92%;animation-duration:12.5s;animation-delay:-10.5s}.leaf-10{left:9%;animation-duration:18s;animation-delay:-15s;width:.6rem;height:.6rem;opacity:.55;filter:blur(1px);background:linear-gradient(135deg,#c96f3b,#93452c)}@media(prefers-reduced-motion:reduce){.leaf{display:none}}.dash-title{background:linear-gradient(175deg,#f6ddae 8%,#e2a75e 55%,#c98a45 90%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 8px rgba(201,138,69,.18))}.dash-title .dash-jp{background:none;-webkit-text-fill-color:initial}.dash-jp{background:linear-gradient(175deg,#e8c896,#c9924f);-webkit-background-clip:text;background-clip:text;color:transparent}.app-shell.theme-light .dash-title,.app-shell.theme-light .brand-name,.app-shell.theme-light .page-header h1 em,.app-shell.theme-light .menu-intro h1 em,.app-shell.theme-light .setup-intro h1 em,.app-shell.theme-light .results-page h1 em,.app-shell.theme-light .placeholder-page h1 em{background:linear-gradient(175deg,#8a5a24 8%,#a3701f 55%,#8a5a1d 92%);-webkit-background-clip:text;background-clip:text}.kicker{color:hsl(var(--gold) / .85)}.page-header h1:lang(ja),.dash-jp,.kanji-reading{font-family:var(--app-font-serif)}.kanji-reading{background:linear-gradient(178deg,#f7e3b8 12%,#e5ac60 52%,#c9883f 90%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 12px rgba(201,138,69,.2))}.result-score strong{background:linear-gradient(178deg,#ffe9bd 12%,#f0b666 55%,#d2924a 92%);-webkit-background-clip:text;background-clip:text;color:transparent}.profile-card h2,.profile-auth h2{font-family:var(--app-font-display);background:linear-gradient(178deg,#f7e3b8 12%,#e5ac60 52%,#c9883f 90%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 8px rgba(201,138,69,.15))}.hero-copy h2{font-family:var(--app-font-display);background:linear-gradient(178deg,#f7e3b8 12%,#e5ac60 52%,#c9883f 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.app-shell.theme-light .page-header h1,.app-shell.theme-light .menu-intro h1,.app-shell.theme-light .setup-intro h1,.app-shell.theme-light .results-page h1,.app-shell.theme-light .placeholder-page h1,.app-shell.theme-light .learning-lesson-heading h1,.app-shell.theme-light .hero-copy h2,.app-shell.theme-light .profile-card h2,.app-shell.theme-light .profile-auth h2,.app-shell.theme-light .result-score strong,.app-shell.theme-light .kanji-reading{background:linear-gradient(178deg,#7c5019 12%,#9c6c1d 52%,#7c4f15 90%);-webkit-background-clip:text;background-clip:text}.dash-title{font-family:var(--app-font-display);font-weight:600;letter-spacing:-.01em}.kana-progress-strip{display:grid;gap:.45rem;margin:.2rem 0 1rem;padding:.7rem .8rem .75rem;border:1px solid rgba(198,158,110,.18);border-radius:.8rem;background:#1c130c73}.kana-progress-copy{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.kana-progress-copy span{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.58rem;letter-spacing:.06em}.kana-progress-copy b{font-family:var(--app-font-mono);font-size:.82rem;font-weight:600;background:linear-gradient(178deg,#f7e3b8 12%,#e5ac60 52%,#c9883f 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.kana-progress-line{display:block;height:5px;overflow:hidden;border-radius:99px;background:hsl(var(--muted))}.kana-progress-line i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,hsl(var(--gold)),hsl(var(--primary)));transition:width .5s ease}.kana-learn-line{position:absolute;right:.35rem;bottom:.3rem;left:.35rem;display:block;height:3px;overflow:hidden;border-radius:99px;background:#c69e6e2e}.kana-learn-line i{display:block;height:100%;border-radius:inherit;transition:width .4s ease}.kana-learn-line .lvl-0{background:transparent}.kana-learn-line .lvl-1{background:hsl(var(--gold) / .55)}.kana-learn-line .lvl-2{background:hsl(var(--gold))}.kana-learn-line .lvl-3{background:linear-gradient(90deg,hsl(var(--gold)),hsl(var(--primary)));box-shadow:0 0 6px #e9a35a8c}.kana-locked{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:26rem;margin:3.5rem auto 0;padding:2.2rem 1.6rem;border:1px solid rgba(224,152,96,.3);border-radius:1.1rem;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(233,163,90,.08),transparent 60%),#281c1299}.kana-locked-icon{display:grid;place-items:center;width:3rem;height:3rem;margin-bottom:.3rem;border:1px solid hsl(var(--gold) / .5);border-radius:50%;color:hsl(var(--gold))}.kana-locked h1{margin:.4rem 0 .2rem;font-family:var(--app-font-display);font-size:clamp(1.9rem,4vw,2.8rem);font-weight:600;background:linear-gradient(178deg,#f7e3b8 12%,#e5ac60 52%,#c9883f 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.kana-locked-copy{margin:.3rem 0 1rem;color:hsl(var(--muted-foreground));font-size:.74rem;line-height:1.65}.kana-locked-copy b{color:hsl(var(--gold));font-weight:600}.kana-locked-bar{display:block;width:100%;height:6px;overflow:hidden;border-radius:99px;background:hsl(var(--muted))}.kana-locked-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,hsl(var(--gold)),hsl(var(--primary)));transition:width .5s ease}.kana-locked-holo{width:auto;height:96px;object-fit:contain;margin-top:.8rem;filter:drop-shadow(0 6px 14px rgba(20,10,4,.5))}.study-gate-holo-row{display:flex;align-items:flex-end;gap:.9rem;margin:.5rem 0 .2rem}.study-gate-chat{text-align:left;min-width:min(19rem,72vw)}.study-gate-chat .vn-chat-text{min-height:0}.study-gate-optout{margin:.35rem 0 1rem;padding:.55rem 1.1rem;border:1px dashed hsl(var(--gold) / .55);border-radius:.7rem;color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.66rem;letter-spacing:.05em;background:transparent;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.study-gate-optout:hover{border-style:solid;background:hsl(var(--gold) / .08);transform:translateY(-1px)}.study-gate-optout:focus-visible{outline:2px solid hsl(var(--gold) / .7);outline-offset:2px}.app-shell.theme-light .roadmap-bubble{border-color:#96642880;color:#4a3520;background:radial-gradient(circle at 38% 30%,#fff4e2f2,#f3e2c4fa);box-shadow:0 8px 22px #78522838,inset 0 2px 6px #fff9}.app-shell.theme-light .roadmap-bubble.is-next{border-color:#be7828f2;background:radial-gradient(circle at 38% 30%,#ffd69ee6,#f7c78aeb);box-shadow:0 0 0 5px #be78281f,0 0 30px #d6944247}.app-shell.theme-light .roadmap-bubble.is-done{border-color:#468c55b3;color:#24512f;background:radial-gradient(circle at 38% 30%,#d6f0daf2,#bee2c4f2)}.app-shell.theme-light .roadmap-nodebtn:not(:disabled):hover .roadmap-bubble,.app-shell.theme-light .roadmap-nodebtn:focus-visible .roadmap-bubble{box-shadow:0 0 0 6px #9664281f,0 10px 26px #7852284d}.app-shell.theme-light .roadmap-section:before,.app-shell.theme-light .roadmap-section:after{background:#78522847}.app-shell.theme-light .roadmap-section span{border-color:#9664288c}.app-shell.theme-light .roadmap-nextup{color:#fff8ec;background:linear-gradient(150deg,#c07c2e,#a96820);box-shadow:0 6px 16px #96602659}.app-shell.theme-light .roadmap-nextup:after{background:#a96820}.app-shell.theme-light .roadmap-intro-holo:before{background:radial-gradient(ellipse,rgba(190,120,40,.16),transparent 65%)}.app-shell.theme-light .roadmap-intro-chat .vn-chat,.app-shell.theme-light .vn-scene .vn-chat{border-color:#96642873;background:linear-gradient(150deg,#fffaf0f5,#f8ecd8f7);box-shadow:0 12px 26px #7852282e}.app-shell.theme-light .roadmap-intro-chat .vn-chat-name,.app-shell.theme-light .vn-scene .vn-chat-name{color:#96611c}.app-shell.theme-light .study-gate-chat{border-color:#96642873;background:linear-gradient(150deg,#fffaf0f5,#f8ecd8f7);box-shadow:0 12px 26px #7852282e}.app-shell.theme-light .study-gate-chat .vn-chat-name{color:#96611c}.app-shell.theme-light .kana-locked{border-color:#96642866;background:radial-gradient(ellipse at 50% 0%,rgba(214,148,66,.1),transparent 60%),#fffbf3d9}.app-shell.theme-light .study-gate-optout{border-color:#96642899;color:#7a5217}.app-shell.theme-light .study-gate-optout:hover{background:#96642814}.vocab-holo-row{display:flex;align-items:flex-end;gap:.9rem;margin:.4rem 0 1rem;animation:kana-pop .4s ease both}.vocab-holo{position:relative;flex:none;width:auto;height:96px;object-fit:contain}.vocab-ask-holo{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 1rem}.vocab-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:26rem;margin:2.5rem auto 0;padding:2rem 1.6rem;border:1px solid rgba(224,152,96,.3);border-radius:1.1rem;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(233,163,90,.08),transparent 60%),#281c1299}.vocab-empty-star{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid hsl(var(--gold) / .5);border-radius:50%;color:hsl(var(--gold))}.vocab-inline-star{display:inline-block;vertical-align:-1px;color:hsl(var(--gold))}.vocab-list{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.2rem}.vocab-row{display:flex;align-items:center;gap:1rem;padding:.7rem .9rem;border:1px solid rgba(224,152,96,.28);border-radius:.8rem;background:linear-gradient(150deg,#3c26198c,#241911b3);transition:border-color .2s ease,transform .2s ease}.vocab-row:hover{border-color:#f0b26e99;transform:translate(2px)}.vocab-jp{display:flex;flex-direction:column;flex:none;min-width:5.2rem;font-family:var(--app-font-serif);font-size:1.25rem;color:hsl(var(--foreground))}.vocab-jp small{color:hsl(var(--muted-foreground));font-size:.66rem}.vocab-meaning{display:flex;flex-direction:column;flex:1;color:hsl(var(--foreground));font-size:.86rem}.vocab-meaning small{color:hsl(var(--muted-foreground));font-size:.66rem}.vocab-remove{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border:1px solid transparent;border-radius:.55rem;color:hsl(var(--muted-foreground));background:transparent;cursor:pointer;transition:color .2s ease,border-color .2s ease}.vocab-remove:hover{border-color:#dc645a80;color:#d7798b}.vocab-quiz-start{align-self:flex-start}.vocab-quiz-reading{margin:.2rem 0 0;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.7rem;letter-spacing:.08em}.app-shell.theme-light .vocab-row{border-color:#96642859;background:linear-gradient(150deg,#fffaf0e6,#f8ecd8f2)}.app-shell.theme-light .vocab-empty{border-color:#96642866;background:radial-gradient(ellipse at 50% 0%,rgba(214,148,66,.1),transparent 60%),#fffbf3d9}.xp-companion{position:fixed;z-index:40;bottom:.7rem;left:.8rem;display:flex;align-items:flex-end;gap:.5rem;pointer-events:none}.xp-companion-figure{display:flex;flex-direction:column;align-items:center;gap:.18rem;flex:none;padding:0;border:0;background:transparent;cursor:pointer}.xp-companion-figure:hover .xp-companion-holo{transform:translateY(-3px)}.xp-companion-figure:focus-visible{outline:2px solid hsl(var(--gold) / .7);outline-offset:3px;border-radius:.6rem}.xp-companion-figure[aria-expanded=true] .xp-companion-holo{transform:translateY(-3px)}.xp-companion-holo{width:auto;height:40px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 8px rgba(15,8,4,.55));transition:transform .3s ease}.xp-companion.is-talking .xp-companion-holo{transform:translateY(-3px)}.xp-companion-bar{display:block;width:44px;height:4px;overflow:hidden;border:1px solid rgba(224,152,96,.4);border-radius:99px;background:#140c06b3}.xp-companion-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,hsl(var(--gold)),hsl(var(--primary)));transition:width .5s ease}.xp-companion-level{color:hsl(var(--gold) / .8);font-family:var(--app-font-mono);font-size:.44rem;letter-spacing:.08em}.xp-companion-chat{position:relative;max-width:13rem;margin-bottom:1.4rem;padding:.5rem .7rem .45rem;border:1px solid rgba(240,178,110,.45);border-radius:.7rem .7rem .7rem .2rem;background:linear-gradient(150deg,#3c2619f5,#241911f7);box-shadow:0 10px 24px #0f080473;opacity:0;transform:translateY(6px) scale(.96);transition:opacity .25s ease,transform .25s ease}.xp-companion.is-talking .xp-companion-chat{opacity:1;transform:translateY(0) scale(1)}.xp-companion.is-leaving .xp-companion-chat{opacity:0;transform:translateY(-4px) scale(.98)}.xp-companion-chat:after{content:"";position:absolute;bottom:.3rem;left:-.32rem;width:.55rem;height:.55rem;transform:rotate(45deg);border-radius:2px;background:#302014fa}.xp-companion-name{display:block;color:hsl(var(--primary));font-family:var(--app-font-mono);font-size:.5rem;letter-spacing:.16em;text-transform:uppercase}.xp-companion-chat p{margin:.2rem 0 0;color:hsl(var(--foreground));font-size:.7rem;line-height:1.5}@media(max-width:700px){.xp-companion{bottom:4.6rem;left:.6rem}.xp-companion-chat{max-width:10.5rem}}.app-shell.theme-light .xp-companion-chat{border-color:#96642873;background:linear-gradient(150deg,#fffaf0f7,#f8ecd8fa);box-shadow:0 10px 24px #78522833}.app-shell.theme-light .xp-companion-chat:after{background:#fcf4e6fc}.app-shell.theme-light .xp-companion-name{color:#96611c}.app-shell.theme-light .xp-companion-bar{border-color:#96642873;background:#fffcf5cc}.listening-groups{display:flex;flex-direction:column;gap:.6rem;margin-top:.4rem}.listening-group{display:flex;align-items:center;gap:1rem;padding:.95rem 1.05rem;border:1px solid rgba(224,152,96,.3);border-radius:.9rem;background:linear-gradient(150deg,#3c26198c,#241911b8);cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.listening-group:hover:not(:disabled){border-color:#f0b26eb3;transform:translateY(-2px);box-shadow:0 10px 24px #0f080466}.listening-group:disabled{opacity:.5;cursor:default}.listening-group-level{flex:none;display:grid;place-items:center;min-width:3.4rem;height:3.4rem;border:1px solid hsl(var(--gold) / .5);border-radius:.75rem;color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.86rem;font-weight:700;letter-spacing:.06em}.listening-group-copy{display:flex;flex:1;flex-direction:column;gap:.18rem;color:hsl(var(--foreground));font-size:.78rem;text-align:left}.listening-group-copy small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.6rem;letter-spacing:.05em}.listening-group-arrow{flex:none;color:hsl(var(--gold) / .7);transition:transform .2s ease}.listening-group:hover .listening-group-arrow{transform:translate(3px)}.listening-player{display:flex;align-items:center;gap:1rem;margin:.6rem 0 1rem;padding:1rem 1.1rem;border:1px solid rgba(224,152,96,.32);border-radius:1rem;background:radial-gradient(ellipse at 12% 20%,rgba(233,163,90,.1),transparent 55%),linear-gradient(150deg,#3c261999,#241911c7)}.listening-play{display:grid;place-items:center;flex:none;width:3.3rem;height:3.3rem;border:1px solid rgba(240,178,110,.6);border-radius:50%;color:#201206;background:linear-gradient(150deg,#f0b26e,#e29a4a);box-shadow:0 8px 20px #e9a35a4d;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.listening-play:hover{transform:scale(1.06);box-shadow:0 10px 26px #e9a35a6b}.listening-player-copy{display:flex;flex:1;flex-direction:column;gap:.3rem;min-width:0}.listening-transcript{margin:0;color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.12rem;line-height:1.7;min-height:1.9em}.listening-subtitle-idle{color:hsl(var(--muted-foreground) / .55);letter-spacing:.1em}.listening-player-note{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.58rem;letter-spacing:.06em}.listening-subtitles{display:inline-flex;align-items:center;gap:.4rem;flex:none;padding:.5rem .85rem;border:1px dashed rgba(224,152,96,.45);border-radius:.7rem;color:hsl(var(--muted-foreground));background:transparent;font-family:var(--app-font-mono);font-size:.62rem;letter-spacing:.05em;cursor:pointer;transition:color .2s ease,border-color .2s ease}.listening-subtitles.is-on{border-style:solid;border-color:#f0b26eb3;color:hsl(var(--gold))}.listening-holo-row{display:flex;align-items:flex-end;gap:.9rem;margin:.2rem 0 1rem;animation:kana-pop .4s ease both}.listening-holo{width:92px}.listening-answer-panel{margin-bottom:1.4rem;padding:1.1rem 1.2rem;border:1px solid rgba(224,152,96,.35);border-radius:1rem;background:#2e201480;box-shadow:0 12px 30px #0000002e}.listening-answer-label{display:block;margin-bottom:.6rem;color:hsl(var(--muted-foreground));font-size:.78rem}.listening-answer-label b{color:hsl(var(--gold));font-weight:600}.listening-answer-field input{width:100%;min-height:3.4rem;font-size:1.05rem;letter-spacing:.03em}.listening-subtitle-modes{display:flex;align-items:center;gap:.45rem;flex:none}.listening-total-note{margin-top:1.1rem;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.66rem;letter-spacing:.05em}.listening-total-note code{color:hsl(var(--gold))}.listening-result-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}@media(max-width:720px){.listening-player{flex-wrap:wrap}.listening-subtitle-modes{width:100%;order:3}}.listening-graded{margin:.7rem 0 0;font-family:var(--app-font-mono);font-size:1.02rem;letter-spacing:.04em;line-height:1.8;word-break:break-word}.listening-graded .is-ok{color:#4dcb82}.listening-graded .is-bad{color:#d46e80;text-decoration:underline wavy rgba(220,100,90,.5)}.listening-graded .is-gap{color:hsl(var(--muted-foreground) / .55);text-decoration:underline dotted rgba(198,158,110,.35)}.listening-live-hint .listening-graded{font-size:.8rem;opacity:.75}.listening-result{margin-top:.9rem;padding:1rem 1.1rem;border:1px solid rgba(224,152,96,.3);border-radius:.9rem;background:#281c128c}.listening-result-head{display:flex;align-items:center;gap:.55rem}.listening-result-head b{color:hsl(var(--foreground));font-size:.9rem}.listening-result-target{color:hsl(var(--muted-foreground));font-size:.72rem}.listening-translation-check{margin:.5rem 0 0;color:hsl(var(--muted-foreground));font-size:.74rem}.listening-result-actions{margin-top:.8rem}.listening-speed-modes{display:flex;align-items:center;gap:.45rem;flex:none}.listening-speed{min-width:3.2rem;justify-content:center;font-variant-numeric:tabular-nums}.listening-next{width:100%;margin-top:.9rem;justify-content:center;letter-spacing:.14em;font-family:var(--app-font-mono)}.listening-next svg{margin-left:.35rem}@media(max-width:720px){.listening-speed-modes{width:100%;order:4}}.app-shell.theme-light .listening-group,.app-shell.theme-light .listening-player{border-color:#96642861;background:linear-gradient(150deg,#fffaf0eb,#f8ecd8f5)}.app-shell.theme-light .listening-result{border-color:#96642859;background:#fffbf3cc}.kana-xp-earned{color:hsl(var(--gold));font-weight:600}.page-lede{font-family:Shippori Mincho,Georgia,serif;font-style:italic;font-size:.8rem;letter-spacing:.015em;background:linear-gradient(120deg,#f6ddaeeb,#e2a75ed9 55%,#c98a45e6);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 14px rgba(226,167,94,.14)}.app-shell.theme-light .page-lede{background:linear-gradient(120deg,#7a5222eb,#9c6c1de0);-webkit-background-clip:text;background-clip:text}.dashboard-page .page-header .page-lede{position:relative;padding-bottom:.2rem}.dashboard-page .page-header .page-lede:after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(226,167,94,.35),transparent)}.activity-subjects{display:grid;gap:.9rem;margin-bottom:1.4rem}.activity-subject{padding:1rem 1.1rem;border:1px solid hsl(var(--primary) / .22);border-radius:1rem;background:linear-gradient(160deg,#3c261959,#24191180);transition:border-color .2s ease,transform .2s ease}.activity-subject:hover{border-color:hsl(var(--primary) / .45);transform:translateY(-1px)}.activity-subject-head{display:flex;align-items:center;gap:.6rem}.activity-subject-head b{font-size:1rem}.activity-subject-head em{margin-left:auto;color:hsl(var(--primary));font-family:var(--app-font-mono);font-size:.78rem;font-style:normal}.activity-subject-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid hsl(var(--primary) / .35);border-radius:.6rem;color:hsl(var(--primary))}.activity-subject-stats{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin:.55rem 0 .8rem;color:hsl(var(--muted-foreground));font-size:.74rem}.activity-subject-stats .is-wrong{color:#e2685a}.activity-subject-stats .is-right{color:#59c084}.activity-subject-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.activity-review-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .6rem;border:1px dashed hsl(var(--primary) / .4);border-radius:.7rem;background:transparent;color:hsl(var(--foreground));font-size:.72rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.activity-review-btn:disabled{opacity:.35;cursor:not-allowed}.activity-review-btn.is-wrong:hover:not(:disabled){border-color:#e2685a99;background:#e2685a1a}.activity-review-btn.is-right:hover:not(:disabled){border-color:#59c08499;background:#59c0841a}.activity-history{margin-top:1.5rem}.activity-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.activity-clear{display:inline-flex;align-items:center;gap:.35rem;border:none;background:transparent;color:hsl(var(--muted-foreground));font-size:.68rem;cursor:pointer;transition:color .2s ease}.activity-clear:hover{color:#e2685a}.activity-empty{color:hsl(var(--muted-foreground));font-size:.8rem}.activity-list{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.activity-list li{display:flex;align-items:center;gap:.7rem;padding:.5rem .8rem;border:1px solid hsl(var(--primary) / .14);border-radius:.7rem;background:#1e140e59;font-size:.8rem}.activity-entry-prompt{min-width:3.2rem;font-family:var(--app-font-serif);font-size:1.02rem}.activity-entry-detail{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--muted-foreground))}.activity-entry-detail s{opacity:.6}.activity-entry-subject{color:hsl(var(--primary) / .8);font-family:var(--app-font-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.activity-entry-mark.is-right{color:#59c084}.activity-list li.is-wrong .activity-entry-mark{color:#e2685a}.activity-review-reading{margin:-.4rem 0 1rem;color:hsl(var(--muted-foreground));font-size:.85rem}.answer-field.activity-review-field{max-width:26rem}.app-shell.theme-light .activity-subject{background:linear-gradient(160deg,#fffaf0cc,#faf0e0e6)}.app-shell.theme-light .activity-list li{background:#fffcf5b3}@media(max-width:640px){.activity-subject-actions{grid-template-columns:1fr}}.verb-groups-scene{display:flex;align-items:flex-end;gap:1rem;margin:0 0 1.6rem;padding:1.1rem 1rem 1.25rem;border:1px solid rgba(224,152,96,.22);border-radius:1.1rem;background:#261b1380;animation:kana-pop .4s ease both}.verb-groups-holo{flex:0 0 auto;align-self:center}.verb-groups-sprite{width:auto;height:140px;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 10px 22px rgba(0,0,0,.45))}.verb-groups-scene .vn-chat-wrap{flex:1 1 auto;width:auto;margin-bottom:0}.verb-groups-scene .vn-chat{cursor:default}.verb-groups-card{display:grid;gap:.3rem;margin-top:.75rem;padding:.7rem .85rem;border:1px solid rgba(224,152,96,.3);border-left:3px solid rgba(224,152,96,.65);border-radius:.6rem;background:#1e150ea6}.verb-groups-card .kicker{color:hsl(var(--gold))}.verb-groups-card strong{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.06rem;font-weight:500;letter-spacing:.02em}.verb-groups-card em{color:hsl(var(--muted-foreground));font-size:.62rem;font-style:normal;font-family:var(--app-font-mono);letter-spacing:.04em}.verb-groups-card p{margin:0;color:hsl(var(--muted-foreground));font-size:.64rem;line-height:1.55}.verb-groups-continue{margin-top:.65rem;align-self:flex-start}.verb-groups-steps{display:flex;gap:.3rem;margin-top:.8rem}.verb-groups-steps i{height:3px;width:1.1rem;border-radius:2px;background:#e0986038;transition:background-color .3s ease}.verb-groups-steps i.is-on{background:#e09860cc}.verb-groups-check{margin-bottom:1.6rem;animation:kana-pop .4s ease both}.verb-groups-question{display:grid;gap:.25rem;place-items:center;margin:1.1rem 0;padding:1.4rem;border:1px solid rgba(224,152,96,.28);border-radius:1rem;background:#1e150e8c}.verb-groups-question strong{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:2.5rem;font-weight:500}.verb-groups-question small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.62rem;letter-spacing:.05em}.verb-groups-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.verb-groups-option{display:grid;gap:.2rem;padding:.85rem .7rem;border:1px solid hsl(var(--border));border-radius:.8rem;background:#30221899;text-align:center;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.verb-groups-option:hover{transform:translateY(-2px);border-color:hsl(var(--primary) / .6)}.verb-groups-option b{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:.92rem;font-weight:500}.verb-groups-option small{color:hsl(var(--muted-foreground));font-size:.56rem}.verb-groups-option.is-correct{border-color:#78c88ca6;background:#2e5c3e59}.verb-groups-option.is-wrong{border-color:#dc645aa6;background:#60262459}.verb-groups-verdict{display:grid;gap:.55rem;margin-top:1rem;padding:.9rem 1rem;border:1px solid rgba(224,152,96,.3);border-radius:.8rem;background:#1e150e8c;animation:kana-pop .3s ease both}.verb-groups-verdict b{color:hsl(var(--gold));font-size:.82rem}.verb-groups-verdict p{margin:0;color:hsl(var(--muted-foreground));font-size:.64rem}.verb-groups-verdict .primary-button{justify-self:start}.verb-groups-result{margin-bottom:1.6rem;padding:1.2rem 1.3rem;border:1px solid rgba(224,152,96,.32);border-radius:1rem;background:#1e150e8c;animation:kana-pop .4s ease both}.verb-groups-result-line{margin:.8rem 0 1rem;color:hsl(var(--foreground));font-size:.8rem}.verb-groups-result-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.app-shell.theme-light .verb-groups-scene,.app-shell.theme-light .verb-groups-question,.app-shell.theme-light .verb-groups-verdict,.app-shell.theme-light .verb-groups-result{background:#fffcf7cc}.app-shell.theme-light .verb-groups-card{background:#faf3e8e6}.light .listening-answer-panel{border-color:#a0703a59;background:#fff4e4bf;box-shadow:0 12px 26px #60401c1a}.light .listening-result{background:#fff8ece6}.listening-page .page-header .listening-subtitles{margin-top:.4rem}.credits-card{margin-top:.8rem;padding:1.15rem 1.2rem;border:1px solid rgba(224,152,96,.3);border-radius:1rem;background:linear-gradient(150deg,#3c261980,#241911b3);box-shadow:0 14px 30px #0f08044d}.credits-card-head{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem}.credits-card-head h2{margin:0;color:hsl(var(--foreground));font-family:var(--app-font-display);font-size:1.02rem;font-weight:600;letter-spacing:.02em}.credits-card-head p{margin:.15rem 0 0;color:hsl(var(--muted-foreground));font-size:.72rem}.credits-icon{display:grid;place-items:center;flex:none;width:2.6rem;height:2.6rem;border:1px solid hsl(var(--gold) / .5);border-radius:.8rem;color:hsl(var(--gold));background:hsl(var(--gold) / .08)}.credits-voices{display:flex;flex-direction:column;gap:.55rem;margin:0 0 .9rem;padding:0;list-style:none}.credits-voices li{display:flex;align-items:center;gap:.9rem;padding:.7rem .85rem;border:1px solid rgba(224,152,96,.22);border-radius:.8rem;background:#140d0973;transition:border-color .2s ease,transform .2s ease}.credits-voices li:hover{border-color:#f0b26e8c;transform:translate(3px)}.credits-voice-jp{display:grid;place-items:center;flex:none;min-width:3.2rem;padding:.35rem .5rem;border-right:1px solid rgba(224,152,96,.25);color:hsl(var(--gold));font-family:var(--app-font-serif);font-size:.95rem;letter-spacing:.1em}.credits-voice-copy{display:flex;flex-direction:column;gap:.12rem;text-align:left}.credits-voice-copy b{color:hsl(var(--foreground));font-family:var(--app-font-mono);font-size:.78rem;letter-spacing:.05em}.credits-voice-copy small{color:hsl(var(--muted-foreground));font-size:.68rem}.credits-note{margin:0;color:hsl(var(--muted-foreground));font-size:.72rem;line-height:1.6}.credits-note a{display:inline-flex;align-items:center;gap:.25rem;color:hsl(var(--gold));font-weight:600;text-decoration:none;border-bottom:1px dashed hsl(var(--gold) / .45)}.credits-note a:hover{border-bottom-style:solid}.credits-card-muted{background:linear-gradient(150deg,#2c241a80,#1a1610b3)}.credits-about-copy{margin:0 0 .8rem;color:hsl(var(--muted-foreground));font-size:.78rem;line-height:1.7}.credits-footer-note{display:flex;align-items:center;gap:.35rem;margin:0;color:hsl(var(--muted-foreground));font-size:.72rem}.credits-footer-note b{color:hsl(var(--gold));font-weight:700}.credits-footer-note svg{color:hsl(var(--gold) / .8)}.light .credits-card,.app-shell.theme-light .credits-card{border-color:#a0703a59;background:#fff4e4cc;box-shadow:0 12px 26px #60401c1a}.light .credits-voices li,.app-shell.theme-light .credits-voices li{border-color:#a0703a40;background:#fffaf0b3}.sidebar-credits-link{display:flex;align-items:center;gap:.45rem;margin:.8rem .2rem 0;padding:.45rem .6rem;border:1px solid transparent;border-radius:.6rem;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;background:none;cursor:pointer;transition:color .2s ease,border-color .2s ease}.sidebar-credits-link:hover{color:hsl(var(--gold));border-color:hsl(var(--gold) / .35)}.app-shell.theme-light .sidebar-credits-link{color:#60401c99}.app-shell.theme-light .sidebar-credits-link:hover{color:#9d7725;border-color:#a0703a66}.casual-past-star{display:flex;align-items:center;gap:.5rem;width:100%;margin-top:.8rem;padding:.6rem .8rem;border:1px solid hsl(var(--gold) / .45);border-radius:.7rem;color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;background:hsl(var(--gold) / .08);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.casual-past-star:hover{border-color:hsl(var(--gold) / .8);background:hsl(var(--gold) / .14);transform:translateY(-1px)}.casual-past-star.is-saved{color:hsl(var(--gold) / .75);border-style:dashed;background:none;cursor:default}.app-shell.theme-light .casual-past-star{border-color:#a0703a80;color:#9d7725;background:#e0b2761f}.app-shell.theme-light .casual-past-star.is-saved{color:#60401c8c;background:none}.settings-card{margin-top:.8rem;padding:1.15rem 1.2rem;border:1px solid rgba(224,152,96,.3);border-radius:1rem;background:linear-gradient(150deg,#3c261980,#241911b3);box-shadow:0 14px 30px #0f08044d}.settings-card-head{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem}.settings-card-head h2{margin:0;color:hsl(var(--foreground));font-family:var(--app-font-display);font-size:1.02rem;font-weight:600;letter-spacing:.02em}.settings-card-head p{margin:.15rem 0 0;color:hsl(var(--muted-foreground));font-size:.72rem}.settings-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;flex:none;border:1px solid rgba(224,152,96,.4);border-radius:.7rem;color:hsl(var(--gold));background:#e9a35a1a}.settings-row{display:flex;align-items:center;gap:.75rem;width:100%;padding:.65rem .75rem;border:1px solid rgba(224,152,96,.24);border-radius:.75rem;background:#1c130d8c;color:hsl(var(--foreground));text-align:left;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}button.settings-row:hover{border-color:#f0b26e8c;background:#302015b3;transform:translateY(-1px)}.settings-row.is-active{border-color:#f0b26ea6;background:#e9a35a1f}.settings-row-disabled{opacity:.62;cursor:not-allowed}.settings-row-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:.12rem}.settings-row-copy b{font-size:.78rem;font-weight:600}.settings-row-copy small{color:hsl(var(--muted-foreground));font-size:.62rem}.settings-chevron{flex:none;color:hsl(var(--muted-foreground));font-size:.8rem;transition:transform .25s ease}.settings-chevron.is-open{transform:rotate(180deg)}.settings-row-check{flex:none;color:hsl(var(--gold))}.settings-pose-thumb,.settings-font-sample{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:none;border:1px solid rgba(224,152,96,.28);border-radius:.6rem;background:#e9a35a12;font-size:1.05rem}.settings-pose-thumb{width:auto;min-width:2.5rem;padding:0 .3rem;object-fit:contain;image-rendering:pixelated}.settings-pose-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.2rem,1fr));gap:.55rem;margin-top:.65rem;padding:.7rem;border:1px solid rgba(224,152,96,.2);border-radius:.75rem;background:#140d0980}.settings-pose-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:.28rem;padding:.6rem .35rem .5rem;border:1px solid rgba(224,152,96,.2);border-radius:.65rem;background:#1e140e99;color:hsl(var(--foreground));transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.settings-pose-option:hover{border-color:#f0b26e8c;background:#302015bf;transform:translateY(-2px)}.settings-pose-option.is-active{border-color:#f0b26ecc;background:#e9a35a21;box-shadow:0 0 0 2px #f0b26e2e}.settings-pose-img{width:auto;height:3.4rem;max-width:100%;object-fit:contain;image-rendering:pixelated}.settings-pose-option span{font-size:.58rem;font-weight:600}.settings-pose-option small{color:hsl(var(--muted-foreground));font-family:var(--app-font-serif);font-size:.6rem}.settings-pose-check{position:absolute;top:.3rem;right:.3rem;color:hsl(var(--gold))}.settings-theme-mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:none;border:1px solid rgba(224,152,96,.28);border-radius:.6rem;color:hsl(var(--gold));font-family:var(--app-font-serif);font-size:1.02rem;background:#e9a35a12}.settings-soon{flex:none;padding:.22rem .5rem;border:1px solid rgba(198,158,110,.35);border-radius:99px;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.46rem;letter-spacing:.12em}.settings-default{display:inline-flex;align-items:center;gap:.3rem;flex:none;padding:.22rem .5rem;border:1px solid rgba(240,178,110,.55);border-radius:99px;color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.46rem;letter-spacing:.12em}.settings-row-active{border-color:#f0b26e66}.settings-theme-list{display:grid;gap:.55rem}.settings-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border:1px solid rgba(240,178,110,.55);border-radius:.75rem;color:#1c1209;background:linear-gradient(135deg,#f0b26e,#dfa05a);font-size:.78rem;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.settings-cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px #e098604d}.settings-roadmap-ok{display:flex;align-items:center;gap:.45rem;margin:0;color:hsl(var(--muted-foreground));font-size:.72rem}.settings-roadmap-ok svg{color:hsl(var(--gold))}.settings-font-list{display:grid;gap:.55rem;margin-top:.65rem}.settings-font-option{align-items:center}.settings-font-option .settings-font-sample{width:3.1rem;height:3.1rem;font-size:1.45rem;border-radius:.7rem;background:#e9a35a17;transition:border-color .2s ease,background-color .2s ease}.settings-font-option:hover .settings-font-sample{border-color:#f0b26e8c;background:#e9a35a29}.settings-font-option.is-active .settings-font-sample{border-color:#f0b26ecc;background:#e9a35a2e}.settings-row .settings-font-sample.settings-font-current{width:3.1rem;height:3.1rem;font-size:1.45rem;border-radius:.7rem}.settings-font-sample{font-family:var(--app-font-serif);line-height:1}.settings-footnote{display:flex;align-items:center;gap:.45rem;margin:1.1rem 0 0;color:hsl(var(--muted-foreground));font-size:.66rem}.settings-footnote svg{color:hsl(var(--gold))}.level-progress-figure{display:flex;align-items:flex-end;flex:none}.level-progress-figure img{width:auto;height:3.4rem;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 6px rgba(15,8,4,.4))}.app-shell.theme-light .settings-card{border-color:#a0703a59;background:#fff4e4cc;box-shadow:0 12px 26px #60401c1a}.app-shell.theme-light .settings-row,.app-shell.theme-light .settings-pose-option,.app-shell.theme-light .settings-pose-grid{border-color:#a0703a40;background:#fffaf0b3}.app-shell.theme-light button.settings-row:hover,.app-shell.theme-light .settings-pose-option:hover{background:#fff0dae6}.app-shell.theme-light .settings-pose-option.is-active{background:#e9a35a29}.app-shell.theme-light .settings-cta{color:#fff7ea;background:linear-gradient(135deg,#b97f3f,#a06a30)}.xp-faq{position:fixed;z-index:60;left:.8rem;bottom:5.6rem;width:min(20rem,calc(100vw - 1.6rem));max-height:min(26rem,calc(100dvh - 8rem));overflow-y:auto;padding:.8rem .85rem .9rem;border:1px solid rgba(224,152,96,.4);border-radius:.95rem;background:#261b13f5;box-shadow:0 18px 45px #0f080473,0 0 28px hsl(var(--primary) / .08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:reading-popover-in .2s ease both}.xp-faq-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem}.xp-faq-kicker{flex:none;padding:.2rem .45rem;border:1px solid rgba(240,178,110,.5);border-radius:99px;color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.44rem;letter-spacing:.12em}.xp-faq-title{flex:1;min-width:0;color:hsl(var(--foreground));font-family:var(--app-font-display);font-size:.78rem;font-weight:600}.xp-faq-close{display:grid;place-items:center;width:1.6rem;height:1.6rem;flex:none;border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--muted-foreground));background:#c49c6c14}.xp-faq-close:hover{color:hsl(var(--foreground));border-color:hsl(var(--primary) / .5)}.xp-faq-list{display:grid;gap:.45rem}.xp-faq-item{border:1px solid rgba(224,152,96,.22);border-radius:.7rem;background:#1c130d8c;overflow:hidden}.xp-faq-item.is-open{border-color:#f0b26e80}.xp-faq-question{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.3rem;padding:.35rem .6rem;border:0;background:transparent;color:hsl(var(--foreground));font-size:.72rem;font-weight:600;text-align:left}.xp-faq-question:hover{background:#e9a35a14}.xp-faq-chevron{flex:none;margin-left:auto;color:hsl(var(--muted-foreground));transition:transform .25s ease}.xp-faq-item.is-open .xp-faq-chevron{transform:rotate(180deg)}.xp-faq-answer{display:flex;align-items:flex-end;gap:.45rem;padding:.45rem .6rem .6rem;border-top:1px solid rgba(224,152,96,.18);background:#140d0973}.xp-faq-holo{width:auto;height:3.1rem;flex:none;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 6px rgba(15,8,4,.4))}.xp-faq-bubble{position:relative;flex:1;min-width:0;padding:.5rem .6rem;border:1px solid rgba(224,152,96,.25);border-radius:.65rem .65rem .65rem .2rem;background:#302015b3}.xp-faq-name{display:block;margin-bottom:.18rem;color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.48rem;letter-spacing:.14em}.xp-faq-bubble p{margin:0;color:hsl(var(--foreground) / .92);font-size:.68rem;line-height:1.5}.xp-faq-bubble p+p{margin-top:.4rem}.xp-faq-bubble a{color:hsl(var(--gold));text-decoration:underline;text-underline-offset:2px}.xp-faq-bubble a:hover{color:hsl(var(--gold) / .85)}.app-shell.theme-light .xp-faq{border-color:#a0703a66;background:#fff4e4f7;box-shadow:0 16px 40px #60401c38}.app-shell.theme-light .xp-faq-item{border-color:#a0703a40;background:#fffaf0bf}.app-shell.theme-light .xp-faq-answer{border-top-color:#a0703a33;background:#fff4e1cc}.app-shell.theme-light .xp-faq-bubble{border-color:#a0703a4d;background:#fff6e8e6}.xp-companion-figure,.xp-faq{pointer-events:auto}@media(max-width:700px){.xp-faq{bottom:6.4rem}}.dash-footer{display:flex;align-items:center;justify-content:center;gap:.3rem;margin-top:3rem;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.58rem;letter-spacing:.04em}.dash-footer-mail{color:hsl(var(--primary));text-decoration:none;transition:color .15s ease}.dash-footer-mail:hover{color:hsl(var(--gold));text-decoration:underline}.app-shell.theme-kuro .dash-title{color:hsl(var(--gold));text-shadow:none;background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:hsl(var(--gold))}.app-shell.theme-kuro .page-lede{background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:hsl(45 12% 66%);text-shadow:none;font-style:italic;color:#b3ae9e}.app-shell.theme-kuro .dashboard-page .page-header .page-lede:after{background:linear-gradient(90deg,transparent,rgba(122,31,31,.55),transparent)}.app-shell.theme-kuro .now-card,.app-shell.theme-kuro .phrase-card,.app-shell.theme-kuro .lesson-choice,.app-shell.theme-kuro .profile-card,.app-shell.theme-kuro .answer-panel,.app-shell.theme-kuro .answer-reveal,.app-shell.theme-kuro .result-breakdown div{border-color:#3a3834bf;background:#171715b8}.app-shell.theme-kuro .now-card:hover,.app-shell.theme-kuro .lesson-choice.is-ready:hover{background:#242321e0}.app-shell.theme-kuro .kana-settab{border-color:#3a3834cc;background:#17171599;color:hsl(var(--muted-foreground))}.app-shell.theme-kuro .kana-settab:hover{border-color:#d8d2c44d;color:hsl(var(--foreground))}.app-shell.theme-kuro .kana-settab.is-active{border-color:#b34a4299;background:#7a1f1f29;color:#d49b9b}.app-shell.theme-kuro .kana-cell{border-color:#3a3834a6;background:#1414128c}.app-shell.theme-kuro .kana-cell:hover{border-color:#d8d2c44d;background:#242321cc}.app-shell.theme-kuro .kana-cell.is-selected{border-color:#b34a42b3;background:#7a1f1f2e;box-shadow:0 0 0 2px #7a1f1f33}.app-shell.theme-kuro .kana-rowlabel.is-complete{color:#cb8686;border-color:#b34a4273}.app-shell.theme-kuro .kana-ready{border-color:#3a3834d9;background:#1c1b19e6}.app-shell.theme-kuro .kana-ready:hover:not(:disabled){border-color:#b34a4299;background:#7a1f1f2e}.app-shell.theme-kuro .kana-ready.is-done{border-color:#7a1f1fa6;background:linear-gradient(150deg,#7a1f1f40,#3a16164d);color:#daa9a9}.app-shell.theme-kuro .kana-ready-holo{opacity:.85;filter:saturate(.55) brightness(.9)}.app-shell.theme-kuro .kana-roundchip.is-selected{border-color:#b34a4299;background:#7a1f1f29}.app-shell.theme-kuro .kana-answer:hover:not(:disabled){border-color:#b34a428c}.app-shell.theme-kuro .kana-locked{border-color:#3a3834b3;background:repeating-linear-gradient(135deg,#171715cc 0 8px,#1c1b19cc 8px 16px)}.app-shell.theme-kuro .kana-ask-holo:hover{border-color:#d8d2c44d}.app-shell.theme-kuro .roadmap-entry{border-color:#3a3834bf;background:#171715a8}.app-shell.theme-kuro .roadmap-entry:hover{border-color:#d8d2c447;background:#242321d9}.app-shell.theme-kuro .roadmap-entry-icon{border-color:#3a3834e6;background:#1c1b19e6;color:hsl(var(--muted-foreground))}.app-shell.theme-kuro .roadmap-bubble{background:#7a1f1f;color:#f1eee4}.app-shell.theme-kuro .roadmap-bubble.is-next{box-shadow:0 0 0 3px #7a1f1f38}.app-shell.theme-kuro .roadmap-nextup{border-color:#3a3834cc;background:#171715b3}.app-shell.theme-kuro .listening-group{border-color:#3a3834bf;background:#17171599}.app-shell.theme-kuro .listening-group:hover:not(:disabled){border-color:#d8d2c44d;background:#242321d9}.app-shell.theme-kuro .listening-player{border-color:#3a3834cc;background:radial-gradient(circle at 88% 20%,rgba(122,31,31,.1),transparent 55%),#141412cc}.app-shell.theme-kuro .listening-play{border-color:#b34a4280;background:#7a1f1f2e;color:#d7a2a2}.app-shell.theme-kuro .listening-play:hover{border-color:#b34a42cc;background:#7a1f1f4d}.app-shell.theme-kuro .listening-subtitles.is-on{border-style:solid;border-color:#b34a4299;color:#d49b9b}.app-shell.theme-kuro .listening-answer-panel,.app-shell.theme-kuro .listening-result{border-color:#3a3834cc;background:#141412bf}.app-shell.theme-kuro .listening-graded .is-ok{color:#d4ceb9}.app-shell.theme-kuro .listening-graded .is-bad{color:#ca7272;text-decoration-color:#b34a428c}.app-shell.theme-kuro .listening-graded .is-gap{color:#888477;text-decoration-color:#d8d2c44d}.app-shell.theme-kuro .xp-companion-bar{border-color:#3a3834d9;background:linear-gradient(150deg,#171715f2,#10100ff2)}.app-shell.theme-kuro .xp-companion-chat{border-color:#3a3834d9;background:#171715f2}.app-shell.theme-kuro .wg-scene,.app-shell.theme-kuro .wg-overlay{border-color:#3a3834d9;background:radial-gradient(circle at 50% 0%,rgba(122,31,31,.08),transparent 60%),#121211f0}.app-shell.theme-kuro .wg-choice{border-color:#3a3834d9;background:#171715cc}.app-shell.theme-kuro .wg-choice:hover{border-color:#b34a428c;background:#7a1f1f1f}.app-shell.theme-kuro .wg-choice-quiet{color:hsl(var(--muted-foreground))}.app-shell.theme-kuro .profile-auth h2{color:hsl(var(--foreground));text-shadow:none}.app-shell.theme-kuro .profile-auth-mark{border-color:#b34a4266;color:#cb8686;background:#7a1f1f1f}.app-shell.theme-kuro .vocab-row{border-color:#3a3834b3;background:#17171599}.app-shell.theme-kuro .vocab-row:hover{border-color:#d8d2c442;background:#242321cc}.app-shell.theme-kuro .vocab-empty,.app-shell.theme-kuro .kana-learn-line .lvl-3{color:#c68080}.app-shell.theme-kuro .kanji-reading{color:hsl(var(--gold))}.app-shell.theme-kuro .verb-groups-card,.app-shell.theme-kuro .verb-groups-question,.app-shell.theme-kuro .verb-groups-verdict,.app-shell.theme-kuro .verb-groups-result{border-color:#3a3834c7;background:#171715c7}.app-shell.theme-kuro .verb-groups-steps i{background:#3a3834e6}.app-shell.theme-kuro .verb-groups-steps i.is-on{background:#7a1f1f}.app-shell.theme-kuro .credits-card,.app-shell.theme-kuro .xp-faq{border-color:#3a3834c7;background:#171715b8}.app-shell.theme-kuro .now-card,.app-shell.theme-kuro .phrase-card{border-color:#3a3834cc;background:radial-gradient(circle at 12% 88%,rgba(122,31,31,.08),transparent 55%),#141412c7}.app-shell.theme-kuro .settings-card{border-color:#3a3834c7;background:#171715b3}.app-shell.theme-kuro .settings-row,.app-shell.theme-kuro .settings-pose-grid,.app-shell.theme-kuro .settings-pose-option,.app-shell.theme-kuro .settings-font-option{border-color:#3a3834b3;background:#14141299}.app-shell.theme-kuro .settings-pose-option:hover,.app-shell.theme-kuro .settings-font-option:hover .settings-font-sample{border-color:#d8d2c452}.app-shell.theme-kuro .settings-pose-option.is-active,.app-shell.theme-kuro .settings-font-option.is-active .settings-font-sample{border-color:#b34a42a6;background:#7a1f1f24}.app-shell.theme-kuro .settings-row-active{border-color:#b34a4280}.app-shell.theme-kuro .settings-default{border-color:#b34a4280;color:#d19494}.app-shell.theme-kuro .settings-icon,.app-shell.theme-kuro .settings-theme-mark,.app-shell.theme-kuro .settings-footnote svg{color:#c87e7e}.app-shell.theme-kuro .ghost-button{border-color:#d8d2c438;color:#d9d4c4;background:#24232180}.app-shell.theme-kuro .ghost-button:hover{border-color:#b34a4280;background:#7a1f1f1f}.app-shell.theme-kuro .kicker{color:#949084}.kanji-page-intro,.kanji-setup-intro{max-width:34rem;margin:4.3rem 0 2.5rem}.kanji-mode-grid{display:grid;gap:.75rem}.kanji-mode-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:8.6rem;padding:1.25rem;border:1px solid hsl(var(--border));border-radius:1.05rem;color:hsl(var(--foreground));background:linear-gradient(145deg,#3e271ad6,#2c2017c2);text-align:left;transition:transform .22s ease,border-color .22s ease,background-color .22s ease,opacity .22s ease}.kanji-mode-card.is-ready:hover{transform:translate(4px);border-color:hsl(var(--primary) / .65);background:linear-gradient(145deg,#462e1de6,#2f2218cc)}.kanji-mode-card.is-coming{opacity:.66}.kanji-mode-icon{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid hsl(var(--primary) / .38);border-radius:.8rem;color:hsl(var(--primary));background:hsl(var(--primary) / .1)}.kanji-mode-copy{display:flex;min-width:0;flex-direction:column;gap:.25rem}.kanji-mode-copy b{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.35rem;font-weight:500}.kanji-mode-copy b small{margin-left:.4rem;color:hsl(var(--muted-foreground));font-family:var(--app-font-sans);font-size:.68rem;font-weight:400}.kanji-mode-copy>span{font-size:.76rem;font-weight:600}.kanji-mode-copy em{color:hsl(var(--muted-foreground));font-size:.62rem;font-style:normal}.kanji-mode-arrow{color:hsl(var(--primary))}.kanji-mode-status{display:inline-flex;align-items:center;gap:.3rem;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.51rem;white-space:nowrap}.kanji-mode-card.is-coming .kanji-mode-icon{color:hsl(var(--violet));border-color:hsl(var(--violet) / .3);background:hsl(var(--violet) / .09)}.kanji-page-intro p:last-child,.kanji-setup-intro p:last-child{max-width:29rem;margin:1.1rem 0 0;color:hsl(var(--muted-foreground));font-size:.78rem;line-height:1.65}.kanji-level-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem;margin-bottom:1rem;padding:.35rem;border:1px solid hsl(var(--border));border-radius:.9rem;background:#281d159e}.kanji-level-tabs button{min-height:2.7rem;border:1px solid transparent;border-radius:.62rem;color:hsl(var(--muted-foreground));background:transparent;font-family:var(--app-font-mono);font-size:.64rem;transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}.kanji-level-tabs button:hover{color:hsl(var(--foreground));border-color:hsl(var(--primary) / .35);transform:translateY(-1px)}.kanji-level-tabs button.is-active{color:hsl(var(--primary-foreground));border-color:hsl(var(--primary) / .8);background:hsl(var(--primary));box-shadow:0 8px 18px hsl(var(--primary) / .12)}.kanji-overview-card,.kanji-unavailable-card,.kanji-round-panel,.kanji-question-card{border:1px solid hsl(var(--border));border-radius:1.05rem;background:linear-gradient(145deg,#3e271ad6,#2c2017c2);box-shadow:0 18px 45px #0f08042b}.kanji-overview-card{position:relative;overflow:hidden;padding:1.35rem}.kanji-overview-card:after{position:absolute;right:-4rem;bottom:-6rem;width:16rem;height:16rem;content:"";border:1px solid hsl(var(--primary) / .12);border-radius:50%;box-shadow:0 0 0 1.5rem hsl(var(--primary) / .035),0 0 0 3rem hsl(var(--primary) / .025);pointer-events:none}.kanji-card-heading{display:flex;align-items:center;justify-content:space-between}.kanji-card-icon,.kanji-question-mark{display:grid;place-items:center;width:2.55rem;height:2.55rem;border:1px solid hsl(var(--primary) / .35);border-radius:.75rem;color:hsl(var(--primary));background:hsl(var(--primary) / .09)}.kanji-card-status{color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.5rem;letter-spacing:.1em}.kanji-overview-card>.kicker{margin-top:2.6rem}.kanji-overview-card h2,.kanji-unavailable-card h2{margin:.35rem 0 .9rem;color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.8rem;font-weight:500}.kanji-overview-card>p:not(.kicker){max-width:32rem;margin:.7rem 0 1.5rem;color:hsl(var(--muted-foreground));font-size:.72rem;line-height:1.6}.kanji-entry-count{display:block;color:hsl(var(--primary));font-family:var(--app-font-mono);font-size:1.05rem;font-weight:500}.kanji-entry-count small{color:hsl(var(--muted-foreground));font-size:.58rem;font-weight:400}.kanji-unavailable-card{padding:1.35rem}.kanji-unavailable-card h2{margin-top:2rem}.kanji-unavailable-card p:not(.kicker){margin:0;color:hsl(var(--muted-foreground));font-size:.72rem}.kanji-source-count{display:inline-block;margin-top:1.4rem;color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.52rem}.kanji-round-panel{padding:1.1rem}.kanji-setup-footer{margin-top:2rem}.kanji-quiz-page{max-width:760px;margin:0 auto;padding:2rem 0 4rem}.kanji-question-card{display:flex;min-height:26rem;flex-direction:column;align-items:center;justify-content:center;margin-top:1.8rem;padding:2rem clamp(1rem,5vw,3rem);text-align:center}.kanji-question-mark{margin-bottom:1.45rem}.kanji-reading{margin:1.4rem 0 .35rem;color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:clamp(2.4rem,9vw,4rem);font-weight:500;letter-spacing:.04em}.kanji-answer-panel{width:min(100%,30rem);margin:0;text-align:left}.kanji-correction-panel{width:min(100%,30rem);margin-top:1rem;padding:.8rem .9rem;border:1px solid hsl(var(--primary) / .28);border-radius:.7rem;background:hsl(var(--primary) / .06);text-align:left}.kanji-correction-panel>strong{display:block;margin:.35rem 0 .65rem;color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.25rem}.kanji-correction-panel>div{display:flex;justify-content:space-between;gap:1rem;padding-top:.4rem;border-top:1px solid hsl(var(--border) / .7);color:hsl(var(--muted-foreground));font-size:.62rem}.kanji-correction-panel>div+div{margin-top:.4rem}.kanji-correction-panel b{color:hsl(var(--foreground));font-weight:500;text-align:right}.kanji-result-actions{display:grid;grid-template-columns:repeat(2,auto)}.kanji-result-actions .text-button{min-height:2.2rem}.app-shell.theme-light .kanji-level-tabs,.app-shell.theme-light .kanji-overview-card,.app-shell.theme-light .kanji-unavailable-card,.app-shell.theme-light .kanji-round-panel,.app-shell.theme-light .kanji-question-card{background:#fffcf7c2}@media(max-width:700px){.kanji-page-intro,.kanji-setup-intro{margin-top:2.8rem}.kanji-level-tabs{gap:.25rem;margin-right:-.2rem;margin-left:-.2rem}.kanji-level-tabs button{min-height:2.9rem;font-size:.59rem}.kanji-overview-card,.kanji-unavailable-card{padding:1.05rem}.kanji-mode-card{grid-template-columns:auto 1fr;min-height:7.7rem;padding:1rem}.kanji-mode-arrow,.kanji-mode-status{grid-column:2;justify-self:start}.kanji-overview-card h2,.kanji-unavailable-card h2{font-size:1.55rem}.kanji-overview-card .primary-button{width:100%}.kanji-quiz-page{padding-top:.45rem}.kanji-question-card{min-height:24rem;margin-top:1.1rem;padding:1.4rem .9rem}.kanji-reading{font-size:clamp(2.2rem,12vw,3.3rem)}.kanji-result-actions{grid-template-columns:1fr;width:100%}}.kanji-draw-picker{position:relative;z-index:4;margin-bottom:1.15rem}.kanji-draw-toggle{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;padding:.85rem 1.05rem;border:1px solid hsl(var(--border));border-radius:.95rem;color:hsl(var(--foreground));background:#302218ad;text-align:left;transition:border-color .2s ease,background-color .2s ease}.kanji-draw-toggle:hover{border-color:hsl(var(--primary) / .5)}.kanji-draw-toggle-title{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--app-font-serif);font-size:1.45rem;font-weight:500}.kanji-draw-toggle-title small{padding:.18rem .55rem;border:1px solid hsl(var(--border));border-radius:99px;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.62rem;font-weight:400}.kanji-draw-chevron{flex:0 0 auto;color:hsl(var(--primary));transition:transform .22s ease}.kanji-draw-toggle[aria-expanded=true] .kanji-draw-chevron{transform:rotate(180deg)}.kanji-draw-menu{position:absolute;top:calc(100% + .45rem);right:0;left:0;z-index:6;display:grid;overflow:hidden;border:1px solid hsl(var(--primary) / .3);border-radius:.85rem;background:#2a1c14f7;box-shadow:0 22px 48px #0f080466;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.kanji-draw-menu button{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.72rem 1.05rem;border:0;border-bottom:1px solid hsl(var(--border) / .5);color:hsl(var(--foreground));background:transparent;font-family:var(--app-font-serif);font-size:1.02rem;text-align:left}.kanji-draw-menu button:last-child{border-bottom:0}.kanji-draw-menu button:hover{background:hsl(var(--primary) / .09)}.kanji-draw-menu button.is-active{color:hsl(var(--primary));background:hsl(var(--primary) / .12)}.kanji-draw-menu button small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.58rem}.kanji-draw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.kanji-draw-cell{display:flex;aspect-ratio:1 / 1;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.55rem;border:1px solid hsl(var(--border));border-radius:.85rem;background:#3022189e}.kanji-draw-glyph{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:clamp(1.65rem,6vw,2.15rem);font-weight:500;line-height:1.1}.kanji-draw-progress{display:block;width:72%;height:4px;overflow:hidden;border-radius:99px;background:hsl(var(--muted))}.kanji-draw-progress i{display:block;width:12%;height:100%;border-radius:inherit;background:hsl(var(--primary))}.kanji-draw-percent{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.56rem}.kanji-draw-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem}.kanji-draw-footer>span{display:inline-flex;align-items:center;gap:.4rem;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.55rem}.kanji-draw-footer svg{color:hsl(var(--primary))}.app-shell.theme-light .kanji-draw-toggle,.app-shell.theme-light .kanji-draw-cell{background:#fffcf7c2}.app-shell.theme-light .kanji-draw-menu{background:#fffdfafa;box-shadow:0 22px 48px #4836262e}@media(max-width:700px){.kanji-draw-grid{gap:.45rem}.kanji-draw-cell{border-radius:.72rem}.kanji-draw-glyph{font-size:clamp(1.5rem,8.5vw,2rem)}.kanji-draw-footer{align-items:stretch;flex-direction:column}}.kanji-detail-overlay{position:fixed;z-index:40;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#0e080594;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:kanji-sheet-fade .22s ease both}@keyframes kanji-sheet-fade{0%{opacity:0}to{opacity:1}}.kanji-detail-sheet{position:relative;width:min(100%,34rem);max-height:min(86vh,44rem);overflow-y:auto;padding:1.5rem 1.4rem 1.4rem;border:1px solid hsl(var(--border));border-bottom:0;border-radius:1.4rem 1.4rem 0 0;background:linear-gradient(180deg,#37261afa,#261a12fa);box-shadow:0 -18px 52px #0f080473;text-align:center;animation:kanji-sheet-rise .3s cubic-bezier(.22,.9,.3,1) both}@keyframes kanji-sheet-rise{0%{transform:translateY(4%);opacity:0}to{transform:translateY(0);opacity:1}}.kanji-detail-collapse{position:absolute;top:.7rem;right:.9rem;display:grid;place-items:center;width:2rem;height:2rem;border:0;border-radius:.55rem;color:hsl(var(--muted-foreground));background:transparent}.kanji-detail-collapse:hover{color:hsl(var(--foreground));background:hsl(var(--primary) / .1)}.kanji-detail-glyph{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:4.4rem;font-weight:500;line-height:1.05}.kanji-detail-meaning{margin:.5rem 0 0;color:hsl(var(--muted-foreground));font-size:.92rem}.kanji-detail-badges{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.85rem}.kanji-detail-badge{padding:.28rem .7rem;border:1px solid hsl(var(--border));border-radius:99px;color:hsl(var(--foreground));font-family:var(--app-font-mono);font-size:.62rem}.kanji-detail-stroke-count{padding:.28rem .7rem;border:1px solid hsl(var(--primary) / .4);border-radius:99px;color:hsl(var(--primary));font-family:var(--app-font-mono);font-size:.62rem}.kanji-detail-readings{margin-top:1.35rem;padding:1.05rem 1.1rem;border:1px solid hsl(var(--border) / .8);border-radius:.95rem;background:#1c140e59;text-align:left}.kanji-detail-reading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-top:.8rem}.kanji-detail-reading-row>span{flex:0 0 auto;padding-top:.3rem;color:hsl(var(--muted-foreground));font-size:.74rem}.kanji-detail-reading-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.kanji-detail-reading-chips b{padding:.3rem .6rem;border:1px solid hsl(var(--primary) / .32);border-radius:.55rem;color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:.95rem;font-weight:500}.kanji-detail-reading-chips i{padding:.3rem .6rem;color:hsl(var(--muted-foreground));font-size:.72rem}.kanji-detail-note{margin:.85rem 0 0;color:hsl(var(--muted-foreground));font-size:.62rem;font-style:italic;line-height:1.5}.kanji-detail-draw-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%;margin-top:1.25rem;opacity:.72;cursor:not-allowed}.app-shell.theme-light .kanji-detail-sheet{border-color:#5a483638;background:linear-gradient(180deg,#fffdfafc,#fcf6ecfc);box-shadow:0 -18px 52px #48362633}.app-shell.theme-light .kanji-detail-readings{border-color:#5a483629;background:#5a48360d}@media(max-width:700px){.kanji-detail-sheet{width:100%;padding:1.3rem 1.05rem 1.2rem;border-radius:1.2rem 1.2rem 0 0}.kanji-detail-glyph{font-size:3.7rem}}.kanji-draw-test-page .kanji-page-intro{margin-bottom:1.6rem}.kanji-draw-stage{display:flex;flex-direction:column;align-items:center;gap:1.3rem;padding:1.5rem 1.1rem 1.7rem;border:1px solid hsl(var(--border));border-radius:1.05rem;background:linear-gradient(145deg,#3e271ab3,#2c2017b8);box-shadow:0 18px 45px #0f08042b}.kanji-stroke-demo{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:.8rem 0 .4rem;border-radius:1rem;transition:transform .45s cubic-bezier(.22,.9,.3,1)}.kanji-stroke-demo.is-minimized{padding:0}.kanji-stroke-demo-caption{margin:0;color:hsl(var(--muted-foreground));font-size:.66rem}.kanji-draw-start-button{min-width:10rem;justify-content:center}.kanji-draw-workspace{display:grid;gap:.75rem;width:100%;animation:rise-in .35s ease both}.kanji-draw-prompt{text-align:center}.kanji-draw-canvas-frame{position:relative;overflow:hidden;border:1px solid hsl(var(--border));border-radius:.95rem;background:radial-gradient(circle at 50% 50%,hsl(var(--primary) / .05),transparent 70%),linear-gradient(rgba(198,158,110,.09) 1px,transparent 1px) 50% 50% / 100% 1px no-repeat,linear-gradient(90deg,rgba(198,158,110,.09) 1px,transparent 1px) 50% 50% / 1px 100% no-repeat,#221811e6;box-shadow:inset 0 0 34px #0e080559;touch-action:none}.kanji-draw-canvas{display:block;width:100%;aspect-ratio:1 / 1;cursor:crosshair}.kanji-draw-tools{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.kanji-draw-tool-group{display:inline-flex;gap:.3rem;padding:.3rem;border:1px solid hsl(var(--border));border-radius:.7rem;background:#281d159e}.kanji-draw-tool-group button{display:inline-flex;align-items:center;gap:.35rem;min-height:2.1rem;padding:0 .7rem;border:1px solid transparent;border-radius:.5rem;color:hsl(var(--muted-foreground));background:transparent;font-family:var(--app-font-mono);font-size:.58rem}.kanji-draw-tool-group button.is-active{color:hsl(var(--primary-foreground));border-color:hsl(var(--primary) / .7);background:hsl(var(--primary))}.app-shell.theme-light .kanji-draw-stage{border-color:#5a483633;background:#fffcf7cc}.app-shell.theme-light .kanji-draw-canvas-frame{background:radial-gradient(circle at 50% 50%,hsl(var(--primary) / .05),transparent 70%),linear-gradient(rgba(90,72,54,.16) 1px,transparent 1px) 50% 50% / 100% 1px no-repeat,linear-gradient(90deg,rgba(90,72,54,.16) 1px,transparent 1px) 50% 50% / 1px 100% no-repeat,#fdf8eef7;border-color:#5a483638;box-shadow:inset 0 0 30px #5a483612}.app-shell.theme-light .kanji-draw-tool-group{background:#5a483612}@media(max-width:700px){.kanji-draw-stage{padding:1.2rem .85rem 1.4rem}}.kanji-draw-test-page .kanji-draw-picker{margin-bottom:1.1rem}.kanji-draw-test-page .kanji-draw-toggle-title{font-size:1.12rem}.kanji-draw-chevron-flip{color:hsl(var(--primary));font-size:1.05rem;line-height:1}.kanji-stroke-demo-meta{display:grid;gap:.25rem;text-align:center}.kanji-draw-stroke-counter{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.56rem}.kanji-draw-submit-button{width:100%;justify-content:center}.kanji-draw-submit-button:disabled{opacity:.4}.kanji-draw-result{display:grid;gap:.55rem;width:100%;padding:1.2rem 1.15rem 1.15rem;border:1px solid hsl(var(--primary) / .3);border-radius:.95rem;background:#1c140e52;text-align:center;animation:rise-in .3s ease both}.kanji-draw-score{color:#4dcb82;font-family:var(--app-font-serif);font-size:3rem;font-weight:500;line-height:1}.kanji-draw-score small{color:hsl(var(--muted-foreground));font-size:1.05rem}.kanji-draw-headline{margin:0;color:hsl(var(--foreground));font-size:.78rem}.kanji-draw-result-rows{display:grid;gap:.4rem;margin-top:.5rem;text-align:left}.kanji-draw-result-row{display:grid;grid-template-columns:1.4rem auto 1fr;align-items:center;gap:.5rem;padding:.5rem .7rem;border:1px solid hsl(var(--border) / .7);border-radius:.55rem;background:#30221880}.kanji-draw-result-status{display:grid;place-items:center;color:#4dcb82;font-size:.8rem}.kanji-draw-result-row:has(.kanji-draw-result-status) b{color:hsl(var(--foreground));font-size:.68rem;font-weight:600}.kanji-draw-result-row small{color:hsl(var(--muted-foreground));font-size:.62rem;text-align:right}.kanji-draw-result-actions{display:grid;gap:.55rem;margin-top:.6rem}.kanji-draw-result-actions .primary-button{width:100%;justify-content:center}.app-shell.theme-light .kanji-draw-result{border-color:#5a48362e;background:#fffcf7d9}.app-shell.theme-light .kanji-draw-result-row{border-color:#5a483624;background:#5a48360d}@media(max-width:700px){.kanji-draw-result-row small{grid-column:2 / -1;text-align:left}}.kanji-draw-save-status{margin:0;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.58rem;letter-spacing:.06em;text-align:center}.app-shell.theme-light .kanji-draw-save-status{color:#5a4836bf}.kanji-draw-cell.is-current{border-color:hsl(var(--primary) / .8);box-shadow:0 0 0 1px hsl(var(--primary) / .35),0 10px 26px hsl(var(--primary) / .18)}.app-shell.theme-light .kanji-draw-cell.is-current{border-color:hsl(var(--primary) / .85);box-shadow:0 0 0 1px hsl(var(--primary) / .3),0 10px 24px hsl(var(--primary) / .14)}@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-red-50:oklch(97.1% .013 17.38);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--app-font-sans);--default-mono-font-family:var(--app-font-mono);--color-border:hsl(var(--border))}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.\@container\/field-group{container:field-group/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.-top-12{top:calc(var(--spacing) * -12)}.top-0{top:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.-right-12{right:calc(var(--spacing) * -12)}.right-0{right:0}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-12{bottom:calc(var(--spacing) * -12)}.bottom-0{bottom:0}.-left-12{left:calc(var(--spacing) * -12)}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[100\]{z-index:100}.order-first{order:-9999}.order-last{order:9999}.\!m-0{margin:0!important}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-0{margin-block:0}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.ml-1{margin-left:var(--spacing)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.flex\!{display:flex!important}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\[--cell-size\]{width:--cell-size;height:--cell-size}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[--cell-size\]{height:--cell-size}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\[--radix-context-menu-content-available-height\]{max-height:--radix-context-menu-content-available-height}.max-h-\[--radix-select-content-available-height\]{max-height:--radix-select-content-available-height}.max-h-\[85vh\]{max-height:85vh}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0}.w-1{width:var(--spacing)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[--cell-size\]{width:--cell-size}.w-\[1px\]{width:1px}.w-\[100px\]{width:100px}.w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\[var\(--skeleton-width\)\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:var(--container-lg)}.max-w-max{max-width:max-content}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-\[--cell-size\]{min-width:--cell-size}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-context-menu-content-transform-origin\]{transform-origin:--radix-context-menu-content-transform-origin}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:--radix-dropdown-menu-content-transform-origin}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:--radix-hover-card-content-transform-origin}.origin-\[--radix-menubar-content-transform-origin\]{transform-origin:--radix-menubar-content-transform-origin}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:--radix-popover-content-transform-origin}.origin-\[--radix-select-content-transform-origin\]{transform-origin:--radix-select-content-transform-origin}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:--radix-tooltip-content-transform-origin}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-caret-blink{animation:1.25s ease-out infinite caret-blink}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize-none{resize:none}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius\)-5px\)\]{border-radius:calc(var(--radius) - 5px)}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-tl-sm{border-top-left-radius:var(--radius-sm)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\[border-color\:var\(--badge-outline\)\]{border-color:var(--badge-outline)}.\[border-color\:var\(--button-outline\)\]{border-color:var(--button-outline)}.border-\[--color-border\]{border-color:--color-border}.border-border,.border-border\/50{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,hsl(var(--border)) 50%,transparent)}}.border-input{border-color:hsl(var(--input))}.border-primary,.border-primary\/50{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\[--color-bg\]{background-color:--color-bg}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-input{background-color:hsl(var(--input))}.bg-muted,.bg-muted\/50{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,hsl(var(--muted)) 50%,transparent)}}.bg-primary,.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.bg-primary\/20{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-primary{fill:hsl(var(--primary))}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[1px\]{padding:1px}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-\[--cell-size\]{padding-inline:--cell-size}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0{padding-top:0}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--app-font-mono)}.font-sans{font-family:var(--app-font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-foreground,.text-foreground\/50{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/50{color:color-mix(in oklab,hsl(var(--foreground)) 50%,transparent)}}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-offset-2{outline-offset:2px}.outline-transparent{outline-color:#0000}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[--cell-size\:2rem\]{--cell-size:2rem}.running{animation-play-state:running}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5:is(:where(.group\/item):has([data-slot=item-description]) *){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-has-\[\[data-slot\=item-description\]\]\/item\:self-start:is(:where(.group\/item):has([data-slot=item-description]) *){align-self:flex-start}.group-has-\[\>input\]\/input-group\:pt-2\.5:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2.5)}.group-has-\[\>input\]\/input-group\:pb-2\.5:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2.5)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:h-8\!:is(:where(.group)[data-collapsible=icon] *){height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + var(--spacing-4))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + var(--spacing-4) + 2px)}.group-data-\[collapsible\=icon\]\:w-\[var\(--sidebar-width-icon\)\]:is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:0!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:0}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *){position:relative}.group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *){z-index:10}.group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused=true] *){border-color:hsl(var(--ring))}.group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:hsl(var(--ring))}@supports (color:color-mix(in lab,red,red)){.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab, hsl(var(--ring)) 50%, transparent)}}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:0}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius-lg)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}.group-\[\.destructive\]\:border-muted\/40:is(:where(.group).destructive *){border-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.group-\[\.destructive\]\:border-muted\/40:is(:where(.group).destructive *){border-color:color-mix(in oklab,hsl(var(--muted)) 40%,transparent)}}.group-\[\.destructive\]\:text-red-300:is(:where(.group).destructive *){color:var(--color-red-300)}.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:hsl(var(--muted))}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:hsl(var(--primary))}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:hsl(var(--muted-foreground))}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:hsl(var(--primary-foreground))}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:hsl(var(--border))}.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *){background-color:hsl(var(--background))}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:hsl(var(--foreground))}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:var(--spacing)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:var(--spacing)}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.first\:rounded-l-md:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:mt-0:last-child{margin-top:0}.last\:rounded-r-md:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}@media(hover:hover){.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,hsl(var(--muted)) 50%,transparent)}}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-\[\.destructive\]\:hover\:text-red-50:is(:where(.group).destructive *):hover{color:var(--color-red-50)}}.focus\:opacity-100:focus{opacity:1}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.group-\[\.destructive\]\:focus\:ring-red-400:is(:where(.group).destructive *):focus{--tw-ring-color:var(--color-red-400)}.group-\[\.destructive\]\:focus\:ring-offset-red-600:is(:where(.group).destructive *):focus{--tw-ring-offset-color:var(--color-red-600)}.focus-visible\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:hsl(var(--ring))}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, hsl(var(--ring)) 50%, transparent)}}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:shadow-none:active{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-focus\:border-ring:has(:focus){border-color:hsl(var(--ring))}.has-focus\:ring-\[3px\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:hsl(var(--ring))}@supports (color:color-mix(in lab,red,red)){.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:color-mix(in oklab, hsl(var(--ring)) 50%, transparent)}}.has-data-\[state\=checked\]\:border-primary:has([data-state=checked]){border-color:hsl(var(--primary))}.has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:color-mix(in oklab,hsl(var(--primary)) 5%,transparent)}}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-1:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:hsl(var(--ring))}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--spacing) * 2)}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:var(--radius-md)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.has-\[\>button\]\:mr-\[-0\.4rem\]:has(>button){margin-right:-.4rem}.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button){margin-left:-.45rem}.has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd){margin-right:-.35rem}.has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd){margin-left:-.35rem}.has-\[\>svg\]\:p-0:has(>svg){padding:0}.has-\[\>svg\]\:px-2:has(>svg){padding-inline:calc(var(--spacing) * 2)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:calc(52*var(--spacing))}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:calc(52*var(--spacing))}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity:0}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:var(--spacing)}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:var(--radius-md)}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:hsl(var(--primary))}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:hsl(var(--primary-foreground))}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:var(--radius-md)}.data-\[range-start\=true\]\:bg-primary[data-range-start=true]{background-color:hsl(var(--primary))}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true]{color:hsl(var(--primary-foreground))}.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:hsl(var(--primary))}.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:hsl(var(--primary-foreground))}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50% }.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100% }.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48% }.data-\[state\=hidden\]\:animate-out[data-state=hidden]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50% }.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48% }.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100% }.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[state\=visible\]\:animate-in[data-state=visible]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@media(min-width:40rem){.sm\:top-auto{top:auto}.sm\:right-0{right:0}.sm\:bottom-0{bottom:0}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-col{flex-direction:column}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100% }}@media(min-width:48rem){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:flex-row{flex-direction:row}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:0}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:var(--radius-xl)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@container field-group (min-width:28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}}.dark\:bg-input\/30:is(.dark *){background-color:hsl(var(--input))}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,hsl(var(--input)) 30%,transparent)}}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:color-mix(in oklab,hsl(var(--border)) 50%,transparent)}}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{--tw-outline-style:none;outline-style:none}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector{--tw-outline-style:none;outline-style:none}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{--tw-outline-style:none;outline-style:none}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_img\]\:size-full img{width:100%;height:100%}.\[\&_img\]\:object-cover img{object-fit:cover}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*=size-]){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content]{flex:none}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-3.border-b{padding-bottom:calc(var(--spacing) * 3)}.\[\.border-t\]\:pt-3.border-t{padding-top:calc(var(--spacing) * 3)}:is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),:is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}.\[a\]\:transition-colors:is(a){transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.\[\&\>\*\]\:w-full>*{width:100%}.\[\&\>\*\]\:focus-visible\:relative>:focus-visible{position:relative}.\[\&\>\*\]\:focus-visible\:z-10>:focus-visible{z-index:10}@container field-group (min-width:28rem){.\@md\/field-group\:\[\&\>\*\]\:w-auto>*{width:auto}}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:calc(var(--spacing) * 4)}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}@container field-group (min-width:28rem){.\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}}.\[\&\>\[data-slot\=field\]\]\:p-4>[data-slot=field]{padding:calc(var(--spacing) * 4)}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}@container field-group (min-width:28rem){.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:hsl(var(--primary))}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>input\]\:flex-1>input{flex:1}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 2)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 2)}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>span\]\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing) * 4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing) * 4)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:h-3\.5>svg{height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:h-4>svg{height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}.\[\&\>svg\]\:w-3\.5>svg{width:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:w-4>svg{width:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing) * 7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{background-color:color-mix(in oklab,hsl(var(--background)) 20%,transparent)}}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background{color:hsl(var(--background))}[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *){background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *){background-color:color-mix(in oklab,hsl(var(--background)) 10%,transparent)}}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:24 32% 8%;--foreground:38 45% 90%;--border:26 24% 26%;--input:26 22% 30%;--ring:20 74% 64%;--card:25 28% 12%;--card-foreground:38 45% 90%;--primary:18 78% 62%;--primary-foreground:30 45% 7%;--secondary:26 30% 22%;--secondary-foreground:38 45% 90%;--muted:26 22% 16%;--muted-foreground:30 14% 68%;--gold:41 62% 62%;--violet:8 42% 62%;--blue:33 45% 58%;--app-font-sans:"DM Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--app-font-serif:"Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;--app-font-display:"Cinzel", "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--app-font-mono:"DM Mono", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", monospace;--radius:1.15rem}*{box-sizing:border-box}html{background:hsl(var(--background));min-width:320px}body{background:hsl(var(--background));min-width:320px;min-height:100dvh;color:hsl(var(--foreground));font-family:var(--app-font-sans);-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:3px}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%{transform:translateY(-8px)rotate(-8deg)}to{transform:translate(36px,65px)rotate(34deg)}}@keyframes breathe{0%{opacity:.35;transform:scale(.97)}to{opacity:.72;transform:scale(1.03)}}.app-shell{background:radial-gradient(circle at 69% 2%,#ba7a401f,transparent 31rem),hsl(var(--background));min-height:100dvh;display:flex;position:relative;overflow:hidden}.atmosphere{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.atmosphere:after{content:"";opacity:.06;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.moon-disc{background:radial-gradient(circle at 38% 35%,#fff5d6db,#ddc4b254 52%,#c297ba0a 70%);border:1px solid #f4e2bf52;border-radius:50%;width:8rem;height:8rem;position:absolute;top:7%;right:14%;box-shadow:0 0 80px #e4cbc11f}.moon-disc:after{content:"";border-radius:inherit;border:1px solid #fff4d621;position:absolute;inset:14px}.moon-haze{background:radial-gradient(#daa05c24,#0000 65%);width:30rem;height:26rem;position:absolute;top:0;right:0}.mountain{clip-path:polygon(0 100%,16% 48%,27% 68%,42% 18%,57% 70%,74% 35%,100% 76%,100% 100%);opacity:.85;background:#241610;width:75%;height:28%;position:absolute;bottom:-1%;right:-10%}.mountain-front{opacity:.97;clip-path:polygon(0 100%,18% 62%,35% 78%,51% 43%,69% 72%,84% 58%,100% 76%,100% 100%);background:#170e0a;width:87%;height:22%;bottom:-5%;right:-17%}.pagoda-silhouette{opacity:.7;border-bottom:3px solid #140c08f2;width:3.4rem;height:8.3rem;position:absolute;bottom:12%;right:29%}.pagoda-silhouette:before,.pagoda-silhouette:after{content:"";background:#170e0a;position:absolute;left:50%;transform:translate(-50%)}.pagoda-silhouette:before{clip-path:polygon(41% 0,59% 0,59% 20%,80% 20%,80% 28%,63% 28%,63% 46%,78% 46%,78% 54%,60% 54%,60% 100%,40% 100%,40% 54%,22% 54%,22% 46%,37% 46%,37% 28%,20% 28%,20% 20%,41% 20%);width:2.3rem;height:5rem;bottom:1rem}.pagoda-silhouette:after{width:1px;height:2.5rem;top:0}.pagoda-silhouette i{z-index:2;background:#170e0a;width:3.4rem;height:2px;position:absolute;left:50%;transform:translate(-50%)}.pagoda-silhouette i:first-child{top:2.05rem}.pagoda-silhouette i:nth-child(2){width:2.8rem;top:3.45rem}.pagoda-silhouette i:nth-child(3){width:2.3rem;top:4.8rem}.lantern-silhouette{opacity:.7;background:#daa05c52;border:1px solid #160d09f2;width:1.1rem;height:1.65rem;position:absolute;bottom:12%;left:25%}.lantern-silhouette:before,.lantern-silhouette:after{content:"";background:#170e0a;width:1.5rem;height:2px;position:absolute;left:50%;transform:translate(-50%)}.lantern-silhouette:before{top:-.35rem}.lantern-silhouette:after{bottom:-.35rem}.lantern-silhouette i{background:#170e0a;width:1px;height:2rem;position:absolute;bottom:-2.1rem;left:50%}.particle{background:#f1d7bdb3;border-radius:50%;width:2px;height:2px;position:absolute;box-shadow:0 0 8px #f1d7bd59}.particle-one{top:22%;left:49%}.particle-two{top:39%;right:25%}.particle-three{top:16%;right:38%}.petal{opacity:.65;border:1px solid #e09e5880;border-radius:70% 30%;width:.45rem;height:.68rem;animation:11s ease-in-out infinite alternate drift;position:absolute}.petal-1{animation-delay:-2s;top:21%;left:12%}.petal-2{animation-delay:-6s;top:12%;left:43%}.petal-3{animation-delay:-3s;top:28%;right:31%}.petal-4{animation-delay:-8s;top:45%;left:69%}.petal-5{animation-delay:-4s;top:62%;left:27%}.petal-6{animation-delay:-1s;top:55%;right:11%}.petal-7{animation-delay:-9s;top:73%;left:54%}.petal-8{animation-delay:-7s;top:78%;left:8%}.sidebar{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#18110ea8;border-right:1px solid #c69e6e21;flex-direction:column;flex:0 0 230px;width:230px;min-height:100dvh;padding:2.2rem 1.1rem 1.3rem;display:flex;position:relative}.brand{text-align:left;background:0 0;border:0;align-items:center;gap:.7rem;padding:.25rem .35rem;display:inline-flex}.brand-emblem{width:2.25rem;height:2.25rem;color:hsl(var(--primary));border:1px solid #e098608c;border-radius:50%;place-items:center;display:grid}.brand b{color:hsl(var(--foreground));letter-spacing:.27em;font-size:.72rem;display:block}.brand small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);letter-spacing:.06em;text-transform:uppercase;margin-top:.25rem;font-size:.49rem;display:block}.brand-slot{background:linear-gradient(#e9a35a29,#5d3a1e38);border:1px solid #e0986073;border-radius:.6rem;flex:none;place-items:center;width:2.85rem;height:2.85rem;margin-left:-.1rem;transition:border-color .25s,transform .25s,box-shadow .25s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #140a0459,inset 0 1.1rem 1.4rem #e9a35a14,0 4px 10px #140a0459}.brand-slot:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,#ffe2b224,#0000 42%);position:absolute;inset:0}.brand-slot:hover{border-color:#e09860bf;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #140a0459,inset 0 1.1rem 1.4rem #e9a35a1f,0 7px 16px #140a0473}.brand-slot-img{width:52px;height:auto;image-rendering:pixelated;filter:drop-shadow(0 3px 4px #140a0480);margin-top:.4rem}.brand-slot-fallback{opacity:0;place-items:center;font-size:1.15rem;display:grid;position:absolute;inset:0}.brand-slot.is-empty .brand-slot-img{display:none}.brand-slot.is-empty .brand-slot-fallback{opacity:1}.sidebar-rule{background:#c69e6e21;width:100%;height:1px;margin:2.25rem 0 1.45rem}.nav-caption,.kicker{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);letter-spacing:.16em;margin:0;font-size:.57rem}.nav-caption{color:hsl(var(--gold));padding:0 .45rem;font-size:.53rem}.sidebar nav{flex-direction:column;gap:.25rem;margin-top:.8rem;display:flex}.nav-item{min-height:2.8rem;color:hsl(var(--muted-foreground));text-align:left;background:0 0;border:0;border-radius:.65rem;align-items:center;gap:.75rem;padding:0 .75rem;transition:color .2s,background-color .2s,transform .2s;display:flex;position:relative}.nav-item:hover{color:hsl(var(--foreground));background:#d4a6741a;transform:translate(2px)}.nav-item span{flex-direction:column;flex:1;font-size:.76rem;font-weight:500;display:flex}.nav-item small{color:hsl(var(--primary));font-family:var(--app-font-serif);margin-top:.11rem;font-size:.68rem;font-weight:500}.nav-item.is-active{color:hsl(var(--foreground));background:#e9a35a1f}.nav-item.is-active svg{color:hsl(var(--primary))}.nav-item i{background:hsl(var(--primary));border-radius:9px;width:3px;height:1.4rem}.sidebar-footer{color:hsl(var(--muted-foreground));border-top:1px solid #c69e6e21;align-items:center;gap:.62rem;margin-top:auto;padding:.8rem .65rem;display:flex}.sidebar-footer>div:last-child{flex-direction:column;gap:.18rem;display:flex}.sidebar-footer b{color:hsl(var(--foreground));font-size:.63rem;font-weight:600}.sidebar-footer small{font-family:var(--app-font-mono);font-size:.46rem}.level-orbit{border:1px solid hsl(var(--gold) / .55);width:2.15rem;height:2.15rem;color:hsl(var(--gold));border-radius:50%;place-items:center;display:grid}.level-orbit span{font-family:var(--app-font-mono);font-size:.44rem}.level-orbit b{color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.67rem}.main-column{z-index:1;width:min(100%,1170px);min-width:0;margin:0 auto;padding:2.4rem clamp(1.25rem,4vw,4.8rem) 5rem;position:relative}.mobile-topbar,.mobile-nav{display:none}.top-menu-panel{z-index:10;border:1px solid hsl(var(--border));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#211710f5;border-radius:.85rem;padding:.75rem;position:absolute;top:calc(100% - .2rem);left:1.1rem;right:1.1rem;box-shadow:0 16px 42px #0c060373}.top-menu-panel .nav-caption{padding:.25rem .55rem .55rem}.top-menu-item{width:100%;min-height:2.45rem;color:hsl(var(--muted-foreground));text-align:left;background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.65rem;padding:0 .55rem;font-size:.68rem;display:flex}.top-menu-item:hover{color:hsl(var(--foreground));background:hsl(var(--primary) / .1)}.top-menu-item span{flex:1}.top-menu-item svg:first-child{color:hsl(var(--primary))}.page{width:100%;animation:.55s both rise-in}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header h1,.menu-intro h1,.setup-intro h1,.results-page h1,.placeholder-page h1{font-family:var(--app-font-display);letter-spacing:-.02em;color:#0000;filter:drop-shadow(0 2px 10px #c98a4529);background:linear-gradient(178deg,#f7e3b8 12%,#e5ac60 52%,#c9883f 90%);-webkit-background-clip:text;background-clip:text;margin:.55rem 0;font-size:clamp(2.3rem,5vw,4rem);font-weight:600;line-height:1.04}.page-header h1 em,.menu-intro h1 em,.setup-intro h1 em,.results-page h1 em,.placeholder-page h1 em{color:#0000;background:linear-gradient(175deg,#ffe9bd 12%,#f0b666 55%,#d2924a 92%);-webkit-background-clip:text;background-clip:text;font-style:normal}.page-lede{max-width:30rem;color:hsl(var(--muted-foreground));margin:0;font-size:.78rem;line-height:1.6}.avatar{border:1px solid hsl(var(--gold) / .55);width:2.35rem;height:2.35rem;color:hsl(var(--gold));font-family:var(--app-font-mono);border-radius:50%;place-items:center;font-size:.57rem;display:grid}.dashboard-page .page-header h1{font-size:clamp(1.55rem,2.7vw,2.1rem)}@keyframes xp-rise{0%{opacity:0;transform:translate(-50%,10px)scale(.8)}20%{opacity:1;transform:translate(-50%)scale(1)}70%{opacity:1;transform:translate(-50%,-10px)scale(1)}to{opacity:0;transform:translate(-50%,-22px)scale(.96)}}.xp-pop{z-index:90;color:#0000;pointer-events:none;animation:1.5s forwards xp-rise;position:fixed;top:38%;left:50%}.xp-pop:before{content:"+5 XP";background:linear-gradient(160deg,#3c2818f5,#22170ffa) padding-box padding-box;border:1px solid #f0b26e8c;border-radius:99px;padding:.38rem .88rem;display:inline-block;box-shadow:0 8px 24px #0f080480,inset 0 1px #ffe2b22e}.xp-pop{font-family:var(--app-font-mono);letter-spacing:.1em;font-size:.78rem;font-weight:700}.xp-pop:before{color:#0000;background:linear-gradient(178deg,#f7e3b8 12%,#e5ac60 52%,#c9883f 90%);-webkit-background-clip:text;background-clip:text}.kanji-quiz-page{position:relative}.kanji-quiz-page .xp-pop{top:38%;right:auto}.level-progress-strip{border-bottom:1px solid #c69e6e24;gap:.5rem;margin-top:.55rem;padding:.7rem .75rem .8rem;display:grid}.level-progress-copy{justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.level-progress-copy span{color:hsl(var(--foreground));font-family:var(--app-font-mono);letter-spacing:.06em;font-size:.6rem}.level-progress-copy small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.52rem}.level-progress-line{background:hsl(var(--muted));border-radius:99px;height:4px;display:block;overflow:hidden}.level-progress-line i{border-radius:inherit;background:linear-gradient(90deg,hsl(var(--gold)),hsl(var(--primary)));height:100%;transition:width .5s;display:block}.app-shell.theme-light .level-progress-strip{border-bottom-color:#5a483629}.app-shell.theme-light .xp-pop:before{background:linear-gradient(178deg,#7c5019 12%,#9c6c1d 52%,#7c4f15 90%);-webkit-background-clip:text;background-clip:text;box-shadow:0 10px 30px #5a3c1e40}.app-shell.theme-light .profile-auth{background:#fffcf7c2}.brand-emblem{padding:0}.brand-text{text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:0;display:inline-flex}.hero-panel{background:linear-gradient(112deg,#422818cc,#2e1e14bd 55%,#4028169e);border:1px solid #d6985c33;border-radius:1.2rem;min-height:18rem;margin-top:2.35rem;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 70px #0f080433}.hero-panel:before{content:"";border:1px solid #d69e6221;border-radius:50%;width:20rem;height:20rem;position:absolute;top:-8rem;right:13%}.hero-copy{z-index:1;flex-direction:column;justify-content:center;width:56%;padding:2.8rem;display:flex;position:relative}.hero-label{color:hsl(var(--gold));font-family:var(--app-font-mono);letter-spacing:.16em;align-items:center;gap:.4rem;font-size:.53rem;display:inline-flex}.hero-japanese{color:hsl(var(--primary) / .76);font-family:var(--app-font-serif);margin:.95rem 0 .25rem;font-size:.82rem}.hero-copy h2{color:hsl(var(--foreground));font-family:var(--app-font-serif);letter-spacing:-.06em;margin:.2rem 0 .75rem;font-size:clamp(2rem,4.4vw,3.5rem);font-weight:500;line-height:.99}.hero-copy h2 strong{color:hsl(var(--primary));font-weight:500}.hero-copy>p:not(.hero-japanese){max-width:22rem;color:hsl(var(--muted-foreground));margin:0 0 1.45rem;font-size:.73rem;line-height:1.5}.hero-constellation{flex:1;justify-content:center;align-items:center;min-width:15rem;display:flex;position:relative}.hero-kanji{z-index:1;color:#e2b074e6;font-family:var(--app-font-serif);text-shadow:16px 18px #1e120a52;font-size:11rem;line-height:1;position:relative}.hero-constellation small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);text-transform:uppercase;font-size:.5rem;line-height:1.65;position:absolute;bottom:17%;right:13%}.constellation-line{transform-origin:0;background:#d2a06440;height:1px;position:absolute}.line-a{width:5.2rem;top:29%;left:14%;transform:rotate(31deg)}.line-b{width:4.4rem;top:29%;right:25%;transform:rotate(152deg)}.constellation-dot{border:1px solid hsl(var(--gold));background:#d6a86a80;border-radius:50%;width:.32rem;height:.32rem;position:absolute}.dot-a{top:25%;left:13%}.dot-b{top:54%;right:24%}.dot-c{top:38%;right:13%}.primary-button,.secondary-button,.text-button{border-radius:.62rem;justify-content:center;align-items:center;gap:.65rem;min-height:2.65rem;padding:0 1rem;font-size:.7rem;font-weight:600;transition:transform .2s,background-color .2s,border-color .2s,opacity .2s;display:inline-flex}.primary-button{color:hsl(var(--primary-foreground));background:hsl(var(--primary));border:1px solid #0000;box-shadow:0 8px 22px #d278462e}.primary-button:hover:not(:disabled){background:#ed986e;transform:translateY(-2px)}.primary-button:disabled{opacity:.35}.secondary-button{border:1px solid hsl(var(--border));color:hsl(var(--foreground));background:#be986c14}.secondary-button:hover,.text-button:hover{border-color:hsl(var(--primary) / .55)}.text-button{color:hsl(var(--muted-foreground));background:0 0;border:0}.stat-strip{grid-template-columns:repeat(4,1fr);gap:.55rem;margin-top:.75rem;display:grid}.stat-strip>div{border-bottom:1px solid #c69e6e24;align-items:center;gap:.55rem;min-width:0;padding:.75rem .7rem;display:flex}.stat-strip>div>span:last-child{flex-direction:column;gap:.15rem;min-width:0;display:flex}.stat-strip b{color:hsl(var(--foreground));font-family:var(--app-font-mono);font-size:.73rem;font-weight:500}.stat-strip small{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;overflow:hidden}.stat-icon{border-radius:.55rem;flex:none;place-items:center;width:1.75rem;height:1.75rem;display:grid}.stat-icon.gold{color:hsl(var(--gold));background:hsl(var(--gold) / .11)}.stat-icon.violet{color:hsl(var(--violet));background:hsl(var(--violet) / .11)}.stat-icon.pink{color:hsl(var(--primary));background:hsl(var(--primary) / .11)}.stat-icon.blue{color:hsl(var(--blue));background:hsl(var(--blue) / .11)}.section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.section-heading h2{color:hsl(var(--foreground));font-family:var(--app-font-serif);letter-spacing:-.04em;margin:.3rem 0 0;font-size:1.42rem;font-weight:500}.section-heading>span{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);align-items:center;gap:.2rem;font-size:.55rem;display:inline-flex}.section-heading button{color:hsl(var(--primary));font-family:var(--app-font-mono);background:0 0;border:0;align-items:center;gap:.38rem;padding:.3rem 0;font-size:.57rem;display:inline-flex}.overall-track{background:hsl(var(--muted));border-radius:99px;height:.45rem;overflow:hidden}.overall-track span,.module-progress i{border-radius:inherit;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--gold)));height:100%;display:block}.overall-meta{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);justify-content:space-between;margin-top:.55rem;font-size:.52rem;display:flex}.overall-meta b{color:hsl(var(--gold));font-weight:500}.module-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.62rem;display:grid}.module-card{border:1px solid hsl(var(--border) / .72);text-align:left;background:#312319a1;border-radius:.85rem;flex-direction:column;align-items:flex-start;min-height:9.1rem;padding:.85rem;transition:transform .22s,border-color .22s,background-color .22s;display:flex}.module-card:hover{border-color:hsl(var(--primary) / .5);background:#3c2a1bc7;transform:translateY(-3px)}.module-icon{border-radius:.55rem;place-items:center;width:1.9rem;height:1.9rem;margin-bottom:1.1rem;display:grid}.tone-pink .module-icon{color:hsl(var(--primary));background:hsl(var(--primary) / .11)}.tone-violet .module-icon{color:hsl(var(--violet));background:hsl(var(--violet) / .11)}.tone-gold .module-icon{color:hsl(var(--gold));background:hsl(var(--gold) / .11)}.tone-blue .module-icon{color:hsl(var(--blue));background:hsl(var(--blue) / .11)}.tone-rose .module-icon{color:#e7a088;background:#e7a0881a}.module-title{color:hsl(var(--foreground));flex-direction:column;font-size:.73rem;font-weight:600;display:flex}.module-title small{color:hsl(var(--muted-foreground));font-family:var(--app-font-serif);margin-top:.14rem;font-size:.69rem;font-weight:500}.module-progress{background:hsl(var(--muted));border-radius:99px;width:100%;height:3px;margin-top:auto;overflow:hidden}.module-progress i{background:currentColor}.tone-pink{color:hsl(var(--primary))}.tone-violet{color:hsl(var(--violet))}.tone-gold{color:hsl(var(--gold))}.tone-blue{color:hsl(var(--blue))}.tone-rose{color:#e7a088}.module-detail{width:100%;color:hsl(var(--muted-foreground));align-items:center;gap:.15rem;margin-top:.6rem;font-size:.5rem;display:flex}.module-detail svg{margin-left:auto}.lower-grid{grid-template-columns:1.15fr .85fr;gap:.7rem;display:grid}.now-card,.phrase-card{border:1px solid hsl(var(--border) / .75);background:#2d2016ad;border-radius:1rem;padding:1.1rem}.card-topline{justify-content:space-between;align-items:center;display:flex}.live-dot{color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.5rem}.live-dot:before{content:"";background:hsl(var(--gold));border-radius:50%;width:.33rem;height:.33rem;margin-right:.3rem;display:inline-block}.now-content{justify-content:space-between;align-items:center;padding:1.5rem 0 1.25rem;display:flex}.now-content>div:first-child{flex-direction:column;display:flex}.now-form{color:hsl(var(--primary));font-family:var(--app-font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.53rem}.now-content strong{color:hsl(var(--foreground));font-family:var(--app-font-serif);margin:.35rem 0;font-size:2.1rem;font-weight:500}.now-content strong small{color:hsl(var(--muted-foreground));font-size:.88rem}.now-romaji{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.58rem}.now-progress-label{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);justify-content:space-between;margin-top:.9rem;font-size:.5rem;display:flex}.now-progress-label b{color:hsl(var(--gold));font-weight:500}.now-progress{background:hsl(var(--muted));border-radius:99px;width:100%;height:3px;margin-top:.38rem;display:block;overflow:hidden}.now-progress i{border-radius:inherit;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--gold)));width:18%;height:100%;display:block}.now-arrow{border:1px solid hsl(var(--primary) / .35);width:2.3rem;height:2.3rem;color:hsl(var(--primary));border-radius:50%;place-items:center;display:grid}.now-meta{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);justify-content:space-between;margin-bottom:.72rem;font-size:.5rem;display:flex}.now-card>button{border:0;border-top:1px solid hsl(var(--border) / .7);width:100%;color:hsl(var(--primary));background:0 0;justify-content:space-between;align-items:center;padding:.7rem 0 0;font-size:.65rem;font-weight:600;display:flex}.phrase-card{flex-direction:column;display:flex}.phrase-card>svg{color:hsl(var(--gold))}.phrase-card>strong{color:hsl(var(--foreground));font-family:var(--app-font-serif);margin-top:1.9rem;font-size:2.35rem;font-weight:500}.phrase-hira{color:hsl(var(--primary));font-family:var(--app-font-mono);margin-top:.2rem;font-size:.6rem}.phrase-card p{max-width:19rem;color:hsl(var(--muted-foreground));margin:1rem 0 0;font-size:.68rem;line-height:1.5}.phrase-tag{color:hsl(var(--gold));font-family:var(--app-font-mono);margin-top:auto;padding-top:1.2rem;font-size:.5rem}.narrow-page{max-width:760px;margin:0 auto;padding:2rem 0 4rem}.back-link{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);background:0 0;border:0;align-items:center;gap:.45rem;padding:.25rem 0;font-size:.57rem;display:inline-flex}.back-link:hover{color:hsl(var(--primary))}.menu-intro,.setup-intro{max-width:34rem;margin:4.3rem 0 2.5rem}.menu-intro p:last-child,.setup-intro p:last-child{max-width:29rem;color:hsl(var(--muted-foreground));margin:1.1rem 0 0;font-size:.78rem;line-height:1.65}.lesson-choice-grid{gap:.7rem;display:grid}.lesson-choice{border:1px solid hsl(var(--border));text-align:left;background:#302218ad;border-radius:1rem;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:7.8rem;padding:1.15rem;transition:transform .2s,border-color .2s,background-color .2s;display:grid;position:relative}.lesson-choice.is-ready:hover{border-color:hsl(var(--primary) / .58);background:#422c1cbf;transform:translate(4px)}.lesson-choice.is-soon{opacity:.62}.choice-icon{border:1px solid hsl(var(--primary) / .3);width:2.7rem;height:2.7rem;color:hsl(var(--primary));background:hsl(var(--primary) / .08);border-radius:.75rem;place-items:center;display:grid}.lesson-choice.is-soon .choice-icon{color:hsl(var(--violet));border-color:hsl(var(--violet) / .28);background:hsl(var(--violet) / .08)}.lesson-choice b{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.3rem;font-weight:500;display:block}.lesson-choice b small{color:hsl(var(--muted-foreground));font-family:var(--app-font-sans);margin-left:.35rem;font-size:.67rem;font-weight:400}.lesson-choice p{color:hsl(var(--muted-foreground));margin:.35rem 0 0;font-size:.67rem}.choice-status{color:hsl(var(--primary));font-family:var(--app-font-mono);white-space:nowrap;align-items:center;gap:.3rem;font-size:.51rem;display:inline-flex}.is-soon .choice-status{color:hsl(var(--muted-foreground))}.menu-note{border-left:2px solid hsl(var(--gold) / .55);color:hsl(var(--muted-foreground));align-items:flex-start;gap:.55rem;margin-top:1.8rem;padding:.8rem .9rem;font-size:.62rem;line-height:1.5;display:flex}.menu-note svg{color:hsl(var(--gold));flex:none}.setup-intro{margin-bottom:2.9rem}.config-section{margin-top:1.8rem}.config-label{justify-content:space-between;align-items:baseline;margin-bottom:.72rem;display:flex}.config-label span{color:hsl(var(--foreground));font-size:.72rem;font-weight:600}.config-label small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);text-transform:uppercase;font-size:.52rem}.form-choice-grid{grid-template-columns:repeat(3,1fr);gap:.52rem;display:grid}.form-choice{border:1px solid hsl(var(--border));min-height:4.4rem;color:hsl(var(--foreground));text-align:left;background:#30221880;border-radius:.72rem;flex-direction:column;justify-content:center;align-items:flex-start;gap:.24rem;padding:.7rem;transition:border-color .2s,background-color .2s,transform .2s;display:flex;position:relative}.form-choice:hover{border-color:hsl(var(--primary) / .48);transform:translateY(-2px)}.form-choice b{font-size:.67rem;font-weight:600}.form-choice span{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.53rem}.form-choice svg{color:hsl(var(--primary));position:absolute;top:.6rem;right:.55rem}.form-choice.is-selected{border-color:hsl(var(--primary));background:hsl(var(--primary) / .1)}.form-choice.is-selected b{color:hsl(var(--primary))}.round-choice-grid{grid-template-columns:repeat(6,1fr);gap:.52rem;display:grid}.round-choice-grid button{border:1px solid hsl(var(--border));min-height:2.8rem;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);background:#30221880;border-radius:.65rem;font-size:.65rem;transition:border-color .2s,color .2s,transform .2s}.round-choice-grid button:hover{border-color:hsl(var(--primary) / .48);transform:translateY(-2px)}.round-choice-grid button.is-selected{border-color:hsl(var(--primary));color:hsl(var(--primary));background:hsl(var(--primary) / .1)}.custom-input{border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));border-radius:.62rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:.65rem;padding:.65rem .75rem;font-size:.65rem;display:flex}.custom-input input{border:1px solid hsl(var(--input));width:5rem;color:hsl(var(--foreground));background:hsl(var(--card));font-family:var(--app-font-mono);text-align:center;border-radius:.4rem;outline:0;padding:.35rem;font-size:.7rem}.setup-footer{border-top:1px solid hsl(var(--border));justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.2rem;display:flex}.setup-footer>span{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);align-items:center;gap:.5rem;font-size:.52rem;display:inline-flex}.deck-mark{width:1.55rem;height:1.55rem;color:hsl(var(--gold));background:hsl(var(--gold) / .1);border-radius:.42rem;place-items:center;display:grid}.practice-page{max-width:760px;margin:0 auto;padding-top:.5rem}.practice-toolbar{justify-content:space-between;align-items:center;display:flex}.test-score{border:1px solid hsl(var(--border));border-radius:99px;align-items:baseline;gap:.5rem;padding:.45rem .7rem;display:flex}.test-score span,.test-score small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.52rem}.test-score b{color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.76rem;font-weight:500}.question-progress{margin-top:3.6rem}.question-progress>div{justify-content:space-between;align-items:center;display:flex}.question-progress>div>span:last-child{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.62rem}.question-progress i{color:hsl(var(--border));padding:0 .2rem;font-style:normal}.progress-line{background:hsl(var(--muted));border-radius:99px;height:3px;margin-top:.7rem;display:block;overflow:hidden}.progress-line i{border-radius:inherit;background:hsl(var(--primary));height:100%;transition:width .4s;display:block}.question-prompt{text-align:center;padding:4.1rem 0 3rem}.question-context{color:hsl(var(--muted-foreground));margin:0 0 1.2rem;font-size:.7rem}.question-context b{color:hsl(var(--primary));font-weight:500}.question-prompt h1{color:hsl(var(--foreground));font-family:var(--app-font-serif);letter-spacing:-.08em;margin:0;font-size:clamp(4rem,16vw,7rem);font-weight:500;line-height:.9}.prompt-hiragana{color:hsl(var(--foreground));font-family:var(--app-font-serif);letter-spacing:.08em;margin:.95rem 0 0;font-size:1.2rem}.prompt-romaji{color:hsl(var(--primary));font-family:var(--app-font-mono);letter-spacing:.09em;margin:.55rem 0 0;font-size:.78rem}.prompt-meaning{color:hsl(var(--muted-foreground));margin:.6rem 0 0;font-size:.7rem}.answer-panel{border:1px solid hsl(var(--border));background:#33241a9e;border-radius:.85rem;padding:1rem 1.15rem 1.05rem}.answer-panel:focus-within{border-color:hsl(var(--primary) / .56)}.answer-panel.is-correct{border-color:#44ab6fb3}.answer-panel.is-incorrect{border-color:#d26656b3}.answer-panel label{color:hsl(var(--foreground));margin-bottom:.7rem;font-size:.7rem;font-weight:600;display:block}.answer-panel label span{color:hsl(var(--muted-foreground));font-weight:400}.answer-field{align-items:center;gap:.7rem;display:flex}.answer-field input{width:100%;min-width:0;color:hsl(var(--foreground));font-family:var(--app-font-mono);background:0 0;border:0;outline:0;padding:.15rem 0;font-size:.94rem}.answer-field input::placeholder{color:hsl(var(--muted-foreground) / .65);font-size:.72rem}.submit-answer{width:2.25rem;height:2.25rem;color:hsl(var(--primary-foreground));background:hsl(var(--primary));border:0;border-radius:.55rem;flex:none;place-items:center;display:grid}.submit-answer:disabled{opacity:.3}.feedback{align-items:center;gap:.7rem;margin-top:.85rem;display:flex}.feedback-symbol{width:1.7rem;height:1.7rem;color:hsl(var(--background));border-radius:50%;flex:none;place-items:center;display:grid}.is-correct .feedback-symbol{background:#54bb7f}.is-incorrect .feedback-symbol{background:#d46e5e}.feedback>span:nth-child(2){flex-direction:column;flex:1;gap:.13rem;display:flex}.feedback b{color:hsl(var(--foreground));font-size:.72rem}.feedback small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.57rem}.next-answer{min-height:2.25rem;color:hsl(var(--primary-foreground));background:hsl(var(--secondary));border:0;border-radius:.5rem;align-items:center;gap:.35rem;padding:0 .7rem;font-size:.65rem;font-weight:600;display:inline-flex}.answer-reveal{border:1px solid hsl(var(--border) / .75);background:#32241a99;border-radius:.8rem;justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:.7rem;padding:1rem;animation:.25s both rise-in;display:flex}.answer-reveal>div{flex-direction:column;gap:.26rem;display:flex}.answer-reveal strong{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.65rem;font-weight:500}.answer-reveal>div>span:not(.kicker){color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.59rem}.answer-reveal>p{max-width:11rem;color:hsl(var(--muted-foreground));text-align:right;margin:0;font-size:.63rem;line-height:1.4}.explanation-panel{border:1px solid hsl(var(--gold) / .23);background:hsl(var(--gold) / .04);border-radius:.72rem;margin-top:.65rem;overflow:hidden}.explanation-panel>button{width:100%;min-height:2.65rem;color:hsl(var(--gold));background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 .85rem;font-size:.66rem;font-weight:600;display:flex}.explanation-panel>button span{align-items:center;gap:.4rem;display:inline-flex}.explanation-panel>button svg:last-child{transition:transform .25s}.explanation-panel.is-open>button svg:last-child{transform:rotate(180deg)}.explanation-body{opacity:0;grid-template-columns:auto 1fr;gap:.3rem .65rem;max-height:0;padding:0 .85rem;transition:max-height .35s,opacity .25s,padding .35s;display:grid}.explanation-panel.is-open .explanation-body{opacity:1;max-height:26rem;padding:.25rem .85rem .95rem}.rule-badge{color:hsl(var(--violet));font-family:var(--app-font-mono);letter-spacing:.04em;grid-column:1/-1;font-size:.52rem}.explanation-body h3{color:hsl(var(--foreground));font-family:var(--app-font-serif);grid-column:1/-1;margin:.25rem 0 0;font-size:1.1rem;font-weight:500}.rule-summary{color:hsl(var(--muted-foreground));grid-column:1/-1;margin:0;font-size:.65rem;line-height:1.5}.transformation{border:1px solid hsl(var(--border));background:#1c140e52;border-radius:.48rem;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.35rem;padding:.55rem .65rem;display:flex}.transformation span{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);letter-spacing:.09em;font-size:.46rem}.transformation b{color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.6rem;font-weight:500}.explanation-body ol{color:hsl(var(--muted-foreground));grid-column:1/-1;margin:.3rem 0 0;padding-left:1.3rem;font-size:.61rem;line-height:1.55}.explanation-body li{padding-left:.25rem}.live-stats{border-top:1px solid hsl(var(--border));grid-template-columns:repeat(3,1fr);gap:.4rem;margin-top:1.65rem;padding-top:1rem;display:grid}.live-stats span{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);text-align:center;text-transform:uppercase;flex-direction:column;gap:.2rem;font-size:.51rem;display:flex}.live-stats b{color:hsl(var(--foreground));font-size:.65rem;font-weight:500}.practice-hint{color:hsl(var(--muted-foreground));text-align:center;margin:1.05rem 0 0;font-size:.62rem}.practice-hint i{color:hsl(var(--primary));padding:0 .3rem;font-style:normal}.results-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:620px;min-height:calc(100dvh - 5rem);margin:0 auto;padding:2rem 0 4rem;display:flex}.results-orbit{border:1px solid hsl(var(--gold) / .6);width:3.7rem;height:3.7rem;color:hsl(var(--gold));background:hsl(var(--gold) / .08);border-radius:50%;place-items:center;margin-bottom:1.7rem;display:grid}.results-page h1{margin-top:.8rem;font-size:clamp(2.7rem,6vw,4.5rem)}.results-lede{max-width:25rem;color:hsl(var(--muted-foreground));margin:.7rem 0 0;font-size:.72rem;line-height:1.6}.result-score{border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));align-items:baseline;gap:.7rem;margin:2.1rem 0 1rem;padding:1rem 1.4rem;display:flex}.result-score span{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);letter-spacing:.12em;font-size:.51rem}.result-score strong{color:hsl(var(--primary));font-family:var(--app-font-mono);font-size:2.25rem;font-weight:500}.result-score strong small{color:hsl(var(--muted-foreground));font-size:.75rem}.result-score b{color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.61rem;font-weight:500}.result-breakdown{grid-template-columns:repeat(3,1fr);gap:.45rem;width:min(100%,25rem);display:grid}.result-breakdown div{border:1px solid hsl(var(--border));background:#3221198c;border-radius:.6rem;flex-direction:column;gap:.25rem;padding:.75rem .3rem;display:flex}.result-breakdown b{color:hsl(var(--foreground));font-family:var(--app-font-mono);font-size:1rem;font-weight:500}.result-breakdown span{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);text-transform:uppercase;font-size:.48rem}.selected-summary{flex-direction:column;gap:.3rem;margin:1.5rem 0 1.9rem;display:flex}.selected-summary span{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);letter-spacing:.1em;font-size:.49rem}.selected-summary b{color:hsl(var(--primary));font-size:.72rem;font-weight:500}.result-actions{flex-wrap:wrap;justify-content:center;gap:.55rem;display:flex}.placeholder-page{flex-direction:column;justify-content:center;align-items:flex-start;max-width:640px;min-height:70dvh;margin:0 auto;display:flex}.placeholder-mark{border:1px solid hsl(var(--gold) / .5);width:3.2rem;height:3.2rem;color:hsl(var(--gold));border-radius:50%;place-items:center;margin-bottom:1.4rem;display:grid}.placeholder-page h1{font-size:clamp(2.8rem,7vw,5rem)}.placeholder-page>p:not(.kicker){max-width:25rem;color:hsl(var(--muted-foreground));margin:.5rem 0 1.7rem;font-size:.75rem;line-height:1.6}.profile-page{max-width:760px;margin:0 auto;padding:2rem 0 4rem}.profile-card{border:1px solid hsl(var(--border));background:#302218ad;border-radius:1rem;align-items:center;gap:1rem;margin-top:2.5rem;padding:1.15rem;display:flex}.profile-avatar{border:1px solid hsl(var(--gold) / .6);width:4.2rem;height:4.2rem;color:hsl(var(--gold));font-family:var(--app-font-mono);border-radius:50%;place-items:center;font-size:.8rem;display:grid}.profile-card h2{color:hsl(var(--foreground));font-family:var(--app-font-serif);margin:.25rem 0 .2rem;font-size:1.65rem;font-weight:500}.profile-card p:last-child{color:hsl(var(--muted-foreground));margin:0;font-size:.68rem}.profile-statistics{margin-top:2.8rem}.profile-stat-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.profile-stat-grid>div{border:1px solid hsl(var(--border));background:#312319a1;border-radius:.8rem;flex-direction:column;justify-content:space-between;min-height:7rem;padding:.9rem;display:flex}.profile-stat-grid span,.profile-stat-grid small{color:hsl(var(--muted-foreground));font-size:.6rem}.profile-stat-grid b{color:hsl(var(--foreground));font-family:var(--app-font-mono);font-size:1.25rem;font-weight:500}.profile-card .profile-signout{align-self:flex-start;margin-left:auto;font-size:.62rem}.profile-auth{border:1px solid hsl(var(--border));text-align:center;background:#302218ad;border-radius:1rem;flex-direction:column;align-items:center;margin-top:2.5rem;padding:2rem 1.5rem;display:flex}.profile-auth-mark{border:1px solid hsl(var(--gold) / .5);width:3.2rem;height:3.2rem;color:hsl(var(--gold));border-radius:50%;place-items:center;margin-bottom:1rem;display:grid}.profile-auth h2{color:hsl(var(--foreground));font-family:var(--app-font-serif);margin:.55rem 0 0;font-size:1.65rem;font-weight:500}.profile-auth-note{max-width:23rem;color:hsl(var(--muted-foreground));margin:.55rem 0 0;font-size:.68rem;line-height:1.55}.profile-auth-actions{flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:1.4rem;display:flex}.profile-auth-form{text-align:left;align-items:stretch}.profile-auth-form .profile-auth-mark,.profile-auth-form .kicker,.profile-auth-form h2,.profile-auth-form .profile-auth-note{text-align:center;align-self:center}.profile-auth-fields{flex-direction:column;gap:.7rem;width:100%;max-width:22rem;margin:1.4rem auto 0;display:flex}.profile-auth-field{flex-direction:column;gap:.35rem;display:flex}.profile-auth-field span{color:hsl(var(--foreground));font-size:.66rem;font-weight:600}.profile-auth-field input{border:1px solid hsl(var(--input));min-width:0;color:hsl(var(--foreground));background:hsl(var(--card));font-family:var(--app-font-mono);border-radius:.55rem;outline:0;padding:.55rem .7rem;font-size:.72rem;transition:border-color .2s}.profile-auth-field input:focus{border-color:hsl(var(--primary) / .6)}.profile-auth-form .profile-auth-actions{margin-top:1.3rem}.profile-auth-switch{color:hsl(var(--muted-foreground));text-align:center;margin:1.1rem auto 0;font-size:.62rem}.profile-auth-switch button{color:hsl(var(--primary));text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;font-size:.62rem;font-weight:600;text-decoration:underline}@media(max-width:950px){.sidebar{flex-basis:198px;width:198px}.main-column{padding-left:2rem;padding-right:2rem}.module-grid{grid-template-columns:repeat(3,1fr)}.module-card:nth-child(4),.module-card:nth-child(5){min-height:8rem}}@media(max-width:700px){.app-shell{display:block;overflow:auto}.sidebar{display:none}.mobile-topbar{z-index:3;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#18110e8c;justify-content:space-between;align-items:center;padding:1rem 1.1rem .7rem;display:flex;position:relative}.mobile-topbar .brand{padding:0}.mobile-topbar .brand-emblem{width:1.95rem;height:1.95rem}.mobile-menu{border:1px solid hsl(var(--border));width:2.15rem;height:2.15rem;color:hsl(var(--muted-foreground));background:#322119b8;border-radius:.55rem;place-items:center;display:grid}.main-column{padding:1.35rem 1.1rem 6rem}.mobile-nav{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#211710de;border:1px solid #c69e6e33;border-radius:1rem;grid-template-columns:repeat(4,1fr);padding:.4rem;display:grid;position:fixed;bottom:.7rem;left:.75rem;right:.75rem;box-shadow:0 10px 40px #02030b73}.mobile-nav button{min-height:2.8rem;color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);background:0 0;border:0;border-radius:.7rem;flex-direction:column;justify-content:center;align-items:center;gap:.22rem;font-size:.43rem;display:flex}.mobile-nav button.is-active{color:hsl(var(--primary));background:hsl(var(--primary) / .1)}.page-header h1{font-size:2.45rem}.hero-panel{min-height:25rem}.hero-copy{justify-content:flex-start;width:100%;padding:2.05rem 1.35rem}.hero-copy h2{font-size:2.45rem}.hero-constellation{opacity:.72;width:47%;min-width:10rem;height:13rem;position:absolute;bottom:-.9rem;right:-.8rem}.hero-kanji{font-size:8rem}.hero-constellation small{display:none}.stat-strip{grid-template-columns:repeat(2,1fr);margin-top:.5rem}.stat-strip>div{padding:.72rem .25rem}.progress-overview,.module-section,.lower-grid{margin-top:2.2rem}.module-grid{grid-template-columns:repeat(2,1fr)}.module-card{min-height:8.7rem}.lower-grid{grid-template-columns:1fr}.phrase-card{min-height:14rem}.narrow-page{padding-top:.45rem}.menu-intro,.setup-intro{margin-top:3.2rem}.form-choice-grid{grid-template-columns:repeat(2,1fr)}.form-choice:last-child{grid-column:span 2}.round-choice-grid{grid-template-columns:repeat(3,1fr)}.setup-footer{flex-direction:column;align-items:stretch}.setup-footer .primary-button{width:100%}.practice-page{padding-top:.3rem}.question-progress{margin-top:2.8rem}.question-prompt{padding:3.2rem 0 2.4rem}.answer-reveal{flex-direction:column;align-items:flex-start}.answer-reveal>p{text-align:left;max-width:none}.results-page{min-height:auto;padding-top:3.8rem}.results-page h1{font-size:3.3rem}.profile-page{padding-top:.45rem}.profile-stat-grid{grid-template-columns:1fr}.profile-stat-grid>div{min-height:5.2rem}.learning-lesson-heading{margin-top:3.2rem}.learning-cta{flex-direction:column;align-items:stretch}.learning-cta .primary-button{width:100%}.learning-rule-row{grid-template-columns:1fr;gap:.25rem}}@media(max-width:390px){.hero-panel{min-height:26rem}.hero-copy h2{font-size:2.2rem}.module-grid{gap:.45rem}.module-card{padding:.7rem}.module-detail{font-size:.46rem}.form-choice{padding:.6rem}.lesson-choice{grid-template-columns:auto 1fr}.choice-status{grid-column:2}.result-score{gap:.42rem;padding-left:.7rem;padding-right:.7rem}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell.theme-light{--background:36 45% 95%;--foreground:26 40% 15%;--border:28 20% 80%;--input:28 20% 74%;--card:40 55% 98%;--card-foreground:26 40% 15%;--muted:36 28% 88%;--muted-foreground:26 16% 40%;--primary:18 70% 47%;--primary-foreground:40 50% 97%;--secondary:34 25% 88%;--secondary-foreground:26 40% 15%;background:radial-gradient(circle at 69% 2%,#ba7a401f,transparent 31rem),hsl(var(--background))}.app-shell.theme-light .atmosphere:after{opacity:.025;mix-blend-mode:multiply}.app-shell.theme-light .moon-disc{background:radial-gradient(circle at 38% 35%,#fff5d6eb,#ddc4b28c 52%,#c297ba1f 70%);border-color:#8c643c4d}.app-shell.theme-light .mountain{opacity:.72;background:#ddd2c4}.app-shell.theme-light .mountain-front{opacity:.8;background:#cbbca9}.app-shell.theme-light .pagoda-silhouette:before,.app-shell.theme-light .pagoda-silhouette:after,.app-shell.theme-light .pagoda-silhouette i,.app-shell.theme-light .lantern-silhouette:before,.app-shell.theme-light .lantern-silhouette:after,.app-shell.theme-light .lantern-silhouette i{background:#9a8468}.app-shell.theme-light .sidebar{border-color:hsl(var(--border));background:#fffcf7b8}.app-shell.theme-light .mobile-topbar{background:#fffcf7c7}.app-shell.theme-light .top-menu-panel,.app-shell.theme-light .mobile-nav{background:#fffcf7f5;box-shadow:0 16px 42px #583a2229}.app-shell.theme-light .hero-panel{background:linear-gradient(112deg,#f1e3d0f2,#ede1cde6 55%,#f2e2cbd6);border-color:#b26e3c4d;box-shadow:0 25px 70px #603e241a}.app-shell.theme-light .module-card,.app-shell.theme-light .now-card,.app-shell.theme-light .phrase-card,.app-shell.theme-light .lesson-choice,.app-shell.theme-light .profile-card,.app-shell.theme-light .profile-stat-grid>div,.app-shell.theme-light .answer-panel,.app-shell.theme-light .answer-reveal,.app-shell.theme-light .result-breakdown div{background:#fffcf7c2}.app-shell.theme-light .module-card:hover,.app-shell.theme-light .lesson-choice.is-ready:hover{background:#fffaf2f5}.app-shell.theme-light .form-choice,.app-shell.theme-light .round-choice-grid button{background:#fffcf7b8}.form-accordion{border:1px solid hsl(var(--border));background:#30221880;border-radius:.9rem;transition:border-color .25s,background-color .25s,box-shadow .25s;overflow:hidden;box-shadow:0 8px 24px #0f080414}.form-accordion.is-open{border-color:hsl(var(--primary) / .58);box-shadow:0 12px 30px #0f080429,0 0 24px hsl(var(--primary) / .06);background:#382418ad}.form-accordion-trigger{width:100%;min-height:4.4rem;color:hsl(var(--foreground));text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.form-accordion-trigger:hover{background:hsl(var(--primary) / .06)}.form-accordion-trigger>svg{color:hsl(var(--primary));flex:none}.form-accordion-copy{flex-direction:column;gap:.28rem;display:flex}.form-accordion-copy b{font-size:.76rem;font-weight:600}.form-accordion-copy small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.53rem}.form-accordion-options{opacity:0;visibility:hidden;gap:.45rem;max-height:0;padding:0 .7rem;transition:max-height .28s,padding-bottom .28s,opacity .2s,visibility 0s linear .28s;display:grid;overflow:hidden}.form-accordion-options.is-visible{opacity:1;visibility:visible;max-height:20rem;padding-bottom:.7rem;transition-delay:0s}.form-option{border:1px solid hsl(var(--border) / .8);min-height:3rem;color:hsl(var(--foreground));text-align:left;background:#21171057;border-radius:.65rem;align-items:center;gap:.7rem;padding:.65rem .75rem;transition:border-color .2s,background-color .2s,transform .2s;display:flex;position:relative}.form-option:hover{border-color:hsl(var(--primary) / .5);background:hsl(var(--primary) / .08);transform:translate(3px)}.form-option span{font-size:.68rem;font-weight:600}.form-option small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.53rem}.form-option svg{color:hsl(var(--primary));margin-left:auto}.form-option.is-selected{border-color:hsl(var(--primary));background:hsl(var(--primary) / .12)}.form-option.is-selected span{color:hsl(var(--primary))}.learning-form-grid{gap:.65rem;display:grid}.learning-form-card{border:1px solid hsl(var(--border));min-height:5.4rem;color:hsl(var(--foreground));text-align:left;background:#30221894;border-radius:.85rem;grid-template-columns:2.6rem 1fr auto;align-items:center;gap:.85rem;padding:.9rem 1rem;transition:transform .2s,border-color .2s,background-color .2s;display:grid}.learning-form-card:hover{border-color:hsl(var(--primary) / .58);background:#422c1cbf;transform:translate(4px)}.learning-form-card>svg{color:hsl(var(--primary))}.learning-form-number{color:hsl(var(--gold));font-family:var(--app-font-mono);font-size:.62rem}.learning-form-copy{flex-direction:column;gap:.2rem;display:flex}.learning-form-copy b{font-family:var(--app-font-serif);font-size:1.05rem;font-weight:500}.learning-form-copy small{color:hsl(var(--primary));font-family:var(--app-font-mono);font-size:.55rem}.learning-form-copy>span{color:hsl(var(--muted-foreground));font-size:.6rem}.learning-lesson-heading{max-width:40rem;margin:4.3rem 0 2.2rem}.learning-lesson-heading h1{font-family:var(--app-font-display);letter-spacing:-.02em;color:#0000;filter:drop-shadow(0 2px 10px #c98a4529);background:linear-gradient(178deg,#f7e3b8 12%,#e5ac60 52%,#c9883f 90%);-webkit-background-clip:text;background-clip:text;margin:.55rem 0 .7rem;font-size:clamp(2.25rem,5vw,3.8rem);font-weight:600;line-height:1.06}.learning-lesson-heading p:last-child{max-width:31rem;color:hsl(var(--muted-foreground));margin:0;font-size:.76rem;line-height:1.6}.learning-rule-card,.learning-examples{border:1px solid hsl(var(--border));background:#30221894;border-radius:.9rem;margin-top:1.3rem;padding:1rem}.learning-section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;display:flex}.learning-section-heading>span:last-child{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);text-transform:uppercase;font-size:.5rem}.learning-rules{gap:.45rem;display:grid}.learning-rule-row{background:#21171061;border-radius:.55rem;grid-template-columns:5.5rem 1fr;align-items:center;gap:.7rem;min-height:2.65rem;padding:.55rem .65rem;display:grid}.learning-rule-row span{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);text-transform:uppercase;font-size:.52rem}.learning-rule-row b{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:.88rem;font-weight:500}.learning-example-list{gap:.4rem;display:grid}.learning-example{border-bottom:1px solid hsl(var(--border) / .55);grid-template-columns:1fr auto auto;align-items:center;gap:.65rem;padding:.6rem .65rem;display:grid}.learning-example:last-child{border-bottom:0}.learning-example>span{flex-direction:column;gap:.15rem;display:flex}.learning-example b,.learning-example strong{color:hsl(var(--foreground));font-family:var(--app-font-serif);font-size:1.1rem;font-weight:500}.learning-example small{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);font-size:.52rem}.learning-example>svg,.learning-example strong{color:hsl(var(--primary))}.learning-cta{border:1px solid hsl(var(--primary) / .33);background:hsl(var(--primary) / .06);border-radius:.9rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.8rem;padding:1rem;display:flex}.learning-cta p{color:hsl(var(--muted-foreground));margin:.35rem 0 0;font-size:.65rem}.app-shell.theme-light .learning-form-card,.app-shell.theme-light .learning-rule-card,.app-shell.theme-light .learning-examples{background:#fffcf7c2}.app-shell.theme-light .learning-form-card:hover{background:#fffaf2f5}@keyframes accordion-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.form-select{display:block;position:relative}.form-select select{appearance:none;border:1px solid hsl(var(--border));width:100%;min-height:3.25rem;color:hsl(var(--foreground));cursor:pointer;background:#30221880;border-radius:.72rem;padding:0 2.8rem 0 .9rem;font-size:.72rem}.form-select select:hover{border-color:hsl(var(--primary) / .48)}.form-select select:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:3px}.form-select svg{pointer-events:none;color:hsl(var(--primary));position:absolute;top:50%;right:.9rem;transform:translateY(-50%)}.form-select option{color:#2b1c10;background:#fffaf5}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell.theme-light .transformation{background:#f1ebe2cc}.app-shell.theme-light .theme-toggle,.app-shell.theme-light .mobile-theme-toggle{color:hsl(var(--muted-foreground));border-color:hsl(var(--border));background:#fffcf7c2}.app-shell.theme-light .form-select select{background:#fffcf7b8}.theme-toggle{color:hsl(var(--muted-foreground));font-family:var(--app-font-mono);text-align:left;background:0 0;border:1px solid #c69e6e21;border-radius:.6rem;align-items:center;gap:.5rem;margin-top:.8rem;padding:.55rem .65rem;font-size:.52rem;display:inline-flex}.theme-toggle:hover,.mobile-theme-toggle:hover{color:hsl(var(--primary));border-color:hsl(var(--primary) / .5)}.mobile-theme-toggle{border:1px solid hsl(var(--border));width:2.15rem;height:2.15rem;color:hsl(var(--muted-foreground));background:#322119b8;border-radius:.55rem;place-items:center;margin-left:auto;margin-right:.5rem;display:grid}@media(max-width:700px){.mobile-topbar .mobile-theme-toggle{display:grid}.form-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-choice:last-child{grid-column:auto}}.profile-auth-error{color:#e4978b;text-align:center;background:#d46e5e14;border:1px solid #d46e5e66;border-radius:.55rem;max-width:22rem;margin:.9rem auto 0;padding:.55rem .75rem;font-size:.64rem}.app-shell.theme-light .profile-auth-error{color:#a03c50;background:#a03c5012;border-color:#a03c5059}.profile-auth-password-row{display:flex;position:relative}.profile-auth-password-row input{width:100%;padding-right:2.6rem}.profile-auth-eye{width:2rem;height:2rem;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:.45rem;place-items:center;transition:color .2s,background .2s;display:grid;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.profile-auth-eye:hover{color:hsl(var(--foreground));background:hsl(var(--primary) / .12)}.app-shell.theme-light .profile-auth-eye{color:hsl(var(--muted-foreground))}.recovery-code-value{border:1px dashed hsl(var(--gold) / .65);color:hsl(var(--gold));background:hsl(var(--gold) / .07);font-family:var(--app-font-mono);letter-spacing:.28em;text-indent:.28em;-webkit-user-select:all;user-select:all;border-radius:.8rem;margin:1.2rem auto .4rem;padding:.8rem 1.4rem;font-size:1.65rem;font-weight:600;display:inline-block}.recovery-code-note{max-width:23rem;color:hsl(var(--muted-foreground));margin:1.1rem auto 0;font-size:.6rem;line-height:1.55}.recovery-code-field input{text-align:center;letter-spacing:.22em;text-transform:lowercase}.app-shell.theme-kuro{--background:60 4% 5%;--foreground:45 22% 81%;--border:45 5% 22%;--input:45 5% 24%;--ring:0 45% 42%;--card:60 4% 9%;--card-foreground:45 22% 81%;--primary:0 59% 30%;--primary-foreground:45 30% 92%;--secondary:45 5% 16%;--secondary-foreground:45 22% 81%;--muted:60 3% 13%;--muted-foreground:45 7% 62%;--gold:0 32% 64%;--crimson-text:0 45% 60%;--violet:0 32% 56%;--blue:45 10% 60%;background:radial-gradient(ellipse 60rem 26rem at 85% -6%,#3a383459,transparent 70%),radial-gradient(ellipse 46rem 30rem at -10% 108%,#2b2a2780,transparent 70%),hsl(var(--background))}.app-shell.theme-kuro:before{content:"";z-index:0;pointer-events:none;opacity:.8;background-image:radial-gradient(#d8d2c407 1px,#0000 1.4px),radial-gradient(70% 42% at 78% 112%,#7a1f1f0d,#0000 62%),radial-gradient(55% 38% at 12% -8%,#d8d2c40b,#0000 60%);background-size:7px 7px,100% 100%,100% 100%;position:absolute;inset:0}.app-shell.theme-kuro .moon-disc:after{border-color:#f0ece01a}.app-shell.theme-kuro .mountain{opacity:.9;background:#1a1917}.app-shell.theme-kuro .mountain-front{opacity:.97;background:#101010}.app-shell.theme-kuro .pagoda-silhouette{color:#101010}.app-shell.theme-kuro .pagoda-silhouette i{background:#101010}.app-shell.theme-kuro .lantern-silhouette,.app-shell.theme-kuro .lantern-silhouette i{background:#121110}.app-shell.theme-kuro .lantern-silhouette:after{background:radial-gradient(circle,#b34a4238,#0000 70%)}.app-shell.theme-kuro .petal{background:linear-gradient(135deg,#943c368c,#7a1f1f61)}.app-shell.theme-kuro .particle{background:radial-gradient(circle,#d8d2c480,#d8d2c438)}.app-shell.theme-kuro .particle:after{background:#d8d2c429}.app-shell.theme-kuro .sidebar{background:#111110d1;border-right-color:#d8d2c41a}.app-shell.theme-kuro .sidebar-rule,.app-shell.theme-kuro .sidebar-footer{border-color:#d8d2c41a}.app-shell.theme-kuro .level-progress-strip,.app-shell.theme-kuro .stat-strip>div{border-color:#d8d2c41f}.app-shell.theme-kuro .mobile-topbar{background:#0d0d0cb8}.app-shell.theme-kuro .mobile-menu{background:#242321d9;border-color:#d8d2c429}.app-shell.theme-kuro .mobile-nav{background:#141412e6;border-color:#d8d2c41f;box-shadow:0 10px 40px #0009}.app-shell.theme-kuro .hero-panel{background:radial-gradient(circle at 85% 12%,#7a1f1f1f,transparent 55%),linear-gradient(160deg,#1c1b19eb,#10100fe6),hsl(var(--card));border-color:#3a3834cc}.app-shell.theme-kuro .hero-panel:before{background:radial-gradient(circle at 20% 0,#d8d2c40f,#0000 60%)}.app-shell.theme-kuro .module-card{background:#171715b8;border-color:#3a3834cc}.app-shell.theme-kuro .module-card:hover{background:#242321d9}.app-shell.theme-kuro .profile-stat-grid>div{background:#171715b8;border-color:#3a3834cc}.app-shell.theme-kuro .primary-button{background:linear-gradient(150deg,hsl(var(--primary)),#611919);box-shadow:0 10px 30px #7a1f1f4d,inset 0 1px #d8d2c41f}.app-shell.theme-kuro .sidebar-footer button,.app-shell.theme-kuro .mobile-nav button.is-active{color:#bc4e4e}.app-shell.theme-kuro .brand-name,.app-shell.theme-kuro .brand-name em,.app-shell.theme-kuro .dash-title,.app-shell.theme-kuro .dash-jp,.app-shell.theme-kuro .kanji-reading,.app-shell.theme-kuro .result-score strong,.app-shell.theme-kuro .profile-card h2,.app-shell.theme-kuro .profile-auth h2,.app-shell.theme-kuro .hero-copy h2,.app-shell.theme-kuro .kana-progress-copy b,.app-shell.theme-kuro .kana-locked h1,.app-shell.theme-kuro .learning-lesson-heading h1{-webkit-text-fill-color:transparent;color:#c46464;filter:none;text-shadow:0 0 28px #8c282447;background:linear-gradient(112deg,#894343,#cc3e3e 38%,#d6785c 62%,#d3bda6 96%);-webkit-background-clip:text;background-clip:text}.app-shell.theme-kuro .brand-text:hover .brand-name{color:hsl(var(--gold))}.app-shell.hover-brand .brand-name{color:hsl(var(--foreground))}.app-shell.theme-kuro .page-header h1 em,.app-shell.theme-kuro .menu-intro h1 em,.app-shell.theme-kuro .setup-intro h1 em,.app-shell.theme-kuro .results-page h1 em,.app-shell.theme-kuro .placeholder-page h1 em{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:transparent;color:#c46464;filter:none;background:linear-gradient(112deg,#a44646,#d44949 55%,#d5997b);-webkit-background-clip:text;background-clip:text}.app-shell.theme-kuro .page-header h1,.app-shell.theme-kuro .menu-intro h1,.app-shell.theme-kuro .setup-intro h1,.app-shell.theme-kuro .results-page h1,.app-shell.theme-kuro .placeholder-page h1{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:hsl(var(--foreground));color:hsl(var(--foreground));filter:none;text-shadow:0 0 34px #8c28242e}.app-shell.theme-kuro .brand-slot{box-shadow:none;background:#1c1b1999;border-color:#d8d2c41f}.app-shell.theme-kuro .brand-slot:hover{border-color:#b34a4273;box-shadow:0 0 0 2px #7a1f1f2e}.app-shell.theme-kuro .brand-emblem{color:#be7474;background:#7a1f1f1a;border-color:#b34a4266}.app-shell.theme-kuro .leaf{box-shadow:none}.app-shell.theme-kuro .constellation-dot{background:#d8d2c459}.app-shell.theme-kuro .hero-kanji{color:#d8d2c41a}.app-shell.theme-kuro .hero-panel,.app-shell.theme-kuro .hero-panel:before{border-color:#3a3834cc}.app-shell.theme-kuro .vn-holo:before,.app-shell.theme-kuro .wg-holo:before,.app-shell.theme-kuro .roadmap-intro-holo:before{background:#2e2d2af2}.app-shell.theme-kuro .vn-scene:before,.app-shell.theme-kuro .vn-scene:after,.app-shell.theme-kuro .vn-answer.is-wrong{border-color:#7a1f1f59}.app-shell.theme-kuro .kana-settab,.app-shell.theme-kuro .kana-ready,.app-shell.theme-kuro .kana-ask-holo,.app-shell.theme-kuro .kana-actionbar,.app-shell.theme-kuro .kana-roundchip{border-color:#3a3834cc}.app-shell.theme-kuro .kana-settab:hover,.app-shell.theme-kuro .kana-ready:hover:not(:disabled),.app-shell.theme-kuro .kana-ask-holo:hover,.app-shell.theme-kuro .kana-roundchip:hover,.app-shell.theme-kuro .kana-answer:hover:not(:disabled){border-color:#d8d2c44d}.app-shell.theme-kuro .kana-cell:hover,.app-shell.theme-kuro .kana-rowlabel:hover{background:#242321b3;border-color:#d8d2c44d}.app-shell.theme-kuro .kana-cell.is-selected{border-color:#b35e428c;box-shadow:0 0 0 2px #7a1f1f38}.app-shell.theme-kuro .kana-rowlabel.is-complete{background:#7a1f1f29;border-color:#b35e4280}.app-shell.theme-kuro .kana-ready.is-done{border-color:#b35e4299}.app-shell.theme-kuro .kana-ready-holo{background:#1c1b19cc;border-color:#3a3834d9}.app-shell.theme-kuro .kana-locked{background:repeating-linear-gradient(135deg,#171715d9 0 8px,#1c1b19d9 8px 16px);border-color:#3a3834b3}.app-shell.theme-kuro .kana-learn-line .lvl-3{box-shadow:none}.app-shell.theme-kuro .roadmap-entry,.app-shell.theme-kuro .roadmap-entry-icon,.app-shell.theme-kuro .roadmap-bubble,.app-shell.theme-kuro .roadmap-section span{border-color:#3a3834cc}.app-shell.theme-kuro .roadmap-entry{background:linear-gradient(150deg,#1c1b19d9,#141412cc)}.app-shell.theme-kuro .roadmap-entry:hover{border-color:#d8d2c447}.app-shell.theme-kuro .roadmap-nodebtn:not(:disabled):hover .roadmap-bubble,.app-shell.theme-kuro .roadmap-nodebtn:focus-visible .roadmap-bubble{box-shadow:0 0 0 3px #7a1f1f40}.app-shell.theme-kuro .roadmap-bubble.is-next{background:#7a1f1f;border-color:#b35e4299;box-shadow:0 0 0 3px #7a1f1f38}.app-shell.theme-kuro .roadmap-nextup{box-shadow:0 12px 30px #00000080}.app-shell.theme-kuro .listening-play{border-color:#b35e4280;box-shadow:0 6px 18px #7a1f1f40}.app-shell.theme-kuro .listening-play:hover{box-shadow:0 8px 24px #7a1f1f59}.app-shell.theme-kuro .xp-faq,.app-shell.theme-kuro .xp-faq-item,.app-shell.theme-kuro .xp-faq-bubble{border-color:#3a3834cc}.app-shell.theme-kuro .xp-faq-kicker{color:#c17b7b;border-color:#b35e4273}.app-shell.theme-kuro .xp-faq-question:hover{background:#242321cc}.app-shell.theme-kuro .xp-faq-answer{border-top-color:#3a3834cc}.app-shell.theme-kuro .credits-voices li{border-color:#3a3834b3}.app-shell.theme-kuro .credits-voices li:hover{border-color:#d8d2c442}.app-shell.theme-kuro .credits-voice-jp{border-right-color:#3a3834cc}.app-shell.theme-kuro .settings-icon{background:#7a1f1f1a;border-color:#b35e4266}.app-shell.theme-kuro .settings-row.is-active{background:#7a1f1f24;border-color:#b35e428c}.app-shell.theme-kuro .settings-cta:hover{box-shadow:0 10px 26px #7a1f1f4d}.app-shell.theme-kuro .settings-font-option .settings-font-sample{background:#d8d2c80f}.app-shell.theme-kuro .settings-font-option:hover .settings-font-sample,.app-shell.theme-kuro .settings-font-option.is-active .settings-font-sample{background:#7a1f1f1f;border-color:#b35e4299}.app-shell.theme-kuro .vn-answer.is-wrong{border-color:#7a1f1f59}.app-shell.theme-kuro .module-card:hover{background:radial-gradient(circle at 50% 0,#7a1f1f1f,#0000 65%),#242321e0;border-color:#b34a428c;box-shadow:0 14px 34px #00000080,0 0 24px #7a1f1f29}.app-shell.theme-kuro .nav-item.is-active{background:linear-gradient(90deg,#7a1f1f33,#7a1f1f0f 70%,#0000),#17171580}.app-shell.theme-kuro .nav-item.is-active:before{content:"";background:#c23d3d;border-radius:50%;width:.32rem;height:.32rem;position:absolute;top:50%;left:.55rem;transform:translateY(-50%);box-shadow:0 0 8px #b34a42b3}.app-shell.theme-kuro .kicker{color:#b27676}.app-shell.theme-kuro .profile-auth-switch button,.app-shell.theme-kuro .now-card>button,.app-shell.theme-kuro .vn-chat-name{color:hsl(var(--crimson-text))}.app-shell.theme-kuro .results-orbit,.app-shell.theme-kuro .placeholder-mark{border-color:hsl(var(--crimson-text) / .55);color:hsl(var(--crimson-text));background:hsl(var(--crimson-text) / .08)}.app-shell.theme-kuro .now-progress i{background:linear-gradient(90deg,#7a1f1f,hsl(var(--crimson-text)))}.app-shell.theme-kuro .live-dot{color:hsl(var(--crimson-text))}.app-shell.theme-kuro .live-dot:before{background:hsl(var(--crimson-text))}.app-shell.theme-kuro .xp-bar-fill,.app-shell.theme-kuro .level-progress-line i,.app-shell.theme-kuro .now-progress i{background:linear-gradient(90deg,#721d1d,#ab3636)!important}.app-shell.theme-kuro .xp-faq-kicker{color:hsl(var(--crimson-text))}.app-shell.theme-kuro ::selection{color:#f4f2eb;background:#7a1f1f8c}.app-shell.theme-kuro .tone-pink,.app-shell.theme-kuro .tone-violet,.app-shell.theme-kuro .tone-blue,.app-shell.theme-kuro .tone-gold,.app-shell.theme-kuro .tone-rose{color:hsl(var(--crimson-text))}.app-shell.theme-kuro .tone-pink .module-icon,.app-shell.theme-kuro .tone-violet .module-icon,.app-shell.theme-kuro .tone-blue .module-icon,.app-shell.theme-kuro .tone-gold .module-icon,.app-shell.theme-kuro .tone-rose .module-icon{color:hsl(var(--crimson-text));background:#b946461f;border:1px solid #b9464640}.app-shell.theme-kuro .module-card{border-color:#3a3834cc}.app-shell.theme-kuro .module-card .module-progress i{background:hsl(var(--crimson-text))}.app-shell.theme-kuro .form-choice,.app-shell.theme-kuro .round-choice-grid button,.app-shell.theme-kuro .form-accordion,.app-shell.theme-kuro .form-option,.app-shell.theme-kuro .form-select select,.app-shell.theme-kuro .learning-form-card,.app-shell.theme-kuro .learning-rule-card,.app-shell.theme-kuro .learning-examples,.app-shell.theme-kuro .transformation{background:#171715ad;border-color:#3a3834c7}.app-shell.theme-kuro .learning-rule-row{background:#1c1b1973}.app-shell.theme-kuro .vn-chat{background:#1a1917f5;border-color:#3a3834d9}.app-shell.theme-kuro .vn-note,.app-shell.theme-kuro .vn-answer{background:#151513b3;border-color:#3a3834c7}.app-shell.theme-kuro .kana-answer{background:#1717158c;border-color:#3a3834cc}.app-shell.theme-kuro .activity-subject{background:#1717158c;border-color:#3a3834b3}.app-shell.theme-kuro .activity-list li{background:#1a191766}.app-shell.theme-kuro .top-menu-panel{background:#131312f7;border-color:#3a3834d9;box-shadow:0 18px 44px #0009}.app-shell.theme-kuro .xp-pop:before{border-color:#b34a4280}.app-shell.theme-kuro .word-info-popover{background:#151514f7;border-color:#3a3834d9;box-shadow:0 16px 40px #0000008c}.app-shell.theme-kuro .kanji-mode-card,.app-shell.theme-kuro .kanji-overview-card,.app-shell.theme-kuro .kanji-unavailable-card,.app-shell.theme-kuro .kanji-round-panel,.app-shell.theme-kuro .kanji-question-card{background:linear-gradient(160deg,#1a1a18eb,#131312e6);border-color:#3a3834cc;box-shadow:0 12px 30px #00000059}.app-shell.theme-kuro .kanji-mode-card.is-ready:hover{border-color:#b34a428c}.app-shell.theme-kuro .kanji-level-tabs,.app-shell.theme-kuro .kanji-draw-tool-group{background:#181816b3;border-color:#3a3834bf}.app-shell.theme-kuro .kanji-draw-toggle{background:#171715b8;border-color:#3a3834cc}.app-shell.theme-kuro .kanji-draw-menu{background:#151514fa;border-color:#3a3834d9}.app-shell.theme-kuro .kanji-draw-cell{background:#171715a8;border-color:#3a3834bf}.app-shell.theme-kuro .kanji-draw-stage{background:linear-gradient(160deg,#181816d9,#121211d9);border-color:#3a3834cc}.app-shell.theme-kuro .kanji-draw-canvas-frame{background:#111110eb;border-color:#d8d2c41f}.app-shell.theme-kuro .kanji-draw-result{background:#1c1b1966}.app-shell.theme-kuro .kanji-draw-result-row{background:#1717158c;border-color:#3a3834b3}.app-shell.theme-kuro .kanji-detail-sheet{background:linear-gradient(165deg,#181816fc,#111110fc);border-color:#3a3834d9}.app-shell.theme-kuro .kanji-detail-readings{background:#1c1b1966}.app-shell.theme-kuro .story-card,.app-shell.theme-kuro .reading-controls{background:#171715b8;border-color:#3a3834cc}.app-shell.theme-kuro .reading-mode-buttons button{background:#1c1b1973}.app-shell.theme-kuro .story-reading-card{background:linear-gradient(160deg,#1a1a18e6,#131312e0);border-color:#3a3834d1}.app-shell.theme-kuro .credits-card-muted{background:#14141399;border-color:#3a3834b3}.app-shell.theme-kuro .settings-pose-option:hover{background:#242321cc;border-color:#d8d2c452}.app-shell.theme-kuro .xp-companion-chat:after{background:#1a1917fa}.app-shell.theme-light:not(.theme-kuro){--primary:0 62% 40%;--primary-foreground:40 50% 97%;--ring:0 52% 44%;--gold:0 58% 40%;--violet:0 48% 44%;--blue:0 40% 44%}.app-shell.theme-light:not(.theme-kuro) .brand-name,.app-shell.theme-light:not(.theme-kuro) .brand-name em,.app-shell.theme-light:not(.theme-kuro) .dash-title,.app-shell.theme-light:not(.theme-kuro) .dash-jp,.app-shell.theme-light:not(.theme-kuro) .kanji-reading,.app-shell.theme-light:not(.theme-kuro) .result-score strong,.app-shell.theme-light:not(.theme-kuro) .profile-card h2,.app-shell.theme-light:not(.theme-kuro) .profile-auth h2,.app-shell.theme-light:not(.theme-kuro) .hero-copy h2,.app-shell.theme-light:not(.theme-kuro) .kana-progress-copy b,.app-shell.theme-light:not(.theme-kuro) .kana-locked h1,.app-shell.theme-light:not(.theme-kuro) .learning-lesson-heading h1{-webkit-text-fill-color:transparent;color:#962c2c;text-shadow:none;background:linear-gradient(112deg,#842a2a,#ae2929 45%,#c45b3b);-webkit-background-clip:text;background-clip:text}.app-shell.theme-light:not(.theme-kuro) .page-header h1 em,.app-shell.theme-light:not(.theme-kuro) .menu-intro h1 em,.app-shell.theme-light:not(.theme-kuro) .setup-intro h1 em,.app-shell.theme-light:not(.theme-kuro) .results-page h1 em,.app-shell.theme-light:not(.theme-kuro) .placeholder-page h1 em{-webkit-text-fill-color:transparent;color:#9e2e2e;background:linear-gradient(112deg,#962c2c,#be2d2d);-webkit-background-clip:text;background-clip:text}.app-shell.theme-light:not(.theme-kuro) .module-card .module-progress i{background:#a92d2d}.app-shell.theme-light:not(.theme-kuro) ::selection{color:#2b1d12;background:#7a1f1f4d}.app-shell.theme-kuro .stat-icon.gold,.app-shell.theme-kuro .stat-icon.violet,.app-shell.theme-kuro .stat-icon.pink,.app-shell.theme-kuro .stat-icon.blue,.app-shell.theme-kuro .stat-icon.rose{color:hsl(var(--crimson-text));background:#b9464621;border:1px solid #b9464647}.app-shell.theme-kuro .now-card,.app-shell.theme-kuro .phrase-card,.app-shell.theme-kuro .module-card,.app-shell.theme-kuro .profile-card,.app-shell.theme-kuro .profile-stat-grid>div,.app-shell.theme-kuro .lesson-choice,.app-shell.theme-kuro .form-choice,.app-shell.theme-kuro .listening-group,.app-shell.theme-kuro .vocab-row,.app-shell.theme-kuro .settings-card,.app-shell.theme-kuro .credits-card,.app-shell.theme-kuro .activity-subject,.app-shell.theme-kuro .story-card,.app-shell.theme-kuro .kanji-mode-card{border-color:#90474761}.app-shell.theme-kuro .module-card.is-unstarted{border-color:#ba3b3b99;box-shadow:0 0 20px #8c28242e,0 12px 28px #00000073}.app-shell.theme-kuro .moon-disc{background:radial-gradient(circle at 40% 36%,#e9e2d6bf,#ce807052 46%,#7a1f1f29 62%,#0000 74%);border-color:#d8d2c438;box-shadow:0 0 110px #a0342c4d,0 0 34px #7a1f1f38}.app-shell.theme-kuro .module-card,.app-shell.theme-kuro .now-card,.app-shell.theme-kuro .phrase-card,.app-shell.theme-kuro .profile-card,.app-shell.theme-kuro .profile-stat-grid>div,.app-shell.theme-kuro .settings-card,.app-shell.theme-kuro .lesson-choice,.app-shell.theme-kuro .listening-group,.app-shell.theme-kuro .story-card,.app-shell.theme-kuro .kanji-mode-card,.app-shell.theme-kuro .stat-strip>div{box-shadow:0 8px 22px #00000061}.app-shell.theme-kuro .hero-panel,.app-shell.theme-kuro .kanji-detail-sheet,.app-shell.theme-kuro .top-menu-panel,.app-shell.theme-kuro .word-info-popover{box-shadow:0 16px 40px #0000008c,0 4px 14px #0006}.app-shell.theme-kuro .main-column,.app-shell.theme-kuro .sidebar{background:0 0}.app-shell.theme-kuro .petal{opacity:.8;background:radial-gradient(circle at 35% 35%,#ffc482e6,#cc3e3e99 55%,#7a1f1f26 80%);border:0;border-radius:50%;width:.22rem;height:.22rem;animation:13s linear infinite kuro-ember;box-shadow:0 0 7px #d25a3c73}@keyframes kuro-ember{0%{opacity:0;transform:translateY(3vh)scale(1)}12%{opacity:.75}55%{opacity:.55;transform:translate(1.1vw,-28vh)scale(.92)}to{opacity:0;transform:translate(-.6vw,-62vh)scale(.7)}}.app-shell.theme-kuro .vn-scene:before,.app-shell.theme-kuro .vn-scene:after{background:radial-gradient(circle at 35% 35%,#ffc482cc,#cc3e3e80 60%,#0000 85%);border:0;border-radius:50%;animation:15s linear infinite kuro-ember;box-shadow:0 0 6px #d25a3c66}.app-shell.theme-kuro .xp-companion-chat{background:linear-gradient(150deg,#1e1d1bf7,#151514fa);border-color:#90474780;margin-bottom:.6rem;margin-left:4.2rem}@media(max-width:700px){.app-shell.theme-kuro .xp-companion-chat{margin-left:0}}.app-shell.theme-light:not(.theme-kuro) .stat-icon.gold,.app-shell.theme-light:not(.theme-kuro) .stat-icon.violet,.app-shell.theme-light:not(.theme-kuro) .stat-icon.pink,.app-shell.theme-light:not(.theme-kuro) .stat-icon.blue,.app-shell.theme-light:not(.theme-kuro) .stat-icon.rose{color:#992929;background:#a92d2d1a;border:1px solid #a92d2d3d}.app-shell.theme-light:not(.theme-kuro) .now-card,.app-shell.theme-light:not(.theme-kuro) .phrase-card,.app-shell.theme-light:not(.theme-kuro) .module-card,.app-shell.theme-light:not(.theme-kuro) .profile-card,.app-shell.theme-light:not(.theme-kuro) .profile-stat-grid>div,.app-shell.theme-light:not(.theme-kuro) .settings-card,.app-shell.theme-light:not(.theme-kuro) .lesson-choice{border-color:#9933334d;box-shadow:0 6px 18px #6030281f}.app-shell.theme-light:not(.theme-kuro) .module-card.is-unstarted{border-color:#af31318c;box-shadow:0 0 18px #962c2824,0 8px 20px #60302824}.app-shell.theme-light:not(.theme-kuro) .moon-disc{background:radial-gradient(circle at 40% 36%,#fffaf0f2,#d678684d 48%,#7a1f1f1f 64%,#0000 76%);border-color:#7a1f1f38;box-shadow:0 0 90px #a0342c33}.app-shell.theme-light:not(.theme-kuro) .petal{background:radial-gradient(circle at 35% 35%,#fff4e0f2,#be463c8c 55%,#7a1f1f1f 80%);border:0;border-radius:50%;width:.22rem;height:.22rem;animation:13s linear infinite kuro-ember;box-shadow:0 0 6px #aa3c3259}.app-shell.theme-light:not(.theme-kuro) .main-column,.app-shell.theme-light:not(.theme-kuro) .sidebar{background:0 0}.kicker{font-family:var(--app-font-display);letter-spacing:.18em;font-weight:600}.module-title{font-family:var(--app-font-serif)}.roadmap-entry-copy b{font-family:var(--app-font-display);letter-spacing:.02em;font-weight:600}.section-heading h2{font-family:var(--app-font-display)}.progress-overview,.module-section,.lower-grid{margin-top:3.4rem}.level-progress-strip{margin-top:.9rem}.roadmap-entry{margin-top:1.5rem}.app-shell.theme-kuro .roadmap-entry{background:radial-gradient(60% 130% at 8%,#7a1f1f26,#0000 62%),linear-gradient(150deg,#1e1d1bed,#151514f7);border-color:#90474773;box-shadow:0 8px 22px #00000061}.app-shell.theme-kuro .roadmap-entry:hover{border-color:#ba3b3b99;box-shadow:0 0 22px #8c282433,0 14px 30px #00000080}.app-shell.theme-kuro .roadmap-entry-icon{color:hsl(var(--crimson-text));background:radial-gradient(at 50% 30%,#8c282438,#151514b3);border-color:#b946464d}.app-shell.theme-kuro .roadmap-entry-arrow{color:hsl(var(--crimson-text))}.app-shell.theme-light:not(.theme-kuro) .roadmap-entry{background:linear-gradient(150deg,#fffcf6eb,#faf4eaf5);border-color:#9933334d;box-shadow:0 6px 18px #6030281f}.app-shell.theme-light:not(.theme-kuro) .roadmap-entry:hover{border-color:#af313180;box-shadow:0 10px 24px #6030282e}.app-shell.theme-light:not(.theme-kuro) .roadmap-entry-icon{color:#992929;background:radial-gradient(at 50% 30%,#962c281f,#fffaf2cc);border-color:#a92d2d42}.app-shell.theme-light:not(.theme-kuro) .roadmap-entry-arrow{color:#992929}.app-shell.theme-kuro .leaf,.app-shell.theme-kuro .leaf-1,.app-shell.theme-kuro .leaf-2,.app-shell.theme-kuro .leaf-3,.app-shell.theme-kuro .leaf-4,.app-shell.theme-kuro .leaf-5,.app-shell.theme-kuro .leaf-6,.app-shell.theme-kuro .leaf-7,.app-shell.theme-kuro .leaf-8,.app-shell.theme-kuro .leaf-9,.app-shell.theme-kuro .leaf-10{filter:blur(.4px);opacity:.8;background:radial-gradient(circle at 35% 35%,#ffc88ce6,#cc3e3e8c 55%,#7a1f1f24 80%);border:0;border-radius:50%;width:.22rem;height:.22rem;animation:15s linear infinite kuro-ember;top:auto;bottom:-4vh;box-shadow:0 0 7px #d25a3c73}.app-shell.theme-kuro .leaf-2{animation-duration:17s;animation-delay:-9s}.app-shell.theme-kuro .leaf-4{animation-duration:19s;animation-delay:-12s}.app-shell.theme-kuro .leaf-6{animation-duration:13s;animation-delay:-6s}.app-shell.theme-kuro .leaf-8{animation-duration:21s;animation-delay:-15s}.app-shell.theme-kuro .leaf-10{animation-duration:16s;animation-delay:-3s}.app-shell.theme-kuro .petal-1{animation-delay:-2s}.app-shell.theme-kuro .petal-2{animation-delay:-6s}.app-shell.theme-kuro .petal-3{animation-delay:-3s}.app-shell.theme-kuro .petal-4{animation-delay:-8s}.app-shell.theme-kuro .petal-5{animation-delay:-4s}.app-shell.theme-kuro .petal-6{animation-delay:-1s}.app-shell.theme-kuro .petal-7{animation-delay:-9s}.app-shell.theme-kuro .petal-8{animation-delay:-7s}.app-shell.theme-light:not(.theme-kuro) .leaf,.app-shell.theme-light:not(.theme-kuro) .leaf-1,.app-shell.theme-light:not(.theme-kuro) .leaf-2,.app-shell.theme-light:not(.theme-kuro) .leaf-3,.app-shell.theme-light:not(.theme-kuro) .leaf-4,.app-shell.theme-light:not(.theme-kuro) .leaf-5,.app-shell.theme-light:not(.theme-kuro) .leaf-6,.app-shell.theme-light:not(.theme-kuro) .leaf-7,.app-shell.theme-light:not(.theme-kuro) .leaf-8,.app-shell.theme-light:not(.theme-kuro) .leaf-9,.app-shell.theme-light:not(.theme-kuro) .leaf-10{background:radial-gradient(circle at 35% 35%,#fff6e4f2,#be463c8c 55%,#7a1f1f1f 80%);border:0;border-radius:50%;width:.22rem;height:.22rem;animation:15s linear infinite kuro-ember;top:auto;bottom:-4vh;box-shadow:0 0 6px #aa3c3259}.app-shell.theme-light:not(.theme-kuro) .leaf-2{animation-duration:17s;animation-delay:-9s}.app-shell.theme-light:not(.theme-kuro) .leaf-4{animation-duration:19s;animation-delay:-12s}.app-shell.theme-light:not(.theme-kuro) .leaf-6{animation-duration:13s;animation-delay:-6s}.app-shell.theme-light:not(.theme-kuro) .leaf-8{animation-duration:21s;animation-delay:-15s}.app-shell.theme-light:not(.theme-kuro) .leaf-10{animation-duration:16s;animation-delay:-3s}.app-shell.theme-kuro{background:radial-gradient(70rem 34rem at 50% 118%,#3a201c24,#0000 70%),radial-gradient(64rem 30rem at 82% -8%,#48221e29,#0000 68%),radial-gradient(90rem 46rem at 50% 42%,#2826228c,#0000 74%),linear-gradient(178deg,#090909,#121010 55%,#0c0b0b)}.app-shell.theme-light:not(.theme-kuro){background:radial-gradient(80rem 40rem at 50% 30%,#ffffff80,#0000 72%),radial-gradient(60rem 28rem at 82% -8%,#962c2812,#0000 68%),linear-gradient(178deg,#f9f6f0,#f3ece5)}.app-shell.theme-kuro .page-header h1,.app-shell.theme-kuro .menu-intro h1,.app-shell.theme-kuro .setup-intro h1,.app-shell.theme-kuro .results-page h1,.app-shell.theme-kuro .placeholder-page h1{-webkit-text-fill-color:transparent;color:#c46464;filter:none;text-shadow:0 0 28px #8c282442;background:linear-gradient(112deg,#894343,#cc3e3e 38%,#d6785c 62%,#d3bda6 96%);-webkit-background-clip:text;background-clip:text}.app-shell.theme-kuro .moon-haze{background:radial-gradient(#a0342c2b,#0000 65%)}.app-shell.theme-light:not(.theme-kuro) .moon-haze{background:radial-gradient(#962c281f,#0000 65%)}.app-shell.theme-kuro .activity-subject{background:radial-gradient(60% 130% at 8%,#7a1f1f1f,#0000 60%),linear-gradient(160deg,#1e1d1bed,#151514f7);border-color:#90474773;box-shadow:0 8px 22px #00000061}.app-shell.theme-kuro .activity-subject:hover{border-color:#ba3b3b99}.app-shell.theme-kuro .activity-subject-icon{color:hsl(var(--crimson-text));background:#8c282424;border-color:#b946464d}.app-shell.theme-light:not(.theme-kuro) .activity-subject{background:linear-gradient(160deg,#fffcf6eb,#faf4eaf5);border-color:#9933334d;box-shadow:0 6px 18px #6030281f}.app-shell.theme-light:not(.theme-kuro) .activity-subject:hover{border-color:#af313180}.app-shell.theme-light:not(.theme-kuro) .activity-subject-icon{color:#992929;background:#962c281a;border-color:#a92d2d42}.app-shell.theme-kuro .settings-row,.app-shell.theme-kuro .settings-cta{border-color:#90474761}.app-shell.theme-kuro button.settings-row:hover{border-color:#ba3b3b8c}.app-shell.theme-light:not(.theme-kuro) .settings-row,.app-shell.theme-light:not(.theme-kuro) .settings-cta{border-color:#99333347}.app-shell.theme-light:not(.theme-kuro) button.settings-row:hover{border-color:#af31317a}.app-shell.theme-kuro .kanji-question-card{background:linear-gradient(160deg,#1e1d1bed,#151514f7);border-color:#90474773;box-shadow:0 8px 22px #00000061}.app-shell.theme-kuro .kanji-question-mark{color:hsl(var(--crimson-text));background:#8c282424;border-color:#b946464d}.app-shell.theme-light:not(.theme-kuro) .kanji-question-card{background:linear-gradient(160deg,#fffcf6eb,#faf4eaf5);border-color:#9933334d;box-shadow:0 6px 18px #6030281f}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}
