:root{--ink:#202126;--muted:#696b74;--accent:#6550d9;--line:#e0e1e5;--paper:#fafaf8;--soft:#f0edfa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a,input,textarea{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent)}button{border:0;background:none}a{color:inherit}.shell{max-width:1184px;margin:auto;padding:0 56px}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:28px;font-weight:850;letter-spacing:.075em;text-decoration:none;line-height:1.2}.brand span{display:block;font-size:10px;font-weight:400;letter-spacing:.025em;margin-top:9px}.header-end{display:flex;gap:24px;align-items:center}.header-label{font-size:10px;letter-spacing:.17em}.preview{font-size:10px;color:var(--muted);border:1px solid var(--line);padding:3px 9px;border-radius:20px}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:42px 0 32px}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:600;margin:0 0 20px;color:var(--accent);display:flex;align-items:center;gap:9px}.eyebrow>span{width:6px;height:6px;background:var(--accent);border-radius:50%}h1{font-size:44px;letter-spacing:-.04em;line-height:1.5;margin:0;font-weight:650}.title-period{color:var(--accent);margin-left:5px}.intro-copy{font-size:14px;line-height:1.9;color:var(--muted);margin:0 18px 5px 0}.search-area{margin:0 0 30px}.search-box{background:white;display:flex;align-items:center;gap:18px;border:1px solid #cdced4;border-radius:12px;padding:0 24px;height:72px;transition:border-color .18s,box-shadow .18s}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #6550d910}.search-box svg{width:23px;height:23px;fill:none;stroke:var(--ink);stroke-width:1.5;flex-shrink:0}.search-box input{border:0;background:none;outline:none;padding:20px 0;width:100%;min-width:0;font-size:17px}.search-box input::-webkit-search-cancel-button{display:none}.search-box input::placeholder{color:#777982}.search-caption{font-size:11px;white-space:nowrap;color:#777982}.search-box button{font-size:23px;color:var(--muted);width:38px;height:40px}.suggestions{display:flex;align-items:center;gap:8px;margin-top:13px;flex-wrap:wrap;font-size:12px}.suggestions>span{color:var(--muted);margin-right:6px}.suggestions button{padding:5px 12px;border-radius:30px;background:#eeefec;transition:background .2s,color .2s}.suggestions button:hover{background:var(--soft);color:var(--accent)}.catalog{scroll-margin-top:24px}#categories{display:flex;gap:30px;border-bottom:1px solid var(--line)}#categories button{position:relative;padding:0 0 18px;font-size:14px;color:var(--muted);white-space:nowrap}#categories button span{font-size:10px;margin-left:8px;color:#898b93;font-variant-numeric:tabular-nums}#categories button[aria-pressed=true]{color:var(--ink);font-weight:600}#categories button[aria-pressed=true]:after{content:"";position:absolute;height:2px;background:var(--accent);bottom:-1px;left:0;right:0}#categories button:hover{color:var(--accent)}.results-head{display:flex;justify-content:space-between;align-items:center;padding:23px 0 10px}.results-head h2{font-weight:500;font-size:12px;color:var(--muted);margin:0}.results-head p{font-size:11px;color:var(--muted);margin:0}.faq-item{border-bottom:1px solid var(--line);scroll-margin-top:24px;transition:background .2s}.question{display:grid;grid-template-columns:38px minmax(0,1fr) 32px;gap:18px;width:100%;text-align:left;align-items:start;padding:26px 0;line-height:1.8}.question:hover .question-title{color:var(--accent)}.question-number{font-size:11px;letter-spacing:.04em;color:#888a93;padding-top:6px;font-variant-numeric:tabular-nums}.question-copy{display:block}.question-title{display:block;font-size:18px;letter-spacing:.015em;font-weight:600;transition:color .18s}.answer{display:block;font-size:14px;color:#585a64;margin-top:6px;font-weight:400}.toggle-icon{display:block;width:30px;height:30px;border:1px solid #d8d9df;border-radius:50%;position:relative;margin-top:3px;transition:background .2s,border-color .2s}.toggle-icon:before,.toggle-icon:after{content:"";position:absolute;background:#666977;top:14px;left:9px;width:10px;height:1px}.toggle-icon:after{transform:rotate(90deg);transition:transform .2s}.question[aria-expanded=true] .toggle-icon{background:var(--ink);border-color:var(--ink)}.question[aria-expanded=true] .toggle-icon:before,.question[aria-expanded=true] .toggle-icon:after{background:white}.question[aria-expanded=true] .toggle-icon:after{transform:rotate(0)}.faq-item:has(.question[aria-expanded=true]){background:#f5f4f8}.faq-item:has(.question[aria-expanded=true]) .question{padding-bottom:15px}.response{padding:0 50px 26px 56px}.response .meta{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);margin:0 0 14px}.status{border:1px solid #d6d0e7;border-radius:4px;padding:1px 7px;color:#665c82}.details{font-size:14px;color:#565963;line-height:2;margin:0;max-width:820px}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:20px}.actions button{font-size:12px;padding:4px 0}.pick{color:var(--accent)}.pick[aria-pressed=true]{font-weight:600}.share{color:var(--muted)}.actions button:hover{text-decoration:underline;text-underline-offset:4px}.actions small{margin-left:auto;font-size:10px;color:#747681}.contact-note{display:flex;justify-content:space-between;gap:40px;padding:42px 0 48px;margin-top:52px;border-top:1px solid var(--ink)}.contact-note .eyebrow{font-size:10px;margin-bottom:15px}.contact-note h2{font-size:23px;line-height:1.8;font-weight:500;letter-spacing:.015em;margin:0}.contact-note>p{font-size:13px;color:var(--muted);margin:30px 0 0;line-height:2}footer{border-top:1px solid var(--line);padding-top:24px!important;padding-bottom:32px!important;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.035em}.footer-company{margin-left:13px}body:has(.selection-bar:not([hidden])) footer{padding-bottom:110px!important}.selection-bar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;padding:12px 14px 12px 24px;background:var(--ink);color:white;border-radius:14px;box-shadow:0 8px 40px #20212622;z-index:10;white-space:nowrap}.selection-bar>span{font-size:12px}.selection-bar #draft{font-size:13px;background:#fff;color:var(--ink);border-radius:7px;padding:10px 16px}.selection-bar #draft span{margin-left:12px}.selection-bar #clear-selection{font-size:24px;color:#bbbcc5;padding:0 7px}.selection-bar #draft:hover{background:var(--soft)}dialog{border:1px solid var(--line);border-radius:18px;padding:32px;width:min(580px,calc(100% - 32px));max-height:90dvh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#22232b66;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head .eyebrow{margin:0}.close{font-size:26px;line-height:1;padding:8px}dialog h2{font-size:25px;font-weight:600;margin:18px 0 10px}dialog p{font-size:13px;color:var(--muted)}dialog label{font-size:12px}textarea{width:100%;border:1px solid #cfd0d7;border-radius:9px;padding:15px;margin:8px 0 16px;font-size:13px;line-height:1.9;resize:vertical;background:white}#copy-draft{padding:11px 18px;background:var(--accent);color:white;border-radius:7px;font-size:13px}.dialog-note{display:block;font-size:11px;color:var(--muted);margin-top:12px}#toast{position:fixed;bottom:108px;left:50%;transform:translateX(-50%);padding:10px 18px;background:var(--ink);color:white;border-radius:8px;font-size:12px;z-index:30;max-width:90%;width:max-content}#toast:empty{display:none}#shared{font-size:12px;color:var(--muted);padding:12px 0}#shared button{color:var(--accent);text-decoration:underline}#empty{text-align:center;padding:55px 16px 60px;border-bottom:1px solid var(--line)}.empty-symbol{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--muted)}#empty h3{font-size:17px;font-weight:500;margin:16px 0 8px}#empty p{font-size:13px;color:var(--muted)}.text-button{font-size:13px;color:var(--accent);padding:10px}.loading{font-size:14px;color:var(--muted);padding:30px 0}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;top:10px;left:10px;background:white;padding:10px;z-index:40}[hidden]{display:none!important}
@media(max-width:800px){.shell{padding-left:28px;padding-right:28px}.site-header{height:92px}.header-label{display:none}.intro{padding:40px 0 28px;gap:24px}.intro-copy{font-size:12px;margin-right:0}h1{font-size:34px}.eyebrow{margin-bottom:15px}.search-area{margin-bottom:32px}.question-title{font-size:16px}.question{gap:12px;grid-template-columns:25px minmax(0,1fr) 28px}.response{padding-left:37px;padding-right:30px}.contact-note{gap:24px}.contact-note h2{font-size:20px}.contact-note>p{font-size:12px}.desktop{display:none}}
@media(max-width:560px){.shell{padding-left:22px;padding-right:22px}.site-header{height:84px}.brand{font-size:25px}.brand span{font-size:9px;margin-top:7px}.preview{font-size:9px;padding:3px 7px}.intro{display:block;padding:34px 0 26px}h1{font-size:32px;letter-spacing:-.055em}.intro-copy{font-size:12px;margin:14px 0 0}.intro-copy br:last-child{display:none}.intro-copy br:first-child{display:none}.intro .eyebrow{margin-bottom:10px}.search-box{height:60px;padding:0 16px;gap:12px;border-radius:10px}.search-box input{font-size:16px}.search-caption{display:none}.search-box svg{width:20px}.suggestions{gap:5px;font-size:10px;margin-top:11px}.suggestions>span{display:none}.suggestions button{padding:6px 10px}.search-area{margin-bottom:30px}#categories{gap:0;justify-content:space-between}#categories button{font-size:12px;padding-bottom:14px}#categories button span{display:none}.results-head{padding:22px 0 8px}.question{grid-template-columns:minmax(0,1fr) 26px;gap:12px;padding:22px 0}.question-number{display:none}.question-title{font-size:15px;line-height:1.8}.answer{font-size:13px;margin-top:7px;line-height:1.85}.toggle-icon{width:26px;height:26px;margin-top:2px}.toggle-icon:before,.toggle-icon:after{top:12px;left:7px}.response{padding:0 20px 24px 0}.details{font-size:13px}.faq-item:has(.question[aria-expanded=true]){background:transparent}.actions{gap:16px;margin-top:16px}.actions small{width:100%;margin-left:0}.contact-note{display:block;margin-top:38px;padding-top:30px;padding-bottom:34px}.contact-note h2{font-size:20px}.contact-note>p{margin-top:18px;font-size:12px}footer{gap:14px;flex-wrap:wrap;padding-top:20px!important;padding-bottom:26px!important}.footer-company{margin-left:7px}.selection-bar{bottom:14px;width:calc(100% - 28px);justify-content:space-between;gap:8px;padding:10px 10px 10px 16px;border-radius:12px}.selection-bar>span{font-size:11px}.selection-bar #draft{font-size:12px;padding:9px 12px}.selection-bar #draft span{margin-left:6px}.selection-bar #clear-selection{padding:0 3px}dialog{padding:24px}dialog h2{font-size:23px}#empty h3{font-size:15px}#empty p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
#categories{gap:24px;flex-wrap:wrap;row-gap:12px}
.related{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:9px}
.related>span{font-size:10px;color:var(--muted);letter-spacing:.04em;margin-bottom:2px}
.related a{font-size:12px;text-decoration:none;color:var(--accent);width:fit-content;line-height:1.8}
.related a::after{content:' ↗';white-space:nowrap}
.related a:hover{text-decoration:underline;text-underline-offset:4px}
.resource-link{display:inline-block;margin-top:14px;color:var(--accent);font-size:12px;text-underline-offset:4px}
.list-tail{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0}
#shown{font-size:11px;color:var(--muted)}
#more{font-size:12px;padding:10px 18px;border:1px solid var(--line);border-radius:30px;background:white}
#more:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:800px){#categories{gap:10px 18px}#categories button{padding-bottom:12px}.related a{font-size:12px}}
@media(max-width:560px){#categories{justify-content:flex-start;gap:8px;padding-bottom:16px}#categories button{font-size:11px;border:1px solid var(--line);border-radius:20px;padding:7px 11px}#categories button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}#categories button[aria-pressed=true]:after{display:none}.list-tail{flex-direction:column;gap:12px;padding:20px 0}#more{width:100%;padding:12px}.related{gap:12px}}

/* Language tabs keep a stable, touch-friendly position at every width. */
.language-tabs{display:flex;align-items:center;gap:3px;padding:4px;background:#eeefec;border-radius:10px}
.language-tabs button{font-size:12px;line-height:1.4;min-height:36px;padding:8px 12px;border-radius:7px;white-space:nowrap}
.language-tabs button[aria-pressed=true]{background:white;color:var(--accent);box-shadow:0 1px 5px #20212612;font-weight:600}
.language-tabs button:hover{color:var(--accent)}
.intro-copy,.contact-note h2{white-space:pre-line}.intro>div,.intro-copy,.contact-note>div,.contact-note>p{min-width:0;flex:1}
html[lang=en] h1{font-size:clamp(28px,3.5vw,42px);line-height:1.2}
html[lang=ko] body{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;word-break:keep-all;overflow-wrap:anywhere}
html[lang=zh-CN] body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.selection-bar{max-width:calc(100% - 28px);white-space:normal}.selection-bar>span{flex-shrink:1}.selection-bar #draft{flex-shrink:0}
@media(max-width:560px){.site-header{height:auto;min-height:124px;flex-wrap:wrap;gap:18px;padding-top:20px;padding-bottom:16px}.header-end{width:100%}.language-tabs{width:100%;justify-content:space-between}.language-tabs button{flex:1;padding:9px 7px;min-height:40px}.intro{padding-top:28px}.contact-note>p{max-width:100%}.selection-bar #draft{padding:9px 10px}.selection-bar{gap:6px}.response .meta{flex-wrap:wrap}}
