.header-nav button:focus{outline:none}.header-nav button:focus-visible{color:var(--ink);box-shadow:0 1px 0 var(--ink)}
@media(max-width:560px){header{grid-template-columns:1fr auto auto;gap:13px;padding-inline:22px}.header-nav{position:static;z-index:auto;transform:none;gap:12px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}.header-nav button{padding:7px 0;font-size:8px}.header-nav button:last-child{font-size:0}.header-nav button:last-child:after{content:"联系";font-size:8px}.header-meta{gap:0}}

/* Warm paper study theme */
:root{--ink:#2d2723;--muted:#9d9188;--line:#e8ded5;--coral:#b96f60;--cobalt:#9b6258;--lime:#d8c8b2}
html,body{background:#fbf8f3}.cursor-glow{background:radial-gradient(circle,rgba(185,111,96,.07),transparent 68%)}
header{border-color:var(--line);background:rgba(251,248,243,.86);backdrop-filter:blur(14px)}.brand>span{background:#3a312c}.brand:hover>span{background:var(--coral)}
.section-label p{color:#7d7169}.dot.cobalt{background:#ad776b}.dot.coral{background:#c78a78}.section-title h1,.section-title h2{color:#2d2723}.section-title>span{color:#b4a69d}
.level-tabs a{border-color:#e3d8cf;background:rgba(255,253,249,.56)}.level-tabs a:nth-last-of-type(1){border-right-color:#e3d8cf}.level-slider{background:#a8665b;box-shadow:0 11px 28px rgba(153,91,80,.16)}.level-section:after{color:#9b8b81}
.target-cloud a,.target-cloud .quiet{border-color:#e3d8cf;background:rgba(255,253,249,.58)}.target-cloud a[data-color=coral].active,.target-cloud a[data-color=lime].active,.target-cloud a[data-color=cobalt].active{color:#fff;border-color:#b96f60;background:#b96f60}.target-cloud a:hover{box-shadow:0 9px 22px rgba(80,57,43,.07)}
.launch{border-color:#4a3e37;background:transparent}.launch:hover,.launch[data-color=coral]:hover,.launch[data-color=lime]:hover,.launch[data-color=cobalt]:hover{color:#fff;background:#4a3e37}.floating-type{color:#eee6df}.mark-one{background:#bd7b6c}.mark-two{background:#d8c8b2;box-shadow:0 0 0 7px rgba(216,200,178,.27)}
footer{border-color:var(--line)}.collection-mark,.account-menu,.access-gate{background:#fffdfa}.collection-toggle:hover .collection-mark,.collection-toggle[aria-expanded=true] .collection-mark{border-color:#a8665b;background:#a8665b}.anchor-list a{background:#f2ece6}.anchor-list a:hover{background:#a8665b}.info-panel{background:#f7f1ea}.contact-mark{background:#b96f60}.contact-card:hover{background:#b96f60}
.contact-note .contact-email{display:block;width:max-content;margin-top:12px;color:#aaa09a;font:inherit;letter-spacing:.02em}.contact-note .contact-email:hover{color:#9b6258}
@media(max-width:560px){main{padding-top:58px}.level-section{margin-bottom:112px}.section-title h1,.section-title h2{font-size:40px}.level-tabs a{height:52px}.level-slider{height:52px}.target-cloud a,.target-cloud .quiet{min-height:40px}.section-label{margin-bottom:27px}.section-title{margin-bottom:36px}}

/* Access gate: warm, quiet, and consistent with the learning home */
.access-gate{position:relative;width:min(500px,calc(100vw - 32px));padding:46px 44px 34px;border:1px solid rgba(185,111,96,.13);border-radius:28px;background:linear-gradient(145deg,#fffdfa 0%,#f8f1e9 100%);box-shadow:0 28px 90px rgba(72,51,39,.16);overflow:hidden}
.access-gate:before{content:"";position:absolute;right:-82px;top:-92px;width:230px;height:230px;border-radius:50%;background:rgba(185,111,96,.075);pointer-events:none}.access-gate:after{content:"言";position:absolute;right:25px;top:20px;color:rgba(155,98,88,.09);font:500 96px/1 var(--serif);pointer-events:none}
.access-gate::backdrop{background:rgba(70,58,49,.2);backdrop-filter:blur(10px) saturate(.75)}
.gate-mark{position:relative;z-index:1;width:31px;height:31px;margin:0 0 38px;border-radius:50%;color:#fff;background:#9b6258;font-size:12px;transform:none;box-shadow:0 8px 20px rgba(155,98,88,.17)}
.access-gate>p{position:relative;z-index:1;margin:0 0 10px;color:#a36b60;font-size:7px;letter-spacing:.24em}.access-gate h2{position:relative;z-index:1;margin:0 0 34px;color:#2d2723;font:500 31px/1.25 var(--serif);letter-spacing:-.04em}
.access-gate form{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}.access-gate label{margin:0;color:#8d7f75;font-size:8px;letter-spacing:.12em}.access-gate input{margin-top:6px;padding:9px 0 10px;border-bottom-color:#ded1c7;color:#2d2723;font-family:var(--sans);font-size:12px}.access-gate input::placeholder{color:#bcb0a7}.access-gate input:focus{border-color:#a8665b}
.access-gate form button{grid-column:1/-1;align-items:center;margin-top:8px;border-radius:999px;padding:14px 18px;color:#fff;background:#9b6258;font-size:10px;letter-spacing:.05em;box-shadow:0 10px 24px rgba(155,98,88,.15);transition:transform .25s,background .25s,box-shadow .25s}.access-gate form button:hover{background:#815047;transform:translateY(-2px);box-shadow:0 14px 30px rgba(129,80,71,.2)}
.access-gate>a{position:relative;z-index:1;margin-top:18px;color:#9a8a7f;font-size:8px;letter-spacing:.04em}.access-gate>a:hover{color:#9b6258}
@media(max-width:560px){.access-gate{width:calc(100vw - 24px);padding:34px 25px 28px;border-radius:23px}.access-gate:after{right:16px;top:18px;font-size:72px}.gate-mark{margin-bottom:29px}.access-gate h2{margin-bottom:29px;font-size:28px}.access-gate form{grid-template-columns:1fr;gap:17px}.access-gate form button{grid-column:1;margin-top:7px}.access-gate>a{margin-top:17px}}

/* The learning level is primary; training and collection stay secondary. */
.level-section{grid-column:2/4}.launch{grid-column:2/4;max-width:820px;margin-left:0}.collection-dock{grid-column:2/4;max-width:820px;margin-left:0;justify-content:flex-start}.collection-toggle{gap:7px;padding:2px}.collection-mark{width:25px;height:25px;font-size:11px}.collection-toggle b{font-size:9px}.collection-toggle small{font-size:6px}
.level-section,.launch,.collection-dock{width:min(820px,100%);justify-self:center}.launch{border-top:0}
.launch[hidden]{display:none!important}
@media(min-width:901px){.level-section,.launch,.collection-dock{grid-column:1/4}}
.access-gate{width:min(430px,calc(100vw - 32px))}.access-gate form{grid-template-columns:1fr;gap:17px}.access-gate form button{grid-column:1;margin-top:8px}
@media(max-width:900px){.level-section,.launch,.collection-dock{grid-column:2}.launch,.collection-dock{max-width:none}}
@media(max-width:560px){.level-section{margin-bottom:82px}.launch{margin-bottom:22px}.collection-dock{margin-bottom:0}.collection-toggle b{font-size:9px}}

/* Final local layout: warm-white paper, desktop two-column gate, original offset composition. */
html,body{background:#fcfaf7}header{background:rgba(252,250,247,.9)}
.mark-two{display:none}
.access-gate{width:min(500px,calc(100vw - 32px));background:linear-gradient(145deg,#fffefc 0%,#faf6f1 100%)}.access-gate form{grid-template-columns:1fr 1fr;gap:22px 24px}.access-gate form button{grid-column:1/-1}
@media(min-width:901px){.level-section,.launch,.collection-dock{grid-column:2/4;width:auto;justify-self:stretch}.launch{max-width:820px;margin-left:0;border-top:1px solid var(--ink)}.collection-dock{max-width:820px}}
@media(max-width:560px){.access-gate{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.access-gate::-webkit-scrollbar{display:none}.access-gate form{grid-template-columns:1fr;gap:17px}.access-gate form button{grid-column:1}.launch{border-top:1px solid var(--ink)}}

/* Restore the original vivid coral selection against the quiet paper. */
.level-slider{background:#ff684d;box-shadow:0 11px 28px rgba(255,104,77,.2)}

/* A light glass access card with the quieter original coral. */
.access-gate{border-color:rgba(255,255,255,.72);background:rgba(255,254,252,.78);box-shadow:0 28px 90px rgba(58,43,34,.13);-webkit-backdrop-filter:blur(22px) saturate(.9);backdrop-filter:blur(22px) saturate(.9)}
.access-gate{max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.access-gate::-webkit-scrollbar{display:none}
.access-gate::backdrop{background:rgba(85,72,62,.13);-webkit-backdrop-filter:blur(15px) saturate(.82);backdrop-filter:blur(15px) saturate(.82)}
.access-gate:before{background:rgba(155,98,88,.055)}.access-gate:after{color:rgba(155,98,88,.07)}
.gate-mark{background:#9b6258;box-shadow:0 9px 22px rgba(155,98,88,.18)}
.access-gate>p{color:#9b6258}.access-gate input:focus{border-color:#9b6258}
.access-gate form button{background:#9b6258;box-shadow:0 11px 26px rgba(155,98,88,.18)}.access-gate form button:hover{background:#815047;box-shadow:0 15px 32px rgba(129,80,71,.22)}
.access-gate>a:hover{color:#9b6258}
.access-error{grid-column:1/-1;min-height:16px;margin:-7px 0 -5px;color:#a34f43;font-size:9px;letter-spacing:.02em}.access-gate form button:disabled{cursor:wait;opacity:.68;transform:none;box-shadow:none}
.gate-links{position:relative;z-index:1;display:flex;justify-content:center;gap:18px;margin-top:18px}.gate-links button,.gate-links a{border:0;color:#9a8a7f;background:none;font:inherit;font-size:8px;letter-spacing:.04em;cursor:pointer}.gate-links button:hover,.gate-links a:hover{color:#9b6258}
.access-gate>div.gate-links{margin-top:18px}
@media(max-width:560px){.gate-links{margin-top:17px;gap:14px}}
.access-gate form.is-login{grid-template-columns:1fr}.access-gate form.is-login label,.access-gate form.is-login .access-error,.access-gate form.is-login button{grid-column:1}
.access-gate [data-register-field][hidden]{display:none!important}
.account-menu{width:190px}.account-name-form{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.account-name-form label{display:block;color:#999;font-size:7px}.account-name-form input{width:100%;margin-top:7px;border:0;border-bottom:1px solid var(--line);padding:5px 0;color:var(--ink);background:transparent;font:500 11px var(--sans);outline:0}.account-name-form input:focus{border-color:var(--coral)}.account-menu .account-name-form button{margin-top:9px;color:var(--coral)}.account-name-form p{min-height:11px;margin:5px 0 0;color:#9a8a7f;font-size:7px}.account-menu button.account-logout{margin-top:12px}.account-name-form button:disabled{opacity:.5}

/* Local UI preview: a quiet search entry beside the existing JLPT label. */
.level-search-toggle{display:grid;flex:0 0 40px;place-items:center;width:40px;height:40px;margin-left:-4px;padding:0;border:0;background:transparent;color:#c2b8b1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .2s,transform .08s ease}
.level-search-toggle>span,.home-search-icon{position:relative;width:9px;height:9px;border:1px solid currentColor;border-radius:50%}.level-search-toggle>span:after,.home-search-icon:after{content:"";position:absolute;right:-3.6px;bottom:-2px;width:4.5px;height:1px;background:currentColor;transform:rotate(45deg);transform-origin:left center}
.level-search-toggle:hover,.level-search-toggle[aria-expanded=true]{color:#9b6258}
.home-search[hidden]{display:none}.home-search{width:min(520px,100%);margin:-32px 0 28px}.home-search-field{display:grid;grid-template-columns:25px 1fr;align-items:center;padding:0 2px 9px;border-bottom:1px solid var(--line);color:#b9aea6}.home-search-field input{min-width:0;border:0;outline:0;padding:3px 0;background:transparent;color:var(--ink);font:400 12px var(--sans)}.home-search-field input::placeholder{color:#b9aea6}.home-search-field:focus-within{border-color:#cbb7ad;color:#9b6258}.home-search-results{max-height:252px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(155,145,138,.2) transparent;-webkit-overflow-scrolling:touch}.home-search-results::-webkit-scrollbar{width:5px;background:transparent}.home-search-results::-webkit-scrollbar-track{background:transparent}.home-search-results::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(155,145,138,.18)}.home-search-results::-webkit-scrollbar-button{display:none;width:0;height:0}.home-search-results::-webkit-scrollbar-corner{background:transparent}.home-search-result{display:grid;grid-template-columns:38px minmax(0,1fr) 14px;align-items:center;min-height:53px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.home-search-result-level{color:#a99d95;font-size:8px;font-weight:700;letter-spacing:.08em}.home-search-result-copy{display:grid;gap:3px;min-width:0}.home-search-result-copy strong{overflow:hidden;color:var(--ink);font:500 15px var(--serif);text-overflow:ellipsis;white-space:nowrap}.home-search-result-copy small{overflow:hidden;color:#aaa098;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.home-search-result-arrow{color:#b8aea7;font-size:10px;text-align:right}.home-search-empty{margin:0;padding:18px 0;color:#aaa098;font:10px var(--sans)}
@media(max-width:560px){.home-search{margin:-18px 0 24px}.home-search-results{max-height:220px}.home-search-result{min-height:50px}}
@media(hover:none) and (pointer:coarse){.level-search-toggle:active,.home-search-result:active{transform:scale(.985)}}
