@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Source+Han+Sans+SC:wght@400;500;600;700&display=swap";:root{--ink:#243c35;--ink-soft:#4b655b;--muted:#70847b;--paper:#f5f1e8;--paper-deep:#ece6d9;--paper-light:#fbfaf5;--line:#d7d5c7;--green:#356252;--green-dark:#214b3d;--green-pale:#dfe9df;--seal:#a94c3e;--seal-dark:#87382f;--shadow:0 16px 34px #36413014;--ease-out:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-kerning:normal;margin:0;font-family:Source Han Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.7}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}:focus-visible{outline:2px solid var(--seal);outline-offset:3px}.skip-link{z-index:30;background:var(--seal);color:#fff;min-height:44px;transition:top .2s var(--ease-out);align-items:center;padding:8px 14px;display:inline-flex;position:fixed;top:-52px;left:16px}.skip-link:focus{top:12px}.site-header{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f1e8f0;border-bottom:1px solid #d7d5c7cc;position:sticky;top:0}.header-inner{align-items:center;gap:32px;max-width:1240px;min-height:78px;margin:0 auto;padding:12px 32px;display:flex}.wordmark{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.wordmark-seal{background:var(--seal);width:39px;height:39px;color:var(--paper-light);place-items:center;font-family:Noto Serif SC,serif;font-size:22px;line-height:1;display:grid}.wordmark strong{letter-spacing:.08em;font-family:Noto Serif SC,serif;font-size:21px;line-height:1.2;display:block}.wordmark small{color:var(--muted);letter-spacing:.06em;margin-top:2px;font-size:11px;display:block}.primary-nav{align-items:center;gap:7px;margin-left:auto;display:flex}.nav-item{min-height:42px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:8px 13px;font-size:14px;display:inline-flex}.nav-item:hover,.nav-item.active{color:var(--green-dark);border-bottom-color:var(--seal)}.nav-count{background:var(--seal);color:#fff;border-radius:50%;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:11px;line-height:1;display:inline-grid}.header-stamp{border:1px solid var(--seal);color:var(--seal);padding:6px 10px;font-family:Noto Serif SC,serif;font-size:12px;transform:rotate(-3deg)}.hero{border-bottom:1px solid var(--line);background:var(--paper-deep) url(/images/shan-shui.png) right center / cover no-repeat;min-height:540px;position:relative;overflow:hidden}.hero-inner{grid-template-columns:minmax(0,580px) 1fr;align-items:center;max-width:1240px;min-height:540px;margin:0 auto;padding:84px 32px 74px;display:grid}.hero-copy{z-index:1;position:relative}.eyebrow{color:var(--seal);letter-spacing:.12em;align-items:center;gap:10px;margin:0 0 14px;font-size:12px;font-weight:600;display:flex}.eyebrow-rule{background:var(--seal);width:28px;height:1px;display:inline-block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Noto Serif SC,Songti SC,serif;font-weight:500;line-height:1.28}h1{letter-spacing:.04em;max-width:580px;margin-bottom:20px;font-size:58px}h1 em,h2 em{color:var(--seal);font-style:normal}.hero-lede{max-width:475px;color:var(--ink-soft);margin-bottom:30px;font-size:17px}.surname-form{max-width:465px}.surname-form label{color:var(--ink-soft);margin-bottom:9px;font-size:14px;display:block}.surname-form label strong{color:var(--ink);font-family:Noto Serif SC,serif;font-size:19px}.surname-row{gap:10px;display:flex}.surname-row input{border:1px solid var(--line);width:104px;min-height:48px;color:var(--ink);text-align:center;background:#fbfaf5d9;border-radius:2px;padding:8px 13px;font-family:Noto Serif SC,serif;font-size:20px}.surname-row input[aria-invalid=true]{border-color:var(--seal)}.primary-button,.secondary-button{border:1px solid var(--green-dark);min-height:46px;transition:transform .16s var(--ease-out), background .16s ease, color .16s ease;border-radius:2px;justify-content:center;align-items:center;gap:9px;padding:9px 17px;display:inline-flex}.primary-button{background:var(--green-dark);color:var(--paper-light)}.primary-button:hover:not(:disabled){background:var(--green);transform:translateY(-2px)}.secondary-button{color:var(--green-dark);background:0 0}.secondary-button:hover{background:var(--green-pale);transform:translateY(-2px)}.field-error{color:var(--seal-dark);margin:7px 0 0;font-size:13px}.field-hint{color:var(--muted);margin:7px 0 0;font-size:12px}.hero-meta{color:var(--muted);align-items:center;gap:10px;margin-top:28px;font-size:12px;display:flex}.hero-meta strong{color:var(--seal);font-family:Noto Serif SC,serif;font-size:21px;font-weight:500}.hero-art{min-height:380px}.catalog-section,.page-section{max-width:1240px;margin:0 auto;padding:78px 32px 110px}.section-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:31px;display:flex}.section-heading h2,.block-heading h2{letter-spacing:.03em;margin:0;font-size:30px}.section-note{max-width:300px;color:var(--muted);text-align:right;margin:0;font-size:13px}.filter-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-bottom:31px;padding:14px 17px;display:flex}.filter-group{align-items:center;gap:12px;display:flex}.filter-label{color:var(--muted);letter-spacing:.1em;font-size:12px}.segmented{gap:3px;display:flex}.segment{min-height:34px;color:var(--muted);background:0 0;border:0;padding:4px 11px;font-size:13px}.segment:hover,.segment.active{background:var(--green-pale);color:var(--green-dark)}.select-wrap{align-items:center;display:flex;position:relative}.select-wrap select{appearance:none;border:1px solid var(--line);background:var(--paper-light);min-width:108px;min-height:34px;color:var(--green-dark);border-radius:2px;padding:4px 27px 4px 10px;font-size:13px}.select-wrap svg{pointer-events:none;color:var(--muted);position:absolute;right:8px}.name-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.name-card{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);animation:card-in .55s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms);transition:transform .18s var(--ease-out), border-color .18s ease;background:#fbfaf5ad;padding:22px 23px 18px}.name-card:hover{border-color:#b8c7b9;transform:translateY(-3px)}.card-topline{color:var(--muted);align-items:center;gap:10px;display:flex}.card-index{color:var(--seal);font-family:Noto Serif SC,serif;font-size:13px}.relation-tag{background:var(--green-pale);color:var(--green-dark);padding:3px 7px;font-size:11px}.icon-button{width:40px;height:40px;color:var(--muted);transition:background .16s ease, color .16s ease, transform .16s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;margin-left:auto;display:inline-grid}.icon-button:hover{background:var(--green-pale);color:var(--seal);transform:scale(1.05)}.icon-button.is-loved{color:var(--seal)}.name-card-main{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:145px minmax(0,1fr);gap:22px;margin:19px 0 17px;padding:0;display:grid}.name-lockup{border-right:1px solid var(--line);background:#dfe9df6e;justify-content:center;align-items:baseline;gap:6px;min-height:124px;padding:14px 12px 11px;display:flex}.given-name,.family-name{font-family:Noto Serif SC,Songti SC,serif}.given-name{letter-spacing:.08em;font-size:45px}.family-name{color:var(--seal);font-size:20px}.name-copy{min-width:0}.name-wish{color:var(--green-dark);margin:2px 0 9px;font-family:Noto Serif SC,serif;font-size:18px}.name-meaning{min-height:56px;color:var(--ink-soft);margin-bottom:14px;font-size:13px;line-height:1.8}.name-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.read-more{color:var(--seal);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.poem-line{border-top:1px solid var(--line);min-height:37px;color:var(--muted);align-items:flex-start;gap:8px;padding:9px 0 0;font-family:Noto Serif SC,serif;font-size:12px;line-height:1.55;display:flex}.poem-line svg{color:var(--green);flex:none;margin-top:2px}.page-section{padding-top:80px}.page-intro{max-width:680px;margin-bottom:55px}.page-intro h1{margin-bottom:17px;font-size:50px}.page-intro>p:last-child{max-width:510px;color:var(--ink-soft);margin:0;font-size:17px}.favorites-layout{grid-template-columns:1.15fr .85fr;gap:74px;display:grid}.favorites-block{min-width:0}.block-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px;display:flex}.block-heading .eyebrow{margin-bottom:8px}.text-button{min-height:40px;color:var(--seal);background:0 0;border:0;align-items:center;gap:6px;padding:5px 0;font-size:13px;display:inline-flex}.text-button:hover{color:var(--seal-dark)}.character-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.character-card{border:1px solid var(--line);background:#fbfaf58c;min-height:177px;padding:16px}.character-card-glyph{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--green-dark);text-align:left;background:0 0;margin-bottom:8px;padding:7px 8px 11px;font-family:Noto Serif SC,serif;font-size:48px;line-height:1;display:block;position:relative}.character-card-glyph svg{color:var(--muted);position:absolute;top:9px;right:5px}.character-card-glyph:hover svg{color:var(--seal)}.character-card strong{color:var(--seal);font-family:Noto Serif SC,serif;font-size:13px;font-weight:500}.character-card p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.55}.saved-name-list{border-top:1px solid var(--line)}.saved-name-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:78px;display:flex}.saved-name-main{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:baseline;gap:18px;padding:10px 0;display:flex}.saved-name-main:hover .saved-name-text em{color:var(--seal)}.saved-name-text{white-space:nowrap;font-family:Noto Serif SC,serif;font-size:25px}.saved-name-text em{color:var(--green-dark);font-style:normal;transition:color .15s}.saved-name-main>span:last-child{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;padding:60px 22px}.empty-state svg{color:var(--green)}.empty-state h3{color:var(--ink);margin:14px 0 7px;font-size:21px}.empty-state p{max-width:330px;margin:0 auto 18px;font-size:13px}.empty-state.compact{padding:38px 18px}.empty-state.compact h3{font-size:18px}.compose-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:72px;display:grid}.picker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.picker-item{border:1px solid var(--line);min-height:137px;color:var(--ink-soft);transition:transform .16s var(--ease-out), border-color .16s ease, background .16s ease;background:#fbfaf585;flex-direction:column;align-items:center;gap:3px;padding:13px 8px;display:flex}.picker-item:hover{border-color:var(--green);transform:translateY(-2px)}.picker-item.selected{border-color:var(--seal);background:var(--green-pale);color:var(--green-dark)}.picker-glyph{color:var(--green-dark);font-family:Noto Serif SC,serif;font-size:45px;line-height:1.1}.picker-item span:nth-child(2){font-family:Noto Serif SC,serif;font-size:12px}.picker-item small{color:var(--muted);font-size:10px}.picker-item svg{color:var(--seal)}.compose-preview{border-top:2px solid var(--seal);background:var(--paper-light);box-shadow:var(--shadow);padding:25px;position:sticky;top:108px}.preview-paper{border:1px solid var(--line);background:var(--paper-deep) url(/images/shan-shui.png) center / cover no-repeat;justify-content:center;align-items:baseline;gap:8px;min-height:172px;margin:8px 0 16px;padding:27px 18px;display:flex}.preview-family{color:var(--seal);font-family:Noto Serif SC,serif;font-size:26px}.preview-given{color:var(--green-dark);letter-spacing:.12em;font-family:Noto Serif SC,serif;font-size:58px}.preview-pinyin{color:var(--green);margin:0 0 6px;font-family:Noto Serif SC,serif;font-size:15px}.compose-note{color:var(--muted);margin-bottom:21px;font-size:12px;line-height:1.7}.compose-preview .primary-button{width:100%}.loved-button{border-color:var(--seal);background:var(--seal)}.name-dialog{border:1px solid var(--line);background:var(--paper-light);width:min(760px,100vw - 32px);max-height:min(780px,100vh - 32px);color:var(--ink);padding:0;box-shadow:0 24px 80px #26362b40}.name-dialog::backdrop{background:#25362e52}.dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;padding:26px 30px 21px;display:flex}.dialog-header .eyebrow{margin-bottom:8px}.dialog-header h2{margin:0;font-size:38px}.dialog-header h2 em{margin-left:7px}.dialog-body{padding:28px 30px 34px;overflow:auto}.dialog-intro{border-bottom:1px solid var(--line);padding-bottom:27px}.dialog-wish{color:var(--green-dark);margin-bottom:8px;font-family:Noto Serif SC,serif;font-size:22px}.dialog-intro>p:not(.dialog-wish){max-width:610px;color:var(--ink-soft);margin-bottom:20px;font-size:14px}.dialog-section{padding-top:27px}.dialog-section-title{color:var(--green-dark);align-items:center;gap:8px;display:flex}.dialog-section-title h3{margin:0;font-size:19px}.source-label{color:var(--muted);margin-left:auto;font-size:11px}.character-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px;display:grid}.character-detail{grid-template-columns:58px minmax(0,1fr);gap:13px;display:grid}.character-glyph{color:var(--green-dark);font-family:Noto Serif SC,serif;font-size:50px;line-height:1}.character-heading{align-items:baseline;gap:7px;display:flex}.character-heading strong{font-family:Noto Serif SC,serif;font-size:18px;font-weight:500}.character-heading span{color:var(--seal);font-family:Noto Serif SC,serif;font-size:12px}.tiny-love{width:25px;height:25px;color:var(--muted);background:0 0;border:0;place-items:center;margin-left:auto;display:inline-grid}.tiny-love.loved{color:var(--seal)}.character-detail p{color:var(--ink-soft);margin:4px 0 8px;font-size:12px;line-height:1.65}.word-tags{flex-wrap:wrap;gap:5px;display:flex}.word-tags span{background:var(--green-pale);color:var(--green-dark);padding:2px 6px;font-size:10px}.poem-source blockquote{border-left:2px solid var(--seal);background:var(--paper-deep);color:var(--green-dark);margin:18px 0 12px;padding:16px 20px;font-family:Noto Serif SC,serif;font-size:19px}.poem-context{color:var(--ink-soft);margin-bottom:17px;font-size:13px;line-height:1.8}.source-line{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-family:Noto Serif SC,serif;font-size:12px;display:flex}.source-line a{color:var(--seal);align-items:center;gap:5px;text-decoration:none;display:inline-flex}.source-line a:hover{text-decoration:underline}.toast{z-index:40;border:1px solid var(--green);background:var(--green-dark);color:var(--paper-light);box-shadow:var(--shadow);animation:toast-in .3s var(--ease-out) both;padding:12px 18px;font-size:13px;position:fixed;bottom:24px;right:24px}.site-footer{border-top:1px solid var(--line);max-width:1240px;color:var(--muted);justify-content:space-between;gap:20px;margin:0 auto;padding:24px 32px 45px;font-size:11px;display:flex}.site-footer>div{align-items:center;gap:11px;display:flex}.footer-mark{color:var(--seal);font-family:Noto Serif SC,serif;font-size:18px}@keyframes card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=820px){.header-inner{gap:12px;min-height:69px;padding:10px 18px}.wordmark small,.header-stamp{display:none}.primary-nav{gap:0}.nav-item{padding:8px;font-size:12px}.hero{background-position:68%;min-height:650px}.hero:before{content:"";background:#f5f1e894;position:absolute;inset:0}.hero-inner{z-index:1;align-items:center;min-height:650px;padding:58px 20px 45px;display:flex;position:relative}.hero-art{display:none}h1{font-size:45px}.hero-lede{font-size:15px}.catalog-section,.page-section{padding:54px 20px 76px}.section-heading{display:block}.section-note{text-align:left;margin-top:12px}.filter-bar{flex-direction:column;align-items:flex-start}.filter-group{flex-direction:column;align-items:flex-start;gap:7px;width:100%}.segmented{width:100%;overflow-x:auto}.segment{flex:none}.category-filter{flex-direction:row;align-items:center}.name-grid{grid-template-columns:1fr}.name-card-main{grid-template-columns:112px minmax(0,1fr);gap:15px}.given-name{font-size:37px}.name-lockup{min-height:117px;padding:11px 7px}.name-wish{font-size:16px}.name-meaning{min-height:0}.page-intro h1{font-size:41px}.favorites-layout,.compose-layout{grid-template-columns:1fr;gap:53px}.compose-preview{position:static}.picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog-header,.dialog-body{padding-left:20px;padding-right:20px}.character-detail-list{grid-template-columns:1fr}.site-footer{flex-direction:column;padding:22px 20px 32px}}@media (width<=600px),(width>=601px) and (width<=900px) and (height<=500px){.app-shell{padding-bottom:calc(62px + env(safe-area-inset-bottom))}.site-header{-webkit-backdrop-filter:none;backdrop-filter:none}.header-inner{min-height:60px;padding:8px 16px}.wordmark{min-height:44px}.wordmark-seal{width:40px;height:40px}.primary-nav{z-index:20;width:100%;height:calc(62px + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5f1e8f5;border-top:1px solid #d7d5c7e6;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin:0;display:grid;position:fixed;inset:auto 0 0}.nav-item{white-space:nowrap;border-top:2px solid #0000;border-bottom:0;flex-direction:column;justify-content:center;gap:2px;min-width:0;height:61px;min-height:44px;padding:6px 3px;font-size:11px;position:relative}.nav-item:hover,.nav-item.active{border-top-color:var(--seal)}.nav-item svg{display:block}.nav-count{position:absolute;top:3px;right:calc(50% - 24px)}.segment,.select-wrap select,.text-button,.icon-button,.tiny-love{min-height:44px}.segment{padding:8px 13px}.select-wrap select{min-width:120px;padding-top:8px;padding-bottom:8px}.icon-button{width:44px;height:44px}.text-button{padding-top:8px;padding-bottom:8px}.tiny-love{width:44px;margin-right:-10px}.character-heading,.source-line a{min-height:44px}.toast{right:16px;bottom:calc(76px + env(safe-area-inset-bottom));text-align:center;left:16px}.site-footer{margin-bottom:0}.name-dialog{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - 16px);border-bottom:0;border-left:0;border-right:0;border-radius:8px 8px 0 0;grid-template-rows:auto minmax(0,1fr);margin:auto 0 0;display:grid;position:fixed;inset:auto 0 0}.dialog-header{z-index:2;background:var(--paper-light);align-items:center;padding:17px 16px 14px;position:sticky;top:0}.dialog-header .eyebrow{margin-bottom:4px}.dialog-header h2{font-size:30px}.dialog-body{padding:21px 16px calc(28px + env(safe-area-inset-bottom));overscroll-behavior:contain}.dialog-intro .primary-button{width:100%}.poem-source blockquote{padding:14px 15px;font-size:17px}}@media (width<=600px){.hero{background-position:70%;min-height:calc(100svh - 112px)}.hero-inner{min-height:calc(100svh - 112px);padding:28px 16px 26px}.hero-copy>.eyebrow{margin-bottom:10px}h1{letter-spacing:.02em;margin-bottom:13px;font-size:34px}.hero-lede{margin-bottom:17px;font-size:15px;line-height:1.65}.surname-form label{margin-bottom:6px}.surname-row{gap:8px}.field-hint,.field-error{margin-top:5px}.hero-meta{flex-wrap:wrap;gap:6px;margin-top:15px}.catalog-section,.page-section{padding-top:38px;padding-bottom:80px}.section-heading{margin-bottom:22px}.section-heading h2,.block-heading h2{font-size:25px}.filter-bar{gap:10px;margin-bottom:22px;padding:11px 0}.filter-group{gap:5px}.segmented{gap:2px}.page-intro{margin-bottom:38px}.page-intro h1{font-size:36px}.page-intro h1 em{display:block}.favorites-layout,.compose-layout{gap:42px}.character-grid{gap:9px}.character-card{padding:12px}.saved-name-row{min-height:72px}.saved-name-main{min-height:56px}}@media (width<=420px){.wordmark strong{font-size:18px}h1{font-size:33px}.surname-row{flex-direction:column;align-items:stretch}.surname-row input{width:100%}.name-card{padding-left:16px;padding-right:16px}.name-card-main{grid-template-columns:93px minmax(0,1fr)}.given-name{font-size:31px}.family-name{font-size:17px}.name-foot{display:block}.read-more{margin-top:5px}.picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-name-main{display:block}.saved-name-main>span:last-child{margin-top:2px;display:block}}@media (width<=360px){h1{font-size:32px}.hero-lede{margin-bottom:13px;font-size:14px}.surname-row{flex-direction:row;align-items:stretch}.surname-row input{width:76px}.name-card-main{grid-template-columns:1fr;gap:0}.name-lockup{border-right:0;border-bottom:1px solid var(--line);min-height:96px}.name-copy{padding-top:13px}.character-grid{grid-template-columns:1fr}}@media (width>=601px) and (width<=900px) and (height<=500px){.header-inner{min-height:54px;padding-top:5px;padding-bottom:5px}.hero{min-height:calc(100svh - 110px)}.hero-inner{grid-template-columns:minmax(0,1fr);align-items:center;min-height:calc(100svh - 110px);padding:18px 26px 22px;display:grid}.hero-art{display:none}.hero-copy{grid-template-columns:minmax(0,.95fr) minmax(330px,1.05fr);grid-template-areas:"eyebrow form""title form""lede form""meta form";align-items:start;column-gap:32px;display:grid}.hero-copy>.eyebrow{grid-area:eyebrow;margin-bottom:7px}.hero-copy>h1{grid-area:title;margin-bottom:7px;font-size:31px}.hero-lede{grid-area:lede;margin-bottom:8px;font-size:13px;line-height:1.55}.surname-form{grid-area:form;align-self:center;width:100%;max-width:none}.surname-row{flex-direction:row}.surname-row input{width:92px;min-height:46px}.hero-meta{grid-area:meta;margin-top:8px;font-size:10px}.hero-meta strong{font-size:17px}.catalog-section,.page-section{padding-top:38px}.dialog-header,.dialog-body{padding-left:24px;padding-right:24px}}@media (width<=600px){.name-dialog[open]{overscroll-behavior:contain}body:has(.name-dialog[open]){overflow:hidden}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.hero-actions{margin:-12px 0 20px}.concept-search{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:760px;margin-bottom:18px;padding:24px 0}.concept-search label,.library-tools label{color:var(--ink-soft);margin-bottom:9px;font-size:14px;font-weight:600;display:block}.concept-row{gap:10px;display:flex}.concept-row input,.library-search input{border:1px solid var(--line);background:var(--paper-light);min-width:0;min-height:48px;color:var(--ink);border-radius:2px;flex:1;padding:10px 14px}.concept-chips{flex-wrap:wrap;gap:8px;margin-bottom:64px;display:flex}.concept-chip{border:1px solid var(--line);min-height:44px;color:var(--muted);background:0 0;border-radius:2px;padding:8px 15px}.concept-chip:hover,.concept-chip.active{border-color:var(--green);background:var(--green-pale);color:var(--green-dark)}.recommend-section{margin-top:74px}.smart-character-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.smart-character{border:1px solid var(--line);min-width:0;min-height:225px;color:var(--ink);text-align:left;transition:border-color .16s ease, transform .16s var(--ease-out);background:#fbfaf5ad;flex-direction:column;align-items:flex-start;padding:18px 16px;display:flex}.smart-character:hover{border-color:var(--green);transform:translateY(-2px)}.smart-glyph{color:var(--green-dark);font-family:Noto Serif SC,serif;font-size:52px;line-height:1.1}.smart-pinyin{color:var(--seal);margin-bottom:13px;font-family:Noto Serif SC,serif;font-size:13px}.smart-character strong{color:var(--green-dark);margin-bottom:7px;font-family:Noto Serif SC,serif;font-size:14px;font-weight:500;line-height:1.55}.smart-character small{color:var(--muted);font-size:11px;line-height:1.65}.smart-open{color:var(--seal);align-items:center;gap:5px;margin-top:auto;padding-top:12px;font-size:11px;display:inline-flex}.smart-name-list{border-top:1px solid var(--line)}.smart-name{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);column-gap:32px;min-height:132px;padding:21px 0;display:grid}.smart-name-heading{grid-row:span 2;grid-template-columns:minmax(0,1fr) 44px;align-items:center;column-gap:12px;display:grid}.smart-name-heading h3{color:var(--green-dark);margin:0;font-size:32px}.smart-name-heading p{color:var(--muted);grid-column:1;margin:2px 0 0;font-family:Noto Serif SC,serif;font-size:12px}.smart-name-heading .icon-button{grid-area:1/2/span 2}.smart-name>p{color:var(--ink-soft);margin:2px 0 13px;font-size:13px;line-height:1.8}.smart-reasons{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.smart-reasons span{background:var(--green-pale);color:var(--green-dark);padding:3px 8px;font-size:11px}.smart-reasons button{border:1px solid var(--line);background:var(--paper-light);width:44px;height:44px;color:var(--green-dark);font-family:Noto Serif SC,serif;font-size:19px}.library-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:28px;padding:18px 0}.library-search{align-items:center;gap:8px;max-width:720px;display:flex}.library-search>svg{color:var(--muted);pointer-events:none;margin-left:13px;position:absolute}.library-search input{padding-left:43px}.library-tools>p{color:var(--muted);margin:8px 0 0;font-size:12px}.library-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;display:grid}.library-card{border:1px solid var(--line);min-width:0;min-height:175px;color:var(--ink);text-align:left;transition:border-color .16s ease, transform .16s var(--ease-out);background:#fbfaf594;flex-direction:column;align-items:flex-start;padding:15px 12px;display:flex}.library-card:hover{border-color:var(--green);transform:translateY(-2px)}.library-card>span{color:var(--green-dark);font-family:Noto Serif SC,serif;font-size:42px;line-height:1.15}.library-card strong{color:var(--seal);font-family:Noto Serif SC,serif;font-size:12px;font-weight:500}.library-card small{color:var(--muted);margin:6px 0;font-size:10px}.library-card p{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.55}.load-more{min-width:280px;margin:34px auto 0;display:flex}.character-dialog .dialog-header h2{align-items:baseline;gap:12px;display:flex}.character-dialog .dialog-header h2 em{margin:0;font-size:45px}.character-dialog .dialog-header h2 span{color:var(--seal);font-size:17px}.meaning-block{border-bottom:1px solid var(--line);padding:22px 0}.meaning-block h3{color:var(--green-dark);margin-bottom:8px;font-size:19px}.meaning-block p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.9}.meaning-block.classical{border-left:2px solid var(--seal);background:#ece6d952;padding-left:17px}.meaning-block.classical p{color:var(--green-dark);font-family:Noto Serif SC,serif}.meaning-block small{color:var(--muted);margin-top:9px;display:block}.detail-words{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;display:grid}.detail-words div{gap:10px;min-width:0;display:flex}.detail-words strong{color:var(--green-dark);flex:0 0 72px;font-family:Noto Serif SC,serif;font-weight:500}.detail-words span{color:var(--muted);font-size:12px}.poem-example{border-top:1px solid var(--line);padding:16px 0 5px}.poem-example blockquote{margin:0 0 11px}.character-glyph-button{background:0 0;border:1px solid #0000;place-items:center;width:58px;min-height:58px;padding:0;display:grid}.remove-character{min-width:44px;min-height:44px;color:var(--seal);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;margin-top:7px;padding:6px 0;font-size:12px;display:inline-flex}.detail-favorite{width:100%;margin-top:25px}@media (width<=1000px){.header-inner{gap:18px}.primary-nav{gap:1px}.nav-item{padding-left:8px;padding-right:8px}.smart-character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=820px){.smart-character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.smart-name{grid-template-columns:1fr;gap:11px}.smart-name-heading{grid-row:auto}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=600px),(width>=601px) and (width<=900px) and (height<=500px){.primary-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.nav-item{text-align:center;gap:1px;min-width:0;padding:5px 1px;font-size:10px;line-height:1.2}.nav-item svg{width:15px;height:15px}.nav-count{top:2px;right:calc(50% - 21px)}.hero-actions .secondary-button,.concept-row .primary-button,.load-more,.detail-favorite{min-height:44px}.concept-search{margin-bottom:14px;padding:17px 0}.concept-row input,.library-search input{min-height:48px}.concept-chips{gap:6px;margin-bottom:45px}.concept-chip{padding:7px 12px}.recommend-section{margin-top:51px}.smart-character{min-height:210px;padding:15px 13px}.smart-glyph{font-size:45px}.smart-name{padding:18px 0}.smart-name-heading h3{font-size:28px}.library-tools{padding:14px 0}.library-grid{gap:8px}.library-card{min-height:154px;padding:12px 10px}.library-card>span{font-size:36px}.dialog-body .detail-words{grid-template-columns:1fr}}@media (width<=420px){.concept-row{flex-direction:column}.concept-row .primary-button{width:100%}.concept-chips{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.concept-chip{width:100%;padding:6px 3px;font-size:12px}.smart-character-grid{gap:8px}.smart-character{min-height:222px;padding:13px 10px}.smart-character strong{font-size:12px}.smart-character small{font-size:10px}.smart-name-heading h3{font-size:25px}.smart-reasons button{width:44px;height:44px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-card{min-height:151px}.load-more{width:100%;min-width:0}}@media (width<=360px){.header-inner{padding-left:8px;padding-right:8px}.wordmark{min-width:44px}.wordmark>span:last-child{display:none}.nav-item{font-size:9px}.smart-character-grid{grid-template-columns:1fr}.smart-character{min-height:190px}}
