:root{--green:#245b45;--ink:#25382e;--muted:#7a847c;--line:#e7eae3;--bg:#f7f8f3;--white:#fff;--lime:#e8efce}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-color:#67937b}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:650;letter-spacing:-1px;line-height:1.45}h2{font-size:18px}h3{font-size:16px}p{color:var(--muted)}.primary,.secondary,.button{border-radius:9px;padding:11px 18px;font-weight:550;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap}.primary{background:var(--green);color:white}.primary:hover{background:#174431}.secondary{border-color:#dce2d8;background:white;color:var(--green)}.secondary:hover{background:#f0f4e9}.text-button{background:none;border:0;padding:0;color:var(--green);font-weight:550}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:#798771;margin-bottom:12px}.sidebar{width:224px;background:#fff;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:13px;font-size:23px;font-weight:700;letter-spacing:2px;margin:0 10px 55px}.brand small{display:block;letter-spacing:2px;font-size:8px;color:#899487;line-height:1.1}.brand-icon{display:inline-flex;align-items:center;justify-content:center;color:white;background:var(--green);width:42px;height:42px;border-radius:13px;font-size:23px;font-family:serif}.space-label{font-size:10px;color:#9ba398;padding:0 15px 15px;letter-spacing:1px}.nav{width:100%;display:flex;align-items:center;gap:14px;border:none;background:none;border-radius:9px;padding:13px 16px;color:#7a8278;margin-bottom:8px;text-align:left;font-weight:550}.nav span{font-size:20px;line-height:1}.nav.active{color:var(--green);background:#edf2e6}.nav:hover{background:#f4f6ef}.side-bottom{margin-top:auto;padding:0 10px}.side-note{font-size:11px;color:#718069;border-top:1px solid var(--line);padding-top:22px;margin-bottom:25px}.side-note small{display:block;margin-top:5px;padding-left:14px;font-size:10px;color:#9aa291}.dot,.zone i{display:inline-block;width:6px;height:6px;background:#90a978;border-radius:100%;margin-right:7px}.side-bottom button{font-size:11px;color:#8b9489}main{margin-left:224px;min-height:100vh}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;background:#fbfcf8;color:#8a9287;font-size:11px}.zone{display:flex;align-items:center;gap:6px;font-size:10px}.zone #clock{margin-left:8px;letter-spacing:1px}.view{max-width:1480px;margin:auto;padding:36px 42px 24px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading p{font-size:12px;margin-top:8px}.page-heading .eyebrow{margin-bottom:8px}.hero{display:flex;justify-content:space-between;align-items:center;background:#eaf0dd;border:1px solid #e0e8d1;border-radius:15px;min-height:204px;padding:30px 35px;overflow:hidden;position:relative}.hero h2{font-size:26px;letter-spacing:-.6px}.hero p{font-size:12px;margin-top:8px;color:#7b896a}.hero-tags{display:flex;gap:20px;margin-top:22px;font-size:10px;color:#687f56}.hero-art{position:relative;width:245px;align-self:stretch}.art-ring{position:absolute;width:190px;height:190px;border:1px solid #d8e2bd;border-radius:100%;top:-22px;left:42px;box-shadow:0 0 0 22px #e1e9ce80,0 0 0 44px #e2eacb66}.art-card{position:absolute;transform:rotate(-7deg);top:7px;left:45px;width:150px;padding:15px 20px;background:#fffef1;border:1px solid #dce4c9;border-radius:11px;box-shadow:0 9px 18px #64794b12}.art-card>span{font-size:10px;color:#8a967b}.art-card strong{display:block;font-size:30px;font-weight:500;color:#547341}.art-card small{font-size:8px;color:#9aa18a}.mini-line{height:4px;border-radius:5px;background:linear-gradient(90deg,#b2c284 30%,#edf0db 30%);margin:6px 0 7px}.art-dot{position:absolute;left:20px;bottom:5px;width:25px;height:25px;border-radius:7px;background:#d0dcb2;transform:rotate(20deg)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:22px 0 28px}.stat{border:1px solid var(--line);border-radius:11px;background:white;padding:18px 22px}.stat>span{font-size:11px;color:#93998f}.stat strong{display:block;font-size:29px;font-weight:550;margin:5px 0 2px;line-height:1.35}.stat small{font-size:10px;color:#9aa093}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}.panel{padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.panel-heading h2{font-size:16px}.panel-heading p{font-size:10px;margin-top:4px}.count{background:#edf1e6;padding:2px 6px;color:#738364;font-size:10px;border-radius:5px;margin-left:5px}.date-controls{display:flex;align-items:center;gap:6px}.date-controls button{border:1px solid var(--line);background:#fff;border-radius:5px;color:#76846c;padding:3px 8px}.date-controls input{width:115px;border:0;font-size:10px;padding:4px;color:#7e8977}.date-controls span{font-size:11px}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:4px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:0 0 12px;font-size:11px;color:#92998d}.tabs button.active{border-color:var(--green);color:var(--green)}.agenda-item{display:flex;gap:14px;align-items:center;padding:20px 0;border-bottom:1px solid #f0f2eb}.agenda-item:last-child{border:0}.check{width:21px;height:21px;border:1px solid #d4ddcc;border-radius:7px;background:#fff;color:#fff;padding:0;flex-shrink:0}.check.checked{background:#6b8a59;border-color:#6b8a59}.agenda-body{flex:1;min-width:0}.agenda-body h3{font-size:13px;font-weight:550;overflow-wrap:anywhere}.agenda-item.completed h3{text-decoration:line-through;color:#a0a999}.meta{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:#919a89;margin-top:4px}.badge{background:#eef2e7;color:#738364;padding:3px 8px;border-radius:5px;font-size:9px;white-space:nowrap}.badge.course{background:#f2eddf;color:#a18d53}.empty{text-align:center;padding:42px 12px;color:#949e8b}.empty .empty-icon{font-size:28px;display:block;margin-bottom:10px;color:#9ead8e}.empty h3{font-size:14px;font-weight:500}.empty p{font-size:11px;margin:7px 0 16px}.right-column{display:grid;gap:18px}.reminder-card .icon-box{width:35px;height:35px;background:#f1f4e9;border-radius:10px;text-align:center;line-height:35px;color:#81936c;font-size:20px;margin-bottom:15px}.reminder-card h3{font-size:14px}.reminder-card p{font-size:11px;margin-top:9px;line-height:1.9}.reminder-status{font-size:10px;background:#f6f7f1;border-radius:5px;color:#8d957d;padding:7px 9px;margin:15px 0}.reminder-card button{font-size:11px}.quote-card{padding:16px 25px 23px;background:#f0eee5;border-radius:12px}.quote-card>span{font-family:Georgia,serif;font-size:44px;line-height:1;color:#c2c7ae}.quote-card p{font-size:12px;line-height:2;color:#7e856e}.quote-card small{display:block;margin-top:15px;font-size:9px;color:#a6ab98}.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.item-grid>.empty{grid-column:1/-1;background:white;border:1px dashed #dce3d2;border-radius:12px}.item-card{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0}.item-card h3{font-size:16px;margin:12px 0 10px;overflow-wrap:anywhere}.item-card .notes{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#919a89;margin-top:12px}.item-card .actions{display:flex;gap:16px;margin-top:20px;border-top:1px solid var(--line);padding-top:13px}.item-card .actions button{font-size:11px}.danger{color:#ac7061}.import-panel{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between;margin-bottom:22px}.import-panel p{font-size:12px;margin-top:8px}.import-panel small{font-size:10px;color:#9a9f90}.import-actions{display:flex;gap:9px;flex-wrap:wrap}.import-actions .button{font-size:11px;padding:9px 12px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:10px;overflow-x:auto}.week-day{background:#f7f9f3;border:1px solid #edf0e7;border-radius:9px;min-height:170px;padding:12px}.week-day.today{border-color:#a9bc91;background:#f0f5e5}.week-day>strong{display:block;font-size:11px;font-weight:500;border-bottom:1px solid #e7ecde;padding-bottom:10px;margin-bottom:10px}.week-day>small{font-size:10px;color:#a2aa96}.week-course{background:#fff;border:1px solid #e6eadf;border-radius:6px;padding:8px;font-size:10px;line-height:1.5;margin-bottom:8px;overflow-wrap:anywhere}.week-course b{display:block;font-weight:550;margin:3px 0}.week-course span{color:#97a089;font-size:9px}.section-title{font-size:18px;margin:28px 0 18px}.photo-list{display:flex;gap:12px;flex-wrap:wrap}.photo-tile{border:1px solid var(--line);border-radius:8px;padding:12px;background:white;width:160px;font-size:10px;overflow:hidden}.photo-tile img{width:100%;height:85px;object-fit:contain;background:#f5f6f0}.photo-tile p{overflow-wrap:anywhere}.photo-tile button{font-size:10px;margin-top:7px}.settings-panel h3{margin:24px 0 8px;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}label{display:block;color:#78856f;font-size:11px;margin-bottom:16px}input:not([type=checkbox]),select,textarea{display:block;background:#fbfcf9;border:1px solid #dfe5d8;border-radius:7px;padding:10px 12px;width:100%;color:#34492f;font-size:13px;margin-top:7px;min-width:0}input[type=checkbox]{accent-color:var(--green)}.help{font-size:11px;line-height:1.9;margin:10px 0 18px}.switch-label{display:flex;align-items:center;gap:8px;white-space:nowrap;margin:0}.form-footer{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.form-footer small{font-size:10px;color:#9ba38f}.settings-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:20px}.settings-bottom h3{font-size:14px;margin-bottom:18px}.settings-bottom .secondary{font-size:11px;padding:8px 12px}.log{padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.log small{display:block;color:#9ca490;margin-top:4px}footer{padding:30px 42px;color:#b1b9a6;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}dialog{padding:0;border:1px solid var(--line);border-radius:16px;max-width:550px;width:calc(100% - 30px);max-height:90vh;color:var(--ink);box-shadow:0 30px 90px #152d2b22}dialog::backdrop{background:#17362a65;backdrop-filter:blur(3px)}dialog form{padding:28px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.dialog-heading h2{font-size:22px}.dialog-heading .eyebrow{margin-bottom:4px}.close-button{border:0;background:#f1f4eb;border-radius:100%;width:28px;height:28px;color:#819473;font-size:20px;line-height:1}.weekday-choices{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.weekday-choices label{padding:8px;background:#f0f4e8;border-radius:6px;margin:0}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#254832;color:#fff;padding:12px 23px;border-radius:10px;z-index:1000;font-size:12px;box-shadow:0 5px 30px #0002;max-width:90vw;white-space:pre-wrap}.login-screen{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#fbfcf8}.login-card{max-width:430px;padding:60px 35px;margin:auto;width:100%}.login-card>.brand-icon{margin-bottom:45px}.login-card h1{font-size:40px;line-height:1.55}.login-card p{font-size:12px;margin:18px 0 35px}.login-card .primary{width:100%;justify-content:space-between;margin-top:6px}.login-card>small{display:block;margin-top:25px;font-size:10px;color:#a0aa93;text-align:center}.login-art{background:#e6edda;position:relative;overflow:hidden;display:flex;justify-content:center;flex-direction:column;padding:70px}.orbit{position:absolute;width:500px;height:500px;border:1px solid #d1ddbb;border-radius:100%;top:5%;left:15%;box-shadow:0 0 0 55px #dce6cb88,0 0 0 110px #dce6cb44}.sun{width:140px;height:140px;border-radius:100%;background:#c5d69c;position:relative;margin:0 0 90px 50px;box-shadow:20px 20px 0 #d4dfb8}.login-art p{font-size:24px;color:#658153;line-height:2;position:relative}.login-art>span{letter-spacing:4px;font-size:9px;color:#94a97e;margin-top:30px;position:relative}
@media(min-width:1600px){.view{padding-top:45px}.content-grid{grid-template-columns:1fr 300px}.hero{min-height:230px}}
@media(max-width:1150px){.sidebar{width:190px;padding:30px 16px}main{margin-left:190px}.view{padding:28px 25px}.topbar{padding:0 25px}.content-grid{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr}.item-grid{grid-template-columns:1fr 1fr}.settings-bottom{grid-template-columns:1fr 1fr}.hero-art{width:195px}.date-controls input{width:115px}.hero h2{font-size:23px}.stats{gap:10px}.stat{padding:16px}.stat small{font-size:9px}}
@media(max-width:700px){.sidebar{position:sticky;top:0;width:auto;height:auto;padding:12px 16px;z-index:5;display:block;box-shadow:0 2px 10px #00000004}.brand{margin:0 0 12px;font-size:19px;gap:9px}.brand .brand-icon{width:30px;height:30px;font-size:18px;border-radius:8px}.brand small{font-size:6px}.space-label,.side-bottom{display:none}.sidebar nav{display:flex;gap:5px}.nav{margin:0;padding:8px 6px;justify-content:center;font-size:11px;gap:6px}.nav span{font-size:15px}main{margin:0}.topbar{height:44px;padding:0 18px;font-size:9px}.zone{font-size:8px}.zone #clock{display:none}.view{padding:24px 18px 10px}.page-heading{gap:10px;margin-bottom:22px}h1{font-size:26px}.page-heading p{font-size:10px}.primary,.secondary{font-size:11px;padding:10px 12px}.eyebrow{font-size:8px;letter-spacing:1.4px}.hero{padding:24px;min-height:170px}.hero h2{font-size:21px}.hero p{font-size:10px}.hero-art{display:none}.hero-tags{font-size:8px;gap:14px;margin-top:18px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 20px}.stat{padding:15px 18px}.stat strong{font-size:25px}.stat>span{font-size:10px}.content-grid{gap:16px}.panel{padding:18px}.panel-heading{flex-wrap:wrap;gap:12px}.right-column{grid-template-columns:1fr 1fr;gap:12px}.reminder-card h3{font-size:12px}.reminder-card p{font-size:10px}.quote-card{padding:22px 16px}.quote-card p{font-size:11px}.item-grid{grid-template-columns:1fr}.settings-bottom{grid-template-columns:1fr}.form-grid{gap:0 12px}.settings-panel .form-grid{grid-template-columns:1fr}.import-panel{gap:15px}.import-actions{gap:7px}.import-actions .button{padding:8px;font-size:10px}.week-grid{gap:7px}.week-panel{overflow:hidden}.week-day{padding:9px}.week-panel .panel-heading{gap:8px}.week-panel h2{font-size:14px}footer{padding:30px 18px;font-size:8px}.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:45px 30px}.login-card h1{font-size:36px}.login-card>.brand-icon{margin-bottom:35px}.dialog-heading{margin-bottom:18px}dialog form{padding:22px}.date-controls{gap:4px}.date-controls input{width:117px}.right-column .panel{padding:16px}}
