:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#182740;background:#f5f7fb;font-synthesis:none;--blue:#335dec;--muted:#7a8598;--line:#e8ecf3}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button,a{transition:.18s}button:hover{filter:brightness(.96)}.shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column;position:fixed;width:238px;height:100vh}.brand{font-weight:750;font-size:22px;display:flex;gap:11px;align-items:center;letter-spacing:1px}.logo{display:grid;place-items:center;background:var(--blue);color:white;border-radius:12px;width:39px;height:39px;font-size:24px}.brand small{display:block;font-size:9px;color:#8b94a8;letter-spacing:3px;margin-top:4px}.nav-label{color:#9aa3b4;font-size:11px;letter-spacing:2px;margin:48px 16px 15px}.nav{display:grid;gap:8px}.nav a{text-decoration:none;color:#758096;font-size:14px;padding:14px 17px;border-radius:10px;display:flex;gap:14px}.nav a.active{color:var(--blue);background:#edf1ff;font-weight:650}.nav a:hover{background:#f2f5fc}.side-note{margin-top:auto;background:#f7f9fd;border-radius:13px;padding:17px;font-size:12px;line-height:1.9;color:#7a8598}.side-note strong{display:block;color:#3f5270;margin-bottom:5px}.user{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);margin-top:25px;padding-top:23px;font-size:13px}.avatar{width:36px;height:36px;background:#eaf0ff;border-radius:50%;display:grid;place-items:center;color:var(--blue);font-weight:700}.user small{display:block;color:#9aa3b4;font-size:10px;margin-top:4px}.main{grid-column:2;padding:0 44px 40px;max-width:1550px;width:100%;margin:auto}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;color:#8b95a7}.topbar strong{color:#566783;font-weight:500}.top-right{display:flex;gap:15px;align-items:center}.badge{display:inline-block;border-radius:6px;padding:5px 9px;font-size:11px;background:#edf1ff;color:#526bd8}.badge.amber{background:#fff5e4;color:#a67429}.badge.green{background:#eaf7f1;color:#399577}.pagehead{display:flex;justify-content:space-between;align-items:center;margin:31px 0 25px;gap:20px}h1{font-size:27px;letter-spacing:-.8px;margin:0 0 9px}h2{font-size:16px;margin:0}h3{font-size:14px;margin:0 0 12px}p{line-height:1.8}.sub{font-size:12px;color:var(--muted);margin:0;line-height:1.8}.btn{border:1px solid #dfe5f0;background:#fff;color:#586681;padding:10px 16px;border-radius:8px;font-size:12px;white-space:nowrap}.btn.primary{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 4px 12px #335dec20}.btn.small{font-size:11px;padding:6px 10px}.btn.danger{color:#b45b5b}.hero{background:#edf2ff;border:1px solid #e1e9ff;padding:25px 28px;border-radius:14px;display:flex;justify-content:space-between;gap:25px;position:relative;overflow:hidden}.hero h2{font-size:20px;margin:9px 0 10px}.eyebrow{font-size:10px;letter-spacing:2px;color:#7289cf}.hero p{font-size:12px;color:#6b7c9b;max-width:670px;margin:0}.hero-symbol{font-size:76px;color:#a6bafa;line-height:1;align-self:center;margin-right:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}.stat{border:1px solid var(--line);border-radius:12px;background:white;padding:17px 22px;display:flex;align-items:center;gap:16px}.stat-icon{width:40px;height:40px;border-radius:10px;background:#f0f4ff;display:grid;place-items:center;color:#6b87e7;font-size:20px}.stat small{color:#8893a7;font-size:11px;display:block;margin-bottom:5px}.stat b{font-size:21px}.stat span{font-size:11px;color:#9ba4b4;margin-left:7px}.columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:22px;align-items:start}.stack{display:grid;gap:20px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:23px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.card-head .sub{font-size:10px}.task{padding:14px 0;display:flex;gap:12px;align-items:center;border-bottom:1px solid #f0f2f6}.task:last-child{border-bottom:0}.task-title{font-size:12px;margin:0 0 5px}.task-meta{font-size:10px;color:#98a1b0}.task-main{flex:1;min-width:0}.task select{max-width:95px;font-size:10px;border:1px solid var(--line);padding:5px;border-radius:5px;background:#fbfcfe;color:#6c7b94}.dot{width:7px;height:7px;background:#7191f6;border-radius:50%;flex-shrink:0}.dot.life{background:#58b89c}.dot.leisure{background:#b598d1}.check{font-size:13px;color:#6585db}.muted{color:var(--muted)}.tiny{font-size:10px}.timeline{margin-top:3px}.slot{display:grid;grid-template-columns:90px 1fr;gap:12px;position:relative;padding-bottom:16px;font-size:11px}.slot-time{color:#8f9aaf;padding-top:13px;font-variant-numeric:tabular-nums}.slot-content{border-left:2px solid #dbe4ff;padding:12px 15px;background:#f7f9ff;border-radius:0 7px 7px 0;display:flex;justify-content:space-between;gap:10px;align-items:center}.slot-content small{color:#97a4bc;font-size:10px}.slot-content.confirmed{background:#edf8f3;border-color:#83c4ad}.note{background:#fff9ee;border-radius:8px;padding:13px 15px;color:#a17b43;font-size:11px;line-height:1.9}.info-list{padding:0;list-style:none;font-size:12px;line-height:1.9;margin:12px 0 0}.info-list li{margin-bottom:10px;padding-left:13px;position:relative}.info-list li:before{content:'·';position:absolute;left:0;color:#8c9ecc}.feedbacks{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.feedbacks .btn{font-size:11px}.input-wrap{margin-top:15px;display:flex;gap:8px}input,textarea,select{border:1px solid #e0e6f0;background:#fcfdff;color:#35445e;padding:11px 12px;border-radius:7px;width:100%;font-size:12px}textarea{resize:vertical;min-height:120px;line-height:1.9}label{font-size:12px;display:block;color:#67758d;margin-bottom:7px}form{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field.full{grid-column:1/-1}.inline-check{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.8}.inline-check input{width:auto;margin-top:5px}.history{border-top:1px solid var(--line);padding:15px 0;font-size:12px}.history p{margin:5px 0 8px}.history .btn{margin-right:7px}.empty{color:#8b97ab;padding:20px 0;font-size:12px;line-height:1.8}.footer{text-align:center;color:#a2acbd;font-size:10px;margin-top:30px;letter-spacing:1px}.mode-note{margin-top:15px;font-size:11px;color:#8b94aa;line-height:1.8}.decision-input{padding:25px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:22px}.decision-actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:12px}.facts{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.reminder{border:1px solid #dae4ff;background:#f3f6ff;border-radius:10px;padding:15px;margin-bottom:20px;font-size:12px}.reminder .feedbacks{margin-top:10px}dialog{border:0;border-radius:16px;padding:27px;width:min(480px,92vw);box-shadow:0 24px 90px #17274735}dialog::backdrop{background:#17274765}dialog h2{margin-bottom:22px}dialog .field{margin:15px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#263754;color:white;font-size:12px;padding:13px 22px;border-radius:9px;box-shadow:0 5px 20px #18274030;display:none;z-index:10}.loading{padding:50px}.strip{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#8190a8;padding:12px 0;border-top:1px solid var(--line)}.nowrap{white-space:nowrap}@media(min-width:1500px){.main{padding-left:60px;padding-right:60px}}@media(max-width:1050px){.sidebar{width:195px;padding:28px 15px}.shell{grid-template-columns:195px 1fr}.main{padding:0 25px 30px}.columns{grid-template-columns:1fr}.hero-symbol{display:none}}@media(max-width:650px){.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:17px}.brand{font-size:18px}.brand small,.nav-label,.side-note,.user{display:none}.nav{display:flex;margin-top:16px;gap:5px}.nav a{padding:10px;font-size:11px;gap:5px;flex:1;justify-content:center}.main{padding:0 16px 25px}.topbar{height:55px}.top-right{gap:5px}.pagehead{margin:24px 0 20px;align-items:flex-start}h1{font-size:23px}.hero{padding:20px}.hero h2{font-size:17px}.stats{gap:8px}.stat{padding:13px 10px;gap:7px}.stat-icon{display:none}.stat b{font-size:18px}.stat span{display:none}.card{padding:18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.slot{grid-template-columns:75px 1fr}.topbar>span{max-width:130px}.decision-actions{align-items:flex-start}.pagehead>.btn{padding:9px}.task select{max-width:80px}.hero p{line-height:1.8}}

/* CSP-compatible presentation: no inline style attributes. */
.plan-summary{font-size:13px;margin:0 0 14px;line-height:1.9}
.decision-description{margin:10px 0 15px}
.extraction-note{margin-bottom:20px}
.profile-save{margin-top:20px}
#toast.is-visible{display:block}
.growth-panel{margin:22px 0}.growth-panel h3{margin-top:20px}.growth-panel form>.btn{margin-top:12px}.growth-suggestion,.growth-assumption{border-top:1px solid var(--line);padding:15px 0;font-size:13px}.growth-edit-form input[type=number]{max-width:85px}.growth-panel .input-wrap{flex-wrap:wrap}.growth-edit-form input[name=title]{flex:1;min-width:150px}.growth-assumption-form input{flex:1;min-width:150px}.growth-panel label{margin-top:12px}

.artifact-hash,pre{overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}details{margin-top:18px}summary{cursor:pointer;min-height:44px}#assistance-mode{margin:10px 0} .card label[for=assistance-mode]{margin-top:20px} @media(max-width:650px){.btn,.btn.small,.feedbacks .btn{min-height:44px;white-space:normal}input,select,textarea{font-size:16px}.input-wrap{flex-wrap:wrap}.task select{min-height:44px}.top-right>span:first-child{display:none}.task-title,.task-meta{overflow-wrap:anywhere}dialog{max-height:90dvh;overflow-y:auto}.decision-actions{flex-wrap:wrap}.topbar{gap:8px}}

/* PPT palette: warm paper, forest green, clear student-owned workspace. */
:root{--blue:#135e50;--muted:#697b72;--line:#e1e8df;color:#18382f;background:#f7f7ef;font-family:"Segoe UI","Microsoft YaHei",sans-serif}
.sidebar{background:#fcfcf6;border-right:1px solid #dce5d9}.brand{color:#104d40}.logo{border-radius:50% 50% 50% 10%;background:#155d4d}.brand small{letter-spacing:1.4px;color:#698579}.nav a{color:#5e766a}.nav a.active{color:#104f40;background:#e7efe3;border-left:3px solid #235f4e}.nav a:hover{background:#eef3e8}.hero{background:linear-gradient(115deg,#e9f0e3,#f6f5e9);border:1px solid #dce5d4;color:#183d30}.hero h2{color:#164935}.hero-symbol{color:#6e9479}.hero .badge{background:#ffffffa8;color:#365f4b}.primary{background:#155e4c!important;color:white!important;border-color:#155e4c!important}.card,.stat{border:1px solid #e1e7dc;box-shadow:0 5px 22px #25472e04;background:#fffefa}.badge.green{background:#e7f1e3;color:#275a38}.badge.amber{background:#faf0dc;color:#7d5d22}.note{background:#f3f5e9;border-color:#dce4cf;color:#42583b}.topbar{border-color:#e0e7db}.side-note{background:#eef2e7;color:#556e56}.task select,.btn{border-color:#d8e2d6}.slot-content.confirmed{background:#e9f0e3;border-color:#759775}.eyebrow{color:#56775e}.pagehead h1{font-family:Georgia,"Songti SC","SimSun",serif;letter-spacing:1px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.module-grid>a,.module-grid>div{display:flex;flex-direction:column;gap:10px;padding:24px;background:#eef2e7;border:1px solid #d8e2d2;border-radius:14px;text-decoration:none;color:#234e3a}.module-grid b{font-size:18px}.module-grid span{font-size:13px;color:#667d68}.space-form{display:grid;gap:14px}.space-form label{display:grid;gap:7px;font-size:14px;color:#45604d}.space-form textarea{width:100%;min-height:80px}.space-form input,.space-form select,.space-form textarea{max-width:100%;border:1px solid #d6dfd1;border-radius:8px;background:#fff;padding:10px;font:inherit;color:#244132}.space-form button{justify-self:start}.dimension-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.dimension-grid>div{display:grid;gap:10px;padding:14px;background:#f0f4e9;border-radius:10px}.dimension-grid small{font-size:12px;color:#697d68}.history{overflow-wrap:anywhere}.history h3{margin:12px 0}.stack{min-width:0}.main{min-width:0}.top-right{flex-wrap:wrap}.space-form select{width:100%}textarea{resize:vertical}.hero a{display:inline-block;margin-top:12px}.artifact-hash,pre{overflow-wrap:anywhere;white-space:pre-wrap}
@media(max-width:650px){.nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.nav a{font-size:12px;padding:10px 5px;min-height:44px;align-items:center}.module-grid{grid-template-columns:1fr;gap:8px}.module-grid>a,.module-grid>div{padding:16px}.module-grid b{font-size:16px}.dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar>span{max-width:none}.top-right>span:first-child{display:none}.space-form textarea,.space-form input,.space-form select{font-size:16px}.pagehead{flex-wrap:wrap;gap:12px}.stats .stat b{font-size:20px}.card-head{flex-wrap:wrap;gap:8px}.task{flex-wrap:wrap}.task-main{min-width:140px}.input-wrap{flex-wrap:wrap}.input-wrap input{min-width:0}.columns{gap:18px}}
