.hsp-root{gap:18px}.hsp-root,.hsp-tabs{display:flex;flex-direction:column}.hsp-tabs{gap:8px}.hsp-cat-sub{margin:0;font-size:12.5px;line-height:1.55;color:var(--ink-soft,#5a4f3d)}.hsp-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:22px;gap:22px;align-items:start}.hsp-inputs{display:flex;flex-direction:column;gap:14px;min-width:0}.hsp-card{padding:16px 18px 18px;border-radius:var(--radius-lg,14px);border:1px solid var(--line,#e3d8c4);background:var(--paper,#fffaf2)}.hsp-card-inline{padding:12px 14px}.hsp-card-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin-bottom:12px}.hsp-card-t{font-family:var(--font-serif,serif);font-size:1rem;font-weight:700;color:var(--ink,#2c2418)}.hsp-card-sub{font-size:11.5px;color:var(--muted,#8a7a63)}.hsp-opts{display:flex;flex-direction:column;gap:8px}.hsp-opt{display:flex;align-items:flex-start;gap:11px;width:100%;padding:11px 13px;border-radius:var(--radius-md,10px);border:1px solid var(--line,#e3d8c4);background:rgba(255,255,255,.5);text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease}.hsp-opt:hover{border-color:var(--line-strong,#cdbf9f);background:rgba(255,255,255,.75)}.hsp-opt.on{border-color:var(--accent,#b4794b);background:color-mix(in srgb,var(--accent,#b4794b) 7%,transparent)}.hsp-opt-box{flex-shrink:0;width:18px;height:18px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid var(--line-strong,#cdbf9f);background:#fff}.hsp-opt-box svg{width:11px;height:11px;color:#fff8f1}.hsp-opt.on .hsp-opt-box{border-color:var(--accent,#b4794b);background:var(--accent,#b4794b)}.hsp-opt-body{display:flex;flex-direction:column;gap:2px;min-width:0}.hsp-opt-label{font-size:13px;line-height:1.45;font-weight:600;color:var(--ink,#2c2418)}.hsp-opt-note{font-size:11.5px;line-height:1.45;color:var(--muted,#8a7a63)}.hsp-opt-pts{flex-shrink:0;margin-left:auto;align-self:flex-start;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent,#b4794b) 12%,transparent);color:var(--accent-dark,#8f3d20);font-family:var(--font-mono,monospace);font-size:12px;font-weight:800;white-space:nowrap}.hsp-checks{display:flex;flex-direction:column;gap:8px}.hsp-pcheck{display:flex;align-items:flex-start;gap:10px}.hsp-pcheck>.ckb{flex:1 1 auto;min-width:0}.hsp-pcheck-pts{flex-shrink:0;margin-top:8px;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent,#b4794b) 12%,transparent);color:var(--accent-dark,#8f3d20);font-family:var(--font-mono,monospace);font-size:12px;font-weight:800;white-space:nowrap}.hsp-selects{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.hsp-select-field{display:flex;flex-direction:column;gap:6px}.hsp-select-label{font-size:12px;font-weight:600;color:var(--ink-soft,#5a4f3d)}.hsp-select{width:100%;height:40px;padding:0 12px;border-radius:var(--radius-md,10px);border:1px solid var(--paper-deep,#ead8bc);background:var(--paper-rose,#fdf5ec);font:inherit;font-size:13px;color:var(--ink,#2c2418);cursor:pointer}.hsp-select:focus-visible{outline:2px solid var(--accent,#b4794b);outline-offset:1px}.hsp-hint{margin:10px 0 0;font-size:11.5px;line-height:1.5;color:var(--muted,#8a7a63)}.hsp-hint-warn{color:var(--accent-dark,#8f3d20);font-weight:600}.hsp-excluded{margin:-6px 2px 0;font-size:11.5px;line-height:1.5;color:var(--muted,#8a7a63)}.hsp-notes{padding:14px 16px;border-radius:var(--radius-md,10px);border:1px dashed var(--line-strong,#cdbf9f);background:rgba(255,255,255,.4)}.hsp-notes-t{display:block;margin-bottom:6px;font-size:12.5px;font-weight:700;color:var(--ink,#2c2418)}.hsp-notes ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px}.hsp-notes li{font-size:11.5px;line-height:1.55;color:var(--ink-soft,#5a4f3d)}.hsp-result{position:-webkit-sticky;position:sticky;top:16px;display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:var(--radius-lg,14px);border:1px solid var(--line,#e3d8c4);background:var(--paper,#fffaf2)}.hsp-score-box{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.hsp-score-label{display:block;font-size:12px;font-weight:600;color:var(--muted,#8a7a63)}.hsp-score{display:inline-flex;align-items:baseline;font-family:var(--font-serif,serif);font-size:54px;line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--ink,#2c2418)}.hsp-score small{margin-left:3px;font-size:18px;font-weight:700;color:var(--ink-soft,#5a4f3d)}.hsp-jpcode{flex-shrink:0;padding:4px 11px;border-radius:999px;border:1px solid var(--accent,#b4794b);background:color-mix(in srgb,var(--accent,#b4794b) 8%,transparent);color:var(--accent-dark,#8f3d20);font-size:12px;font-weight:700;white-space:nowrap}.hsp-bar-wrap{display:flex;flex-direction:column;gap:5px}.hsp-bar{position:relative;height:12px;border-radius:999px;background:var(--paper-deep,#ead8bc);overflow:visible}.hsp-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,var(--accent,#b4794b),var(--accent-dark,#8f3d20));transition:width .2s ease}.hsp-bar-tick{position:absolute;top:-3px;width:2px;height:18px;background:var(--ink,#2c2418);opacity:.45}.hsp-bar-tick-80{opacity:.7}.hsp-ticks{display:flex;justify-content:space-between;font-size:11px;color:var(--muted,#8a7a63)}.hsp-tick-strong{color:var(--ink-soft,#5a4f3d);font-weight:700}.hsp-status{padding:12px 14px;border-radius:var(--radius-md,10px);font-size:12.5px;line-height:1.55;font-weight:600}.hsp-status-ok{background:#ecfdf3;border:1px solid #f3e8d0;color:#6f520f}.hsp-status-mid{background:color-mix(in srgb,var(--accent,#b4794b) 8%,#fff);border:1px solid color-mix(in srgb,var(--accent,#b4794b) 30%,transparent);color:var(--accent-dark,#8f3d20)}.hsp-status-low{background:#fff7ed;border:1px solid #fed7aa;color:#9a5a00}.hsp-status-block{background:#fef3f2;border:1px solid #fecdca;color:#b42318}.hsp-warns{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.hsp-warns li{padding:8px 10px;border-left:3px solid #f59e0b;border-radius:8px;background:#fffbeb;font-size:11.5px;line-height:1.5;color:#7a4b00}.hsp-warns li.bad{border-left-color:#ef4444;background:#fef2f2;color:#991b1b}.hsp-breakdown h4{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--ink,#2c2418)}.hsp-breakdown table{width:100%;border-collapse:collapse;font-size:12px}.hsp-breakdown td{border-top:1px solid var(--line,#e3d8c4);padding:7px 2px;vertical-align:top;color:var(--ink-soft,#5a4f3d);line-height:1.45}.hsp-breakdown tr:first-child td{border-top:none}.hsp-breakdown td:last-child{text-align:right;white-space:nowrap;font-family:var(--font-mono,monospace);font-weight:800;color:var(--accent-dark,#8f3d20)}.hsp-actions{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:880px){.hsp-grid{grid-template-columns:1fr}.hsp-result{position:relative;top:auto}}@media (max-width:480px){.hsp-selects{grid-template-columns:1fr}}.hsk-root{width:min(1180px,calc(100vw - 48px));margin:0 auto;padding:34px 0 76px;color:var(--ink,#2c2418)}.hsk-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);grid-gap:28px;gap:28px;align-items:stretch;padding:34px 38px;border:1px solid var(--line,#e3d8c4);border-radius:24px;background:radial-gradient(circle at 94% 20%,rgba(180,121,75,.08),transparent 34%),rgba(255,252,246,.92);box-shadow:0 18px 50px rgba(52,39,28,.08)}.hsk-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-dark,#8f3d20)}.hsk-calculator-head h2,.hsk-hero h1{margin:10px 0 12px;font-family:var(--font-serif,serif);font-size:clamp(1.85rem,4vw,3rem);line-height:1.16;color:var(--ink,#2c2418);letter-spacing:0}.hsk-calculator-head p,.hsk-hero p,.hsk-panel p{margin:0;color:var(--ink-soft,#5a4f3d);line-height:1.75}.hsk-hero-copy{min-width:0}.hsk-facts{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.hsk-fact{display:grid;grid-gap:5px;gap:5px;padding:16px 18px;border-radius:16px;border:1px solid var(--line,#e3d8c4);background:rgba(255,255,255,.58)}.hsk-fact strong{font-family:var(--font-serif,serif);font-size:2rem;line-height:1;color:var(--accent-dark,#8f3d20)}.hsk-fact span{font-size:12.5px;line-height:1.55;color:var(--ink-soft,#5a4f3d)}.hsk-context-grid{margin-top:24px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.9fr);grid-gap:16px;gap:16px}.hsk-panel{display:flex;flex-direction:column;gap:10px;min-width:0;padding:20px 22px;border-radius:18px;border:1px solid var(--line,#e3d8c4);background:rgba(255,252,246,.88);box-shadow:0 12px 34px rgba(52,39,28,.06)}.hsk-panel-official{background:linear-gradient(135deg,rgba(255,250,242,.96),rgba(249,239,224,.78))}.hsk-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--accent,#b4794b);background:var(--accent-light,#f5e3d4);color:var(--accent-dark,#8f3d20)}.hsk-panel-icon svg{width:18px;height:18px}.hsk-panel h2{margin:0;font-family:var(--font-serif,serif);font-size:1.18rem;color:var(--ink,#2c2418)}.hsk-official-links{display:grid;grid-gap:8px;gap:8px;margin-top:2px}.hsk-guide-link,.hsk-official-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:9px 12px;border-radius:12px;border:1px solid var(--line,#e3d8c4);background:rgba(255,255,255,.62);color:var(--accent-dark,#8f3d20);font-size:12.5px;font-weight:800;text-decoration:none}.hsk-guide-link:hover,.hsk-official-links a:hover{border-color:var(--accent,#b4794b);background:#fff}.hsk-guide-link svg,.hsk-official-links svg{width:14px;height:14px;flex:none}.hsk-cautions{margin:0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.hsk-cautions li{padding:10px 12px;border-radius:12px;border-left:3px solid var(--warn,#ba5d33);background:var(--warn-light,#fff0e7);color:var(--ink-soft,#5a4f3d);font-size:12.5px;line-height:1.55}.hsk-guide-link{margin-top:auto}.hsk-calculator-card{margin-top:24px;padding:24px;border:1px solid var(--line,#e3d8c4);border-radius:22px;background:rgba(255,252,246,.92);box-shadow:0 18px 50px rgba(52,39,28,.08)}.hsk-calculator-head{margin-bottom:20px;max-width:76ch}.hsk-calculator-head h2{font-size:clamp(1.45rem,2.4vw,2.1rem)}@media (max-width:980px){.hsk-context-grid,.hsk-hero{grid-template-columns:1fr}}@media (max-width:640px){.hsk-root{width:calc(100vw - 28px);padding:22px 0 56px}.hsk-calculator-card,.hsk-hero{padding:24px 20px;border-radius:18px}.hsk-panel{padding:18px}}.at-frame .hsk-root{width:auto;padding:0 0 12px}