:root{--paper:#f5f1e8;--ink:#18252c;--muted:#7a817f;--line:#dcd8cd;--card:#fffdf8;--accent:#ee6c4d;--teal:#3a7772;--shadow:0 18px 35px rgba(24,37,44,.08)}*{box-sizing:border-box}html{background:#d8d8d2}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.45}button,input{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}.app-shell{max-width:520px;min-height:100vh;margin:0 auto;background:var(--paper);padding-bottom:92px;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 10px}.brand-lockup{display:flex;gap:10px;align-items:center}.brand-mark{display:grid;place-items:center;width:31px;height:31px;background:var(--ink);color:#f9f4e8;border-radius:50%;font-family:serif;font-size:17px}.brand-name{font-weight:800;letter-spacing:.06em;font-size:15px}.brand-meta{font-size:8px;letter-spacing:.18em;color:var(--muted);margin-top:1px}.icon-btn{font-size:25px;color:var(--muted);width:36px;height:36px}.hero{padding:34px 22px 22px}.hero-kicker,.section-kicker,.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--teal);font-weight:800}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:5px;vertical-align:1px}.hero h1{font-family:Georgia,"Songti SC",serif;font-size:42px;line-height:1.14;letter-spacing:-.05em;margin:18px 0 12px;font-weight:500}.hero h1 em{font-style:normal;color:var(--accent)}.hero-copy{font-size:13px;color:#66716f;line-height:1.7;max-width:325px;margin:0 0 22px}.search-wrap{height:50px;background:#fffdf8;border:1px solid #e4dfd2;box-shadow:0 7px 14px rgba(38,46,41,.05);border-radius:14px;display:flex;align-items:center;padding:0 14px;gap:8px}.search-icon{font-size:25px;color:var(--muted);line-height:0;transform:rotate(-15deg)}.search-wrap input{border:0;outline:0;flex:1;background:transparent;color:var(--ink);font-size:14px;min-width:0}.search-wrap input::placeholder{color:#a2a6a1}.clear-search{display:none;font-size:19px;color:var(--muted)}.suggestions{display:flex;gap:8px;align-items:center;margin-top:11px;color:#9a9a90;font-size:11px;overflow:auto;white-space:nowrap}.suggestions button{font-size:11px;color:var(--teal);background:#e4eeeb;padding:5px 9px;border-radius:99px}.daily-card{margin:0 22px 30px;padding:19px 18px 16px;background:var(--ink);color:#fbf7ed;border-radius:16px;box-shadow:var(--shadow);position:relative;overflow:hidden}.daily-card:after{content:'“';font-family:Georgia,serif;position:absolute;right:3px;top:-25px;color:rgba(255,255,255,.07);font-size:170px}.card-topline,.card-bottom{display:flex;align-items:center;justify-content:space-between}.daily-card .eyebrow{color:#e8a995}.bookmark{font-size:25px;color:#e8a995;line-height:1}.daily-card blockquote{font-family:Georgia,"Songti SC",serif;font-size:22px;line-height:1.4;margin:18px 0 7px;max-width:365px;position:relative;z-index:1}.quote-note{font-size:11px;color:#aebdb9;margin-bottom:17px}.card-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:13px;font-size:10px;color:#9eb3ae}.source-chip{background:rgba(238,108,77,.18);color:#f7b5a4;padding:4px 7px;border-radius:4px}.copy-mini{color:#f4c4b8;font-size:11px;padding:2px 0}.section-head{display:flex;justify-content:space-between;align-items:end;padding:0 22px;margin-bottom:15px}.section-head h2{font-size:22px;letter-spacing:-.04em;margin:4px 0 0}.text-btn{color:var(--teal);font-size:12px;padding-bottom:2px}.text-btn span{font-size:17px;margin-left:4px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:0 22px;margin-bottom:31px}.quick-card{min-height:123px;background:var(--card);border:1px solid #e9e4d9;border-radius:13px;text-align:left;padding:14px;position:relative;box-shadow:0 5px 15px rgba(26,36,38,.025)}.quick-card.accent{background:#f1e1d6;border-color:#f1e1d6}.quick-icon{display:block;color:var(--teal);font-size:19px;margin-bottom:14px}.quick-card strong{display:block;font-size:15px}.quick-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.quick-card .arrow{position:absolute;top:14px;right:14px;color:var(--muted);font-size:17px}.list-head{margin-bottom:12px}.segmented{background:#ebe7dc;padding:3px;border-radius:8px;display:flex;gap:2px}.segmented button{font-size:10px;color:#8b8c84;padding:5px 9px;border-radius:6px}.segmented button.active{background:#fffdf8;color:var(--ink);box-shadow:0 2px 5px rgba(0,0,0,.06)}.chips{display:flex;gap:7px;padding:0 22px 15px;overflow:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid #dedbd1;color:#7c827e;border-radius:99px;padding:7px 12px;font-size:11px;white-space:nowrap}.chip.active{background:var(--teal);border-color:var(--teal);color:#fff}.content-list{padding:0 22px;display:flex;flex-direction:column;gap:10px}.content-card{background:var(--card);border:1px solid #e8e3d9;border-radius:13px;padding:15px 15px 13px;position:relative}.content-card .type-line{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--teal);font-weight:700}.type-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.content-card h3{font-family:Georgia,"Songti SC",serif;font-size:18px;line-height:1.45;font-weight:500;margin:9px 26px 5px 0}.content-card .desc{font-size:11px;color:#7d8581;line-height:1.6;margin:0}.content-card .meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eeeae2;padding-top:11px;margin-top:12px;color:#9a9c95;font-size:10px}.save-btn{font-size:21px;line-height:1;color:#b3b4aa;position:absolute;right:14px;top:14px}.save-btn.saved{color:var(--accent)}.empty-state{text-align:center;padding:36px 22px;color:var(--muted)}.empty-icon{font-size:40px;color:#c1c3b9}.empty-state h3{margin:8px 0 3px;font-family:Georgia,serif;color:var(--ink)}.empty-state p{font-size:12px}.outline-btn{border:1px solid var(--teal);color:var(--teal);border-radius:99px;padding:8px 17px;font-size:12px}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);height:78px;padding:10px 35px max(10px,env(safe-area-inset-bottom));background:rgba(249,246,237,.94);backdrop-filter:blur(16px);border-top:1px solid rgba(210,208,197,.7);display:flex;justify-content:space-between}.nav-item{width:80px;color:#9a9d96;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.nav-item span{font-size:23px;line-height:24px}.nav-item small{font-size:10px}.nav-item.active{color:var(--teal)}.nav-badge{position:absolute;width:6px;height:6px;background:var(--accent);border-radius:50%;top:0;right:24px}.drawer-backdrop{position:fixed;inset:0;background:rgba(16,27,31,.35);z-index:20}.detail-drawer{position:fixed;z-index:21;left:50%;bottom:0;transform:translate(-50%,100%);width:min(520px,100%);background:var(--card);border-radius:22px 22px 0 0;min-height:42vh;max-height:80vh;padding:11px 22px 32px;transition:transform .28s ease;overflow:auto}.detail-drawer.open{transform:translate(-50%,0)}.drawer-handle{width:38px;height:4px;background:#dedbd1;border-radius:3px;margin:0 auto 14px}.drawer-header{display:flex;justify-content:space-between;align-items:center}.drawer-header .icon-btn{font-size:26px}.drawer-content h2{font-family:Georgia,"Songti SC",serif;font-weight:500;font-size:25px;line-height:1.4;margin:18px 0 11px}.drawer-content .long-copy{font-family:Georgia,"Songti SC",serif;font-size:17px;line-height:1.8;color:#394741}.drawer-content .usage{background:#f1e9dc;border-left:3px solid var(--accent);padding:11px 12px;margin-top:18px;font-size:12px;color:#656e68;line-height:1.65}.drawer-actions{display:flex;gap:9px;margin-top:22px}.drawer-actions button{flex:1;padding:11px;border-radius:9px;font-size:12px}.drawer-actions .primary{background:var(--teal);color:#fff}.drawer-actions .secondary{border:1px solid #dbd8ce;color:var(--teal)}.toast{position:fixed;z-index:30;bottom:92px;left:50%;transform:translate(-50%,15px);background:var(--ink);color:#fff;padding:10px 15px;border-radius:99px;font-size:12px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:700px){body{padding:25px 0}.app-shell{border-radius:24px;box-shadow:0 12px 45px rgba(31,39,38,.14);min-height:calc(100vh - 50px)}}

.content-card .type-line{padding-right:24px;flex-wrap:wrap}.drawer-content a{color:var(--teal)}.daily-card blockquote{font-size:21px}.quote-note{line-height:1.6}

.long-copy{white-space:pre-line}.content-card .meta{gap:10px;align-items:flex-start}.content-card .meta span:last-child{flex-shrink:0;max-width:100px}
.account-area{position:relative;display:flex;align-items:center;gap:3px}.account-name{font-size:11px;color:var(--teal);max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu{position:absolute;right:0;top:40px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:5px;z-index:14}.account-menu button{font-size:12px;color:var(--ink);padding:8px 13px;white-space:nowrap}.auth-backdrop{position:fixed;inset:0;background:rgba(16,27,31,.48);z-index:40;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:.2s}.auth-backdrop.visible{opacity:1;pointer-events:auto}.auth-modal{width:min(520px,100%);background:var(--card);border-radius:22px 22px 0 0;padding:25px 24px 30px;box-shadow:0 -20px 55px rgba(0,0,0,.16)}.auth-brand{display:flex;gap:10px;align-items:center;margin-bottom:21px}.auth-brand strong{display:block;font-size:16px}.auth-brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:18px;gap:20px}.auth-tabs button{color:var(--muted);padding:0 2px 10px;font-size:14px;position:relative}.auth-tabs button.active{color:var(--teal);font-weight:700}.auth-tabs button.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--teal);border-radius:2px}.auth-modal label{display:block;font-size:11px;color:#69736e;margin:12px 0}.auth-modal input{display:block;width:100%;border:1px solid #e2ded3;border-radius:10px;background:#fffdf8;padding:12px 13px;margin-top:6px;outline:0;font-size:14px;color:var(--ink)}.auth-modal input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(58,119,114,.1)}.auth-submit{width:100%;border-radius:10px;background:var(--teal);color:white;padding:12px;margin-top:7px;font-size:14px}.auth-submit:disabled{opacity:.55}.auth-error{min-height:18px;color:var(--accent);font-size:11px;margin-top:8px}.auth-note{font-size:10px;color:#9a9c95;margin:14px 0 0;text-align:center}

.auth-modal [hidden]{display:none!important}

.profile-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#20343b,#0f2026);color:#f7f0df;border:1px solid rgba(255,255,255,.55);box-shadow:0 4px 10px rgba(24,37,44,.14);overflow:hidden}.profile-avatar:before{content:'';position:absolute;width:22px;height:1px;background:#d9916e;transform:rotate(-42deg);right:-5px;bottom:8px;opacity:.9}.profile-avatar:after{content:'';position:absolute;width:6px;height:6px;border:1px solid #e4b39f;border-radius:50%;right:5px;bottom:6px;opacity:.8}.profile-avatar span{font-family:Georgia,'Songti SC',serif;font-size:17px;line-height:1;position:relative;z-index:1}.profile-avatar:focus-visible{outline:3px solid rgba(58,119,114,.25);outline-offset:2px}

/* General knowledge library */
.knowledge-section{margin:28px 0 24px;padding:24px 20px;background:#e9ede5;border:1px solid #d9e1d2;border-radius:24px}
.knowledge-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.knowledge-heading h2{font-size:22px;letter-spacing:-.6px;margin:8px 0}.knowledge-total{white-space:nowrap;color:#456349;font-size:12px;font-weight:700;background:#dbe5d6;padding:7px 10px;border-radius:20px}.knowledge-intro{color:#687264;font-size:12px;line-height:1.8;margin:4px 0 20px}
.knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.knowledge-card{text-align:left;padding:17px 14px;border:1px solid #d6dece;border-radius:15px;background:#f9fbf6;min-height:112px;position:relative;color:#253b2b}.knowledge-card:last-child{grid-column:1/-1;min-height:90px}.knowledge-card strong{display:block;font-size:17px;margin:5px 0}.knowledge-card small{display:block;color:#7a8575;font-size:10px;line-height:1.6}.knowledge-card .knowledge-number{position:absolute;right:12px;top:15px;font-size:12px;font-variant-numeric:tabular-nums;color:#5b7251}.knowledge-card .knowledge-symbol{font-family:serif;font-size:18px;color:#879b7e}.knowledge-card.active{border-color:#456349;box-shadow:inset 0 0 0 1px #456349}.source-note{font-size:11px;color:#6d7865;line-height:1.8;margin-top:18px}.source-note summary{cursor:pointer}.source-note p{margin:8px 0 0}.library-tabs{display:flex;gap:5px;background:#eae6dc;border-radius:13px;padding:4px}.library-tabs button{flex:1;min-height:42px;border:0;background:transparent;color:#8a8b80;border-radius:10px;font:inherit;font-size:12px}.library-tabs button.active{background:#fffdf8;color:#3a5135;box-shadow:0 2px 8px #2221;font-weight:700}.result-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;font-size:11px;color:#878c81;margin:12px 0}.result-toolbar label{display:flex;align-items:center;gap:6px}.result-toolbar label[hidden]{display:none}.result-toolbar select{max-width:190px;background:#fffdf8;border:1px solid #deded1;padding:8px;border-radius:8px;color:#516149}.pagination{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px;gap:12px;color:#767f70;font-size:12px}.pagination[hidden]{display:none}.pagination button{border:1px solid #d8ddcf;border-radius:10px;min-height:42px;padding:10px 16px;background:#fdfcf7;color:#38552e}.pagination button:disabled{opacity:.35;cursor:default}.source-details{font-size:11px;color:#7c8276;line-height:1.9;margin-top:20px;overflow-wrap:anywhere}.source-details a{color:#456349}.content-card h3{overflow-wrap:anywhere}.long-copy{white-space:pre-wrap;overflow-wrap:anywhere}.type-line{padding-right:35px}.card-date{font-size:10px;color:#8a9183}.content-card .meta span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65%}.content-card{cursor:pointer}.content-card:focus-visible{outline:2px solid #456349;outline-offset:3px}.save-btn{min-width:40px;min-height:40px}.knowledge-card:focus-visible,button:focus-visible{outline:2px solid #456349;outline-offset:2px}
@media(max-width:360px){.knowledge-section{padding:18px 14px}.knowledge-heading h2{font-size:20px}.knowledge-total{font-size:10px;padding:6px}.knowledge-card{padding:14px 10px}.knowledge-number{font-size:10px!important}.result-toolbar select{max-width:160px}}

/* v3 split layout */
a{color:inherit;text-decoration:none}
.entry-card{display:block;margin:0 22px 16px;padding:20px 18px 18px;border-radius:18px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.entry-writing{background:var(--ink);color:#fbf7ed}.entry-writing .eyebrow{color:#e8a995}
.entry-knowledge{background:#e9ede5;border:1px solid #d6dfcf;color:#22362a}.entry-knowledge .eyebrow{color:#456349}
.entry-top{display:flex;justify-content:space-between;align-items:center}.entry-count{font-size:11px;font-weight:700;padding:4px 9px;border-radius:99px;background:rgba(255,255,255,.14)}.entry-knowledge .entry-count{background:#dbe5d6;color:#456349}
.entry-card h2{font-size:24px;letter-spacing:-.03em;margin:12px 0 10px}
.entry-card blockquote{font-family:Georgia,"Songti SC",serif;font-size:18px;line-height:1.5;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.entry-meta{font-size:11px;color:#aebdb9;margin-bottom:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.entry-pick-label{font-size:10px;letter-spacing:.12em;color:#6f8a66;margin:0 0 4px;font-weight:700}
.entry-card h3{font-family:Georgia,"Songti SC",serif;font-size:19px;font-weight:500;line-height:1.45;margin:0 0 6px}
.entry-lead{font-size:12px;color:#5b6a5d;line-height:1.7;margin:0 0 14px}
.entry-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.entry-tags span,.entry-tags button{font-size:11px;padding:6px 10px;border-radius:99px}
.entry-writing .entry-tags span{background:rgba(255,255,255,.1);color:#d6dfdc}
.entry-tags button{background:#f9fbf6;border:1px solid #d6dece;color:#355038;min-height:32px}.entry-tags b{font-weight:600;color:#7b8f73;margin-left:2px}
.entry-go{font-size:13px;font-weight:700}.entry-writing .entry-go{color:#f4c4b8}.entry-knowledge .entry-go{color:#456349}
.fav-strip{display:flex;justify-content:space-between;margin:4px 22px 20px;padding:15px 16px;border:1px solid #e3ded2;border-radius:14px;background:var(--card);font-size:13px;color:var(--teal)}.fav-strip span:last-child{color:var(--muted)}
.page-head{display:flex;gap:12px;align-items:center;padding:22px 22px 4px}.page-head h1{font-size:28px;letter-spacing:-.04em;margin:3px 0 0}
.back-link{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);font-size:18px;color:var(--teal);flex:none}
.page-intro{font-size:12px;color:#6c7470;line-height:1.7;padding:0 22px;margin:8px 0 14px}
.page-search{margin:0 22px 14px}
.module-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 22px 14px;scrollbar-width:none}.module-tabs::-webkit-scrollbar{display:none}.module-tabs[hidden]{display:none}
.module-tabs button{flex:none;min-width:74px;padding:10px 10px 8px;border-radius:13px;background:var(--card);border:1px solid #e1ddd2;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:13px;font-weight:600;color:#47524d}
.module-tabs button span{font-size:16px;color:#879b7e}.module-tabs button small{font-size:10px;color:var(--muted);font-weight:400}
.module-tabs button.active{background:#456349;border-color:#456349;color:#fff}.module-tabs button.active span,.module-tabs button.active small{color:#dbe7d4}
#view-list .result-toolbar{padding:0 22px}
.k-card h3{font-size:17px}.k-card .desc{font-size:12px;color:#5f6a64}
.exam-badge{margin-left:auto;font-size:9px;color:#b4553a;background:#f6e2d9;padding:2px 6px;border-radius:4px;font-weight:700}
.k-detail .k-lead{font-size:15px;line-height:1.7;color:#2f4a36;background:#eef3ea;border-radius:10px;padding:11px 13px;margin:0 0 14px;font-weight:600}
.k-body p{font-family:Georgia,"Songti SC",serif;font-size:16.5px;line-height:1.9;color:#33413b;margin:0 0 13px}
.k-trap,.k-exam{font-size:13px;line-height:1.7;padding:11px 13px;border-radius:10px;margin-top:12px}.k-trap b,.k-exam b{display:block;font-size:11px;letter-spacing:.06em;margin-bottom:3px}
.k-trap{background:#fbeee8;color:#7a3f2e;border-left:3px solid var(--accent)}.k-exam{background:#eef1f6;color:#3a4a60;border-left:3px solid #6c84a8}
.source-details ul{margin:6px 0 8px;padding-left:18px}.source-details li{margin:3px 0}
.bottom-nav{padding-left:18px;padding-right:18px}.nav-item{width:70px}
.disclaimer{margin:0 22px 18px;padding-top:14px;border-top:1px solid var(--line);color:#9a9c95;font-size:10px;line-height:1.7;text-align:center;letter-spacing:.02em}

/* Keep rotation from inflating text; preserve the user's pinch-to-zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.auth-modal{max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(30px,env(safe-area-inset-bottom))}
/* iOS zooms focused inputs below 16px and can retain that zoom after login. */
@media(max-width:699px),(any-pointer:coarse){
  .auth-modal input,.search-wrap input{font-size:16px}
}
