@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--ink:#243746;--muted:#74838a;--blue:#52798b;--pale:#eaf1f2;--line:#e6ecec;--paper:#fbfcfa;--gold:#b89a68}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",sans-serif}
a{color:inherit;text-decoration:none}
.site-header{height:78px;padding:0 max(5.5vw,24px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(40,70,80,.07);position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:#e8f0ef;color:#456c79;font-family:"Noto Serif SC",serif;font-size:25px;border:1px solid #d8e4e2}
.brand-name{font-family:"Noto Serif SC",serif;font-size:21px;letter-spacing:2px;font-weight:600}
.brand-name small{display:block;font:9px "Noto Sans SC",sans-serif;letter-spacing:3px;color:#91a0a2;margin-top:1px}
.top-nav{display:flex;gap:38px;height:100%;align-items:center;font-size:14px;color:#66767c}
.top-nav a{height:100%;display:flex;align-items:center;position:relative}
.top-nav a.active,.top-nav a:hover{color:#365e6d}
.top-nav a.active:after{content:"";height:2px;background:#7193a0;position:absolute;bottom:0;left:0;right:0}
.mobile-menu{display:none;border:0;background:none;font-size:23px;color:var(--ink)}
.hero{min-height:500px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#edf4f3 0%,#e7eff0 58%,#dce8e8 100%)}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(255,255,255,.82),transparent 58%),linear-gradient(90deg,rgba(250,252,250,.35),transparent 35%,transparent 65%,rgba(250,252,250,.35))}
.mountain{position:absolute;left:-5%;right:-5%;pointer-events:none}
.mountain-back{height:220px;bottom:0;opacity:.55;background:#c5d6d6;clip-path:polygon(0 75%,8% 61%,16% 71%,25% 32%,32% 57%,42% 21%,50% 58%,61% 27%,71% 64%,82% 35%,91% 68%,100% 45%,100% 100%,0 100%)}
.mountain-front{height:150px;bottom:-1px;opacity:.55;background:#a9c2c2;clip-path:polygon(0 66%,11% 45%,22% 70%,33% 40%,44% 72%,56% 35%,67% 70%,78% 42%,90% 66%,100% 40%,100% 100%,0 100%)}
.hero-content{position:relative;z-index:2;width:min(760px,90%);text-align:center;padding:62px 0 78px}
.eyebrow,.section-kicker{font-size:11px;letter-spacing:3px;color:#68828b}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:10px}
.eyebrow span{width:22px;height:1px;background:#9bafae}
h1,h2{font-family:"Noto Serif SC","Songti SC",serif;font-weight:500}
h1{font-size:clamp(34px,5vw,52px);letter-spacing:5px;margin:24px 0 13px;color:#294452}
h1 em,h2 em{font-style:normal;color:#668895}
.hero-subtitle{color:#73858a;font-size:14px;letter-spacing:1px;margin:0 0 34px}
.search-box{height:66px;max-width:650px;margin:auto;display:flex;align-items:center;background:#fff;border:1px solid rgba(95,128,137,.18);box-shadow:0 12px 35px rgba(54,83,91,.10);padding:7px 8px 7px 22px;border-radius:4px}
.search-icon{font-size:30px;color:#91a8aa;line-height:1;margin-right:12px}
.search-box input{min-width:0;flex:1;border:0;outline:0;font:15px "Noto Sans SC",sans-serif;color:var(--ink);background:transparent}
.search-box input::placeholder{color:#aab5b6}
.search-box button{height:50px;padding:0 25px;border:0;border-radius:3px;background:#557b89;color:#fff;font-size:14px;cursor:pointer;transition:.2s}
.search-box button:hover{background:#3e6675}
.search-box button span{margin-left:12px;font-size:18px}
.search-hints{margin-top:17px;color:#8b9a9d;font-size:12px}
.hint{border:0;background:transparent;color:#627f89;padding:3px 8px;cursor:pointer}
.hint:hover{text-decoration:underline}
.hero-seal{position:absolute;right:2%;top:12%;width:64px;height:64px;border:1px solid rgba(104,139,145,.25);color:rgba(88,124,132,.35);font:40px "Noto Serif SC",serif;display:grid;place-items:center;transform:rotate(8deg)}
.hero-bottom-note{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:5px;color:rgba(74,106,113,.48)}
.quick-links{width:min(1120px,90%);margin:-1px auto 0;position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;box-shadow:0 8px 32px rgba(39,68,77,.07);border:1px solid #edf0ed}
.quick-card{display:flex;align-items:center;gap:13px;padding:23px 19px;border-right:1px solid #edf0ed;transition:.2s}
.quick-card:last-child{border-right:0}
.quick-card:hover{background:#f7faf9}
.quick-icon{width:42px;height:42px;flex:none;display:grid;place-items:center;background:#edf3f1;color:#557b83;font:23px "Noto Serif SC",serif}
.icon-blue{background:#eef2f7;color:#7187a0}.icon-green{background:#edf4ef;color:#6e9079}.icon-gold{background:#f6f2e9;color:#a68b5e}
.quick-card b{display:block;font-size:14px;font-weight:500;margin-bottom:5px}
.quick-card small{display:block;font-size:11px;color:#99a5a5}
.quick-card i{font-style:normal;color:#a6b4b3;margin-left:auto}
.lookup-section{width:min(1050px,88%);margin:82px auto 86px}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:23px}
.section-heading h2,.daily-copy h2{font-size:30px;letter-spacing:2px;margin:9px 0 0}
.section-heading p{font-size:12px;color:#91a0a0;margin:0 0 5px}
.result-panel{min-height:170px;background:#fff;border:1px solid var(--line);padding:26px 30px;box-shadow:0 5px 20px rgba(40,65,70,.035)}
.empty-state{display:flex;align-items:center;gap:22px;min-height:115px}
.empty-character{width:82px;height:82px;display:grid;place-items:center;background:#f1f5f3;color:#66838a;font:48px "Noto Serif SC",serif}
.empty-state b{font-family:"Noto Serif SC",serif;font-size:19px;font-weight:500}
.empty-state p{color:#94a1a1;font-size:12px;margin:9px 0 0}
.result-head{display:flex;gap:22px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}
.result-char{font:68px/1.2 "Noto Serif SC",serif;color:#456b78;min-width:80px}
.result-title h3{font:23px "Noto Serif SC",serif;margin:0 0 8px}
.result-meta{color:#849597;font-size:12px;line-height:1.8}
.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px;padding-top:20px}
.result-item{min-width:0}
.result-item h4{font-size:12px;color:#78919a;font-weight:500;margin:0 0 8px}
.result-item p{font-size:13px;line-height:1.9;color:#50636a;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.result-item.wide{grid-column:1/-1}
.loading,.error-message{padding:28px;text-align:center;color:#7b9095;font-size:13px}
.error-message{color:#a35f58}
.daily-section{background:#edf3f1;min-height:280px;padding:55px max(10vw,30px);display:flex;align-items:center;justify-content:space-between;overflow:hidden}
.daily-copy{max-width:520px}
.daily-copy h2{line-height:1.55;margin:13px 0}
.daily-copy p{font-size:13px;color:#75888a;line-height:2;max-width:500px}
.daily-character{width:210px;height:210px;border:1px solid rgba(107,143,144,.25);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#66868b;transform:rotate(-8deg);margin-right:8%}
.daily-character span{font:100px "Noto Serif SC",serif}
.daily-character small{font-size:10px;letter-spacing:3px}
.site-footer{text-align:center;padding:35px 20px 28px;background:#fff;color:#839394}
.footer-brand{font:20px "Noto Serif SC",serif;color:#496b76;letter-spacing:3px}
.footer-brand span{font:9px "Noto Sans SC",sans-serif;letter-spacing:2px;margin-left:8px;color:#9aa9a8}
.site-footer p{font-size:12px;margin:10px 0 16px}
.site-footer small{font-size:10px;color:#aab4b2}
@media(max-width:760px){
 .site-header{height:66px;padding:0 20px}.mobile-menu{display:block}.top-nav{display:none;position:absolute;top:66px;left:0;right:0;height:auto;background:#fff;padding:10px 22px 18px;box-shadow:0 8px 18px #24374614;flex-direction:column;align-items:stretch;gap:0}.top-nav.open{display:flex}.top-nav a{height:42px}.top-nav a.active:after{display:none}
 .hero{min-height:450px}.hero-content{padding:52px 0 72px}h1{letter-spacing:2px}.hero-subtitle{font-size:12px;line-height:1.8}.search-box{height:58px;padding-left:13px}.search-box button{height:44px;padding:0 13px;font-size:12px}.search-box button span{margin-left:4px}.search-box input{font-size:13px}.hero-seal{right:0;top:5%;width:46px;height:46px;font-size:28px}
 .quick-links{grid-template-columns:repeat(2,1fr);width:92%}.quick-card{padding:16px 12px;border-bottom:1px solid #edf0ed}.quick-card:nth-child(2){border-right:0}.quick-icon{width:36px;height:36px}.quick-card small{font-size:10px}
 .lookup-section{margin:60px auto}.section-heading{display:block}.section-heading p{margin-top:10px}.section-heading h2,.daily-copy h2{font-size:25px}.result-panel{padding:18px}.result-grid{grid-template-columns:1fr;gap:15px}.result-item.wide{grid-column:auto}.result-char{font-size:55px;min-width:60px}.result-head{gap:14px}
 .daily-section{padding:42px 7%;min-height:250px}.daily-character{width:120px;height:120px;margin:0 0 0 10px;flex:none}.daily-character span{font-size:58px}.daily-character small{font-size:7px;letter-spacing:1px}.daily-copy p{font-size:12px}
}

.stroke-section{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.stroke-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}
.stroke-heading h3{font:21px "Noto Serif SC",serif;color:#365b68;margin:7px 0 0}
.stroke-count{font-size:12px;color:#8a9b9c}
.stroke-stage{width:min(100%,390px);margin:0 auto;background:#fbfcfa;border:1px solid #e8eeee;padding:15px}
.stroke-stage svg{display:block;width:100%;height:auto;max-height:390px}
.stroke-stage .grid-line{fill:none;stroke:#dce6e4;stroke-width:2;stroke-dasharray:8 9}
.stroke-shape{fill:#527b88;opacity:0;transition:opacity .18s ease}
.stroke-shape.visible{opacity:1}
.stroke-shape.current{fill:#b18c57}
.stroke-progress{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:11px;color:#829395}
.progress-track{height:4px;background:#e7eeec;flex:1;overflow:hidden;border-radius:5px}
.progress-track i{display:block;height:100%;width:0;background:#7295a0;transition:width .2s}
.stroke-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.stroke-controls button{border:1px solid #dce6e4;background:#fff;color:#61777c;padding:9px 15px;border-radius:3px;font-size:12px;cursor:pointer}
.stroke-controls button.primary{background:#557b89;border-color:#557b89;color:white}
.stroke-controls button:disabled{opacity:.4;cursor:not-allowed}
.stroke-note{text-align:center;font-size:11px;color:#9aa7a6;margin:12px 0 0}
@media(max-width:760px){.stroke-stage{width:min(100%,310px)}.stroke-controls{gap:6px}.stroke-controls button{padding:9px 11px}}

.index-section{width:min(1050px,88%);margin:0 auto 82px}
.index-search-card{background:#fff;border:1px solid var(--line);padding:24px 26px;box-shadow:0 5px 20px rgba(40,65,70,.035)}
.index-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);padding-bottom:14px}
.index-tab{border:1px solid #e1e9e7;background:#fff;color:#71858a;padding:8px 18px;border-radius:3px;font-size:12px;cursor:pointer}
.index-tab.active{background:#557b89;color:#fff;border-color:#557b89}
.index-form{display:flex;gap:9px;margin-top:19px}
.index-form input{flex:1;min-width:0;height:43px;border:1px solid #dfe8e6;padding:0 13px;font:13px "Noto Sans SC",sans-serif;outline:none}
.index-form input:focus{border-color:#789aa3}
.index-form button{border:0;background:#557b89;color:white;padding:0 21px;border-radius:3px;cursor:pointer;font-size:12px}
.index-tip{font-size:11px;color:#9aa7a6;margin:10px 0 17px}
.index-results{min-height:55px;padding:15px;background:#f8faf9;border:1px solid #edf1ef;color:#89999a;font-size:12px}
.index-result-head{margin-bottom:12px;color:#6f858b}
.character-chips{display:flex;flex-wrap:wrap;gap:7px}
.character-chip{width:38px;height:38px;border:1px solid #e0e9e6;background:white;color:#4f717b;font:20px "Noto Serif SC",serif;cursor:pointer;border-radius:2px}
.character-chip:hover{background:#eaf1ef;border-color:#9bb6b7}
@media(max-width:760px){.index-section{margin-bottom:58px}.index-search-card{padding:17px}.index-tabs{gap:5px}.index-tab{padding:8px 13px}.index-form button{padding:0 13px}}

/* Hanzi detail profile */
.detail-hero{display:flex;gap:25px;align-items:center;padding:27px 30px;background:linear-gradient(115deg,#f4f8f6,#fbfcfa);border:1px solid #e7eeea;margin-bottom:20px}
.detail-glyph{width:116px;height:116px;flex:none;display:grid;place-items:center;background:#fff;border:1px solid #e3ebe7;color:#557b89;font:76px "Noto Serif SC",serif;box-shadow:0 4px 16px rgba(50,80,80,.05)}
.detail-intro h3{font:600 23px "Noto Serif SC",serif;color:#425f68;margin:4px 0 9px}
.detail-intro h3 span{font:400 13px "Noto Sans SC",sans-serif;color:#829397}
.detail-intro p{font-size:13px;line-height:1.9;color:#667a7b;margin:0 0 12px}
.detail-tags{display:flex;gap:7px;flex-wrap:wrap}
.detail-tags span{padding:5px 10px;background:#eaf1ee;color:#557b79;font-size:11px;border-radius:2px}
.detail-section{padding:21px 23px;margin-bottom:15px;background:#fff;border:1px solid #e8eeeb}
.detail-section>h4{font-size:14px;color:#526e75;font-weight:600;margin:0 0 15px;padding-left:10px;border-left:3px solid #91b0ad}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.detail-grid .result-item{border-bottom:1px solid #f0f3f1;padding:11px 0}
.detail-grid .result-item h4{font-size:11px;color:#98a6a3;font-weight:400;margin:0 0 6px}
.detail-grid .result-item p{font-size:13px;color:#4f6468;line-height:1.8;overflow-wrap:anywhere}
.detail-grid .result-item.wide{grid-column:1/-1}
.detail-rows{display:flex;flex-direction:column}
.detail-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid #f0f3f1;font-size:12px;align-items:start}
.detail-row>span{color:#93a19f}
.detail-row strong{font-weight:400;color:#52686b;overflow-wrap:anywhere}
.relation-values{display:flex;gap:8px;flex-wrap:wrap}
.relation-chip{border:1px solid #e1eae6;background:#f9fbfa;color:#557b89;padding:6px 10px;display:flex;align-items:center;gap:7px;font:20px "Noto Serif SC",serif;cursor:pointer}
.relation-chip small{font:10px "Noto Sans SC",sans-serif;color:#9ba9a5}
.relation-chip:hover{border-color:#9ab6b1;background:#eef5f1}
.relation-chip:disabled{cursor:default}
.detail-source{font-size:10px;color:#a0adaa;padding:6px 2px 18px;line-height:1.8}
@media(max-width:650px){.detail-hero{gap:15px;padding:18px}.detail-glyph{width:82px;height:82px;font-size:55px}.detail-intro h3{font-size:19px}.detail-grid{grid-template-columns:1fr}.detail-grid .result-item.wide{grid-column:auto}.detail-row{grid-template-columns:105px minmax(0,1fr);gap:8px}.detail-section{padding:17px}}
.reading-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.reading-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#f8faf9;border:1px solid #edf1ef}
.reading-item strong{font:600 18px "Noto Sans SC",sans-serif;color:#547987}
.reading-item span{font-size:10px;color:#9aa8a5;text-align:right}
.detail-footnote{font-size:10px;color:#9aa7a4;line-height:1.8;margin:13px 0 0}
@media(max-width:650px){.reading-list{grid-template-columns:1fr}}
.index-pagination{display:flex;justify-content:center;gap:8px;margin-top:16px}
.index-pagination button{border:1px solid #dce7e3;background:#fff;color:#597b82;padding:7px 16px;font-size:11px;cursor:pointer}
.index-pagination button:disabled{opacity:.4;cursor:not-allowed}
/* Ideographic description structure */
.ids-display{display:flex;justify-content:center;align-items:center;min-height:110px;padding:20px;background:#f8faf9;border:1px solid #edf1ee;overflow-x:auto}
.ids-node{display:flex;flex-direction:column;align-items:center;gap:9px;padding:8px}
.ids-operator{font-size:10px;color:#94a5a1;white-space:nowrap}
.ids-children{display:flex;align-items:center;justify-content:center;gap:10px}
.ids-node.horizontal>.ids-children{flex-direction:row}
.ids-node.vertical>.ids-children{flex-direction:column}
.ids-node.surround>.ids-children{border:1px dashed #b8cbc4;padding:8px;flex-direction:row}
.ids-part{width:43px;height:43px;border:1px solid #dce7e2;background:#fff;color:#547780;font:24px "Noto Serif SC",serif;cursor:pointer}
.ids-part:hover{background:#eaf2ed;border-color:#9cb8ac}
.ids-raw{font-size:20px;color:#647a78}
.convert-section{width:min(1050px,88%);margin:0 auto 82px}
.convert-card{background:#fff;border:1px solid var(--line);padding:24px 26px;box-shadow:0 5px 20px rgba(40,65,70,.035)}
.convert-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:13px;font-size:12px;color:#829397}
.convert-toolbar select{height:34px;padding:0 10px;border:1px solid #dfe8e6;background:#fff;color:#58727a;font:12px "Noto Sans SC",sans-serif}
#convertInput{display:block;width:100%;box-sizing:border-box;resize:vertical;border:1px solid #dfe8e6;padding:13px;font:14px/1.8 "Noto Sans SC",sans-serif;color:#536b70;outline:none}
#convertInput:focus{border-color:#789aa3}
.convert-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 15px;font-size:11px;color:#98a6a3}
.convert-actions button{border:0;background:#557b89;color:white;padding:10px 22px;border-radius:3px;cursor:pointer;font-size:12px}
.convert-actions button:disabled{opacity:.55;cursor:wait}
.convert-output{min-height:56px;padding:15px;background:#f8faf9;border:1px solid #edf1ef;color:#506a70;font:20px/1.8 "Noto Serif SC",serif;overflow-wrap:anywhere}
@media(max-width:650px){.convert-section{margin-bottom:58px}.convert-card{padding:17px}}
.daily-word-section{width:min(1050px,88%);margin:0 auto 82px}
.daily-word-card{display:flex;align-items:center;gap:26px;padding:25px 30px;background:linear-gradient(115deg,#f3f7f4,#fbfcfa);border:1px solid #e7eeea}
.daily-word-glyph{width:112px;height:112px;flex:none;border:1px solid #e3ebe7;background:#fff;color:#557b89;font:76px "Noto Serif SC",serif;cursor:pointer;box-shadow:0 4px 16px rgba(50,80,80,.05)}
.daily-word-info h3{font:600 24px "Noto Serif SC",serif;color:#425f68;margin:5px 0 8px}
.daily-word-info p{font-size:12px;color:#778b8d;margin:0 0 12px}
.text-link{border:0;background:transparent;color:#668b91;font-size:12px;padding:0;cursor:pointer}
.text-link span{padding-left:6px}
.common-character-block{margin-top:24px;padding:19px 22px;background:#fff;border:1px solid #e8eeeb}
.common-character-block h3{font-size:13px;font-weight:600;color:#60787d;margin:0 0 13px}
.common-character-list{display:flex;flex-wrap:wrap;gap:8px}
.common-character{width:38px;height:38px;border:1px solid #e1e9e5;background:#fff;color:#587781;font:20px "Noto Serif SC",serif;cursor:pointer}
.common-character:hover{background:#edf4f0;border-color:#a4bdb3}
@media(max-width:650px){.daily-word-section{margin-bottom:58px}.daily-word-card{padding:18px;gap:17px}.daily-word-glyph{width:84px;height:84px;font-size:56px}.common-character-block{padding:16px}}
.legal-page{background:#f8faf8}.legal-main{width:min(850px,90%);margin:65px auto 90px}.legal-main h1{font:600 30px "Noto Serif SC",serif;color:#45636b;margin:10px 0 15px}.legal-intro{font-size:13px;line-height:2;color:#75888a;margin-bottom:28px}.legal-card{padding:22px 25px;margin:14px 0;background:#fff;border:1px solid #e5ece8}.legal-card h2{font-size:16px;color:#54747a;margin:0 0 13px}.legal-card p,.legal-card li{font-size:12px;line-height:2;color:#6f8182}.legal-card ul{padding-left:20px}.legal-card a{color:#668b91;text-decoration:none}.legal-card a:hover{text-decoration:underline}.legal-note{padding:10px 13px;background:#f7f9f7;color:#879795!important}.legal-card code{background:#f1f4f2;padding:2px 5px;border-radius:2px}

/* HanziKu C: modern knowledge-base dashboard */
:root{--navy:#183654;--navy2:#214a70;--accent:#3479bd;--canvas:#f3f6fa;--cardline:#e5ebf2;--softtext:#8291a2}
body.knowledge-layout{background:var(--canvas);color:#26384b;font-family:"Noto Sans SC","Microsoft YaHei",sans-serif}
.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:linear-gradient(180deg,#173552,#102b46);color:#e8f1fb;padding:24px 16px 18px;display:flex;flex-direction:column;z-index:20;box-shadow:5px 0 24px rgba(20,45,70,.09)}
.sidebar .brand{padding:0 9px 25px;border-bottom:1px solid rgba(255,255,255,.12);gap:11px}
.sidebar .brand-mark{width:42px;height:42px;background:#f3f7fb;border:0;color:#1c4b73;border-radius:7px;font-size:25px}
.sidebar .brand-name{color:#fff;font:600 19px "Noto Sans SC",sans-serif;letter-spacing:1px}
.sidebar .brand-name small{color:#a9bfd4;letter-spacing:3px;margin-top:3px}
.side-caption{font-size:11px;letter-spacing:1px;color:#8da9c2;padding:24px 12px 11px}
.sidebar .top-nav{display:flex;flex-direction:column;gap:6px}
.sidebar .top-nav a{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:7px;color:#d2dfeb;font-size:13px;transition:.18s}
.sidebar .top-nav a span{width:20px;text-align:center;font-size:16px;color:#a9c0d7}
.sidebar .top-nav a:hover,.sidebar .top-nav a.active{background:#2869a6;color:#fff;box-shadow:0 5px 14px rgba(4,20,40,.15)}
.sidebar .top-nav a.active span,.sidebar .top-nav a:hover span{color:#fff}
.sidebar-bottom{margin-top:auto;padding:15px 10px 3px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;color:#8da9c2;letter-spacing:.5px}
.side-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#61c6a4;margin:0 8px 1px 0}
.workspace{margin-left:224px;padding:0 clamp(22px,3.4vw,54px);max-width:1700px;min-height:100vh}
.workspace-header{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4eaf1;margin-bottom:25px;position:relative}
.workspace-kicker,.section-kicker{font-size:9px;letter-spacing:2px;color:#8b9caf}
.workspace-header h1{font-size:23px;letter-spacing:1px;margin:5px 0 0;color:#213e5b;font-weight:600}
.header-note{font-size:12px;color:#8796a7}
.mobile-menu{display:none}
.search-dashboard{background:linear-gradient(115deg,#fff,#f8fbff);border:1px solid #e1e9f2;border-radius:12px;padding:23px 27px 16px;box-shadow:0 5px 18px rgba(33,63,93,.035);margin-bottom:22px}
.search-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}
.search-heading h2{font-size:18px;color:#294967;margin:5px 0 0;font-weight:600}
.search-hint-label{font-size:11px;color:#9aa8b7;padding-bottom:3px}
.search-box{height:54px;display:flex;align-items:center;background:#fff;border:1px solid #d9e3ed;border-radius:8px;padding:5px 6px 5px 16px;box-shadow:0 3px 12px rgba(37,75,110,.04)}
.search-icon{font-size:25px;color:#7893ad;margin-right:12px}
.search-box input{height:100%;flex:1;min-width:0;border:0;outline:0;font:14px "Noto Sans SC",sans-serif;color:#304c67;background:transparent}
.search-box button{height:42px;padding:0 25px;border:0;border-radius:6px;background:#286da9;color:#fff;font-size:13px;cursor:pointer}
.search-box button span{padding-left:12px}
.search-hints{display:flex;align-items:center;gap:14px;padding:13px 2px 0;font-size:11px;color:#9aa8b7}
.search-hints .hint{border:0;background:none;color:#477aa7;padding:0;cursor:pointer;font:12px "Noto Sans SC",sans-serif}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:22px;align-items:stretch}
.dashboard-card{min-width:0;background:#fff;border:1px solid var(--cardline);border-radius:10px;padding:17px 18px 16px;box-shadow:0 4px 15px rgba(33,63,93,.025)}
.card-heading{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid #edf1f5;margin-bottom:15px}
.card-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;font-size:18px}
.blue-icon{background:#e9f3ff;color:#347ab7}.green-icon{background:#eaf7f0;color:#32956a}.purple-icon{background:#f1edff;color:#7661c4}
.card-heading h2{font-size:14px;color:#304b67;margin:0 0 3px;font-weight:600}
.card-heading small{font-size:8px;letter-spacing:1.1px;color:#a0adba}
.card-more{margin-left:auto;color:#9aa9b8;font-size:10px;white-space:nowrap}
.daily-word-card{display:flex;align-items:center;gap:17px;padding:0;border:0;background:transparent}
.daily-word-glyph{width:88px;height:88px;flex:none;border:1px solid #e0e8f0;border-radius:8px;background:#f9fbfe;color:#2d6e9f;font:58px "Noto Serif SC",serif;cursor:pointer}
.daily-word-info{min-width:0}.daily-word-info h3{font:600 20px "Noto Serif SC",serif;color:#294967;margin:5px 0 6px}.daily-word-info p{font-size:11px;line-height:1.7;color:#8293a4;margin:0 0 8px}.text-link{border:0;background:transparent;color:#3479b5;font-size:11px;padding:0;cursor:pointer}
.common-character-list{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.common-character{width:100%;height:39px;border:1px solid #e6edf3;border-radius:5px;background:#f9fbfd;color:#355a7a;font:21px "Noto Serif SC",serif;cursor:pointer;transition:.15s}
.common-character:hover{background:#eaf3fc;border-color:#9dc0df}
.card-footnote{font-size:10px;line-height:1.6;color:#9aa8b7;margin:12px 0 0}
.tool-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.tool-shortcuts a{display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 10px;border:1px solid #e8edf5;border-radius:6px;background:#fbfcff;color:#516a83;font-size:11px;transition:.15s}
.tool-shortcuts a:hover{border-color:#a9c6e2;background:#f1f7fd;color:#286da9}
.tool-shortcuts b{width:23px;height:23px;display:grid;place-items:center;border-radius:5px;background:#edf3fb;color:#4c7fae;font-size:13px}
.result-section,.index-section,.convert-section{margin:0 0 22px}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:13px}
.section-heading h2{font-size:17px;color:#2c4967;margin:4px 0 0;font-weight:600}
.section-heading p{font-size:11px;color:#9aa8b7;margin:0 0 2px}
.compact-heading{margin-bottom:12px}
.result-panel{background:#fff;border:1px solid var(--cardline);border-radius:9px;padding:17px 20px;min-height:105px;box-shadow:0 3px 12px rgba(33,63,93,.02)}
.empty-state{display:flex;align-items:center;gap:15px}.empty-character{width:56px;height:56px;display:grid;place-items:center;background:#f1f6fb;border-radius:7px;color:#6d91b2;font:34px "Noto Serif SC",serif}.empty-state b{font-size:13px;color:#526e89}.empty-state p{font-size:11px;color:#9aa8b7;margin:5px 0 0}
.index-search-card,.convert-card{background:#fff;border:1px solid var(--cardline);border-radius:9px;padding:18px 20px;box-shadow:0 3px 12px rgba(33,63,93,.02)}
.index-tabs{border-bottom:1px solid #edf1f5;padding-bottom:12px}.index-tab{border-radius:5px}.index-tab.active{background:#286da9;border-color:#286da9}
.index-form input,#convertInput{border-radius:5px;border-color:#e0e8ef}.index-form button,.convert-actions button{background:#286da9;border-radius:5px}.index-results{border-radius:6px;background:#f8fafd;border-color:#edf1f6}
.convert-toolbar select{border-radius:5px;border-color:#dfe7ef}
.convert-output{border-radius:6px;background:#f8fafd;border-color:#edf1f6}
.about-panel{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#eaf2fb,#f7faff);border:1px solid #dfe9f3;border-radius:10px;padding:20px 25px;margin:0 0 22px}
.about-panel h2{font-size:17px;color:#294967;margin:5px 0 7px}.about-panel p{max-width:680px;font-size:11px;line-height:1.8;color:#8193a5;margin:0}.about-glyph{width:66px;height:66px;display:grid;place-items:center;border:1px solid #cbdced;border-radius:8px;color:#7b9dbd;font:43px "Noto Serif SC",serif;background:rgba(255,255,255,.55)}
.site-footer{padding:15px 0 24px;border-top:1px solid #e3eaf1;text-align:center;color:#9aa8b7}.footer-brand{font-size:13px;color:#536e88}.footer-brand span{font-size:9px;letter-spacing:2px;margin-left:7px}.site-footer p{font-size:10px;margin:5px 0}.site-footer small{font-size:9px}.site-footer a{color:#4c80ad}
/* existing detail widgets harmonized with the dashboard */
.detail-hero,.detail-section{border-radius:8px;border-color:#e5ebf2}.detail-hero{background:linear-gradient(115deg,#f2f7fc,#fff)}.detail-glyph{border-radius:8px;color:#3479b5}.detail-section>h4{border-left-color:#6fa1cd;color:#426789}.detail-tags span{background:#edf4fb;color:#4c7ba5}.relation-chip{border-radius:5px}
@media(max-width:1120px){.dashboard-grid{grid-template-columns:1fr 1fr}.tools-dashboard{grid-column:1/-1}.tool-shortcuts{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.sidebar{width:0;padding:0;overflow:hidden;transition:width .2s,padding .2s}.sidebar:has(.top-nav.open){width:230px;padding:20px 15px}.workspace{margin-left:0;padding:0 16px}.workspace-header{height:76px;margin-bottom:17px}.workspace-header h1{font-size:20px}.header-note{display:none}.mobile-menu{display:block;border:1px solid #dce6ef;background:#fff;color:#365d80;border-radius:6px;padding:8px 11px;font-size:17px}.sidebar .top-nav{display:flex}.sidebar .brand,.sidebar .side-caption,.sidebar-bottom{display:none}.sidebar:has(.top-nav.open) .brand,.sidebar:has(.top-nav.open) .side-caption,.sidebar:has(.top-nav.open) .sidebar-bottom{display:flex}.search-dashboard{padding:17px 15px 13px}.search-heading{align-items:start}.search-hint-label{display:none}.search-heading h2{font-size:16px}.search-box{height:49px;padding-left:10px}.search-box button{height:37px;padding:0 14px}.search-hints{gap:10px;flex-wrap:wrap}.dashboard-grid{grid-template-columns:1fr}.tools-dashboard{grid-column:auto}.tool-shortcuts{grid-template-columns:1fr 1fr}.section-heading{align-items:start;gap:10px;flex-direction:column}.section-heading p{margin:0}.result-panel{padding:14px}.about-panel{padding:17px}.about-glyph{width:52px;height:52px;font-size:34px}}
@media(min-width:761px){.sidebar .top-nav{display:flex!important}.workspace{padding-left:clamp(22px,3.4vw,54px)}}

/* HanziKu C2: restrained, darker scholarly interface */
:root{--navy:#101f32;--navy2:#1b344d;--accent:#9a7845;--canvas:#dfe5ec;--cardline:#cbd4de;--softtext:#69798a}
body.knowledge-layout{background:#e2e7ed;color:#1d2e42}
.app-shell{background-image:linear-gradient(rgba(22,39,58,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(22,39,58,.025) 1px,transparent 1px);background-size:28px 28px}
.sidebar{background-color:#101f32;background-image:linear-gradient(180deg,rgba(12,27,44,.97),rgba(22,43,64,.98)),repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 9px);box-shadow:4px 0 18px rgba(9,22,37,.18);border-right:1px solid #34485d}
.sidebar:before{content:"漢";position:absolute;right:12px;bottom:76px;font:104px/1 "Noto Serif SC","Songti SC",serif;color:rgba(218,225,232,.035);pointer-events:none}
.sidebar .brand-mark{background:#d9e0e7;color:#203b56;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(17,35,53,.12)}
.sidebar .brand-name{letter-spacing:1.5px}
.sidebar .top-nav a{border-radius:3px;color:#c1ccd7;padding:11px 13px;border-left:3px solid transparent}
.sidebar .top-nav a span{color:#9baaba}
.sidebar .top-nav a:hover,.sidebar .top-nav a.active{background:#263f59;color:#fff;border-left-color:#b08d57;box-shadow:none}
.sidebar .top-nav a.active span,.sidebar .top-nav a:hover span{color:#d4b47c}
.side-caption{color:#8394a6;letter-spacing:1.5px}
.sidebar-bottom{color:#8494a5}
.side-dot{background:#b08d57}
.workspace{background:rgba(235,239,244,.88);padding-left:clamp(22px,3vw,46px);padding-right:clamp(22px,3vw,46px)}
.workspace-header{height:78px;margin-bottom:17px;border-bottom:1px solid #c6d0db}
.workspace-kicker,.section-kicker{color:#7b6a50;letter-spacing:1.8px}
.workspace-header h1{color:#172b40;font-size:22px;letter-spacing:1.5px}
.header-note{color:#68798a}
.search-dashboard{background:linear-gradient(120deg,#f7f8f8,#e9edf1);border:1px solid #c5ced8;border-top:3px solid #263f59;border-radius:4px;padding:18px 22px 12px;box-shadow:0 4px 12px rgba(20,38,58,.08);margin-bottom:16px}
.search-heading{margin-bottom:11px}
.search-heading h2{color:#1c344d;font-size:17px}
.search-hint-label{color:#758293}
.search-box{height:49px;border:1px solid #b9c5d1;border-radius:3px;box-shadow:inset 0 1px 2px rgba(18,37,57,.04);background:#fff}
.search-icon{color:#7d6a4b}
.search-box input{color:#1e3349}
.search-box button{background:#243f5a;border-radius:3px}
.search-box button:hover{background:#152c43}
.search-hints{padding-top:9px;color:#778596}
.search-hints .hint{color:#8a6d3f}
.dashboard-grid{gap:12px;margin-bottom:17px}
.dashboard-card{background:#f8f9fa;border:1px solid #c8d1db;border-top:2px solid #405a73;border-radius:4px;padding:14px 15px 13px;box-shadow:0 3px 9px rgba(20,38,58,.055)}
.card-heading{padding-bottom:10px;margin-bottom:11px;border-bottom:1px solid #dce2e8}
.card-icon{border-radius:3px;background:#e1e6eb!important;color:#344e67!important}
.card-heading h2{color:#233b54}
.card-heading small{color:#8793a1}
.card-more{color:#89734f}
.daily-word-glyph{border:1px solid #cbd4dd;border-radius:3px;background:#e9edf1;color:#233f5a}
.daily-word-info h3{color:#213a53}
.daily-word-info p,.card-footnote{color:#69798a}
.text-link{color:#8b6d3d}
.common-character{border:1px solid #cbd4dd;border-radius:2px;background:#eef1f4;color:#263f58}
.common-character:hover{background:#e0e6ec;border-color:#9baaba}
.tool-shortcuts a{border:1px solid #cbd4dd;border-radius:3px;background:#eef1f4;color:#344b62}
.tool-shortcuts a:hover{border-color:#a58a61;background:#e7e9e9;color:#263f58}
.tool-shortcuts b{border-radius:2px;background:#dce3e9;color:#415a72}
.result-section,.index-section,.convert-section{margin-bottom:17px}
.section-heading{margin-bottom:10px}
.section-heading h2{color:#203951;font-size:16px}
.section-heading p{color:#718092}
.result-panel,.index-search-card,.convert-card{background:#f8f9fa;border:1px solid #c8d1db;border-radius:4px;padding:15px 17px;box-shadow:0 3px 9px rgba(20,38,58,.045)}
.empty-character{background:#e4e9ee;color:#405a72;border-radius:2px}
.empty-state b{color:#334a61}
.empty-state p{color:#788696}
.index-tabs{border-color:#d3dbe3}
.index-tab{border-radius:2px}
.index-tab.active{background:#263f59;border-color:#263f59}
.index-form input,#convertInput{border:1px solid #c3cdd7;border-radius:2px;background:#fff;color:#24384d}
.index-form button,.convert-actions button{background:#263f59;border-radius:2px}
.index-results{background:#edf0f3;border:1px solid #d4dce4;border-radius:2px}
.convert-toolbar{color:#6d7b8a}
.convert-toolbar select{border:1px solid #c4ced8;border-radius:2px;color:#344b62}
#convertInput{padding:11px}
.convert-output{background:#e9edf1;border:1px solid #cbd4dd;border-radius:2px;color:#263f58}
.about-panel{background:linear-gradient(110deg,#e3e8ed,#f1f3f5);border:1px solid #c6d0da;border-left:3px solid #8c7047;border-radius:3px;padding:16px 19px;margin-bottom:17px}
.about-panel h2{color:#203951}
.about-panel p{color:#6d7c8c}
.about-glyph{border:1px solid #bdc8d3;border-radius:2px;color:#6d604b;background:#e7ebef}
.site-footer{border-color:#c7d0da;color:#718092}
.footer-brand{color:#344d65}
.site-footer a{color:#8a6d3f}
.detail-hero,.detail-section{border-radius:3px;border-color:#cbd4dd}
.detail-hero{background:#e9edf1}
.detail-glyph{border-radius:3px;color:#294660}
.detail-section>h4{border-left-color:#94764b;color:#344d65}
.detail-tags span{background:#e2e8ed;color:#4a6278}
.relation-chip{border-radius:2px;border-color:#cbd4dd;background:#eef1f4;color:#344d65}
@media(max-width:760px){.workspace{background:#e2e7ed}.workspace-header{height:68px}.search-dashboard{padding:15px 13px 10px}.dashboard-grid{gap:10px}.dashboard-card{padding:13px}.result-panel,.index-search-card,.convert-card{padding:13px}.about-panel{padding:14px}}
