@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-subset-CT4E8rj-.woff2) format("woff2")}@font-face{font-family:Shippori Mincho;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/shippori-mincho-400-Bq7derhP.woff2) format("woff2")}@font-face{font-family:Shippori Mincho;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/shippori-mincho-700-CeEvgpIT.woff2) format("woff2")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/noto-sans-jp-subset-CTUQwx_9.woff2) format("woff2")}@font-face{font-family:Klee One;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/klee-one-400-C0xk7pY8.woff2) format("woff2")}@font-face{font-family:Klee One;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/klee-one-600-CQQClc3k.woff2) format("woff2")}html{scrollbar-gutter:stable}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important}}@keyframes stagger-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}.stagger-children>*{animation:stagger-in var(--dur-base) var(--ease-out) both;animation-delay:.3s}.stagger-children>:nth-child(1){animation-delay:0ms}.stagger-children>:nth-child(2){animation-delay:30ms}.stagger-children>:nth-child(3){animation-delay:60ms}.stagger-children>:nth-child(4){animation-delay:90ms}.stagger-children>:nth-child(5){animation-delay:.12s}.stagger-children>:nth-child(6){animation-delay:.15s}.stagger-children>:nth-child(7){animation-delay:.18s}.stagger-children>:nth-child(8){animation-delay:.21s}.stagger-children>:nth-child(9){animation-delay:.24s}.stagger-children>:nth-child(10){animation-delay:.27s}:where(button,[role=button]){transition:scale var(--dur-fast) var(--ease-out),translate var(--dur-fast) var(--ease-out)}button:not(.yuki-key,.act-option,.jugar-tile,.sh-back,.home-acc-btn,.shk-card,.levelchip,.lvl-row,.kana-cell,.ki-cell,.mios-add-btn,.acc-link,.streak-card,.chome-daily,.continuar,.sel-all-btn,.hd-exam,.detail-btn):not(:disabled,[aria-disabled=true]):active{scale:.97}:root{--dur-fast: .16s;--dur-base: .26s;--dur-slow: .42s;--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-in-out: cubic-bezier(.45, 0, .15, 1);--ease-spring: cubic-bezier(.34, 1.4, .44, 1);--serif: "Shippori Mincho", serif;--sans: "Inter", -apple-system, system-ui, "Noto Sans JP", sans-serif;--jp: "Noto Sans JP", sans-serif;--kana: "Klee One", "Noto Sans JP", sans-serif;--on-accent: #fff2e6;--on-accent-soft: #ffe0d6;--accent-preview-light: #C8102E;--accent-preview-dark: #E03A47}.va{--bg: #F6EFE0;--bg-card: #FFFCF5;--bg-elev: #EFE5CC;--ink: #1B1A17;--ink-2: #4A4842;--ink-3: #7A7568;--border: #DFD3B6;--border-2: #E9DEC2;--accent: #C8102E;--accent-2: #A50D26;--accent-fill: var(--accent);--gold: #B89559;--marco-card: var(--gold);--green: #3A8A4E;--green-strong: #2F7A43;--red: #B83A2A;--shadow-card: 0 6px 18px rgba(27, 26, 23, .05);--shadow-card-hero: 0 8px 24px rgba(27, 26, 23, .05);--shadow-card-float: 0 4px 14px rgba(27, 26, 23, .06), 0 14px 36px rgba(27, 26, 23, .07);--card-glaze: inset 0 1px 0 rgba(255, 255, 255, .55);color:var(--ink);font-family:var(--sans);background:var(--bg);background-image:radial-gradient(circle at 14% 18%,rgba(200,16,46,.05) 0%,transparent 42%),radial-gradient(circle at 86% 82%,rgba(184,149,89,.06) 0%,transparent 48%)}.vb{--bg: #0E1E33;--bg-card: #142944;--bg-elev: #1A3354;--ink: #F2E8D5;--ink-2: #C9BFA8;--ink-3: #8A8170;--border: #234260;--border-2: #2B527A;--accent: #E03A47;--accent-2: #F26A6A;--accent-fill: #C8102E;--gold: #D4A24A;--marco-card: var(--border);--green: #6EC78A;--green-strong: #2E7D4F;--red: #E85C5A;--shadow-card: 0 10px 24px rgba(0, 0, 0, .35);--shadow-card-hero: 0 12px 32px rgba(0, 0, 0, .35);--shadow-card-float: 0 8px 20px rgba(0, 0, 0, .4), 0 18px 50px rgba(0, 0, 0, .35);--card-glaze: inset 0 1px 0 rgba(255, 255, 255, .04);color:var(--ink);font-family:var(--sans);background:var(--bg);background-image:radial-gradient(circle at 18% 22%,rgba(224,58,71,.1) 0%,transparent 40%),radial-gradient(circle at 80% 80%,rgba(212,162,74,.08) 0%,transparent 45%)}.stats-eyebrow,.settings-eyebrow,.cal-eyebrow,.summary-eyebrow,.sim-intro-eyebrow,.onb-eyebrow{font-family:var(--serif);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}.stats-eyebrow,.settings-eyebrow,.cal-eyebrow,.summary-eyebrow{margin-bottom:8px;display:inline-flex;align-items:center;gap:10px}.stats-eyebrow:before,.settings-eyebrow:before,.cal-eyebrow:before,.summary-eyebrow:before{content:"";width:14px;height:1.5px;background:var(--accent)}.onb-eyebrow{margin-bottom:10px}.stats-section-h,.settings-section-h,.cal-section-h,.detail-section-h,.summary-section-h,.sim-review-h{font-family:var(--serif);font-weight:700;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:10px;margin:0 0 10px;letter-spacing:.04em}.cal-section-h{margin-bottom:12px}.stats-section-h .strk,.settings-section-h .strk,.cal-section-h .strk,.detail-section-h .strk,.summary-section-h .strk,.sim-review-h .strk{display:inline-block;width:22px;height:2px;background:var(--accent);border-radius:2px}.summary-section-h .strk.good{background:var(--green)}.stats-section-h .jp-side,.settings-section-h .jp-side,.cal-section-h .jp-side,.detail-section-h .jp-side,.summary-section-h .jp-side,.sim-review-h .jp-side{font-family:var(--jp);font-size:11px;color:var(--ink-3);font-weight:400;letter-spacing:.1em}.stats-section-h .cnt,.summary-section-h .cnt,.sim-review-h .cnt{margin-left:auto;font-size:10px;color:var(--ink-3);letter-spacing:.16em;font-weight:600;background:var(--bg-card);border:1px solid var(--border);padding:2px 8px;border-radius:999px}.serif{font-family:var(--serif)}.jp{font-family:var(--jp)}.eyebrow{font-family:var(--serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-3);display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:14px;height:1.5px;background:var(--accent)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:26px 18px 10px}.section-title h3{font-family:var(--serif);font-weight:700;font-size:13px;margin:0;color:var(--ink);letter-spacing:.04em;display:flex;align-items:center;gap:8px}.section-title h3 .stroke{display:inline-block;width:22px;height:2px;background:var(--accent);border-radius:2px}.section-title h3 .jp-side{font-family:var(--jp);font-size:11px;color:var(--ink-3);font-weight:400;letter-spacing:.1em;margin-left:2px}.section-title .toggle{font-size:10px;color:var(--ink-3);letter-spacing:.16em;text-transform:uppercase;font-weight:600}.levels{display:flex;gap:6px;padding:0 18px;overflow-x:auto;scrollbar-width:none}.levels::-webkit-scrollbar{display:none}.level{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:52px;max-width:96px;min-height:56px;padding:8px 6px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;cursor:pointer;position:relative;font-family:var(--sans)}.level .l-id{font-family:var(--serif);font-weight:700;font-size:16px;color:var(--ink);letter-spacing:-.01em}.level .l-sub{font-size:8.5px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;font-weight:600;max-width:100%;text-align:center;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.level.active{background:var(--accent-fill);border-color:var(--accent);box-shadow:0 2px 10px color-mix(in oklab,var(--accent) 30%,transparent)}.level.active .l-id{color:#fff}.level.active .l-sub{color:#ffffffd9}.level.locked{opacity:.45;background:transparent;border-style:dashed}.level.locked .l-id{color:var(--ink-3)}.level.locked:after{content:"";position:absolute;top:5px;right:5px;width:5px;height:5px;border-radius:50%;background:var(--ink-3);opacity:.5}.chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px}.chip{background:var(--bg-card);border:1px solid var(--border);color:var(--ink);padding:7px 12px;border-radius:999px;font-family:var(--sans);font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.chip .jp-tiny{font-family:var(--jp);font-size:10px;color:var(--ink-3)}.chip.active{background:var(--accent-fill);color:#fff;border-color:var(--accent)}.chip.active .jp-tiny{color:#ffffffc7}.chip.ghost{border-style:dashed;color:var(--ink-3);font-style:italic;background:transparent}.blocks{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:0 18px}.block{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:9px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--sans);font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;position:relative;min-height:50px}.block .b-id{font-family:var(--serif);font-size:14px;font-weight:700;letter-spacing:.04em}.block .b-count{font-size:9px;color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase}.block.done{background:color-mix(in oklab,var(--green) 14%,var(--bg-card));border-color:color-mix(in oklab,var(--green) 35%,var(--border))}.block.done:after{content:"";position:absolute;right:4px;top:4px;width:6px;height:6px;border-radius:50%;background:var(--green)}.block.partial{background:color-mix(in oklab,var(--accent) 7%,var(--bg-card));border-color:color-mix(in oklab,var(--accent) 32%,var(--border))}.block.partial .b-id{color:var(--accent)}.block.active{background:var(--accent-fill);border-color:var(--accent);color:#fff}.block.active .b-count{color:#ffffffc7}.modes{padding:0 18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:12px 12px 14px;cursor:pointer;position:relative;display:flex;flex-direction:column;gap:6px}.mode.full{grid-column:span 2}.mode .m-row{display:flex;align-items:center;justify-content:space-between}.mode .m-kanji{font-family:var(--serif);font-weight:700;font-size:22px;line-height:1;color:var(--accent)}.mode .m-pill{font-size:8.5px;color:var(--ink-3);letter-spacing:.18em;text-transform:uppercase;font-weight:700}.mode .m-title{font-family:var(--serif);font-weight:700;font-size:14px;color:var(--ink);margin-top:4px}.mode .m-desc{font-size:11px;color:var(--ink-3);line-height:1.45}.foot{text-align:center;padding:18px 0 22px;color:var(--ink-3);opacity:.5;font-family:var(--serif);letter-spacing:.6em;font-size:11px}.stage{padding:8px 18px 0}.fcard{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:0;position:relative;overflow:hidden;box-shadow:var(--card-glaze),var(--shadow-card-hero)}.fcard-body{padding:36px 20px 28px;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;position:relative;min-height:280px;justify-content:center}.fcard-jp-big{font-family:var(--serif);font-weight:700;font-size:156px;line-height:.9;color:var(--ink);letter-spacing:-.04em;margin:0;position:relative;z-index:2}.fcard-jp-back{font-family:var(--serif);font-weight:700;font-size:64px;line-height:1;color:var(--ink);letter-spacing:-.04em;margin:0 0 8px}.fcard-reading{font-family:var(--jp);font-size:14px;color:var(--ink-2);letter-spacing:.12em;margin:6px 0 14px}.fcard-front-reading{font-family:var(--jp);font-size:16px;color:var(--ink-2);letter-spacing:.12em;margin-top:16px}.fcard-meaning{font-family:var(--serif);font-weight:700;font-size:20px;line-height:1.3;color:var(--ink);margin:0 0 14px;max-width:280px}.fcard-extras{width:100%;max-width:300px;border-top:1px dashed var(--border-2);padding-top:12px;margin-top:4px;text-align:left}.fcard-extras h5{font-family:var(--serif);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-3);margin:0 0 6px}.fcard-extras .ex{font-family:var(--jp);font-size:12px;color:var(--ink-2);line-height:1.55;margin-bottom:3px}.fcard-hint{text-align:center;font-size:10.5px;color:var(--ink-3);letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:0 0 12px}.fcard-hint .kbd{display:inline-block;border:1px solid var(--border);background:var(--bg-elev);padding:1px 5px;border-radius:3px;font-family:var(--sans);font-size:9.5px;color:var(--ink-2);margin:0 2px}.test-q-label{text-align:center;font-family:var(--serif);font-size:12px;color:var(--ink-3);letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin:18px 0 10px;display:flex;align-items:center;justify-content:center;gap:10px}.test-q-label:before,.test-q-label:after{content:"";flex:0 0 18px;height:1px;background:var(--border-2)}.test-q-label .jp-tag{font-family:var(--jp);font-size:10px;color:var(--ink-3);letter-spacing:.12em}.test-options{padding:0 18px;display:flex;flex-direction:column;gap:8px}.test-option{background:var(--bg-card);border:1.5px solid var(--border);padding:12px 14px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:12px;text-align:left;font-family:var(--sans);font-size:14px;color:var(--ink)}.test-option .opt-letter{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elev);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:11px;font-weight:700;color:var(--ink-2);flex-shrink:0}.test-option .opt-text{flex:1;line-height:1.35}.test-option.correct{border-color:var(--green);background:color-mix(in oklab,var(--green) 12%,var(--bg-card));color:var(--ink);position:relative}.test-option.correct .opt-letter{background:var(--green-strong);color:#fff;border-color:var(--green-strong)}.test-option.correct:after{content:"正";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:var(--serif);font-size:13px;color:var(--green);font-weight:700;background:color-mix(in oklab,var(--green) 18%,transparent);border:1px solid var(--green);width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px}.test-option.incorrect{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,var(--bg-card));color:var(--accent)}.test-option.incorrect .opt-letter{background:var(--accent-fill);color:#fff;border-color:var(--accent)}.test-option.dim{opacity:.5}.washi-bg{position:fixed;pointer-events:none;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0}.washi-bg:before{content:"";position:absolute;left:0;right:0;bottom:0;height:380px;background:linear-gradient(180deg,transparent 0%,color-mix(in oklab,var(--accent) 2%,transparent) 50%,color-mix(in oklab,var(--gold) 8%,transparent) 100%)}.washi-bg .seal{position:absolute;top:26px;right:24px;width:30px;height:30px;border-radius:4px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:16px;color:var(--bg);opacity:.12;box-shadow:inset 0 0 0 2px var(--accent),inset 0 0 0 3px color-mix(in oklab,var(--bg) 60%,var(--accent));z-index:7}.fuji-bg{position:fixed;pointer-events:none;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0}.va .fcard-jp-big{background:linear-gradient(180deg,var(--ink) 0%,color-mix(in oklab,var(--ink) 78%,var(--accent)) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.vb .fcard-jp-big{color:var(--ink);text-shadow:0 2px 24px color-mix(in oklab,var(--accent) 30%,transparent)}.adm-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);color:var(--ink);font-family:var(--sans)}.adm-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:18px;padding:28px 26px 26px;box-shadow:0 8px 30px #0000001f;animation:adm-rise var(--dur-base) var(--ease-out) both}@keyframes adm-rise{0%{opacity:0;transform:translateY(10px)}}.adm-head{display:flex;align-items:center;gap:14px;margin-bottom:22px}.adm-hanko{flex:none;width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--accent-fill);color:var(--on-accent);font-family:var(--jp);font-size:26px;line-height:1}.adm-brand{margin:0;font-size:20px;font-weight:700;letter-spacing:.01em}.adm-sub{margin:2px 0 0;font-size:13px;color:var(--ink-3)}.adm-h2{margin:0 0 6px;font-size:17px;font-weight:700}.adm-muted{margin:0 0 18px;font-size:14px;line-height:1.5;color:var(--ink-2)}.adm-label{display:block;margin:4px 0 6px;font-size:13px;font-weight:600;color:var(--ink-2)}.adm-input{width:100%;box-sizing:border-box;padding:12px 14px;font-size:16px;font-family:var(--sans);color:var(--ink);background:var(--bg);border:1.5px solid var(--border);border-radius:12px;outline:none;transition:border-color var(--dur-fast) var(--ease-out)}.adm-input:focus{border-color:var(--accent)}.adm-code{font-family:var(--jp);letter-spacing:.4em;text-align:center;font-size:22px}.adm-error{margin:12px 0 0;font-size:13px;font-weight:600;color:#c0392b}html.vb .adm-error{color:#ff9b9b}.adm-btn{margin-top:18px;width:100%;padding:12px 16px;font-size:15px;font-weight:700;font-family:var(--sans);color:var(--on-accent);background:var(--accent-fill);border:none;border-radius:12px;cursor:pointer;transition:opacity var(--dur-fast) var(--ease-out)}.adm-btn:hover{opacity:.92}.adm-btn:disabled{opacity:.5;cursor:default}.adm-btn-ghost{color:var(--ink-2);background:transparent;border:1.5px solid var(--border)}.adm-btn-ghost:hover{background:var(--bg-elev);opacity:1}.adm-level{display:inline-block;padding:5px 12px;font-size:13px;font-weight:700;color:var(--on-accent);background:var(--accent-fill);border-radius:999px}.adm-shell-wide{align-items:flex-start;padding-top:40px}.adm-panel{width:100%;max-width:640px;background:var(--bg-card);border:1px solid var(--border);border-radius:18px;padding:28px 26px 30px;box-shadow:0 8px 30px #0000001f;animation:adm-rise var(--dur-base) var(--ease-out) both}.adm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.adm-link{padding:4px 2px;font-size:14px;font-weight:600;font-family:var(--sans);color:var(--accent-2);background:none;border:none;cursor:pointer}.adm-link:hover{text-decoration:underline}.adm-link-danger{color:#c0392b}html.vb .adm-link-danger{color:#ff9b9b}.adm-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.adm-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:12px;cursor:pointer;font-family:var(--sans);color:var(--ink);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.adm-row:hover{border-color:var(--accent);background:var(--bg-elev)}.adm-row-static{cursor:default}.adm-row-static:hover{border-color:var(--border);background:var(--bg)}.adm-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}.adm-row-title{font-size:15px;font-weight:600;word-break:break-word}.adm-row-sub{font-size:12.5px;color:var(--ink-3)}.adm-row-count{flex:none;font-size:12.5px;font-weight:600;color:var(--ink-2)}.adm-row-off{opacity:.55}.adm-tag{display:inline-block;padding:1px 8px;font-size:11.5px;font-weight:700;color:var(--ink-2);background:var(--bg-elev);border-radius:999px}.adm-block{margin-top:26px;padding-top:22px;border-top:1px solid var(--border)}.adm-h3{margin:0 0 4px;font-size:15px;font-weight:700}.adm-field{margin:12px 0 4px}.adm-num{width:120px;text-align:center}.adm-live{margin-top:12px;min-height:20px}.adm-warn{font-size:13.5px;font-weight:600;line-height:1.5;color:#c0392b}html.vb .adm-warn{color:#ff9b9b}.adm-ok{margin:12px 0 0;font-size:13.5px;font-weight:600;color:#2e7d32}html.vb .adm-ok{color:#7fd18a}.adm-confirm{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.adm-confirm .adm-btn{width:auto;margin-top:0;flex:1 1 auto}.adm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.adm-btn-sm{width:auto;margin-top:0;padding:8px 14px;font-size:14px}select.adm-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.adm-date{width:200px;max-width:100%}.adm-table-wrap{overflow-x:auto;margin-top:14px;border:1px solid var(--border);border-radius:12px}.adm-table{width:100%;border-collapse:collapse;font-size:13.5px}.adm-table th,.adm-table td{padding:9px 12px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border)}.adm-table thead th{font-weight:700;color:var(--ink-2);background:var(--bg-elev)}.adm-table tbody tr:last-child td{border-bottom:none}.adm-table .adm-num-col{text-align:right}.adm-confirm-box{margin:10px 0 4px;padding:14px 15px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px}.adm-confirm-title{margin:0 0 6px;font-size:14.5px;font-weight:700}.adm-btn-danger{color:#fff;background:#c0392b}.adm-btn-danger:hover{opacity:.92}html.vb .adm-btn-danger{background:#b13327}
