:root{color-scheme:light;--ink:#1d2925;--muted:#6d7770;--line:#dde4dc;--paper:#f7f8f3;--white:#fff;--green:#315b48;--green-dark:#213e33;--lime:#ddedbd;--soft:#edf3e9;--accent:#da713e;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}[hidden],.hidden{display:none!important}:focus-visible{outline:3px solid #83ad82;outline-offset:3px}.overlay{position:fixed;inset:0}
.site-header{height:82px;padding:0 clamp(20px,4vw,72px);display:flex;align-items:center;gap:42px;border-bottom:1px solid var(--line);background:rgba(247,248,243,.96);position:sticky;top:0;z-index:100;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;min-width:205px}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-size:23px;line-height:1.12;letter-spacing:.04em}.brand small{font-size:9px;letter-spacing:.24em;color:var(--green);font-weight:800;margin-top:3px}.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--green);position:relative;display:block;box-shadow:0 6px 14px #315b4830}.brand-trunk{position:absolute;left:18px;top:11px;width:2px;height:19px;background:#f6fff1;transform:rotate(-9deg);transform-origin:bottom}.brand-trunk:before,.brand-trunk:after{content:"";position:absolute;width:11px;height:2px;background:#f6fff1;top:8px;left:-10px;transform:rotate(30deg)}.brand-trunk:after{left:0;top:5px;transform:rotate(-37deg)}.brand-leaf{position:absolute;width:8px;height:10px;border-radius:9px 1px 9px 1px;background:#dcf2aa}.brand-leaf.one{left:7px;top:8px;transform:rotate(-28deg)}.brand-leaf.two{left:19px;top:4px;transform:rotate(18deg)}.brand-leaf.three{left:27px;top:12px;transform:rotate(45deg)}.main-nav{display:flex;align-items:center;gap:8px;margin:auto}.nav-link{border:0;background:transparent;color:#526158;border-radius:12px;padding:11px 15px;font-size:13px;font-weight:700;white-space:nowrap}.nav-link:hover,.nav-link.active{background:#e4ebdf;color:var(--green-dark)}.account-box{display:flex;align-items:center;gap:15px;font-size:12px;color:var(--muted);white-space:nowrap}.login-link{color:var(--green);font-weight:750;border:1px solid #afc5af;padding:10px 13px;border-radius:9px}.login-link:hover{background:var(--soft)}.text-button{border:0;background:transparent;color:var(--green);font-weight:700}
.page-shell{max-width:1536px;margin:auto;padding:0 clamp(20px,4vw,72px)}.hero{margin:28px 0 74px;min-height:450px;border-radius:24px;overflow:hidden;background:#e9efe5;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);position:relative}.hero:before{content:"";position:absolute;width:600px;height:600px;border:1px solid #c9d9c0;border-radius:50%;left:-330px;bottom:-360px}.hero-copy{position:relative;z-index:1;padding:70px 32px 62px clamp(35px,6vw,92px)}.eyebrow,.overline{font-size:11px;letter-spacing:.16em;font-weight:850;color:#4a755b}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow-line{display:block;width:23px;height:1px;background:#77a575}.hero h1{font-size:clamp(36px,4vw,62px);line-height:1.25;letter-spacing:-.055em;margin:24px 0 20px}.hero h1 em{font-style:normal;color:var(--green)}.hero-copy>p{font-size:16px;line-height:1.9;color:#56645b;max-width:530px;margin:0}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:32px}.hero-actions>span{font-size:12px;color:#77857a}.primary-button,.secondary-button{border-radius:10px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-size:13px;font-weight:800;min-height:44px}.primary-button{background:var(--green);color:white;border:1px solid var(--green);box-shadow:0 8px 15px #315b4823}.primary-button:hover{background:var(--green-dark)}.secondary-button{background:white;color:var(--green);border:1px solid #b9cbbb}.secondary-button:hover{background:var(--soft)}.hero-art{position:relative;min-height:450px;background:radial-gradient(circle at 56% 55%,#eff7df 0,#dbe9cf 44%,#cbdcc4 100%);overflow:hidden}.orbit{position:absolute;border:1px dashed rgba(55,98,67,.23);border-radius:50%;width:570px;height:570px;left:calc(50% - 285px);top:calc(50% - 285px)}.orbit-two{width:370px;height:370px;left:calc(50% - 185px);top:calc(50% - 185px);transform:rotate(25deg)}.art-book{position:absolute;width:250px;height:320px;left:calc(50% - 125px);top:calc(50% - 144px);transform:rotate(-8deg);filter:drop-shadow(18px 22px 22px #315b4850)}.art-book-cover{position:absolute;inset:0 0 0 18px;background:linear-gradient(130deg,#48725a,#204536 75%);border-radius:6px 13px 13px 5px;display:flex;flex-direction:column;padding:28px;color:#eef4e9;border-left:2px solid #9abf92}.art-book-cover:after{content:"";position:absolute;bottom:40px;right:35px;width:80px;height:115px;border:1px solid #b6d5a475;border-radius:45% 45% 8px 8px;transform:rotate(23deg)}.art-book-cover span,.art-book-cover small{font-size:11px;letter-spacing:.2em;opacity:.75}.art-book-cover strong{font-size:27px;line-height:1.35;margin:auto 0;letter-spacing:.08em}.art-book-spine{position:absolute;left:0;top:12px;bottom:-8px;width:28px;background:#16392a;transform:skewY(-12deg);border-radius:4px}.art-node{position:absolute;z-index:2;border:1px solid #cfddcb;border-radius:10px;background:#fffffff0;box-shadow:0 10px 25px #315b4820;padding:10px 13px;font-size:11px;font-weight:750;display:flex;align-items:center;gap:7px}.art-node i{width:7px;height:7px;border-radius:50%;background:#79a974}.art-node-a{left:9%;top:18%}.art-node-b{right:8%;top:30%}.art-node-c{right:12%;bottom:15%}.art-root{position:absolute;width:150px;height:180px;left:calc(50% - 65px);bottom:-130px;border:2px solid #76a276;border-radius:50%}.notice{padding:13px 17px;background:#fff5e6;border:1px solid #ead5a9;color:#725b2b;border-radius:11px;margin-bottom:22px;font-size:13px}
.workspace{min-height:420px}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.section-heading h2{font-size:32px;margin:8px 0 7px;letter-spacing:-.03em}.section-heading p{font-size:13px;color:var(--muted);margin:0;line-height:1.7}.summary-chips{display:flex;gap:8px;flex-wrap:wrap}.summary-chips span{font-size:12px;color:#4f6656;border:1px solid #d5e3d2;background:#ecf3e9;padding:8px 11px;border-radius:99px}.shelf-controls{display:flex;gap:12px;margin-bottom:24px}.search-field{min-width:240px;flex:1;background:white;display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:0 14px;border-radius:10px}.search-field>span{font-size:21px;color:#8a9889}.search-field input{height:44px;border:0;outline:0;width:100%;font-size:13px;background:transparent}.shelf-controls select{background:white;border:1px solid var(--line);padding:0 15px;border-radius:10px;color:#41564a;min-width:125px;font-size:13px}.shelf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.book-card{border:1px solid var(--line);border-radius:15px;background:white;min-height:242px;padding:18px;display:flex;gap:17px;text-align:left;align-items:flex-start;box-shadow:0 8px 22px #25483408;transition:transform .2s,box-shadow .2s}.book-card:hover{transform:translateY(-3px);box-shadow:0 13px 29px #2548341c}.book-cover,.book-heading-cover{width:105px;height:146px;flex:none;border-radius:4px 9px 9px 4px;overflow:hidden;background:linear-gradient(150deg,#617960,#304f3d);box-shadow:7px 8px 15px #315b4835;color:#e9f3e4;position:relative}.book-cover:before,.book-heading-cover:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:#1b3b2a80;z-index:1}.book-cover img,.book-heading-cover img{display:block;width:100%;height:100%;object-fit:cover}.cover-fallback{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:14px 10px 10px 15px}.cover-fallback small{font-size:8px;letter-spacing:.1em}.cover-fallback b{font-size:16px;line-height:1.4}.cover-fallback span{font-size:8px}.book-card-copy{min-width:0;display:flex;flex-direction:column;min-height:150px}.book-card-copy>small{font-size:10px;color:var(--green);font-weight:800;letter-spacing:.05em}.book-card-copy>strong{font-size:17px;line-height:1.45;margin:10px 0 5px;overflow-wrap:anywhere}.book-card-copy>span{font-size:11px;color:var(--muted)}.book-card-copy>em{font-size:11px;color:var(--green);font-style:normal;font-weight:750;margin-top:auto}.empty-state{background:white;border:1px dashed #cdd8cd;border-radius:15px;padding:50px;text-align:center;color:var(--muted)}
.back-link{border:0;background:transparent;color:var(--green);font-weight:750;padding:6px 0;margin-bottom:22px}.book-heading{display:flex;align-items:center;gap:28px;border-radius:18px;background:linear-gradient(105deg,#e4eee0,#f2f5ec);padding:28px 34px;margin-bottom:24px}.book-heading-cover{width:132px;height:180px}.book-heading-copy{flex:1;min-width:0}.book-heading h2{font-size:35px;margin:12px 0}.book-heading p{color:#5b6b60;font-size:13px}.book-actions{display:flex;gap:10px;margin-top:24px}.book-stats{display:grid;gap:11px;min-width:132px}.book-stats span{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#69796b}.book-stats b{font-size:25px;color:var(--green-dark)}.book-workspace{display:grid;grid-template-columns:minmax(270px,330px) minmax(0,1fr);gap:18px;align-items:start}.chapter-panel,.section-panel{border:1px solid var(--line);background:white;border-radius:14px;min-height:480px}.panel-title{display:flex;justify-content:space-between;padding:22px;border-bottom:1px solid var(--line);align-items:center}.panel-title span{font-size:15px;font-weight:850}.panel-title small{font-size:10px;color:var(--muted)}.chapter-list{padding:12px}.chapter-group{margin-bottom:7px}.chapter-head{background:#eff4eb;border:0;color:#2f5541;border-radius:8px;padding:12px;width:100%;text-align:left;font-size:12px;font-weight:800}.chapter-head small{float:right;color:#748772}.section-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:11px 10px 11px 18px;border:0;background:white;color:#55645b;text-align:left;font-size:12px;line-height:1.4;border-radius:7px}.section-link:hover,.section-link.active{background:#e9f1e5;color:#214333}.section-link small{font-size:10px;color:#819385}.section-panel{padding:25px 30px}.section-topline{display:flex;justify-content:space-between;color:#7b8b7f;font-size:11px}.section-panel h3{font-size:26px;margin:16px 0 9px;line-height:1.35}.section-description{font-size:13px;color:var(--muted);line-height:1.75}.section-actions{display:flex;gap:10px;margin:20px 0 26px}.record-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);overflow:auto}.record-tab{background:transparent;border:0;color:#7a877e;padding:0 0 11px;white-space:nowrap;font-size:12px;font-weight:750;border-bottom:2px solid transparent}.record-tab.active{color:var(--green);border-color:var(--green)}.record-list{min-height:135px;padding:15px 0}.record-card{border:1px solid #e3e9e1;border-radius:10px;padding:16px;margin:9px 0;background:#fbfcf8}.record-head{display:flex;justify-content:space-between;gap:8px}.record-kind{font-size:10px;font-weight:800;color:#4b7557}.record-head time{font-size:10px;color:#9aa69a}.record-card h4{font-size:14px;margin:8px 0 6px}.record-card p{font-size:12px;line-height:1.7;white-space:pre-wrap;color:#617167;margin:0}.record-card a{font-size:11px;color:#315b48;text-decoration:underline;overflow-wrap:anywhere}.record-actions{display:flex;gap:12px;margin-top:12px}.record-actions button{border:0;background:transparent;color:#6c866f;font-size:11px;padding:0}.record-actions button:hover{text-decoration:underline}.record-empty{font-size:12px;color:#8b988e;line-height:1.8;padding:25px 0}.ai-card{background:#f0f4ed;border:1px solid #dce9db;border-radius:12px;padding:19px;margin-top:14px}.ai-card-head{display:flex;gap:11px;align-items:center}.ai-spark{width:35px;height:35px;background:var(--green);color:white;border-radius:10px;display:grid;place-items:center;font-size:20px}.ai-card-head div{display:flex;flex-direction:column}.ai-card-head strong{font-size:13px}.ai-card-head small{font-size:10px;color:#819183;margin-top:3px}.ai-card label{display:block;font-size:12px;margin:15px 0 8px;color:#496351}.ai-input-line{display:flex;gap:8px}.ai-input-line input{flex:1;min-width:0;border:1px solid #ccdacb;border-radius:8px;padding:11px;background:white;font-size:12px}.ai-input-line button{border:0;background:var(--green);color:white;border-radius:8px;font-size:12px;font-weight:750;padding:0 15px}.ai-answer{white-space:pre-wrap;font-size:12px;line-height:1.8;margin-top:15px;border-top:1px solid #d4e2d2;padding-top:13px}
.map-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.map-card{background:white;border:1px solid var(--line);border-radius:13px;padding:22px}.map-card header{display:flex;justify-content:space-between;align-items:center;gap:15px}.map-card h3{font-size:17px;margin:0}.map-card small{color:var(--muted);font-size:11px}.map-card button{border:0;background:var(--soft);color:var(--green);border-radius:7px;padding:8px;font-size:11px;font-weight:800}.map-branch{margin:16px 0 0 10px;padding-left:18px;border-left:2px solid #c6dbc5}.map-branch p{font-size:12px;margin:0 0 12px;position:relative}.map-branch p:before{content:"";position:absolute;left:-24px;top:4px;width:10px;height:10px;border:2px solid #8cb692;border-radius:50%;background:white}.map-branch span{font-size:10px;color:#84a086;margin-left:7px}.review-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.review-columns section{background:white;border:1px solid var(--line);border-radius:13px;padding:21px}.review-columns h3{font-size:16px;margin:0 0 16px}.review-columns h3 span{color:var(--green)}.review-item{border-top:1px solid var(--line);padding:14px 0}.review-item strong{font-size:13px}.review-item p{font-size:11px;color:var(--muted);margin:5px 0 8px}.review-item button{border:0;color:var(--green);background:#eaf2e7;padding:7px 10px;border-radius:7px;font-size:11px;font-weight:750}.site-footer{margin-top:85px;padding:28px clamp(20px,4vw,72px);border-top:1px solid var(--line);display:flex;align-items:center;gap:25px;font-size:12px;color:var(--muted)}.site-footer strong{font-size:17px;color:var(--ink)}.site-footer strong span{font-size:10px;color:var(--green);letter-spacing:.12em}.site-footer a{margin-left:auto;color:var(--green);font-weight:800}
.record-dialog{border:1px solid var(--line);border-radius:17px;width:min(530px,calc(100vw - 24px));padding:0;box-shadow:0 25px 80px #15291e45}.record-dialog::backdrop{background:#14271b80}.record-dialog form{padding:26px}.dialog-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.dialog-heading h2{font-size:21px;margin:7px 0}.dialog-close{border:0;background:transparent;font-size:27px;color:#78907c}.record-dialog label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750;margin:13px 0}.record-dialog input,.record-dialog select,.record-dialog textarea{border:1px solid #cfdacf;border-radius:8px;padding:11px;font-size:13px;width:100%;background:white;color:var(--ink)}.record-dialog textarea{resize:vertical}.dialog-actions{display:flex;justify-content:end;gap:9px;margin-top:21px}
.library-resources{margin:0 0 20px;padding:13px 15px;background:#f6f8f1;border:1px solid #e0e9d8;border-radius:10px}.library-resources:empty{display:none}.library-resources>strong{display:block;color:#46644d;font-size:12px;margin-bottom:9px}.library-resource-list{display:flex;flex-wrap:wrap;gap:7px}.library-resource-list a{display:inline-flex;align-items:center;max-width:100%;border:1px solid #cadcc5;background:white;color:#3f654c;border-radius:7px;padding:7px 9px;font-size:11px;overflow-wrap:anywhere}.library-resource-list a:hover{background:#e8f0e4}
.map-card:has(.map-unit){grid-column:1/-1}.map-unit{padding:0 0 8px 0}.map-unit p{font-weight:800!important;color:#315b48}.map-section{display:block;background:transparent!important;border:0!important;text-align:left;color:#46634d!important;padding:6px 0 6px 13px!important;font-size:12px!important}.map-section:hover{text-decoration:underline}.map-leaf{display:block;margin:0 0 8px 27px;border-left:1px solid #c5d9c6;padding:4px 10px;font-size:11px;color:#6d836f}
@media(max-width:1100px){.site-header{gap:13px}.brand{min-width:160px}.account-box>span{display:none}.hero{grid-template-columns:1fr 40%}.hero-art{min-height:420px}.hero-copy{padding:60px 25px 55px 40px}.shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-card{flex-direction:column}.book-card-copy{min-height:105px}.book-cover{width:89px;height:120px}.book-stats{display:none}}
@media(max-width:760px){.site-header{height:auto;min-height:72px;padding:10px 16px;flex-wrap:wrap;gap:5px}.brand{min-width:0;margin-right:auto}.brand strong{font-size:19px}.brand-mark{width:33px;height:33px}.main-nav{order:3;width:100%;justify-content:center;overflow:auto}.nav-link{font-size:11px;padding:9px 12px}.login-link{font-size:10px;padding:8px}.page-shell{padding:0 15px}.hero{grid-template-columns:1fr;margin:16px 0 44px;min-height:auto}.hero-copy{padding:40px 23px 34px}.hero h1{font-size:36px}.hero-copy>p{font-size:13px}.hero-actions>span{display:none}.hero-art{min-height:190px}.art-book{transform:rotate(-8deg) scale(.55);transform-origin:top left;left:calc(50% - 70px);top:20px}.orbit{transform:scale(.7);transform-origin:center;top:-170px}.orbit-two{transform:scale(.7)}.art-node{font-size:9px;padding:6px}.art-node-a{left:6%;top:10%}.art-node-b{right:7%;top:21%}.art-node-c{right:8%;bottom:12%}.section-heading{align-items:start;flex-direction:column}.section-heading h2{font-size:26px}.shelf-controls{flex-wrap:wrap}.search-field{width:100%;flex:auto}.shelf-controls select{flex:1;min-width:0;height:41px}.shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.book-card{padding:13px;min-height:238px}.book-card-copy>strong{font-size:14px}.book-heading{padding:17px;gap:15px}.book-heading-cover{width:85px;height:116px}.book-heading h2{font-size:22px}.book-heading p{display:none}.book-actions{margin-top:12px;flex-wrap:wrap}.book-actions button{font-size:10px;padding:8px;min-height:34px}.book-workspace{grid-template-columns:1fr}.chapter-panel{min-height:0}.section-panel{padding:20px;min-height:0}.section-panel h3{font-size:22px}.section-actions{flex-wrap:wrap}.map-books,.review-columns{grid-template-columns:1fr}.site-footer{gap:8px;flex-wrap:wrap;margin-top:55px}.site-footer p{width:100%;order:3;margin:0}.site-footer a{margin-left:auto}}
@media(max-width:390px){.shelf-grid{grid-template-columns:1fr}.book-card{flex-direction:row;min-height:150px}.book-card-copy{min-height:120px}.hero h1{font-size:31px}}
