.kako-page{--kako-ink: var(--color-text, #15140f);--kako-line: var(--color-border, #e3e0d8);--kako-soft: var(--color-bg-alt, #fdfbf5);--kako-muted: var(--color-text-muted, #6f6b63);--kako-accent: var(--color-primary, #ffc800);--kako-spring: var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));--kako-ok: #2e9e5b;--kako-ok-soft: #eafaf0;--kako-ng: #d9534f;--kako-ng-soft: #fdecea;--kako-bar-h: 72px;--kako-qtop: calc(var(--header-height, 64px) + 80px);max-width:720px;margin:-48px auto 0;padding:0 0 64px;color:var(--kako-ink)}.kako-page *{box-sizing:border-box}.kako-page h1,.kako-page h2,.kako-page h3,.kako-page p,.kako-page ul,.kako-page ol,.kako-page dl,.kako-page dd,.kako-page figure{margin:0}.kako-page ul,.kako-page ol{padding:0;list-style:none}.kako-page h1,.kako-page h2,.kako-page h3{position:static;display:block;color:var(--kako-ink)}.kako-page h2:after{display:none}.kako-page p{color:inherit}.kako-page .kako-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kako-page [hidden]{display:none!important}.kako-page .kako-screen{display:none}.kako-page[data-phase=loading] #kako-loading,.kako-page[data-phase=restoring] #kako-loading,.kako-page[data-phase=error] #kako-error,.kako-page[data-phase=hub] #kako-hub,.kako-page[data-phase=exam] #kako-q,.kako-page[data-phase=practice] #kako-q,.kako-page[data-phase=result] #kako-result,.kako-page[data-phase=setup] #kako-setup,.kako-page[data-phase=summary] #kako-summary{display:block}.kako-page[data-phase=exam] .kako-breadcrumb,.kako-page[data-phase=exam] .kako-header,.kako-page[data-phase=practice] .kako-breadcrumb,.kako-page[data-phase=practice] .kako-header,.kako-page[data-phase=result] .kako-lead,.kako-page[data-phase=setup] .kako-lead,.kako-page[data-phase=summary] .kako-lead,.kako-page[data-phase=loading] .kako-lead,.kako-page[data-phase=restoring] .kako-lead,.kako-page[data-phase=error] .kako-lead,.kako-page[data-phase=result] .kako-header,.kako-page[data-phase=setup] .kako-header,.kako-page[data-phase=summary] .kako-header{display:none}html.kako-in-exam #quote-floating-bar,html.kako-in-exam .ri-root{display:none!important}@media(max-width:700px){html:has(.kako-page[data-phase=setup]) .ri-root,html:has(.kako-page[data-phase=result]) .ri-root,html:has(.kako-page[data-phase=summary]) .ri-root{bottom:calc(96px + env(safe-area-inset-bottom,0px))}}html:has(.kako-page[data-phase=setup]) #quote-floating-bar,html:has(.kako-page[data-phase=result]) #quote-floating-bar,html:has(.kako-page[data-phase=summary]) #quote-floating-bar{bottom:calc(96px + env(safe-area-inset-bottom,0px))}html.kako-locked{overflow:hidden;scrollbar-gutter:stable}.kako-page .kako-breadcrumb{font-size:.8rem;color:var(--kako-muted);margin-bottom:24px;line-height:1.8}.kako-page .kako-breadcrumb a{color:inherit}.kako-page .kako-header{margin-bottom:24px}.kako-page .kako-header h1{font-size:1.6rem;font-weight:800;line-height:1.4;margin:8px 0;letter-spacing:0}.kako-page h1:focus,.kako-page h2:focus{outline:none;box-shadow:none}.kako-page .kako-lead{font-size:.92rem;line-height:1.8;color:var(--color-text-light, #333)}.kako-page .kako-h2{font-size:1.1rem;font-weight:800;line-height:1.5;margin-bottom:16px}.kako-page .kako-title{font-size:1.4rem;font-weight:800;line-height:1.5;margin-bottom:16px;letter-spacing:0}.kako-page .kako-muted{font-size:.82rem;line-height:1.8;color:var(--kako-muted)}.kako-page .kako-note{font-size:.86rem;line-height:1.8;margin-bottom:16px;padding:8px 16px;background:var(--kako-soft);border:1px solid var(--kako-line);border-left:3px solid var(--kako-ink);border-radius:0 10px 10px 0}.kako-page .kako-error{font-size:.86rem;line-height:1.7;margin-bottom:8px;padding:8px 16px;background:var(--kako-ng-soft);border:1px solid var(--kako-ng);border-radius:10px}.kako-page .kako-chip{display:inline-flex;align-items:center;font-size:.7rem;font-weight:800;line-height:1.4;padding:2px 8px;border-radius:999px;border:1.5px solid var(--kako-ink);background:#fff;white-space:nowrap}.kako-page .kako-chip.is-accent{background:var(--kako-accent)}.kako-page .kako-chip.is-quiet{border-color:var(--kako-line);font-weight:700;color:var(--kako-muted)}.kako-page .kako-chip.is-ink{background:var(--kako-ink);color:#fff}.kako-page .kako-card{background:var(--kako-soft);border:1px solid var(--kako-line);border-radius:16px;padding:24px;margin-bottom:16px}.kako-page .kako-card>.kako-h2+.kako-muted{margin:-8px 0 16px}.kako-page .kako-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:1.5px solid var(--kako-ink);font:inherit;font-size:.95rem;font-weight:700;line-height:1.3;text-decoration:none;cursor:pointer;color:var(--kako-ink);background:#fff;transition:transform .15s var(--kako-spring),background-color .15s ease,opacity .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-btn svg{width:18px;height:18px;flex-shrink:0}.kako-page .kako-btn:active{transform:scale(.95)}.kako-page .kako-btn:disabled{opacity:.4;cursor:default}.kako-page .kako-btn:disabled:active{transform:none}.kako-page .kako-btn-primary{background:var(--kako-accent)}.kako-page .kako-btn-wide{width:100%}@media(hover:hover){.kako-page .kako-btn:not(:disabled):hover{transform:scale(1.03)}.kako-page .kako-btn:not(:disabled):active{transform:scale(.95)}}.kako-page .kako-textbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:8px;padding:0 8px;background:none;border:none;cursor:pointer;font:inherit;font-size:.85rem;color:var(--kako-muted);text-decoration:underline;transition:transform .15s var(--kako-spring),color .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-textbtn svg{width:16px;height:16px;flex-shrink:0}.kako-page .kako-textbtn:active{transform:scale(.94)}@media(hover:hover){.kako-page .kako-textbtn:hover{color:var(--kako-ink)}}.kako-page .kako-backbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 8px -8px;padding:0 8px;background:none;border:none;cursor:pointer;font:inherit;font-size:.88rem;font-weight:700;color:var(--kako-ink);transition:transform .15s var(--kako-spring);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-backbtn svg{width:18px;height:18px}.kako-page .kako-backbtn:active{transform:scale(.94)}.kako-page .kako-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;background:none;border:none;border-radius:999px;cursor:pointer;color:var(--kako-ink);transition:transform .15s var(--kako-spring)}.kako-page .kako-iconbtn:active{transform:scale(.9)}.kako-page .kako-iconbtn svg{width:22px;height:22px}.kako-page .kako-loading{display:grid;gap:16px;padding:24px 0}.kako-page .kako-skeleton{height:72px;border-radius:16px;background:var(--kako-line);opacity:.55;animation:kakoPulse 1.4s ease-in-out infinite}@keyframes kakoPulse{0%,to{opacity:.35}50%{opacity:.7}}.kako-page .kako-fail{display:grid;gap:16px;justify-items:start;padding:24px 0}.kako-page .kako-exams{display:grid;gap:8px}.kako-page .kako-examrow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;width:100%;min-height:72px;padding:16px;text-align:left;background:#fff;border:1.5px solid var(--kako-line);border-radius:10px;font:inherit;color:var(--kako-ink);cursor:pointer;transition:transform .15s var(--kako-spring),border-color .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-examrow:active{transform:scale(.97)}@media(hover:hover){.kako-page .kako-examrow:hover{border-color:var(--kako-ink)}}.kako-page .kako-examrow-main{display:grid;gap:4px;min-width:0}.kako-page .kako-examrow-name{font-size:1rem;font-weight:800;line-height:1.5}.kako-page .kako-examrow-date{font-size:.78rem;color:var(--kako-muted)}.kako-page .kako-examrow-result{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:.82rem;line-height:1.6;color:var(--kako-muted);font-variant-numeric:tabular-nums}.kako-page .kako-examrow-result b{color:var(--kako-ink);font-weight:800}.kako-page .kako-examrow-go{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;font-weight:800}.kako-page .kako-examrow-go svg{width:18px;height:18px;transition:transform .3s var(--kako-spring)}@media(hover:hover){.kako-page .kako-examrow:hover .kako-examrow-go svg{transform:translate(3px)}}.kako-page .kako-exams+.kako-muted{margin-top:16px}.kako-page .kako-stat{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0 0 16px;font-size:.86rem}.kako-page .kako-stat div{display:grid;gap:2px}.kako-page .kako-stat dt{font-size:.75rem;font-weight:700;color:var(--kako-muted)}.kako-page .kako-stat dd{font-size:1.15rem;font-weight:900;font-variant-numeric:tabular-nums}.kako-page .kako-hist-list{display:grid}.kako-page .kako-hist-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 16px;min-height:48px;padding:8px 0;border-top:1px solid var(--kako-line);font-size:.86rem}.kako-page .kako-hist-main{display:grid;gap:2px;min-width:0}.kako-page .kako-hist-name{font-weight:700;line-height:1.5}.kako-page .kako-hist-date{color:var(--kako-muted);font-size:.78rem}.kako-page .kako-hist-score{font-variant-numeric:tabular-nums;font-weight:800}.kako-page .kako-backup-link{display:inline-flex;align-items:center;min-height:44px;color:var(--kako-ink);text-decoration:underline;text-decoration-color:var(--kako-accent);text-decoration-thickness:2px;text-underline-offset:2px}.kako-page .kako-source{margin-top:24px;padding:16px 0 0;border-top:1px solid var(--kako-line);font-size:.78rem;line-height:1.8;color:var(--kako-muted);display:grid;gap:8px}.kako-page .kako-source-title{font-size:.8rem;font-weight:800;color:var(--kako-ink)}.kako-page .kako-source a{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:var(--kako-ink);text-decoration:underline;text-decoration-color:var(--kako-accent);text-decoration-thickness:2px;text-underline-offset:2px}.kako-page .kako-source a svg{width:14px;height:14px}.kako-page .kako-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;margin-bottom:16px;background:#fff;border:1.5px solid var(--kako-line);border-radius:999px}.kako-page .kako-seg-item{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px;border-radius:999px;font-size:.88rem;font-weight:700;text-align:center;cursor:pointer;transition:transform .15s var(--kako-spring),background-color .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-seg-item:active{transform:scale(.95)}.kako-page .kako-seg-item input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.kako-page .kako-seg-item.is-on{background:var(--kako-accent)}.kako-page .kako-seg-item:has(input:focus-visible){outline:2px solid var(--kako-ink);outline-offset:2px}.kako-page .kako-scope{display:grid;gap:8px}.kako-page .kako-scope-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;min-height:56px;padding:8px 16px;background:#fff;border:2px solid var(--kako-line);border-radius:10px;cursor:pointer;transition:transform .15s var(--kako-spring),border-color .15s ease,background-color .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-scope-item:active{transform:scale(.97)}@media(hover:hover){.kako-page .kako-scope-item:hover{border-color:var(--kako-ink)}}.kako-page .kako-scope-item.is-on{border-color:var(--kako-ink);background:#ffc80029}.kako-page .kako-scope-item input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.kako-page .kako-scope-item:has(input:focus-visible){outline:2px solid var(--kako-ink);outline-offset:2px}.kako-page .kako-scope-name{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;font-size:.9rem;font-weight:700;line-height:1.6;overflow-wrap:anywhere}.kako-page .kako-scope-meta{font-size:.78rem;color:var(--kako-muted);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.kako-page .kako-tiergroup{margin-top:16px}.kako-page .kako-tiergroup:first-child{margin-top:0}.kako-page .kako-tiergroup>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;font-size:.88rem;font-weight:800;cursor:pointer;list-style:none}.kako-page .kako-tiergroup>summary::-webkit-details-marker{display:none}.kako-page .kako-tiergroup .kako-scope{margin-top:8px}.kako-page .kako-tier-note{font-size:.75rem;font-weight:500;color:var(--kako-muted)}.kako-page .kako-switch{display:flex;align-items:flex-start;gap:16px;min-height:48px;padding:8px 0;font-size:.9rem;line-height:1.7;cursor:pointer}.kako-page .kako-switch input{flex-shrink:0;width:24px;height:24px;margin:4px 0 0;accent-color:var(--kako-ink)}.kako-page .kako-avail{margin-top:8px;font-size:.9rem;font-weight:700}.kako-page .kako-startbar{position:sticky;bottom:0;z-index:30;padding:16px 0 calc(16px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--kako-line)}.kako-page .kako-tier{display:inline-flex;align-items:center;font-size:.7rem;font-weight:900;line-height:1.4;padding:2px 8px;border-radius:6px;border:1.5px solid var(--kako-ink);white-space:nowrap}.kako-page .kako-tier.is-s{background:var(--kako-ink);color:#fff}.kako-page .kako-tier.is-a{background:var(--kako-accent)}.kako-page .kako-tier.is-b{background:#fff;border-color:var(--kako-line);color:var(--kako-muted)}.kako-page[data-phase=exam],.kako-page[data-phase=practice]{padding-bottom:calc(var(--kako-bar-h) + 40px)}.kako-page[data-phase=exam]:has(#kako-btn-fig:not([hidden])),.kako-page[data-phase=practice]:has(#kako-btn-fig:not([hidden])){padding-bottom:calc(var(--kako-bar-h) + 96px)}.kako-page .kako-examtop{position:sticky;top:var(--header-height, 64px);z-index:40;margin-bottom:16px;padding:8px 0 0;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.kako-page .kako-examtop-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.kako-page .kako-qnum{display:flex;align-items:baseline;gap:8px;font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums}.kako-page .kako-qnum b{font-size:1.25rem;font-weight:900}.kako-page .kako-qnum-sub{color:var(--kako-muted);font-weight:600}.kako-page .kako-timer,.kako-page .kako-tally{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 16px;border-radius:999px;border:1.5px solid var(--kako-ink);background:#fff;font-size:.9rem;font-weight:800;font-variant-numeric:tabular-nums;transition:transform .3s var(--kako-spring),background-color .2s ease,color .2s ease}.kako-page .kako-timer svg{width:16px;height:16px;flex-shrink:0}.kako-page .kako-timer.is-warn{background:var(--kako-ink);color:#fff}.kako-page .kako-tally.is-bump{animation:kakoBump .45s var(--kako-spring)}@keyframes kakoBump{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.kako-page[data-phase=exam] .kako-tally,.kako-page[data-phase=practice] .kako-timer{display:none}.kako-page .kako-abortbtn{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 12px;margin-left:auto;border-radius:999px;border:1.5px solid var(--kako-line);background:#fff;color:var(--kako-muted);font:inherit;font-size:.82rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:transform .15s var(--kako-spring),border-color .15s ease,color .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-abortbtn svg{width:16px;height:16px;flex-shrink:0}.kako-page .kako-abortbtn:active{transform:scale(.94)}@media(hover:hover){.kako-page .kako-abortbtn:hover{border-color:var(--kako-ink);color:var(--kako-ink)}}.kako-page[data-phase=practice] .kako-abortbtn{display:none}.kako-page .kako-examtop-row{justify-content:flex-start;gap:8px}.kako-page .kako-qnum{flex-shrink:0;white-space:nowrap}.kako-page[data-phase=practice] .kako-tally{margin-left:auto}.kako-page .kako-timer{flex-shrink:0;white-space:nowrap}@media(max-width:400px){.kako-page .kako-timer{padding:0 12px;gap:6px}.kako-page .kako-abortbtn{padding:0 10px}.kako-page .kako-abortbtn svg{display:none}}.kako-page .kako-progress{height:6px;background:var(--kako-line);border-radius:999px;overflow:hidden}.kako-page .kako-progress-fill{height:100%;width:100%;background:var(--kako-accent);transform:scaleX(0);transform-origin:left center;transition:transform .4s var(--kako-spring)}.kako-page .kako-qcol{display:grid;gap:16px;min-width:0;align-content:start}.kako-page .kako-figpanel{display:none}.kako-page .kako-preamble{background:#fff;border:1px solid var(--kako-line);border-radius:10px}.kako-page .kako-preamble>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:8px 16px;cursor:pointer;list-style:none}.kako-page .kako-preamble>summary::-webkit-details-marker{display:none}.kako-page .kako-preamble-text{display:grid;gap:2px;min-width:0}.kako-page .kako-preamble-kicker{font-size:.72rem;font-weight:800;color:var(--kako-muted)}.kako-page .kako-preamble-heading{font-size:.86rem;font-weight:700;line-height:1.6;overflow-wrap:anywhere}.kako-page .kako-preamble-body{display:grid;gap:8px;padding:0 16px 16px;font-size:.86rem;line-height:1.8}.kako-page .kako-preamble-notices{display:grid;gap:4px}.kako-page .kako-preamble-notices li{position:relative;padding-left:16px;overflow-wrap:anywhere}.kako-page .kako-preamble-notices li:before{content:"";position:absolute;left:4px;top:.85em;width:4px;height:4px;border-radius:999px;background:var(--kako-ink)}.kako-page .kako-chev{width:20px;height:20px;flex-shrink:0;margin-left:auto;color:var(--kako-muted);transition:transform .3s var(--kako-spring)}.kako-page details[open]>summary .kako-chev{transform:rotate(180deg)}.kako-page .kako-qcard{scroll-margin-top:calc(var(--header-height, 64px) + 80px);background:var(--kako-soft);border:1px solid var(--kako-line);border-radius:16px;padding:24px}.kako-page .kako-qcard.is-entering{animation:kakoEnter .4s var(--kako-spring)}@keyframes kakoEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.kako-page .kako-qhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.kako-page .kako-qhead .kako-flagbtn{margin-left:auto}.kako-page[data-phase=practice] .kako-flagbtn,.kako-page[data-phase=practice] #kako-btn-clear{display:none}.kako-page .kako-qsubject{margin-bottom:16px;font-size:.8rem;color:var(--kako-muted);font-weight:700;line-height:1.7}.kako-page .kako-flagbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--kako-ink);background:#fff;color:var(--kako-ink);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:transform .15s var(--kako-spring),background-color .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-flagbtn svg{width:16px;height:16px;transition:transform .3s var(--kako-spring)}.kako-page .kako-flagbtn:active{transform:scale(.94)}.kako-page .kako-flagbtn.is-on{background:var(--kako-accent)}.kako-page .kako-flagbtn.is-on svg{fill:var(--kako-ink);transform:rotate(-8deg) scale(1.1)}.kako-page .kako-qtext{font-size:1.05rem;font-weight:600;line-height:1.9;margin-bottom:24px;white-space:pre-line;overflow-wrap:anywhere;letter-spacing:0}.kako-page .kako-qtext:focus{outline:none;box-shadow:none}.kako-page .kako-figs{display:grid;gap:16px;justify-items:start;margin:-8px 0 24px}.kako-page .kako-fig{display:block;max-width:100%}.kako-page .kako-fig-img{display:block;max-width:100%;height:auto;background:#fff;border-radius:6px}.kako-page .kako-figfail{display:grid;gap:4px;justify-items:start;padding:16px;border:1.5px dashed var(--kako-ink);border-radius:10px;background:#fff;font-size:.85rem;line-height:1.7}.kako-page .kako-figfail-msg{font-weight:800}.kako-page .kako-figfail-alt{color:var(--kako-muted);font-size:.78rem;overflow-wrap:anywhere;max-height:7.2em;overflow:auto}.kako-page .kako-figfail-btn{margin-top:0}.kako-page .kako-options{display:grid;gap:8px;border:0;margin:0;padding:0;min-width:0}.kako-page .kako-option{position:relative;display:flex;align-items:flex-start;gap:16px;min-height:56px;padding:16px;background:#fff;border:2px solid var(--kako-line);border-radius:10px;cursor:pointer;transition:transform .15s var(--kako-spring),border-color .15s ease,background-color .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-option.is-static,.kako-page .kako-option.is-locked{cursor:default}@media(hover:hover){.kako-page .kako-option:not(.is-static):not(.is-locked):hover{border-color:var(--kako-ink)}}.kako-page .kako-option:not(.is-static):not(.is-locked):active{transform:scale(.97)}.kako-page .kako-option.is-selected{border-color:var(--kako-ink);background:#ffc80029}.kako-page .kako-option.is-sinking{animation:kakoSink .45s var(--kako-spring)}@keyframes kakoSink{0%{transform:scale(1)}30%{transform:scale(.96)}70%{transform:scale(1.015)}to{transform:scale(1)}}.kako-page .kako-option.is-answer{border-color:var(--kako-ok);background:var(--kako-ok-soft)}.kako-page .kako-option.is-wrong{border-color:var(--kako-ng);background:var(--kako-ng-soft)}.kako-page .kako-radio{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.kako-page .kako-marker{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:999px;border:1.5px solid var(--kako-ink);background:#fff;font-size:.8rem;font-weight:800;line-height:1;transition:transform .3s var(--kako-spring),background-color .15s ease,color .15s ease}.kako-page .kako-option.is-selected .kako-marker{background:var(--kako-ink);color:#fff;transform:scale(1.1)}.kako-page .kako-option.is-answer .kako-marker{background:var(--kako-ok);border-color:var(--kako-ok);color:#fff}.kako-page .kako-option.is-wrong .kako-marker{background:var(--kako-ng);border-color:var(--kako-ng);color:#fff}.kako-page .kako-radio:focus-visible+.kako-marker{outline:2px solid var(--kako-ink);outline-offset:2px;box-shadow:0 0 0 5px #ffc80052}.kako-page .kako-opt-body{display:grid;gap:8px;flex:1;min-width:0}.kako-page .kako-opt-text{font-size:.95rem;line-height:1.8;overflow-wrap:anywhere;white-space:pre-line}.kako-page .kako-opt-tag{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:800}.kako-page .kako-opt-tag svg{width:14px;height:14px}.kako-page .kako-options.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kako-page .kako-options.is-grid .kako-option{flex-direction:column;align-items:stretch;gap:8px;padding:8px;min-height:0}.kako-page .kako-options.is-grid .kako-marker{align-self:flex-start}.kako-page .kako-options.is-grid .kako-opt-body{justify-items:center;align-content:start}.kako-page .kako-options.is-grid .kako-fig{display:flex;justify-content:center}.kako-page .kako-optwrap{position:relative;display:grid;min-width:0}.kako-page .kako-optwrap>.kako-option{min-width:0}.kako-page .kako-options:not(.is-grid) .kako-optwrap.has-zoom>.kako-option{padding-right:56px}.kako-page .kako-fig{position:relative}.kako-page .kako-zoombtn{position:absolute;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:none;border:0;border-radius:999px;color:var(--kako-ink);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-zoombtn:before{content:"";position:absolute;inset:6px;border-radius:999px;border:1.5px solid var(--kako-ink);background:#fff;transition:transform .15s var(--kako-spring),background-color .15s ease}.kako-page .kako-zoombtn svg{position:relative;width:18px;height:18px}.kako-page .kako-zoombtn:active:before{transform:scale(.88)}@media(hover:hover){.kako-page .kako-zoombtn:hover:before{background:var(--kako-accent)}}.kako-page .kako-zoombtn:focus-visible{outline:2px solid var(--kako-ink);outline-offset:0}.kako-page .kako-optwrap>.kako-zoombtn{top:2px;right:2px}.kako-page .kako-fig>.kako-zoombtn{top:4px;right:4px}.kako-page .kako-feedback{scroll-margin-bottom:calc(var(--kako-bar-h) + 24px);display:grid;gap:8px;margin-top:16px;padding:16px;background:#fff;border:2px solid var(--kako-line);border-radius:10px;animation:kakoEnter .4s var(--kako-spring)}.kako-page .kako-feedback.is-ok{border-color:var(--kako-ok)}.kako-page .kako-feedback.is-ng{border-color:var(--kako-ng)}.kako-page .kako-feedback-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:900}.kako-page .kako-feedback-title svg{width:20px;height:20px;flex-shrink:0}.kako-page .kako-feedback.is-ok .kako-feedback-title{color:var(--kako-ok)}.kako-page .kako-feedback.is-ng .kako-feedback-title{color:var(--kako-ng)}.kako-page .kako-feedback-exp{font-size:.9rem;line-height:1.9;overflow-wrap:anywhere}.kako-page .kako-cite{margin-top:16px;font-size:.75rem;line-height:1.7;color:var(--kako-muted);overflow-wrap:anywhere}.kako-page .kako-topics{display:grid;gap:4px}.kako-page .kako-topics-label{font-size:.75rem;font-weight:800;color:var(--kako-muted)}.kako-page .kako-topics-list{display:flex;flex-wrap:wrap;gap:8px}.kako-page .kako-topiclink{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--kako-ink);background:#fff;color:var(--kako-ink);font-size:.85rem;font-weight:700;text-decoration:none;transition:transform .15s var(--kako-spring),background-color .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-topiclink svg{width:16px;height:16px;flex-shrink:0}.kako-page .kako-topiclink:active{transform:scale(.95)}@media(hover:hover){.kako-page .kako-topiclink:hover{background:var(--kako-accent)}}.kako-page .kako-bar{position:fixed;left:0;right:0;bottom:0;z-index:250;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--kako-line)}.kako-page .kako-bar-inner{display:grid;gap:8px;max-width:720px;margin:0 auto}.kako-page .kako-bar-row{display:grid;gap:8px}.kako-page .kako-bar-exam{grid-template-columns:1fr 1.5fr 1.3fr}.kako-page .kako-bar-practice{grid-template-columns:1fr 1.6fr}.kako-page[data-phase=exam] .kako-bar-practice,.kako-page[data-phase=practice] .kako-bar-exam,.kako-page[data-phase=loading] .kako-bar,.kako-page[data-phase=hub] .kako-bar{display:none}.kako-page .kako-bar .kako-btn{padding:0 8px;gap:4px;min-width:0;white-space:nowrap}.kako-page .kako-bar .kako-bar-fig{min-height:44px}.kako-page .kako-count{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:800}.kako-page .kako-next-icon{display:inline-flex;transition:transform .35s var(--kako-spring)}.kako-page .kako-next-icon svg{width:18px;height:18px}.kako-page .kako-btn.is-finish .kako-next-icon{transform:scale(1.15) rotate(-8deg)}.kako-page .kako-dialog{margin:auto;width:calc(100% - 32px);max-width:560px;padding:0;border:0;border-radius:16px;background:#fff;color:var(--kako-ink);box-shadow:var(--shadow-md, 0 15px 35px -10px rgba(21, 20, 15, .16))}.kako-page .kako-dialog::backdrop{background:#15140f7a}.kako-page .kako-dialog[open]{animation:kakoSheetIn .4s var(--kako-spring)}@keyframes kakoSheetIn{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.kako-page .kako-dialog-inner{padding:24px;max-height:85vh;max-height:85dvh;overflow-y:auto;overscroll-behavior:contain}.kako-page .kako-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.kako-page .kako-dialog-head .kako-h2{margin-bottom:0}.kako-page .kako-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.kako-page .kako-confirm-body{font-size:.92rem;line-height:1.9;white-space:pre-line}.kako-page .kako-dialog-foot{position:sticky;bottom:-24px;display:grid;gap:8px;margin:24px -24px -24px;padding:16px 24px 24px;background:#fff;border-top:1px solid var(--kako-line)}.kako-page .kako-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:16px;font-size:.78rem;color:var(--kako-muted)}.kako-page .kako-legend li{display:inline-flex;align-items:center;gap:8px}.kako-page .kako-legend-cell{position:relative;width:16px;height:16px;border-radius:4px;border:1.5px solid var(--kako-line);background:#fff;overflow:hidden}.kako-page .kako-legend-cell.is-answered{background:var(--kako-ink);border-color:var(--kako-ink)}.kako-page .kako-legend-cell.is-flagged{border-color:var(--kako-ink)}.kako-page .kako-legend-cell.is-flagged:after,.kako-page .kako-cell.is-flagged:after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 14px 14px 0;border-color:transparent var(--kako-accent) transparent transparent}.kako-page .kako-legend-cell.is-flagged:after{border-width:0 10px 10px 0}.kako-page .kako-navgroup{margin-bottom:16px}.kako-page .kako-navgroup-title{font-size:.8rem;font-weight:800;margin-bottom:8px}.kako-page .kako-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px}.kako-page .kako-cell{position:relative;min-height:48px;border-radius:10px;border:1.5px solid var(--kako-line);background:#fff;overflow:hidden;font:inherit;font-size:.9rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--kako-ink);cursor:pointer;transition:transform .15s var(--kako-spring);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-cell:active{transform:scale(.92)}.kako-page .kako-cell.is-answered{background:var(--kako-ink);border-color:var(--kako-ink);color:#fff}.kako-page .kako-cell.is-flagged{border-color:var(--kako-ink)}.kako-page .kako-cell.is-current{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--kako-ink)}.kako-page .kako-viewer{display:flex;flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0}.kako-page .kako-viewer-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#fff;border:1px solid var(--kako-line);border-radius:10px;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.kako-page .kako-viewer-stage.is-grabbing{cursor:grabbing}.kako-page .kako-viewer-stage:focus-visible{outline:2px solid var(--kako-ink);outline-offset:2px}.kako-page .kako-viewer-img{position:absolute;left:0;top:0;max-width:none;border-radius:0;transform-origin:0 0;pointer-events:none;user-select:none;-webkit-user-drag:none;will-change:transform}.kako-page .kako-viewer-fail{position:absolute;inset:16px;align-content:start;overflow:auto}.kako-page .kako-viewer-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.kako-page .kako-toolbtn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;padding:0 12px;border-radius:999px;border:1.5px solid var(--kako-ink);background:#fff;color:var(--kako-ink);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:transform .15s var(--kako-spring),background-color .15s ease,opacity .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.kako-page .kako-toolbtn svg{width:18px;height:18px}.kako-page .kako-toolbtn:active{transform:scale(.92)}.kako-page .kako-toolbtn:disabled{opacity:.4;cursor:default}.kako-page .kako-toolbtn:disabled:active{transform:none}.kako-page .kako-viewer-zoom{min-width:52px;text-align:center;font-size:.85rem;font-weight:800;font-variant-numeric:tabular-nums}.kako-page .kako-figdialog{max-width:none;width:100%;height:100vh;height:100dvh;max-height:none;margin:0;border-radius:0}.kako-page .kako-figdialog-inner{display:flex;flex-direction:column;gap:8px;height:100%;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px))}.kako-page .kako-figdialog .kako-dialog-head{margin-bottom:0}.kako-page .kako-figdialog-host{display:flex;flex:1;min-height:0}.kako-page .kako-figdialog-cite{font-size:.72rem;color:var(--kako-muted);line-height:1.6;text-align:center;overflow-wrap:anywhere}.kako-page .kako-figdialog-hint{font-size:.75rem;color:var(--kako-muted);line-height:1.6;text-align:center}.kako-page .kako-result-exam{margin-bottom:8px;font-size:.86rem;font-weight:700;color:var(--kako-muted);line-height:1.7}.kako-page .kako-hero{text-align:left}.kako-page .kako-rank{display:flex;align-items:center;gap:24px;margin-bottom:24px}.kako-page .kako-rank-text{display:grid;gap:8px;min-width:0}.kako-page .kako-rank-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.kako-page .kako-rank-name{font-size:1rem;font-weight:800}.kako-page .kako-rank-message{font-size:.95rem;line-height:1.7;font-weight:600}.kako-page .kako-rank-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:88px;height:88px;border-radius:16px;background:var(--kako-ink);color:#fff;font-size:3rem;font-weight:900;line-height:1}.kako-page .kako-rank-badge.is-small{width:40px;height:40px;border-radius:10px;font-size:1.4rem}.kako-page .kako-rank-badge[data-rank=F]{background:#fff;color:var(--kako-ink);border:2px solid var(--kako-ink)}.kako-page .kako-rank-badge.is-pop{animation:kakoRankPop .7s var(--kako-spring) both}.kako-page .kako-chip.is-pop{animation:kakoChipPop .5s var(--kako-spring) .35s both}@keyframes kakoRankPop{0%{transform:scale(.4) rotate(-10deg);opacity:0}55%{transform:scale(1.15) rotate(4deg);opacity:1}80%{transform:scale(.96) rotate(-1deg)}to{transform:scale(1) rotate(0);opacity:1}}.kako-page .kako-rank-badge.is-soft{animation:kakoRankSoft .5s ease both}@keyframes kakoRankSoft{0%{opacity:0}to{opacity:1}}@keyframes kakoChipPop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.18);opacity:1}to{transform:scale(1);opacity:1}}.kako-page .kako-score{font-size:1.5rem;font-weight:800;line-height:1.5;margin-bottom:8px;font-variant-numeric:tabular-nums}.kako-page .kako-score b{font-size:2.5rem;font-weight:900}.kako-page .kako-score .kako-muted{margin-left:8px;font-size:.95rem;font-weight:500}.kako-page .kako-points{margin-bottom:16px;font-size:.95rem;line-height:1.7;font-variant-numeric:tabular-nums}.kako-page .kako-points b{font-size:1.25rem;font-weight:900}.kako-page .kako-facts{display:grid;gap:8px;margin-bottom:16px}.kako-page .kako-facts li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;padding:8px 0;border-top:1px solid var(--kako-line);font-size:.9rem}.kako-page .kako-fact-label{color:var(--kako-muted);font-size:.82rem;font-weight:700}.kako-page .kako-delta{font-size:1.1rem;font-weight:900;font-variant-numeric:tabular-nums}.kako-page .kako-delta.is-up{color:var(--kako-ok)}.kako-page .kako-delta.is-down{color:var(--kako-ng)}.kako-page .kako-delta.is-flat{color:var(--kako-ink)}.kako-page .kako-disclaimer{margin-top:16px;padding:8px 16px;border:1.5px solid var(--kako-ink);border-radius:10px;background:#fff;font-size:.9rem;font-weight:800;text-align:center;line-height:1.7}.kako-page .kako-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.kako-page .kako-sectiontile{display:grid;gap:4px;padding:16px;background:#fff;border:1px solid var(--kako-line);border-radius:10px}.kako-page .kako-sectiontile span{font-size:.78rem;font-weight:700;color:var(--kako-muted)}.kako-page .kako-sectiontile b{font-size:1.4rem;font-weight:900;font-variant-numeric:tabular-nums}.kako-page .kako-subjects{display:grid;gap:16px}.kako-page .kako-subject-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:4px;font-size:.88rem}.kako-page .kako-subject-name{font-weight:700;min-width:0}.kako-page .kako-subject-score{font-variant-numeric:tabular-nums;flex-shrink:0}.kako-page .kako-bar-track{height:8px;border-radius:999px;background:var(--kako-line);overflow:hidden}.kako-page .kako-bar-fill{height:100%;width:100%;background:var(--kako-ink);transform-origin:left center;transition:transform .7s var(--kako-spring)}.kako-page .kako-weak{display:grid;gap:8px}.kako-page .kako-weak-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:8px 16px;background:#fff;border:1.5px solid var(--kako-line);border-radius:10px}.kako-page .kako-weak-item.is-hot{border-color:var(--kako-ink)}.kako-page .kako-weak-main{display:grid;gap:4px;min-width:0}.kako-page .kako-weak-name{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.9rem;font-weight:700;line-height:1.6;overflow-wrap:anywhere}.kako-page .kako-weak-meta{font-size:.78rem;color:var(--kako-muted);line-height:1.6}.kako-page .kako-weak-score{font-size:.95rem;font-weight:900;font-variant-numeric:tabular-nums;text-align:right}.kako-page .kako-weak-go{grid-column:1 / -1;justify-self:start;margin-top:0}.kako-page .kako-missed{display:grid;gap:8px;margin-top:8px}.kako-page .kako-missed-item{background:#fff;border:1px solid var(--kako-line);border-radius:10px}.kako-page .kako-missed-item summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:48px;padding:8px 16px;font-size:.85rem;cursor:pointer;list-style:none}.kako-page .kako-missed-item summary::-webkit-details-marker{display:none}.kako-page .kako-missed-no{font-weight:800}.kako-page .kako-missed-subject{color:var(--kako-muted);font-size:.78rem}.kako-page .kako-missed-snippet{flex-basis:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.7}.kako-page .kako-missed-item[open] .kako-missed-snippet{display:none}.kako-page .kako-missed-body{padding:0 16px 16px;display:grid;gap:16px}.kako-page .kako-missed-q{font-size:.92rem;font-weight:600;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere}.kako-page .kako-missed-body .kako-figs{margin:0}.kako-page .kako-missed-fig{justify-self:start}.kako-page .kako-missed-body .kako-options .kako-option{padding:8px 16px;font-size:.88rem}.kako-page .kako-missed-body .kako-options.is-grid .kako-option{padding:8px}.kako-page .kako-missed-exp{font-size:.88rem;line-height:1.9;overflow-wrap:anywhere}.kako-page .kako-missed-body .kako-cite{margin-top:0}.kako-page .kako-backup{margin-bottom:16px}.kako-page .kako-again{display:flex;justify-content:center;margin-bottom:16px}.kako-page .kako-resultbar{position:sticky;bottom:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px;padding:16px 0 calc(16px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--kako-line)}.kako-page .kako-resultbar .kako-btn{padding:0 12px;white-space:nowrap}.kako-page .kako-resultbar.is-single{grid-template-columns:minmax(0,1fr)}@media(min-width:1024px){.kako-page[data-phase=exam],.kako-page[data-phase=practice]{--kako-wide: min(1320px, calc(100vw - 4rem) );width:var(--kako-wide);max-width:none;margin-left:calc((100% - var(--kako-wide)) / 2);margin-right:0}.kako-page .kako-qgrid{display:grid;grid-template-columns:minmax(0,720px);justify-content:center;gap:32px;align-items:start}.kako-page .kako-qgrid:has(>.kako-figpanel:not([hidden])){grid-template-columns:minmax(0,5fr) minmax(0,6fr);justify-content:stretch}.kako-page .kako-figpanel{position:sticky;top:calc(var(--kako-qtop) + 8px);display:flex;flex-direction:column;gap:8px;height:calc(100vh - var(--kako-qtop) - var(--kako-bar-h) - 96px);height:calc(100dvh - var(--kako-qtop) - var(--kako-bar-h) - 96px);min-height:320px}.kako-page .kako-figpanel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.kako-page .kako-figpanel-title{font-size:.95rem;font-weight:800}.kako-page .kako-figpanel-head .kako-textbtn{margin-top:0}.kako-page .kako-figpanel-host{display:flex;flex:1;min-height:0}.kako-page .kako-figpanel-cite{font-size:.72rem;color:var(--kako-muted);line-height:1.6;overflow-wrap:anywhere}.kako-page .kako-bar-fig{display:none!important}.kako-page[data-phase=exam]:has(#kako-btn-fig:not([hidden])),.kako-page[data-phase=practice]:has(#kako-btn-fig:not([hidden])){padding-bottom:calc(var(--kako-bar-h) + 40px)}.kako-page .kako-figdialog{width:min(1200px,94vw);height:min(92dvh,1100px);margin:auto;border-radius:16px}}@media(max-width:640px){.kako-page .kako-card,.kako-page .kako-qcard{padding:16px}.kako-page .kako-rank{gap:16px}.kako-page .kako-rank-badge{width:72px;height:72px;font-size:2.5rem}.kako-page .kako-dialog-inner{padding:16px}.kako-page .kako-dialog-foot{margin:24px -16px -16px;padding:16px;bottom:-16px}.kako-page .kako-figdialog-inner{padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px))}.kako-page .kako-seg-item{font-size:.82rem;padding:0 4px}.kako-page .kako-sheet{width:100%;max-width:100%;margin:auto 0 0;border-radius:16px 16px 0 0}.kako-page .kako-sheet .kako-dialog-inner{max-height:80vh;max-height:80dvh}}@media(prefers-reduced-motion:reduce){.kako-page *,.kako-page *:before,.kako-page *:after,.kako-page .kako-dialog,.kako-page .kako-dialog *,.kako-page .kako-dialog::backdrop{animation:none!important;transition:none!important}}
