@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@600;700&display=swap");:root{--paper:#ebeef3;--card:#fbfcfd;--ink:#16243b;--ink2:#3a4a61;--muted:#6b7888;--line:#cdd6e0;--accent:#8e2b34;--accent2:#a9444c}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);min-height:100vh;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,YuGothic,Noto Sans JP,Meiryo,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.75}.kk-wrap{max-width:760px;margin:0 auto;padding:clamp(36px,7vw,60px) 20px 96px}.kk-eyebrow{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--accent)}.kk-eyebrow:before{content:"";width:22px;height:2px;background:var(--accent);display:inline-block}.kk-title{font-family:Hiragino Mincho ProN,YuMincho,Yu Mincho,"Noto Serif JP",serif;font-weight:700;font-size:clamp(30px,6.6vw,46px);line-height:1.18;letter-spacing:.02em;margin:12px 0 14px;color:var(--ink)}.kk-lead{color:var(--ink2);font-size:clamp(14px,2.5vw,16px);max-width:52ch;margin:0}.kk-panel{margin-top:26px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:5px;box-shadow:0 1px 2px rgba(22,36,59,.05),0 8px 24px rgba(22,36,59,.04)}.kk-panel-in{padding:16px 16px 14px}.kk-input{width:100%;border:0;outline:0;resize:vertical;min-height:88px;background:transparent;color:var(--ink);font:inherit;font-size:16px;line-height:1.7}.kk-input::placeholder{color:#9aa6b4}.kk-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 16px;flex-wrap:wrap}.kk-hint{font-size:12px;color:var(--muted)}.kk-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;background:var(--accent);color:#fff;font:inherit;font-weight:700;font-size:14px;letter-spacing:.04em;padding:11px 20px;border-radius:4px;transition:background .15s ease,transform .05s ease;white-space:nowrap}.kk-btn:hover{background:var(--accent2)}.kk-btn:active{transform:translateY(1px)}.kk-btn:disabled{background:#b9a1a3;cursor:default;transform:none}.kk-turnstile{margin-top:14px}.kk-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}.kk-chiplabel{width:100%;font-size:12px;color:var(--muted);margin-bottom:2px}.kk-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:transparent;border:1px solid var(--line);color:var(--ink2);font:inherit;font-size:13px;padding:7px 12px;border-radius:999px;transition:border-color .15s ease,color .15s ease,background .15s ease}.kk-chip:hover{border-color:var(--accent);color:var(--accent);background:#fff}.kk-chip:disabled{opacity:.5;cursor:default}.kk-bar{height:3px;width:100%;background:var(--line);border-radius:2px;overflow:hidden;margin-top:28px}.kk-bar>span{display:block;height:100%;width:38%;background:var(--accent);animation:kkSlide 1.05s ease-in-out infinite}.kk-loading{display:flex;align-items:center;gap:10px;margin-top:14px;color:var(--ink2);font-size:14px}@keyframes kkSlide{0%{transform:translateX(-110%)}to{transform:translateX(360%)}}.kk-alert{margin-top:28px;border:1px solid #d9b8bb;border-left:4px solid var(--accent);background:#fbf4f4;color:#5e2a30;border-radius:4px;padding:14px 16px;font-size:14px}.kk-results{margin-top:34px}.kk-querytag{font-size:13px;color:var(--muted);margin-bottom:18px}.kk-querytag b{color:var(--ink);font-weight:700}.kk-cachenote{font-size:11px;color:var(--muted);margin-left:8px}.kk-applied{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:-6px 0 24px}.kk-applied-label{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--muted)}.kk-applied-tag{font-size:12px;color:var(--ink2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kk-sec{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--accent);display:flex;align-items:center;gap:10px;margin:0 0 12px}.kk-sec:after{content:"";flex:1 1;height:1px;background:var(--line)}.kk-answer{font-size:clamp(15px,2.6vw,17px);line-height:1.95;color:var(--ink);margin:0 0 6px}.kk-fn{font-size:.7em;font-weight:700}.kk-fn a{color:var(--accent);text-decoration:none}.kk-fn a:hover{text-decoration:underline}.kk-points{list-style:none;padding:0;margin:0 0 6px}.kk-points li{position:relative;padding-left:18px;margin:9px 0;color:var(--ink2);font-size:15px;line-height:1.7}.kk-points li:before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;border:1.5px solid var(--accent);border-radius:50%}.kk-srclist{display:flex;flex-direction:column;gap:14px}.kk-srccard{position:relative;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:14px 16px 14px 20px}.kk-srccard:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;background:var(--accent);border-radius:0 2px 2px 0}.kk-srchead{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.kk-srcbadge{color:var(--accent);font-weight:700;font-size:13px}.kk-cite{font-size:13px;color:var(--ink);font-weight:500;letter-spacing:.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kk-sub{font-size:12.5px;color:var(--muted);margin-top:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kk-excerpt{font-size:13.5px;color:var(--ink2);line-height:1.7;margin:8px 0 0}.kk-link{display:inline-block;margin-top:9px;font-size:13px;font-weight:700;color:var(--accent);text-decoration:none}.kk-link:hover{text-decoration:underline}.kk-foot{margin-top:42px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.7}.kk-anim{animation:kkUp .45s cubic-bezier(.2,.7,.2,1) both}@keyframes kkUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.kk-btn:focus-visible,.kk-chip:focus-visible,.kk-input:focus-visible,.kk-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}@media (prefers-reduced-motion:reduce){.kk-anim{animation:none!important}.kk-bar>span{animation-duration:2s}}@media (max-width:480px){.kk-row{flex-direction:column;align-items:stretch}.kk-btn{width:100%}}