@font-face{font-family:HomeSerif;src:url('../webfonts/home-noto-serif-sc.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:HomeSans;src:url('../webfonts/home-noto-sans-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:HomeSans;src:url('../webfonts/home-noto-sans-600.ttf') format('truetype');font-style:normal;font-weight:600 900;font-display:swap}
:root{--paper:#fbfaf7;--surface:#ffffff;--ink:#20304d;--muted:#58667d;--primary:#245be0;--deep:#183b92;--line:#dde4ef;--soft:#edf2fa;--accent:#ffd16e;--radius:14px;--header-height:76px;color-scheme:light;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Microsoft YaHei','PingFang SC',system-ui,sans-serif;font-size:15px;line-height:1.65}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--deep)}:focus-visible{outline:3px solid #245be0;outline-offset:4px}input{caret-color:var(--primary)}svg{display:block}i[aria-hidden]{pointer-events:none}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-70px;padding:12px 20px;background:var(--deep);color:#fff;z-index:100}.skip-link:focus{top:12px}
.site-header{height:var(--header-height);background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{height:38px;width:38px;color:var(--primary)}.brand-name{display:block;font-size:18px;font-weight:700;letter-spacing:.03em}.brand-sub{display:block;color:var(--muted);font-size:10px;letter-spacing:.16em;line-height:1.5}.desktop-nav{display:flex;gap:26px;align-items:center;font-size:13px;font-weight:600}.desktop-nav a{padding-block:12px;border-bottom:1px solid transparent}.desktop-nav a:hover{color:var(--primary);border-color:var(--primary)}.desktop-nav .nav-board{padding:9px 16px;border:1px solid var(--primary);border-radius:7px}.desktop-nav .nav-board:hover{background:var(--primary);color:#fff}.mobile-menu{display:none;position:relative}.mobile-menu summary{cursor:pointer;list-style:none;padding:10px;border:1px solid var(--line);border-radius:7px;font-size:13px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:calc(100% + 12px);width:225px;padding:10px;background:var(--surface);box-shadow:0 12px 32px #183b9220;border-radius:10px}.mobile-menu nav a{display:block;padding:11px 12px}.mobile-menu nav a:hover{background:var(--soft)}
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;padding-block:48px 36px}.hero h1{font-family:HomeSans,'Microsoft YaHei','PingFang SC',sans-serif;font-size:clamp(32px,3.1vw,44px);font-weight:600;line-height:1.55;letter-spacing:-.025em;margin:0 0 18px;text-wrap:balance}.hero h1 span{color:var(--primary)}.hero-copy>p{margin:0 0 25px;color:var(--muted);font-size:14px;line-height:1.9;max-width:40em}.search-form{display:flex;align-items:center;background:var(--surface);border:1px solid #bbcce8;border-radius:9px;padding:5px 6px 5px 17px;gap:12px;max-width:540px}.search-form:focus-within{outline:2px solid #245be020;border-color:var(--primary)}.search-form>i{color:var(--muted)}.search-form input{min-width:0;width:100%;border:0;outline:0;background:transparent;height:44px;color:var(--ink);font-size:14px}.search-form input::placeholder{color:#637087}.search-submit{background:var(--primary);border:0;border-radius:6px;color:#fff;min-width:72px;height:42px;font-weight:600}.search-submit:hover{background:var(--deep)}.search-clear{padding:7px;border:0;background:none;color:var(--muted);font-size:14px}.search-examples{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:12px;font-size:12px;color:var(--muted)}.search-examples button{border:0;border-bottom:1px solid #b7c7e3;padding:0 0 1px;background:none}.search-examples button:hover{color:var(--primary)}
.geometry-study{margin:0;position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}.geometry-art{width:100%;max-height:255px;overflow:visible}.geometry-study figcaption{display:flex;align-items:center;justify-content:space-between;margin-top:5px;padding-top:12px;border-top:1px solid #dce4f0;color:var(--muted);font-size:12px}.geometry-study figcaption span:last-child{letter-spacing:.14em;font-size:10px}.art-object{transform-origin:center;animation:settle .7s cubic-bezier(.16,1,.3,1) both}@keyframes settle{from{transform:translateY(7px)}to{transform:translateY(0)}}
.tool-strip{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:#fff;border-radius:var(--radius);margin-bottom:44px;overflow:hidden}.tool-entry{display:flex;align-items:center;gap:18px;padding:21px 28px;position:relative}.tool-entry+ .tool-entry{border-left:1px solid #cadbf4}.tool-icon{color:var(--accent);font-size:22px;width:30px;text-align:center}.tool-entry strong{font-weight:600;font-size:16px;display:block;letter-spacing:.03em}.tool-entry p{color:#dce8ff;margin:3px 0 0;font-size:12px}.tool-arrow{margin-left:auto;font-size:16px;color:var(--accent);transition:transform .18s}.tool-entry:hover{background:#173fba}.tool-entry:hover .tool-arrow{transform:translate(3px,-3px)}
.library{scroll-margin-top:100px}.library-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;gap:20px}.library-heading h2{font-size:27px;font-weight:600;letter-spacing:-.03em;margin:0 0 4px}.library-heading p{margin:0;color:var(--muted);font-size:13px}.view-tabs{display:flex;gap:6px;padding:4px;background:var(--soft);border-radius:8px;flex-shrink:0}.view-tabs button{border:0;border-radius:5px;background:transparent;padding:8px 14px;font-size:13px;color:#58667d}.view-tabs button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 2px 5px #183b920b;font-weight:600}.view-tabs i{margin-right:6px}.library-body{display:grid;grid-template-columns:182px minmax(0,1fr);gap:38px}.library-sidebar{position:sticky;top:100px;align-self:start}.sidebar-title{font-size:12px;color:var(--muted);margin:0 0 12px;padding-left:13px}.grade-nav{display:flex;flex-direction:column;gap:4px}.grade-nav a{display:flex;align-items:center;justify-content:space-between;min-height:43px;padding:8px 13px;font-size:14px;border-radius:7px;transition:background .15s}.grade-nav a span{font-variant-numeric:tabular-nums;color:#64728a;font-size:11px}.grade-nav a[aria-current=true]{background:var(--primary);color:#fff;font-weight:600}.grade-nav a[aria-current=true] span{color:#edf3ff}.grade-nav a:not([aria-current=true]):hover{background:var(--soft)}.sidebar-note{font-size:12px;line-height:1.9;color:var(--muted);padding:16px 13px 0;border-top:1px solid var(--line);margin:22px 0 0}.sidebar-note a{text-decoration:underline;text-underline-offset:4px}.mobile-grade{display:none}.topic-filter{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line)}.topic-filter button{background:none;border:0;color:var(--muted);padding:7px 12px;font-size:12px;border-radius:6px;min-height:36px}.topic-filter button[aria-pressed=true]{background:#e5edff;color:var(--deep);font-weight:600}.topic-filter button:hover{background:var(--soft);color:var(--primary)}.result-line{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:52px;color:var(--muted);font-size:12px}.result-line p{margin:0}.reset-filters{border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:12px;padding:8px 0}.grade-section{margin-bottom:27px;scroll-margin-top:100px}.grade-title{display:flex;align-items:center;gap:10px;margin:0 0 11px;font-size:15px;font-weight:600}.grade-title small{font-size:11px;font-weight:400;color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.course-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:11px;min-width:0;transition:border-color .18s,background .18s}.course-card:hover{border-color:#9db6e9;background:#fff}.course-link{display:block;padding:20px 44px 20px 20px;height:100%;min-height:144px}.course-topic{display:block;font-size:12px;color:var(--muted);margin-bottom:8px;letter-spacing:.06em}.course-link h4{font-size:17px;line-height:1.5;font-weight:600;margin:0 0 7px;text-wrap:pretty}.course-link p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.course-link .course-arrow{position:absolute;right:19px;bottom:19px;color:#245be0;font-size:12px;transition:transform .18s}.course-card:hover .course-arrow{transform:translateX(3px)}.favorite-button{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;background:none;color:#64728a;border-radius:5px;display:none}.js-ready .favorite-button{display:grid;place-items:center}.favorite-button:hover{background:var(--soft);color:var(--primary)}.favorite-button[aria-pressed=true]{color:var(--primary)}.empty-state{padding:48px 24px;background:var(--soft);border-radius:12px;text-align:center}.empty-state h3{font-size:20px;margin:0 0 10px}.empty-state p{color:var(--muted);font-size:14px;margin:0 0 20px}.plain-button{padding:10px 20px;border:1px solid var(--primary);border-radius:7px;background:var(--surface);font-size:13px}.plain-button:hover{background:var(--primary);color:#fff}.library-tip{color:var(--muted);font-size:12px;margin:10px 0 36px;line-height:1.8}.storage-message{color:#8a541f;font-size:12px;margin:8px 0}.no-script{padding:16px;background:var(--soft);border-radius:8px;font-size:13px}
.site-information{border-top:1px solid var(--line);margin-top:28px;padding-block:22px 32px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.site-information details{border-bottom:1px solid var(--line);padding:0 0 15px;margin-bottom:15px;scroll-margin-top:100px}.site-information summary{font-size:14px;font-weight:600;cursor:pointer;padding:5px 0}.info-body{font-size:13px;color:var(--muted);line-height:1.95;max-width:68ch;padding-top:8px}.info-body h3,.info-body h4,.info-body strong{color:var(--ink)}.info-body h4{font-size:14px;margin:20px 0 6px}.info-body p{margin:0 0 12px}.info-body ul{padding-left:20px}.info-body li{margin:8px 0}.info-body em{font-style:normal}.site-information .about-block{grid-row:span 2}.site-footer{border-top:1px solid var(--line);padding-block:22px 30px;color:var(--muted);font-size:11px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.footer-links{display:flex;flex-wrap:wrap;gap:8px 18px}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.footer-signature{letter-spacing:.04em}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100% - 32px);background:var(--deep);color:#fff;border-radius:8px;padding:12px 20px;font-size:13px;box-shadow:0 8px 28px #183b9222;z-index:50}.js-only{display:none}.js-ready .js-only{display:initial}
@media(min-width:1450px){.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-link{min-height:165px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.desktop-nav{gap:16px;font-size:12px}.brand-name{font-size:16px}.hero{gap:28px;padding-top:34px}.hero h1{font-size:34px}.hero-copy>p{font-size:13px}.library-body{grid-template-columns:155px minmax(0,1fr);gap:24px}.topic-filter{gap:2px}.topic-filter button{padding:7px 8px}.tool-entry{padding:19px 22px}.desktop-nav .nav-help{display:none}}
@media(max-width:800px){:root{--header-height:66px}.wrap{width:calc(100% - 40px)}.desktop-nav{display:none}.mobile-menu{display:block}.hero{grid-template-columns:1fr .7fr;gap:20px}.hero h1{font-size:29px}.hero-copy>p{font-size:12px}.search-examples{gap:10px}.geometry-art{min-height:160px}.geometry-study figcaption span:last-child{display:none}.tool-strip{margin-bottom:30px}.tool-entry{gap:11px;padding:16px}.tool-entry p{font-size:11px}.tool-entry strong{font-size:14px}.tool-icon{font-size:18px}.library-heading h2{font-size:23px}.library-sidebar{display:none}.library-body{display:block}.mobile-grade{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.mobile-grade select{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px 32px 9px 10px;max-width:165px;color:var(--ink);font-size:13px;min-height:42px}.mobile-filter-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.view-tabs button{padding:7px 10px}.result-line{min-height:46px}}
@media(max-width:560px){:root{--header-height:64px}.wrap{width:calc(100% - 36px)}.brand{gap:8px}.brand-mark{height:32px;width:32px}.brand-name{font-size:15px}.brand-sub{font-size:8px;letter-spacing:.12em}.mobile-menu summary{font-size:12px;padding:8px}.hero{display:block;padding:28px 0 22px}.hero h1{font-size:29px;line-height:1.55;margin-bottom:14px}.hero-copy>p{margin-bottom:19px;max-width:30em;font-size:12px}.geometry-study{display:none}.search-form{padding-left:13px;gap:9px}.search-form input{font-size:13px;min-height:42px}.search-submit{min-width:58px}.search-examples{font-size:11px}.tool-strip{border-radius:11px;margin-bottom:28px}.tool-entry{padding:15px 13px;display:block}.tool-icon{display:none}.tool-entry strong{font-size:13px;margin-bottom:5px}.tool-entry p{font-size:11px;line-height:1.6;padding-right:9px}.tool-arrow{position:absolute;right:12px;top:17px;font-size:10px}.library-heading{align-items:start;margin-bottom:15px;flex-wrap:wrap;gap:15px}.library-heading h2{font-size:22px}.library-heading p{font-size:12px}.view-tabs{width:100%;justify-content:space-between}.view-tabs button{flex:1;min-height:36px;font-size:12px}.mobile-filter-row{margin-bottom:10px}.mobile-grade{width:100%;justify-content:space-between}.mobile-grade select{max-width:180px;flex:1}.topic-filter{gap:3px;padding-bottom:12px}.topic-filter button{padding:6px 9px;font-size:11px;min-height:34px}.course-grid{grid-template-columns:1fr;gap:9px}.course-link{padding:17px 46px 17px 17px;min-height:126px}.course-link h4{font-size:15px}.course-link p{font-size:12px}.course-topic{font-size:10px;margin-bottom:6px}.favorite-button{width:40px;height:40px;top:4px;right:4px}.grade-section{margin-bottom:24px}.grade-title{font-size:14px}.site-information{grid-template-columns:1fr;gap:0}.site-information .about-block{grid-row:auto}.site-footer{font-size:10px}.footer-inner{align-items:start}.footer-links{gap:7px}.footer-signature{width:100%}.toast{font-size:12px;bottom:16px;width:max-content}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body{font-family:HomeSans,'Microsoft YaHei','PingFang SC',system-ui,sans-serif}
.result-line p{min-width:0;overflow-wrap:anywhere}.reset-filters{flex-shrink:0}
html:not(.js-ready) .search-form,html:not(.js-ready) .search-examples,html:not(.js-ready) .view-tabs,html:not(.js-ready) .mobile-filter-row,html:not(.js-ready) .topic-filter,html:not(.js-ready) #storage-note{display:none}
@media(max-width:560px){.hero{padding-block:22px 18px}.tool-entry{padding-block:13px}.tool-strip{margin-bottom:20px}.library-heading{gap:12px;margin-bottom:12px}.topic-filter{padding-bottom:8px}.result-line{min-height:40px}.search-examples{margin-top:9px}}
@media(max-width:360px){.view-tabs button{padding-inline:5px;white-space:nowrap}.tool-entry{padding-inline:11px}.tool-entry strong{font-size:12px;letter-spacing:0;white-space:nowrap}.tool-arrow{display:none}.tool-entry p{padding-right:0}}
@media(min-width:801px){.hero{padding-block:20px 18px}.hero h1{line-height:1.28;margin-bottom:12px}.hero-copy>p{margin-bottom:16px}.tool-strip{margin-bottom:24px}.tool-entry{padding-block:18px}.library-heading{margin-bottom:16px}.library-heading h2{line-height:1.25}.geometry-art{max-height:208px}.topic-filter{padding-bottom:12px}.result-line{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Bright geometry: clear blue actions with warm, restrained accents. */
.hero h1{letter-spacing:-.025em;font-weight:700}.hero h1 span{color:var(--primary)}
.brand-sub{font-size:11px;letter-spacing:.06em}.brand-mark{width:39px;height:39px}
.geometry-study figcaption{justify-content:center;border:0;font-size:12px;margin-top:4px;padding-top:6px;color:#536686}
.tool-strip{background:none;color:var(--ink);gap:14px;overflow:visible;border-radius:0}
.tool-entry{border:1px solid #d5e3fc;background:#edf3ff;border-radius:14px;padding-block:18px}
.tool-entry+.tool-entry{border:1px solid #efddc6;background:#fff3e3}
.tool-entry p{color:#496084;font-size:13px}.tool-entry+.tool-entry p{color:#765835}
.tool-icon{color:#245be0}.tool-entry+.tool-entry .tool-icon{color:#b86822}
.tool-arrow{color:#245be0}.tool-entry+.tool-entry .tool-arrow{color:#a45a19}
.tool-entry:hover{background:#e1ebff}.tool-entry+.tool-entry:hover{background:#ffecd1}
.course-card{border-radius:14px}.course-card:hover{border-color:#91afe9;background:#fff}
.course-topic{display:flex;align-items:center;gap:7px;color:#536785}
.course-topic::before{content:"";width:8px;height:8px;border-radius:50%;background:#6b94ef;flex-shrink:0}
.course-card[data-course-topic="measure"] .course-topic::before{background:#d39a2f;border-radius:2px}
.course-card[data-course-topic="motion"] .course-topic::before{background:#ce735f;transform:rotate(45deg);border-radius:2px}
.course-card[data-course-topic="space"] .course-topic::before{background:#6588bf;border-radius:2px}
.course-card[data-course-topic="number"] .course-topic::before{background:#b57a36;border-radius:2px}
.course-card[data-course-topic="practice"] .course-topic::before{background:#c47861}
.favorite-button[aria-pressed=true]{color:#a86108;background:#fff3d5}
.search-form{border-radius:12px}.search-submit{border-radius:8px}
.topic-filter button{font-size:13px;min-height:40px}.course-link{min-height:150px}
@media(min-width:801px){.hero{padding-block:24px 22px}.hero h1{font-size:clamp(34px,3vw,43px);line-height:1.35}.geometry-art{max-height:220px}}
@media(max-width:800px){.tool-entry p{font-size:12px}.brand-sub{font-size:10px}}
@media(max-width:560px){.hero h1{font-size:29px;line-height:1.45}.hero-copy>p{font-size:13px;line-height:1.85}.brand-sub{font-size:9px}.brand-mark{width:32px;height:32px}.tool-strip{gap:9px}.tool-entry{padding:14px 11px}.tool-entry strong{font-size:12px;letter-spacing:0}.tool-entry p{font-size:11px;padding:0}.tool-arrow{display:none}.course-topic{font-size:11px}.course-link h4{font-size:16px}.course-link p{font-size:13px}.course-link{min-height:132px}.topic-filter button{font-size:12px;padding-inline:8px;min-height:36px}}
