:root{--paper:#f5f1e8;--paper-deep:#ebe4d7;--ink:#14213d;--muted:#74796f;--line:#ded7ca;--sun:#f3c969;--green:#70836c;--white:#fffdf8;--radius:12px;--shadow:0 18px 50px rgba(20,33,61,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.6}button,a{font:inherit;color:inherit}button{border:0;cursor:pointer}a{text-decoration:none}.app-shell{min-height:100vh;display:flex}.sidebar{width:238px;border-right:1px solid var(--line);padding:32px 22px 24px;display:flex;flex-direction:column;background:rgba(245,241,232,.8)}.brand{display:flex;gap:11px;align-items:center;margin:0 6px 66px}.brand-mark{display:block;width:34px;height:34px;border-radius:10px;flex-shrink:0}.brand strong,.profile strong{display:block;font-size:14px;letter-spacing:.02em}.brand small,.profile small{display:block;font-size:9px;letter-spacing:.18em;color:var(--muted);margin-top:1px}.primary-nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:15px;padding:11px 12px;color:var(--muted);font-size:13px;border-radius:9px;transition:.2s}.nav-item span{font-family:Georgia,serif;font-size:11px;color:#a9a99f}.nav-item:hover,.nav-item.is-active{color:var(--ink);background:var(--paper-deep)}.nav-item.is-active span{color:var(--sun)}.sidebar-note{margin-top:auto;border-top:1px solid var(--line);padding:19px 7px;display:flex;gap:10px;align-items:flex-start}.note-dot{width:9px;height:9px;background:var(--sun);border-radius:50%;margin-top:7px;box-shadow:0 0 0 5px rgba(243,201,105,.18)}.sidebar-note p{margin:0;font-size:12px;color:var(--muted);line-height:1.4}.sidebar-note strong{color:var(--ink);font-size:17px}.profile{display:flex;align-items:center;gap:9px;padding:12px 7px 0;border-top:1px solid var(--line)}.avatar{width:29px;height:29px;border-radius:50%;background:#c4cfc0;display:grid;place-items:center;font-size:12px;color:#394536}.profile-arrow{margin-left:auto;color:var(--muted)}.main-content{width:min(1080px,calc(100% - 238px));padding:34px clamp(26px,5vw,74px) 80px}.topbar{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:11px;letter-spacing:.08em;color:var(--muted);display:flex;gap:9px;align-items:center}.eyebrow-line{display:inline-block;width:24px;height:1px;background:var(--sun)}.icon-button{width:33px;height:33px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);position:relative}.bell-dot{position:absolute;width:5px;height:5px;background:var(--sun);border-radius:50%;right:7px;top:6px}.workspace-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:64px 0 42px}.kicker{font-size:13px;color:var(--green);margin:0 0 12px}.workspace-heading h1{font-size:clamp(38px,5vw,67px);line-height:1.05;letter-spacing:-.06em;margin:0;font-weight:600}.workspace-heading h1 em{font-family:Georgia,serif;font-weight:400;color:var(--green);letter-spacing:-.05em}.heading-streak{display:flex;align-items:center;gap:9px;padding-bottom:7px}.mini-sun{display:grid;place-items:center;width:35px;height:35px;background:var(--sun);border-radius:50%;font-size:20px}.heading-streak strong,.heading-streak small{display:block}.heading-streak strong{font-size:18px}.heading-streak small{color:var(--muted);font-size:11px}.today-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.panel{min-height:244px;border:1px solid var(--line);border-radius:var(--radius);padding:25px 27px;background:rgba(255,253,248,.55)}.progress-panel{display:flex;flex-direction:column}.panel-topline,.progress-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.panel-topline span:last-child{color:var(--ink);font-family:Georgia,serif;font-size:15px}.progress-track{height:7px;background:var(--paper-deep);border-radius:20px;margin:24px 0 11px;overflow:hidden}.progress-track span{display:block;width:0%;height:100%;border-radius:20px;background:var(--sun);transition:width .45s ease}.progress-foot strong{color:var(--ink);font-size:17px;font-family:Georgia,serif;font-weight:500;margin-right:3px}.primary-button{margin-top:auto;display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;background:var(--ink);border-radius:9px;color:var(--sun);font-size:13px;transition:transform .15s,background .2s}.primary-button:hover{background:#1d3155}.primary-button:active,.feedback-buttons button:active{transform:scale(.98)}.primary-button span{font-size:20px;line-height:0}.quote-panel{background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.quote-panel:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(243,201,105,.3);border-radius:50%;right:-70px;bottom:-82px}.quote-mark{font-family:Georgia,serif;font-size:54px;color:var(--sun);line-height:.7}.quote-panel p{font-size:18px;line-height:1.55;margin:16px 0 24px;letter-spacing:-.02em}.quote-credit{font-size:11px;color:#b1b8c1}.content-section{margin-top:55px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-heading>div{display:flex;align-items:center;gap:14px}.section-index{font-family:Georgia,serif;color:#a6a89e;font-size:12px}.section-heading h2{font-size:16px;font-weight:600;margin:0;letter-spacing:.02em}.text-button{color:var(--muted);font-size:12px;background:none;padding:4px 0}.text-button span{color:var(--ink);padding-left:5px}.task-list{border-top:1px solid var(--line)}.task-row{width:100%;display:flex;align-items:center;text-align:left;background:none;border-bottom:1px solid var(--line);padding:18px 10px 18px 0;transition:.2s}.task-row:hover{padding-left:8px;background:rgba(255,253,248,.45)}.task-number{font-family:Georgia,serif;color:#aaa99e;width:55px}.task-copy{display:flex;flex-direction:column;gap:3px;flex:1}.task-copy strong{font-size:14px;font-weight:600}.task-copy small{color:var(--muted);font-size:12px}.task-copy b{color:var(--ink);font-family:Georgia,serif;font-weight:500}.task-status{font-size:12px;color:var(--ink)}.task-status b{font-size:18px;font-weight:400;margin-left:13px}.task-status.quiet{color:var(--muted)}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.book-card,.week-card{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;gap:15px}.book-cover{width:48px;height:63px;background:var(--ink);color:var(--sun);font-size:10px;line-height:1.05;padding:9px 7px;border-radius:3px;letter-spacing:.08em}.book-cover strong{font:24px Georgia,serif}.book-card>div:nth-child(2){flex:1}.book-card strong,.book-card small{display:block}.book-card strong{font-size:13px}.book-card small{font-size:11px;color:var(--muted);margin:3px 0 7px}.book-progress{height:4px;background:var(--paper-deep);border-radius:9px}.book-progress span{display:block;width:23%;height:100%;background:var(--green);border-radius:9px}.book-percent{font:16px Georgia,serif}.week-card{display:block}.week-days{display:flex;justify-content:space-between}.week-days span{font-size:11px;color:var(--muted);text-align:center}.week-days i{display:block;width:13px;height:13px;margin:9px auto 0;border-radius:50%;background:var(--paper-deep)}.week-days i.is-today{background:var(--sun);box-shadow:0 0 0 4px rgba(243,201,105,.2)}.week-caption{display:flex;align-items:baseline;gap:10px;margin-top:15px}.week-caption strong{font:23px Georgia,serif}.week-caption span{font-size:11px;color:var(--muted)}.mobile-nav{display:none}.learning-overlay{display:none;position:fixed;inset:0;background:rgba(20,33,61,.28);z-index:20;align-items:flex-end;justify-content:center;padding:20px}.learning-overlay.is-open{display:flex;animation:fadein .2s ease}.learning-sheet{width:min(680px,100%);background:var(--paper);border-radius:16px 16px 10px 10px;box-shadow:var(--shadow);overflow:hidden;animation:slideup .35s cubic-bezier(.2,.8,.2,1)}.learning-header{height:57px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 21px;color:var(--muted);font-size:12px}.close-button{background:none;font-size:25px;color:var(--muted);line-height:1;padding:0 7px}.word-stage{text-align:center;padding:47px 22px 40px;background:rgba(255,253,248,.5)}.word-label{font-size:10px;color:var(--green);letter-spacing:.12em}.word-stage h2{font:clamp(32px,11vw,66px) Georgia,serif;letter-spacing:-.06em;margin:20px 0 6px;overflow-wrap:anywhere;word-break:break-word}.phonetic{font:14px Georgia,serif;color:var(--muted);margin:0}.sound-button{background:none;color:var(--green);font-size:17px;margin-left:4px}.meaning-button{margin-top:31px;background:none;color:var(--ink);font-size:13px;border-bottom:1px solid var(--ink);padding:0 0 3px}.meaning-button span{margin-left:7px}.meaning{display:none;margin:24px auto 0;max-width:350px;text-align:left;border-left:2px solid var(--sun);padding-left:13px}.meaning.is-visible{display:block;animation:fadein .25s}.meaning strong{font-size:18px}.meaning p{margin:7px 0 0;font:14px Georgia,serif}.meaning small{color:var(--muted);font-size:11px}.feedback-area{padding:22px}.feedback-area>p{text-align:center;color:var(--muted);font-size:12px;margin:0 0 15px}.feedback-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.feedback-buttons button{background:var(--paper-deep);padding:12px 8px;border-radius:9px;transition:.15s}.feedback-buttons button:hover{background:#dfd6c7}.feedback-buttons .feedback-known{background:var(--ink);color:var(--sun)}.feedback-buttons span,.feedback-buttons small{display:block}.feedback-buttons span{font-size:13px}.feedback-buttons small{font-size:10px;color:var(--muted);margin-top:2px}.feedback-buttons .feedback-known small{color:#b1b8c1}@keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes slideup{from{transform:translateY(30px);opacity:.5}to{transform:none;opacity:1}}@media(max-width:800px){.sidebar{display:none}.app-shell{display:block}.main-content{width:100%;padding:23px 20px 95px}.workspace-heading{margin:47px 0 30px;align-items:flex-start}.workspace-heading h1{font-size:43px}.heading-streak{padding-top:33px}.today-grid{grid-template-columns:1fr}.quote-panel{min-height:145px}.progress-panel{min-height:235px}.content-section{margin-top:40px}.lower-grid{grid-template-columns:1fr;gap:39px}.mobile-nav{display:flex;position:fixed;z-index:10;bottom:0;left:0;right:0;height:72px;background:rgba(245,241,232,.95);backdrop-filter:blur(12px);border-top:1px solid var(--line);justify-content:space-around;padding:9px 8px max(9px,env(safe-area-inset-bottom))}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted);font-size:10px;min-width:64px}.mobile-nav a span{font-size:20px;line-height:1.1}.mobile-nav a.is-active{color:var(--ink)}.topbar .icon-button{width:30px;height:30px}.task-row{padding-right:3px}.task-number{width:40px}.task-status b{margin-left:7px}.learning-overlay{padding:0}.learning-sheet{border-radius:16px 16px 0 0}.word-stage{padding-top:56px}.word-stage h2{font-size:clamp(30px,13vw,60px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
