@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable-dynamic-subset.css";@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@500;600;700;800&family=Zen+Maru+Gothic:wght@500;700&display=swap";*{box-sizing:border-box}:root{color:#2a2028;font-synthesis:none;font-feature-settings:"ss03", "cv11";text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-ui:"Pretendard Variable", "Pretendard", "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ja:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Pretendard Variable", serif;--font-ja-sans:"Noto Sans JP", "Zen Maru Gothic", "Pretendard Variable", "Pretendard", ui-sans-serif, system-ui, sans-serif;--bg:#fff7fb;--paper:#ffffffbd;--paper-solid:#ffffffd1;--ink:#2a2028;--muted:#8b7884;--line:#be749a24;--accent:#f472b6;--accent-strong:#be185d;--accent-soft:#fce7f3d1;--blue:#7c6ee6;--green:#2f9461;--red:#d1436f;--glow:#f472b647;--shadow:0 34px 90px #7a416921;--shadow-soft:0 18px 48px #7a416917;--blur:blur(22px) saturate(1.08);--easing:cubic-bezier(.22, 1, .36, 1);--t-fast:.16s;--t-mid:.28s;--t-slow:.45s;background:#fff7fb;font-family:Pretendard Variable,Pretendard,Noto Sans JP,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInPlain{0%{opacity:0}to{opacity:1}}@keyframes correctPulse{0%{transform:scale(1);box-shadow:0 0 #2f94616b}40%{transform:scale(1.012);box-shadow:0 0 0 10px #2f946100}to{transform:scale(1);box-shadow:0 0 #2f946100}}@keyframes wrongShake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes shimmer{0%{transform:translate(-110%)skew(-20deg)}to{transform:translate(220%)skew(-20deg)}}@keyframes petalFall{0%{opacity:0;transform:translateY(-10vh)rotate(0)}10%{opacity:.55}to{opacity:0;transform:translate(40px,110vh)rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}html,body{min-height:100%;margin:0}html{scrollbar-gutter:stable;overflow-y:scroll}body{background:radial-gradient(ellipse at 0% 0%, #fbcfe86b, transparent 38rem), radial-gradient(ellipse at 100% 12%, #d8b4fe38, transparent 36rem), var(--bg);background-attachment:fixed}body:before{content:"🌸";pointer-events:none;z-index:0;font-size:18px;animation:18s linear infinite petalFall;position:fixed;top:-10vh;left:8%}body:after{content:"🌸";pointer-events:none;z-index:0;font-size:14px;animation:22s linear 7s infinite petalFall;position:fixed;top:-10vh;right:14%}a{color:inherit}button,input{font:inherit}#app{min-height:100vh}.app-shell{width:min(1160px,100% - 32px);animation:fadeIn var(--t-mid) var(--easing);margin:0 auto;padding:28px 0 64px}.study-shell{min-height:100vh;animation:fadeInPlain var(--t-mid) var(--easing);padding-bottom:48px}.error-banner{animation:fadeIn var(--t-mid) var(--easing)}.hero{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:24px;position:relative}.exam-hero{margin-bottom:26px;padding:clamp(28px,4vw,46px)}.home-bar{border:1px solid var(--line);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-soft);animation:fadeIn var(--t-mid) var(--easing);background:radial-gradient(circle at 100% 0,#fbcfe86b,#0000 16rem),linear-gradient(#ffffffeb,#fff7fbd1);border-radius:22px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;padding:22px 26px;display:flex}.home-bar-title{flex:1;min-width:0}.home-kicker{background:var(--accent-soft);color:var(--accent-strong);letter-spacing:.18em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.home-title{letter-spacing:-.035em;background:linear-gradient(110deg,#be185d 0%,#f472b6 35%,#c084fc 70%,#be185d 100%) 0 0/220%;color:#0000;-webkit-background-clip:text;background-clip:text;margin:10px 0 0;font-size:clamp(22px,3.2vw,30px);font-weight:800;line-height:1.18;animation:9s ease-in-out infinite gradientShift}.home-bar-meta{flex-shrink:0;align-items:center;gap:14px;display:flex}.home-progress{border:1px solid var(--line);background:#ffffffb3;border-radius:999px;align-items:center;gap:12px;padding:10px 16px;display:inline-flex}.home-progress-track{background:#be749a24;border-radius:999px;width:110px;height:6px;position:relative;overflow:hidden}.home-progress-track i{border-radius:inherit;height:100%;transition:width var(--t-mid) var(--easing);background:linear-gradient(90deg,#f9a8d4,#ec4899,#c084fc) 0 0/200% 100%;animation:5s ease-in-out infinite gradientShift;display:block}.home-progress-label{color:var(--ink);letter-spacing:-.02em;font-size:13px;font-weight:800}.home-progress-label small{color:var(--muted);margin-left:1px;font-size:12px;font-weight:600}.resume-pill{color:#fff;transition:transform var(--t-fast) var(--easing), box-shadow var(--t-fast) ease;background:linear-gradient(135deg,#f472b6 0%,#be185d 100%);border:0;border-radius:999px;align-items:center;gap:12px;padding:10px 14px 10px 16px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px #be185d38}.resume-pill:hover{transform:translateY(-1px);box-shadow:0 14px 30px #be185d52}.resume-pill-label{letter-spacing:-.01em;font-size:13px;font-weight:800}.resume-pill-meta{opacity:.86;letter-spacing:.02em;font-size:11px;font-weight:600}.resume-pill-arrow{transition:transform var(--t-fast) var(--easing);font-size:14px}.resume-pill:hover .resume-pill-arrow{transform:translate(3px)}.wb-pill{border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow-soft);transition:transform var(--t-fast) var(--easing), box-shadow var(--t-fast) ease, background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease;background:#ffffffc7;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.wb-pill:hover{color:var(--accent-strong);background:#fff;border-color:#be185d52;transform:translateY(-1px);box-shadow:0 12px 24px #be185d1f}.wb-pill-icon{color:var(--accent);font-size:14px;line-height:1}.wb-pill-count{background:var(--accent-soft);min-width:22px;color:var(--accent-strong);letter-spacing:-.01em;border-radius:999px;justify-content:center;align-items:center;padding:1px 7px;font-size:11px;font-weight:800;display:inline-flex}.tab-bar{border:1px solid var(--line);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-soft);background:#ffffffc7;border-radius:999px;gap:4px;margin-bottom:18px;padding:5px;display:inline-flex}.tab{color:var(--muted);font:inherit;letter-spacing:-.005em;cursor:pointer;transition:background var(--t-fast) ease, color var(--t-fast) ease, transform var(--t-fast) var(--easing);background:0 0;border:0;border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:700}.tab:hover{color:var(--ink)}.tab.is-active{color:#fff;background:linear-gradient(135deg,#f472b6 0%,#be185d 100%);box-shadow:0 6px 16px #be185d38}.tab.is-active:hover{color:#fff}.tab-pane.is-hidden{display:none}.tab-pane,.tab-pane-enter{animation:fadeInPlain var(--t-mid) var(--easing)}.hero>*{z-index:1;position:relative}.hero-kicker,.eyebrow{color:var(--accent-strong);letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:700}.hero h1{letter-spacing:-.045em;background:linear-gradient(110deg,#be185d 0%,#f472b6 35%,#c084fc 70%,#be185d 100%) 0 0/220%;color:#0000;-webkit-background-clip:text;background-clip:text;max-width:720px;margin:0;font-size:clamp(32px,5.5vw,60px);font-weight:800;line-height:1.04;animation:9s ease-in-out infinite gradientShift}.exam-hero h1{font-size:clamp(28px,4vw,48px)}.hero-copy{max-width:560px;color:var(--muted);margin:20px 0 0;font-size:16px;font-weight:500;line-height:1.85}.back{border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow-soft);transition:transform var(--t-fast) var(--easing), box-shadow var(--t-fast) ease, background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease;background:#ffffffc7;border-radius:999px;align-items:center;gap:8px;margin-bottom:18px;padding:9px 14px 9px 12px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.back:hover{color:var(--accent-strong);background:#fff;border-color:#be185d52;transform:translateY(-1px);box-shadow:0 12px 24px #be185d1f}.back:before{content:"←";transition:transform var(--t-fast) var(--easing);font-weight:700;display:inline-block}.back:hover:before{transform:translate(-2px)}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.cat-group-block{margin-top:22px}.cat-group-block:first-child{margin-top:0}.cat-group-label{background:var(--accent-soft);color:var(--accent-strong);letter-spacing:.04em;border-radius:999px;align-items:center;gap:8px;margin:0 0 12px;padding:5px 12px;font-size:12px;font-weight:800;display:inline-flex}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px;display:grid}.cat-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:transform var(--t-fast) var(--easing), border-color var(--t-fast) ease, box-shadow var(--t-fast) ease, background var(--t-fast) ease;background:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.cat-card:after{content:"→";color:var(--muted);opacity:0;transition:opacity var(--t-fast) ease, transform var(--t-fast) var(--easing), color var(--t-fast) ease;font-size:14px;font-weight:700;position:absolute;top:14px;right:16px;transform:translate(-4px)}.cat-card:hover{background:#fff7fb;border-color:#be185d52;transform:translateY(-2px);box-shadow:0 16px 32px #7a41691a}.cat-card:hover:after{opacity:1;color:var(--accent-strong);transform:translate(0)}.cat-card .cat-group{display:none}.cat-card .cat-name{font-family:var(--font-ja-sans);letter-spacing:-.01em;color:var(--ink);margin:0;padding-right:18px;font-size:16px;font-weight:700;line-height:1.35}.cat-card .cat-meta{color:var(--muted);margin-top:6px;font-size:12px;font-weight:600}.card{color:inherit;text-decoration:none;display:block}.exam-card{border:1px solid var(--line);min-height:196px;box-shadow:var(--shadow-soft);transition:transform var(--t-fast) var(--easing), box-shadow var(--t-fast) var(--easing), border-color var(--t-fast) var(--easing);background:#fff;border-radius:18px;padding:22px 24px;position:relative;overflow:hidden}.exam-card:after{content:"";opacity:0;width:220px;height:220px;transition:opacity var(--t-mid) ease;pointer-events:none;background:radial-gradient(circle,#f472b62e,#0000 65%);position:absolute;inset:-40% -40% auto auto}.exam-card:hover{border-color:#be185d52;transform:translateY(-3px);box-shadow:0 20px 40px #7a416929}.exam-card:hover:after{opacity:1}.card-topline,.card-foot,.qmeta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card-badge,.qmeta span,.sec-number{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;font-size:12px;font-weight:700}.card-badge{padding:6px 10px}.card-meta,.card-foot{color:var(--muted);font-size:13px;font-weight:600}.card-title{letter-spacing:-.025em;min-height:56px;margin:18px 0 20px;font-size:18px;font-weight:800;line-height:1.32}.progress-track{background:#be749a1a;border-radius:999px;height:9px;overflow:hidden}.progress-track span{border-radius:inherit;height:100%;box-shadow:0 0 18px var(--glow);transition:width var(--t-mid) var(--easing);background:linear-gradient(90deg,#f9a8d4,#f472b6 50%,#c084fc 100%) 0 0/200% 100%;animation:5s ease-in-out infinite gradientShift;display:block}.card-foot{justify-content:space-between;margin-top:14px}.panel,.question-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:18px}.exam-main{gap:30px;padding:clamp(22px,3.2vw,34px);display:grid}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.section-heading h2{letter-spacing:-.03em;margin:0;font-size:24px;font-weight:800}.sections{gap:12px;margin:0;padding:0;list-style:none;display:grid}.section-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.sec{border:1px solid var(--line);cursor:pointer;min-height:132px;box-shadow:var(--shadow-soft);transition:transform var(--t-fast) var(--easing), background var(--t-fast) ease, border-color var(--t-fast) ease, box-shadow var(--t-fast) ease;background:#fff;border-radius:16px;flex-direction:column;justify-content:space-between;gap:16px;padding:18px;display:flex}.sec:hover{background:#fff7fb;border-color:#be185d38;transform:translateY(-2px);box-shadow:0 16px 32px #7a41691a}.sec-number{justify-self:start;padding:7px 10px}.sec-label{letter-spacing:-.02em;font-size:17px;font-weight:700;display:block}.sec-meta{color:var(--muted);justify-content:space-between;gap:10px;font-size:13px;font-weight:600;display:flex}.sec.is-selected{border-color:var(--accent);background:linear-gradient(#fff5fa,#ffe8f3);transform:translateY(-2px);box-shadow:0 0 0 3px #f472b62e,0 16px 32px #be185d2e}.section-heading-actions{gap:6px;margin-left:auto;display:inline-flex}.section-heading .ghost-link{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;transition:background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease;background:0 0;border-radius:999px;margin-left:auto;padding:6px 12px;font-size:12px;font-weight:700}.section-heading-actions .ghost-link{margin-left:0}.section-heading .ghost-link:hover:not(:disabled){color:var(--accent-strong);background:#fff5fa;border-color:#be185d52}.section-heading .ghost-link:disabled{opacity:.45;cursor:not-allowed}.range-pick button.ghost{color:var(--accent-strong);border:1px solid var(--line);background:0 0;font-weight:700}.range-pick button.ghost:hover{background:#fff5fa;border-color:#be185d52}.exam-action-bar{border:1px solid var(--line);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-soft);animation:fadeIn var(--t-mid) var(--easing);background:radial-gradient(circle at 100% 0,#c084fc2e,#0000 12rem),linear-gradient(#fffffff5,#fff7fbeb);border-radius:22px;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding:14px 22px;display:flex}.action-summary{flex-direction:column;gap:2px;min-width:0;display:flex}.action-summary-eyebrow{color:var(--accent-strong);letter-spacing:.18em;text-transform:uppercase;font-size:10.5px;font-weight:800}.action-summary-label{letter-spacing:-.02em;color:var(--ink);font-size:17px;font-weight:800}.action-summary-range{color:var(--muted);font-size:12.5px;font-weight:600}.action-buttons{flex-shrink:0;align-items:center;gap:10px;display:flex}.action-buttons .ghost{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;transition:background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, transform var(--t-fast) var(--easing);background:#ffffffd1;border-radius:999px;padding:11px 18px;font-size:13px;font-weight:700}.action-buttons .ghost:hover{color:var(--accent-strong);background:#fff;border-color:#be185d52;transform:translateY(-1px)}@media (width<=760px){.exam-action-bar{flex-direction:column;align-items:stretch}.action-buttons{justify-content:stretch;width:100%}.action-buttons .ghost,.action-buttons .primary{text-align:center;flex:1}.section-heading{flex-wrap:wrap}.section-heading-actions{justify-content:flex-start;width:100%;margin-left:0}}.wl-bar{border:1px solid var(--line);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-soft);animation:fadeIn var(--t-mid) var(--easing);background:radial-gradient(circle at 100% 0,#c084fc52,#0000 16rem),linear-gradient(#ffffffeb,#f7f7ffd1);border-radius:22px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:22px 26px;display:flex}.wl-bar-title{flex:1;min-width:0}.wl-bar-meta{color:var(--muted);margin:6px 0 0;font-size:13px;font-weight:600}.wl-bar-actions{flex-shrink:0}.wl-tabs.wl-tabs{width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-flow:wrap;gap:8px;margin:0 0 16px;padding:0;display:flex;overflow:visible}.wl-tabs .tab{white-space:nowrap;flex:none}.wl-tabs .tab>span{white-space:nowrap;flex-shrink:0}.wl-tabs .tab{border:1px solid var(--line);color:var(--ink);font:inherit;letter-spacing:-.005em;cursor:pointer;transition:transform var(--t-fast) var(--easing), background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, box-shadow var(--t-fast) ease;background:#ffffffd1;border-radius:999px;align-items:center;gap:7px;padding:8px 6px 8px 14px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 4px 10px #7a41690d}.wl-tab-num{color:var(--accent-strong);letter-spacing:.04em;font-size:11px;font-weight:800;font-family:var(--font-ja-sans)}.wl-tabs .tab.is-active .wl-tab-num{color:#ffffffeb}.wl-tab-label{font-weight:700}.wl-tab-count{background:var(--accent-soft);min-width:24px;color:var(--accent-strong);letter-spacing:-.01em;border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.wl-tabs .tab.is-active .wl-tab-count{color:#fff;background:#ffffff3d}.wl-results{min-height:200px}.wl-results.wl-fade-in{animation:fadeInPlain var(--t-fast) var(--easing)}.wl-tabs .tab,.wl-tab-count{transition:background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease, transform var(--t-fast) var(--easing), box-shadow var(--t-fast) ease}.wl-tabs .tab:hover{color:var(--accent-strong);background:#fff;border-color:#be185d47;transform:translateY(-1px)}.wl-tabs .tab.is-active{color:#fff;background:linear-gradient(135deg,#f472b6 0%,#be185d 100%);border-color:#0000;transform:translateY(-1px);box-shadow:0 10px 22px #be185d47}.wl-tabs .tab.is-active:hover{color:#fff;background:linear-gradient(135deg,#f472b6 0%,#be185d 100%)}.wl-controls{border:1px solid var(--line);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:#ffffffb3;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;display:flex}.wl-range{margin:0}.wl-range button.wl-reset{color:var(--muted);border:1px solid var(--line);background:0 0;font-weight:600}.wl-range button.wl-reset:hover{color:var(--accent-strong);background:#fff5fa;border-color:#be185d52}.wl-sort-wrap{align-items:center;gap:12px;display:inline-flex}.wl-count{color:var(--muted);font-size:13px;font-weight:600}.wl-card-foot{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;display:flex}.wl-card-freq{background:var(--accent-soft);color:var(--accent-strong);letter-spacing:-.01em;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.wl-card-freq:before{content:"✱";font-size:10px}.wl-star{border:1px solid var(--line);width:26px;height:26px;color:var(--muted);cursor:pointer;transition:transform var(--t-fast) var(--easing), background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease;background:#fff;border-radius:50%;flex-shrink:0;padding:0;font-size:14px;font-weight:600;line-height:1}.wl-star:hover{color:var(--accent-strong);background:#fff5fa;border-color:#be185d6b;transform:translateY(-1px)}.wl-star.is-saved{border-color:var(--accent);color:#fff;background:linear-gradient(135deg,#fde68a,#f59e0b);box-shadow:0 6px 14px #f59e0b4d}@media (width<=760px){.wl-bar{flex-direction:column;align-items:flex-start;padding:18px 20px}.wl-bar-actions{gap:8px;width:100%;display:flex}.wl-bar-actions>.study-cta,.wl-bar-actions>.primary{flex:1;justify-content:center}.wl-controls{flex-direction:column;align-items:stretch}.wl-sort-wrap{justify-content:space-between}.wl-tabs .tab{gap:6px;padding:7px 6px 7px 12px;font-size:12.5px}.wl-tab-num{font-size:10.5px}.wl-tab-count{min-width:22px;padding:2px 7px;font-size:10.5px}}.range-panel{border-top:1px solid #be749a1a;padding-top:26px}.range-pick{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.range-pick label{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.range-pick input{background:#ffffffb8;border:1px solid #ffffffb8;border-radius:16px;width:82px;padding:12px 13px;box-shadow:inset 0 1px #ffffffb8}.range-pick button,.qnav button,.toggle{background:var(--accent);color:#fff;cursor:pointer;transition:background var(--t-fast) ease, transform var(--t-fast) var(--easing), opacity var(--t-fast) ease;border:0;border-radius:999px;font-weight:700}.range-pick button:hover,.qnav button:not(:disabled):hover,.toggle:hover{background:var(--accent-strong);transform:translateY(-1px)}.range-pick button{padding:12px 18px}.loading{color:var(--muted);padding:32px;font-weight:600}.qhdr{z-index:10;border-bottom:1px solid var(--line);background:var(--bg);align-items:center;gap:14px;padding:10px max(16px,50% - 490px);font-size:13px;display:flex;position:sticky;top:0}.qhdr .back{border:1px solid var(--line);width:34px;height:34px;box-shadow:none;color:var(--ink);transition:transform var(--t-fast) var(--easing), background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease;background:#ffffffeb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;font-weight:600;display:inline-flex}.qhdr .back:before{content:"←";font-size:16px;line-height:1}.qhdr .back:hover{color:var(--accent-strong);background:#fff;border-color:#be185d52;transform:translateY(-1px)}.qhdr .back:hover:before{transform:translate(-2px)}.qhdr-info{color:var(--muted);flex:1;align-items:center;gap:12px;min-width:0;font-weight:600;display:flex}.qhdr-pos{color:var(--ink);white-space:nowrap;font-weight:700}.qhdr-cat{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.qhdr-src{border:1px solid var(--line);color:var(--accent-strong);white-space:nowrap;background:#fff5fa;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.qhdr-progress{background:#be749a24;border-radius:999px;flex:0 220px;height:5px;display:inline-block;overflow:hidden}.qhdr-progress i{border-radius:inherit;height:100%;transition:width var(--t-mid) var(--easing);background:linear-gradient(90deg,#f9a8d4,#ec4899,#c084fc) 0 0/200% 100%;animation:4s ease-in-out infinite gradientShift;display:block}.toggle{color:var(--accent-strong);border:1px solid var(--line);box-shadow:none;background:#fff;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:700}.toggle:hover{color:var(--accent-strong);background:#fff5fa;border-color:#be185d52}.qmain{width:min(980px,100% - 28px);margin:0 auto;padding:32px 0}.question-card{padding:clamp(22px,4vw,46px)}.passage{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:28px;padding:22px 24px}.passage .ja{white-space:pre-wrap;font-family:var(--font-ja);letter-spacing:.015em;word-break:keep-all;margin:0;font-size:17.5px;font-weight:500;line-height:2}.stem{font-family:var(--font-ja);letter-spacing:.012em;word-break:keep-all;margin-bottom:24px;padding:0 2px;font-size:clamp(18px,2vw,21px);font-weight:600;line-height:1.85}.opts{gap:14px;margin:0;padding:0;list-style:none;display:grid}.opt{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;font-family:var(--font-ja-sans);letter-spacing:.005em;word-break:keep-all;cursor:pointer;transition:border-color var(--t-fast) ease, background var(--t-fast) ease, box-shadow var(--t-fast) ease, transform var(--t-fast) var(--easing);animation:fadeIn var(--t-mid) var(--easing) backwards;background:#fff;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 18px;font-size:16px;font-weight:500;line-height:1.75;display:flex}.opts li:first-child .opt{animation-delay:40ms}.opts li:nth-child(2) .opt{animation-delay:80ms}.opts li:nth-child(3) .opt{animation-delay:.12s}.opts li:nth-child(4) .opt{animation-delay:.16s}.opt-num{color:var(--muted);flex:none;font-weight:600}.opt-text{flex:1}.opt:hover{background:#fff7fb;border-color:#be185d59}.opt-selected{border-color:var(--accent);background:#fff5fa}.opt-selected .opt-num{color:var(--accent-strong);font-weight:700}.qactions{justify-content:flex-end;min-height:44px;margin-top:18px;display:flex}.primary{color:#fff;min-width:132px;font:inherit;text-align:center;cursor:pointer;transition:box-shadow var(--t-fast) ease, opacity var(--t-fast) ease, transform var(--t-fast) var(--easing);background:linear-gradient(135deg,#f472b6 0%,#be185d 100%);border:0;border-radius:999px;padding:11px 24px;font-weight:700;position:relative;overflow:hidden;box-shadow:0 8px 22px #be185d2e}.primary:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000,#ffffff6b,#0000);width:50%;position:absolute;top:0;bottom:0;left:0;transform:translate(-160%)skew(-20deg)}.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 32px #be185d47}.primary:hover:not(:disabled):before{animation:shimmer .9s var(--easing)}.primary:active:not(:disabled){transform:translateY(0)}.primary:disabled{opacity:.4;cursor:not-allowed}.qnav{justify-content:flex-end;gap:10px;margin-top:28px;display:flex}.qnav button{min-width:96px;padding:12px 18px}.qnav button:disabled{opacity:.35;cursor:not-allowed}.error{color:var(--red);padding:24px}.opt-correct{animation:correctPulse 1.1s var(--easing);background:#dcfce7d9;border-color:#2f94616b}.opt-correct .opt-num{color:var(--green)}.opt-wrong{animation:wrongShake .42s var(--easing);background:#fee2e2d9;border-color:#c5483d59}.opt-picked{box-shadow:inset 4px 0 #d1436fd9}.feedback{min-width:0;max-width:100%;margin-top:18px}.feedback:not(:empty){animation:fadeInPlain var(--t-mid) var(--easing)}.verdict{letter-spacing:-.01em;border-radius:12px;margin-bottom:12px;padding:10px 14px;font-size:17px;font-weight:700}.verdict.ok{color:var(--green);background:linear-gradient(135deg,#dcfce7b3,#bbf7d073);border:1px solid #2f946138}.verdict.no{color:var(--red);background:linear-gradient(135deg,#fee2e2b3,#fca5a552);border:1px solid #c5483d40}.expl{border:1px solid var(--line);border-left:3px solid var(--accent);letter-spacing:.005em;color:#443;overflow-wrap:anywhere;word-break:normal;background:linear-gradient(#fff8fb,#fdf2f7);border-radius:14px;max-width:100%;padding:22px 24px;font-size:14.5px;font-weight:500;line-height:1.8}.expl-block strong{letter-spacing:.02em;font-weight:700}.expl-block{animation:fadeInPlain var(--t-mid) var(--easing) backwards;margin-top:10px;display:block}.expl-block:first-child{margin-top:0}.expl-block:first-child{animation-delay:50ms}.expl-block:nth-child(2){animation-delay:.12s}.expl-block:nth-child(3){animation-delay:.19s}.expl-block:nth-child(4){animation-delay:.26s}.expl-block:nth-child(n+5){animation-delay:.33s}.expl-block strong{color:var(--accent-strong);margin-right:6px;font-weight:700;display:inline-block}.expl-block ol,.expl-block ul{margin:4px 0 0;padding-left:22px}.expl-block li{margin:2px 0}.vw{white-space:nowrap;cursor:help;border-bottom:1px dotted #7c6ee68c;border-radius:2px;transition:background .12s,border-color .12s;display:inline-block}.vw:hover{background:#fde0478c;border-bottom-color:#0000}.qu{text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text);text-underline-offset:4px;font-weight:600}.vocab-popover{z-index:1000;border:1px solid var(--line);min-width:min(240px,100vw - 32px);max-width:320px;animation:fadeIn var(--t-fast) var(--easing);background:#fff;border-radius:14px;padding:14px 16px;font-size:14px;position:absolute;box-shadow:0 16px 36px #7a41692e}.vp-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.vp-w{font-size:22px;font-family:var(--font-ja);background:linear-gradient(110deg, var(--accent-strong), var(--accent), #c084fc);color:#0000;background-size:220%;-webkit-background-clip:text;background-clip:text;font-weight:700;animation:6s ease-in-out infinite gradientShift}.vp-star{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);cursor:pointer;transition:transform var(--t-fast) var(--easing), background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease;background:#fff;border-radius:50%;flex-shrink:0;padding:0;font-size:15px;font-weight:600;line-height:1}.vp-star:hover{color:var(--accent-strong);background:#fff5fa;border-color:#be185d6b;transform:translateY(-1px)}.vp-star.is-saved{border-color:var(--accent);color:#fff;background:linear-gradient(135deg,#fde68a,#f59e0b);box-shadow:0 6px 14px #f59e0b4d}.vp-r{color:var(--muted);margin:4px 0 10px;font-size:13px;font-weight:500}.vp-m{color:#3b2e34;font-size:14px;line-height:1.55}.wb-bar{border:1px solid var(--line);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-soft);animation:fadeIn var(--t-mid) var(--easing);background:radial-gradient(circle at 100% 0,#fde68a5c,#0000 16rem),linear-gradient(#ffffffeb,#fff7fbd1);border-radius:22px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;padding:22px 26px;display:flex}.wb-bar-title{flex:1;min-width:0}.wb-bar-meta{color:var(--muted);margin:6px 0 0;font-size:13px;font-weight:600}.wb-bar-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.wb-sort{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;transition:border-color var(--t-fast) ease, background-color var(--t-fast) ease;background:#fff url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\"><path d=\"M2 4l3 3 3-3\" fill=\"none\" stroke=\"%23be185d\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>") right 12px center no-repeat;border-radius:999px;padding:9px 28px 9px 14px;font-size:13px;font-weight:700}.wb-sort:hover{border-color:#be185d52}.wb-clear{color:var(--red);font:inherit;cursor:pointer;transition:background var(--t-fast) ease, border-color var(--t-fast) ease;background:#fff;border:1px solid #c5483d52;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:700}.wb-clear:hover{background:#fee2e28c;border-color:#c5483d8c}.wb-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.wb-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:transform var(--t-fast) var(--easing), box-shadow var(--t-fast) ease, border-color var(--t-fast) ease;animation:fadeIn var(--t-mid) var(--easing);background:#fff;border-radius:16px;padding:18px 20px 16px;position:relative}.wb-card:hover{border-color:#be185d47;transform:translateY(-2px);box-shadow:0 16px 32px #7a41691a}.wb-card.wb-card-leaving{animation:wbLeave .18s var(--easing) forwards;pointer-events:none}@keyframes wbLeave{to{opacity:0;transform:scale(.96)translateY(-4px)}}.wb-foot{border-top:1px dashed var(--line);align-items:center;gap:8px;margin-top:12px;padding-top:10px;display:flex}.wb-mastery{background:var(--accent-soft);color:var(--accent-strong);letter-spacing:.02em;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.wb-mastery.is-mastered{color:var(--green);background:linear-gradient(135deg,#dcfce7eb,#bbf7d099);border:1px solid #2f946152}.study-cta{color:#fff;font:inherit;letter-spacing:-.005em;cursor:pointer;white-space:nowrap;text-shadow:0 1px 2px #be185d38;transition:box-shadow var(--t-fast) ease, transform var(--t-fast) var(--easing), filter var(--t-fast) ease, opacity var(--t-fast) ease;background:radial-gradient(circle at 20% 0,#fde68ad9,#0000 60%) 0 0/220% 220%,linear-gradient(135deg,#f9a8d4 0%,#ec4899 45%,#c084fc 100%) 0 0/220% 220%;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-weight:700;line-height:1.2;animation:7s ease-in-out infinite gradientShift;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 10px 26px #ec48995c,inset 0 1px #ffffff52}.study-cta:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000,#ffffff80,#0000);width:55%;position:absolute;top:0;bottom:0;left:0;transform:translate(-180%)skew(-22deg)}.study-cta:hover:not(:disabled){filter:brightness(1.05)saturate(1.05);transform:translateY(-2px);box-shadow:0 18px 38px #ec489980,inset 0 1px #fff6}.study-cta:hover:not(:disabled):before{animation:shimmer .9s var(--easing)}.study-cta:active:not(:disabled){transform:translateY(0)}.study-cta:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.study-cta:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.4);animation:none}.study-cta-icon{filter:drop-shadow(0 1px 2px #be185d52);align-items:center;font-size:1em;line-height:1;animation:2.6s ease-in-out infinite studyIconPulse;display:inline-flex}.study-cta:disabled .study-cta-icon{animation:none}@keyframes studyIconPulse{0%,to{transform:scale(1)rotate(0)}35%{transform:scale(1.12)rotate(-3deg)}70%{transform:scale(1.04)rotate(2deg)}}.study-cta-arrow{opacity:.86;transition:transform var(--t-fast) var(--easing), opacity var(--t-fast) ease;margin-left:2px;font-size:1em;line-height:1;display:inline-block}.study-cta:hover:not(:disabled) .study-cta-arrow{opacity:1;transform:translate(3px)}body.no-scroll{overflow:hidden}.study-modal{z-index:9000;opacity:0;transition:opacity var(--t-mid) var(--easing);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.study-modal.is-open{opacity:1}.sm-backdrop{-webkit-backdrop-filter:blur(10px)saturate(1.2);backdrop-filter:blur(10px)saturate(1.2);background:radial-gradient(circle at 30% 10%,#f472b652,#0000 28rem),radial-gradient(circle at 80% 80%,#c084fc38,#0000 28rem),#22121c80;position:absolute;inset:0}.sm-frame{width:min(640px,100vw - 32px);max-height:calc(100vh - 32px);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);animation:smIn var(--t-mid) var(--easing);background:linear-gradient(#fffffff5,#fff7fbeb);border:1px solid #ffffff80;border-radius:26px;flex-direction:column;padding:22px 26px 18px;display:flex;position:relative;box-shadow:0 30px 80px #7a416952}@keyframes smIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.sm-header{align-items:center;gap:12px;display:flex}.sm-x{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);cursor:pointer;transition:background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, transform var(--t-fast) var(--easing);background:#ffffffeb;border-radius:50%;padding:0;font-size:18px;line-height:1}.sm-x:hover{color:var(--accent-strong);background:#fff;border-color:#be185d52;transform:rotate(90deg)}.sm-title{letter-spacing:-.01em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:800;overflow:hidden}.sm-level{background:var(--accent-soft);color:var(--accent-strong);letter-spacing:.04em;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.sm-prog{align-items:center;gap:12px;margin-top:14px;display:flex}.sm-prog-track{background:#be749a24;border-radius:999px;flex:1;height:6px;overflow:hidden}.sm-prog-fill{border-radius:inherit;width:0%;height:100%;transition:width var(--t-mid) var(--easing);background:linear-gradient(90deg,#f9a8d4,#ec4899,#c084fc) 0 0/200% 100%;animation:5s ease-in-out infinite gradientShift;display:block}.sm-prog-text{color:var(--muted);letter-spacing:.02em;white-space:nowrap;font-size:12px;font-weight:700}.sm-content{flex:1;justify-content:center;align-items:stretch;min-height:280px;margin-top:16px;display:flex}.sm-card{border:1px solid var(--line);width:100%;box-shadow:var(--shadow-soft);text-align:center;animation:smCardIn var(--t-fast) var(--easing);background:#fff;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;padding:28px 22px;display:flex}@keyframes smCardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sm-w{font-family:var(--font-ja);letter-spacing:-.01em;background:linear-gradient(110deg, var(--accent-strong), var(--accent), #c084fc);color:#0000;word-break:keep-all;background-size:220%;-webkit-background-clip:text;background-clip:text;font-size:clamp(36px,5vw,56px);font-weight:800;line-height:1.1;animation:8s ease-in-out infinite gradientShift}.sm-r{color:var(--muted);font-family:var(--font-ja-sans);letter-spacing:.02em;margin-top:10px;font-size:18px;font-weight:600}.sm-meaning{flex-direction:column;align-items:center;width:100%;min-height:64px;margin-top:18px;display:flex}.sm-reveal{color:var(--accent-strong);font:inherit;letter-spacing:.02em;cursor:pointer;transition:background var(--t-fast) ease, border-color var(--t-fast) ease, transform var(--t-fast) var(--easing);background:#fff9;border:1px dashed #be185d66;border-radius:999px;padding:11px 22px;font-size:13px;font-weight:700}.sm-reveal:hover{border-color:var(--accent);background:#fff;transform:translateY(-1px)}.sm-meaning.is-shown{animation:fadeIn var(--t-mid) var(--easing)}.sm-divider{background:linear-gradient(90deg, transparent, var(--line), transparent);width:60%;max-width:280px;height:1px;margin:0 auto 14px}.sm-m{color:var(--ink);letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:1.5}.sm-hanja{text-align:left;max-width:320px;margin:14px auto 0}.sm-footer{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.sm-footer.is-hidden{display:none}.sm-btn{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;transition:transform var(--t-fast) var(--easing), background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, box-shadow var(--t-fast) ease;background:#ffffffdb;border-radius:14px;padding:14px 12px;font-size:13.5px;font-weight:800;position:relative}.sm-btn-label{display:block}.sm-btn kbd{color:var(--muted);letter-spacing:.02em;background:#0000000f;border-radius:6px;margin-top:6px;padding:1px 7px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:700;display:inline-block}.sm-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 12px 24px #7a41691f}.sm-again:hover{color:var(--red);border-color:#c5483d6b}.sm-again:hover kbd{color:var(--red)}.sm-skip:hover{color:#7c6ee6;border-color:#7c6ee66b}.sm-easy:hover{color:var(--green);border-color:#2f94616b}.sm-easy:hover kbd{color:var(--green)}.sm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.sm-help{text-align:center;color:var(--muted);letter-spacing:.02em;margin:12px 0 0;font-size:11.5px;font-weight:600}.sm-help kbd{background:#0000000f;border-radius:5px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:10.5px}.sm-summary{text-align:center;width:100%;animation:fadeIn var(--t-mid) var(--easing);flex-direction:column;align-items:center;padding:28px 18px;display:flex}.sm-summary h2{letter-spacing:-.025em;background:linear-gradient(110deg, var(--accent-strong), var(--accent), #c084fc);color:#0000;background-size:220%;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:26px;font-weight:800;animation:8s ease-in-out infinite gradientShift}.sm-summary-meta{color:var(--muted);margin:0 0 20px;font-size:13px;font-weight:600}.sm-summary-stats{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;max-width:320px;margin-bottom:20px;display:grid}.sm-summary-stats>div{border:1px solid var(--line);background:#ffffffdb;border-radius:14px;padding:14px 12px}.sm-summary-stats span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.sm-summary-stats strong{color:var(--ink);letter-spacing:-.02em;font-size:22px;font-weight:800}.sm-summary-actions{gap:10px;display:flex}.sm-summary-actions .ghost{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;transition:background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease;background:0 0;border-radius:999px;padding:11px 18px;font-size:13px;font-weight:700}.sm-summary-actions .ghost:hover{color:var(--accent-strong);background:#fff5fa;border-color:#be185d52}@media (width<=600px){.sm-frame{border-radius:22px;width:calc(100vw - 16px);padding:16px 18px 14px}.sm-w{font-size:38px}.sm-footer{grid-template-columns:1fr 1fr 1fr;gap:8px}.sm-btn{padding:12px 8px;font-size:12.5px}}.wb-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.wb-w{font-family:var(--font-ja);letter-spacing:-.01em;background:linear-gradient(110deg, var(--accent-strong), var(--accent), #c084fc);color:#0000;background-size:220%;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800;animation:8s ease-in-out infinite gradientShift}.wb-rm{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);cursor:pointer;transition:background var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, transform var(--t-fast) var(--easing);background:#fff;border-radius:50%;flex-shrink:0;padding:0;font-size:14px;line-height:1}.wb-rm:hover{color:var(--red);background:#fff5f5;border-color:#c5483d6b;transform:scale(1.06)}.wb-r{color:var(--muted);margin-top:4px;font-size:13px;font-weight:500}.wb-m{color:#3b2e34;margin-top:8px;font-size:14.5px;font-weight:500;line-height:1.55}.wb-hanja{margin:12px 0 0}.wb-empty{text-align:center;border:1px dashed var(--line);animation:fadeIn var(--t-mid) var(--easing);background:#fff9;border-radius:22px;padding:56px 28px}.wb-empty h2{letter-spacing:-.025em;margin:0 0 12px;font-size:20px;font-weight:800}.wb-empty p{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.7}.wb-empty-cta{text-decoration:none;display:inline-block}@media (width<=760px){.wb-bar{flex-direction:column;align-items:flex-start;padding:18px 20px}.wb-bar-actions{flex-wrap:wrap;width:100%}.wb-bar-actions .wb-sort,.wb-bar-actions .wb-clear{flex:1;min-width:120px}.wb-bar-actions .study-cta{flex:1 0 100%;order:-1;justify-content:center}.wb-grid{grid-template-columns:1fr}}.vp-hanja{border-top:1px dashed var(--line);gap:4px;margin:10px 0 0;padding:10px 0 0;list-style:none;display:grid}.vp-hanja li{grid-template-columns:26px 36px 1fr;align-items:baseline;gap:8px;font-size:12.5px;line-height:1.5;display:grid}.vp-h-c{font-family:var(--font-ja);color:var(--accent-strong);text-align:center;font-size:17px;font-weight:700}.vp-h-on{color:var(--ink);letter-spacing:-.01em;font-weight:700}.vp-h-kun{color:var(--muted);font-weight:500}ruby rt{color:var(--muted);font-family:var(--font-ja-sans);letter-spacing:0;font-size:.55em;font-weight:500}.error-banner{max-width:600px;box-shadow:var(--shadow-soft);background:#fff5f5;border:1px solid #b4231852;border-radius:22px;margin:32px auto;padding:26px}.error-banner h2{color:var(--red);margin:0 0 8px}.error-banner code{background:#fbe6e6;border-radius:6px;padding:2px 7px;font-family:ui-monospace,monospace}.passage-ko{border-top:1px dashed var(--line);margin-top:16px;padding-top:12px}.passage-ko summary{color:var(--accent-strong);cursor:pointer;font-size:13px;font-weight:700}.passage-ko .ko{color:#4b3c46;margin-top:8px;font-size:15px;line-height:1.7}@media (width<=760px){.app-shell{width:min(100% - 20px,1180px);padding-top:14px}.exam-hero,.question-card,.exam-main{padding:22px}.home-bar{flex-direction:column;align-items:flex-start;gap:14px;padding:18px 20px}.home-bar-meta{flex-wrap:wrap;justify-content:space-between;width:100%}.home-progress{flex:1;min-width:180px}.resume-pill{flex-shrink:0}.tab-bar:not(.wl-tabs){justify-content:stretch;width:100%}.tab-bar:not(.wl-tabs) .tab{text-align:center;flex:1}.cards{grid-template-columns:1fr}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.sec{grid-template-columns:1fr;min-height:0}.qhdr{flex-wrap:wrap;gap:10px}.qhdr-info{flex-basis:100%;order:3}.passage .ja{font-size:16px}.stem{font-size:18px}}
