:root{color:#233d4a;font-synthesis:none;background:#f3f8f6;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #ff9a59}h1,h2,h3,p{margin-top:0}.site-shell{background:radial-gradient(circle at 5% 5%,#e3f4ff 0,#0000 27%),radial-gradient(circle at 95% 89%,#faefd9 0,#0000 28%),#f4f8f5;min-height:100vh;overflow:hidden}.topbar,.page-grid,.site-footer{max-width:1360px;margin:auto}.topbar{justify-content:space-between;align-items:center;height:92px;padding:0 42px;display:flex}.brand{color:#243c49;letter-spacing:.02em;align-items:center;gap:13px;font-size:22px;font-weight:800;line-height:1.2;text-decoration:none;display:flex}.brand small{color:#79929d;letter-spacing:.1em;margin-top:5px;font-size:12px;font-weight:500;display:block}.brand-mark{color:#fff;background:#ff7655;border-radius:15px;place-items:center;width:48px;height:48px;font-family:serif;font-size:28px;display:grid;transform:rotate(-5deg);box-shadow:0 6px 14px #ff76554a}.top-note{color:#78939e;font-size:13px;font-weight:600}.page-grid{grid-template-columns:minmax(280px,365px) minmax(0,1fr);align-items:stretch;gap:26px;padding:10px 42px 24px;display:grid}.intro-card,.workspace{border-radius:32px;box-shadow:0 14px 40px #34597013}.intro-card{background:linear-gradient(155deg,#ccefff 0%,#e4f7f4 49%,#fdf0ce 100%);min-height:650px;padding:52px 34px 30px;position:relative;overflow:hidden}.intro-card:before,.intro-card:after{content:"";background:#fff8;border-radius:50%;position:absolute}.intro-card:before{width:160px;height:160px;top:-48px;right:-55px}.intro-card:after{width:95px;height:95px;top:170px;left:-65px}.eyebrow{color:#ff7756;letter-spacing:.16em;font-size:13px;font-weight:800}.intro-card h1{z-index:1;letter-spacing:-.04em;margin:18px 0 20px;font-size:clamp(35px,3.6vw,52px);line-height:1.25;position:relative}.intro-card h1 em{color:#168fc2;font-style:normal}.intro-copy{z-index:1;color:#587784;max-width:270px;font-size:16px;line-height:1.8;position:relative}.sun{color:#ffc054;font-size:75px;line-height:1;position:absolute;top:54px;right:30px}.illustration{height:290px;position:absolute;inset:auto 0 65px;overflow:hidden}.hill{background:#79caa9;border-radius:50%;width:450px;height:220px;position:absolute;bottom:-105px;left:-65px}.hill-two{background:#aad7a4;bottom:-120px;left:160px}.book-emoji{filter:drop-shadow(0 16px 7px #4b866c40);font-size:122px;position:absolute;bottom:43px;left:95px;transform:rotate(-12deg)}.sparkle{color:#fff8d4;font-size:34px;position:absolute}.sparkle-one{top:43px;left:70px}.sparkle-two{font-size:24px;top:20px;right:90px}.intro-footer{z-index:1;color:#426877;letter-spacing:.06em;font-size:12px;font-weight:700;position:absolute;bottom:30px;left:34px}.dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.dot-orange{background:#ffa979}.dot-blue{background:#57b6db}.dot-green{background:#80ca8f}.workspace{background:#fff;min-height:650px;padding:37px 38px 34px}.workspace-heading,.detail-heading{justify-content:space-between;align-items:center;display:flex}.workspace h2{letter-spacing:-.025em;margin:7px 0 25px;font-size:clamp(24px,2.4vw,33px)}.leaf{color:#67bf78;background:#e7f7df;border-radius:18px;place-items:center;width:55px;height:55px;font-size:31px;display:grid;transform:rotate(8deg)}.mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.mode-tab{color:#35515d;text-align:left;background:#f4f8fa;border:2px solid #0000;border-radius:20px;flex-direction:column;align-items:flex-start;gap:4px;min-height:128px;padding:17px 16px;transition:transform .18s,border-color .18s,background .18s;display:flex}.mode-tab:hover,.candidate-card:hover{transform:translateY(-3px)}.mode-tab.active{background:#e6f6fc;border-color:#4fa9d1;box-shadow:0 5px #d1ebf5}.mode-tab span{color:#2389bc;background:#fff;border-radius:11px;place-items:center;width:34px;height:34px;font-family:serif;font-size:22px;font-weight:700;display:grid}.mode-tab b{font-size:16px}.mode-tab small{color:#7d949e;font-size:11px;line-height:1.3}.search-form{align-items:end;gap:12px;margin-top:28px;display:flex}.search-form label{color:#506976;flex:1;min-width:0;font-size:13px;font-weight:700}.search-form input{color:#24424f;background:#fbfdfe;border:1.5px solid #d7e4e8;border-radius:15px;outline:none;width:100%;height:56px;margin-top:9px;padding:0 16px;font-size:17px;display:block}.search-form input:focus{border-color:#58aad3;box-shadow:0 0 0 4px #66b9db24}.search-form input::placeholder{color:#a1b4bc}.radical-fields{flex:1;gap:12px;min-width:0;display:flex}.radical-fields label{flex:1}.search-button{color:#fff;background:#278fc0;border:0;border-radius:15px;min-width:142px;height:56px;padding:0 20px;font-size:15px;font-weight:800;box-shadow:0 8px 16px #278fc033}.search-button:hover{background:#1679ab}.search-button:disabled{opacity:.62;cursor:wait}.search-button span{margin-left:8px;font-size:20px}.examples{color:#7c939d;flex-wrap:wrap;align-items:center;gap:8px;margin-top:15px;font-size:12px;display:flex}.examples button{color:#4f7280;background:#f2f6f3;border:0;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.examples button:hover{background:#e1f1e8}.examples small{color:#91a3a9}.result-section{border-top:1px solid #edf1ef;min-height:220px;margin-top:27px;padding-top:23px}.result-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.result-heading h3{margin:0;font-size:17px}.result-heading span{color:#9aacb2;font-size:12px}.candidate-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;display:grid}.candidate-card{color:#243f4c;background:#fbfcf8;border:1.5px solid #e7ede9;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:132px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.candidate-card:hover{border-color:#75b9d6;box-shadow:0 10px 18px #397b9920}.candidate-card strong{font-family:Kaiti SC,KaiTi,serif;font-size:46px;font-weight:600;line-height:1.1}.candidate-card span{color:#268fbd;font-size:13px;font-weight:700}.candidate-card small{color:#92a4aa;font-size:11px}.welcome-state,.empty-state{text-align:center;color:#839aa3;padding:26px 15px}.welcome-state h3,.empty-state h3{color:#46616c;margin:8px 0;font-size:17px}.welcome-state p,.empty-state p{font-size:13px}.welcome-glyphs{color:#9dcbad;letter-spacing:.08em;font-family:serif;font-size:52px}.welcome-glyphs span{color:#6dbada}.empty-state>span{color:#a6d2df;font-size:56px;line-height:1}.message{color:#376b82;background:#edf7fb;border-radius:12px;padding:13px 16px;font-size:14px}.message.error{color:#b35a37;background:#fff0e9}.back-link{color:#408cb0;background:0 0;border:0;margin:0 0 25px;padding:0;font-size:13px;font-weight:700}.back-link:hover{text-decoration:underline}.detail-badge{color:#a36b26;background:#fff0d9;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:700}.detail-layout{grid-template-columns:minmax(190px,250px) minmax(0,1fr);gap:25px;display:grid}.hanzi-board{background:linear-gradient(90deg,#0000 calc(50% - .5px),#f5d9d0 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px)),linear-gradient(0deg,#0000 calc(50% - .5px),#f5d9d0 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px)),#fffdfb;border:2px solid #ffb390;border-radius:21px;flex-direction:column;justify-content:center;align-items:center;min-height:285px;display:flex;position:relative}.hanzi-pinyin{color:#278fbf;font-size:21px;font-weight:700;position:absolute;top:15px;left:18px}.hanzi-board strong{color:#203440;font-family:Kaiti SC,KaiTi,serif;font-size:145px;font-weight:500;line-height:1.1}.board-note{color:#9eaaa9;font-size:12px;position:absolute;bottom:13px}.detail-information{padding:5px 0}.fact-row{flex-wrap:wrap;gap:9px;display:flex}.fact-row span{color:#6e8b96;background:#eff7fa;border-radius:12px;padding:10px 12px;font-size:12px}.fact-row b{color:#2b596b;margin-left:4px;font-size:15px}.detail-information h3{margin:25px 0 12px;font-size:19px}.definitions{margin:0;padding:0;list-style:none}.definitions li{color:#3d5964;background:#f8faf5;border-radius:14px;align-items:baseline;gap:12px;margin:9px 0;padding:15px;font-size:16px;line-height:1.6;display:flex}.sense-reading{color:#258ebd;white-space:nowrap;font-size:13px;font-weight:700}.source-note{color:#9caeb4;margin-top:21px;font-size:11px}.site-footer{color:#93a7ae;text-align:center;padding:0 42px 22px;font-size:12px}@media (width<=960px){.topbar{padding:0 26px}.page-grid{grid-template-columns:minmax(240px,30%) minmax(0,1fr);gap:17px;padding:8px 26px 22px}.intro-card{padding:40px 25px}.workspace{padding:30px 26px}.mode-tab{min-height:120px;padding:12px}.mode-tab small{display:none}.search-form{flex-wrap:wrap}.search-button{min-width:100%}.detail-layout{grid-template-columns:1fr}.hanzi-board{min-height:235px}.hanzi-board strong{font-size:125px}}@media (width<=700px){.topbar{height:76px;padding:0 18px}.brand{font-size:17px}.brand-mark{width:41px;height:41px;font-size:24px}.top-note{display:none}.page-grid{padding:0 14px 18px;display:block}.intro-card{min-height:210px;margin-bottom:14px;padding:25px}.intro-card h1{margin:8px 0;font-size:31px}.intro-copy{max-width:70%;font-size:12px;line-height:1.5}.sun{font-size:53px;top:15px;right:20px}.illustration{width:42%;height:160px;bottom:15px;left:auto}.hill{width:230px;height:110px;bottom:-55px;left:0}.hill-two{bottom:-62px;left:80px}.book-emoji{font-size:66px;bottom:23px;left:50px}.sparkle,.intro-footer{display:none}.workspace{border-radius:26px;min-height:500px;padding:25px 20px}.workspace h2{margin-bottom:20px;font-size:23px}.mode-tabs{gap:7px}.mode-tab{text-align:center;border-radius:14px;align-items:center;min-height:91px;padding:9px 4px}.mode-tab span{width:30px;height:30px;font-size:18px}.mode-tab b{font-size:12px}.search-form{margin-top:22px}.search-form input,.search-button{height:50px}.radical-fields{gap:8px}.candidate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.candidate-card{min-height:112px}.candidate-card strong{font-size:38px}.site-footer{padding-bottom:18px}}@media (width<=390px){.intro-copy{max-width:77%}.workspace{padding:22px 15px}.radical-fields{flex-wrap:wrap}.radical-fields label{flex-basis:100%}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
