*{box-sizing:border-box}body{margin:0;background:#efeeec;color:#4b443e;font:16px/1.55 system-ui,sans-serif}header{display:flex;justify-content:space-between;padding:22px;background:#f8f7f6;border-bottom:1px solid #d9d4cf}header span,p{color:#79726b}main,#login{padding:24px}#login{max-width:440px;margin:40px auto;background:#f8f7f6;border-radius:12px}nav,.row{display:flex;gap:10px;flex-wrap:wrap}.layout{display:grid;grid-template-columns:220px minmax(260px,1fr) minmax(260px,1fr);gap:22px;margin-top:22px}section,aside{background:#f8f7f6;border:1px solid #d9d4cf;border-radius:12px;padding:18px;min-width:0}button{cursor:pointer;background:#e9e4df;border:1px solid #cec3b9;border-radius:7px;padding:8px 12px;color:#4b443e;font:inherit}button:disabled{opacity:.5;cursor:default}label{display:block;margin:10px 0}input,textarea,select{display:block;width:100%;font:inherit;padding:8px;border:1px solid #d9d4cf;border-radius:6px;background:#fcfbfa;color:#4b443e}input[type=checkbox]{display:inline;width:auto}textarea{min-height:85px}h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}.task{border-bottom:1px solid #d9d4cf;padding:12px 0;overflow-wrap:anywhere}.task p{white-space:pre-wrap;color:#4b443e}#projects button{display:block;width:100%;margin-bottom:8px;text-align:left}#notice{padding:0 24px;min-height:24px}#weekly{font-size:12pt}#task-editor{margin-top:20px}button.selected{background:#dcd2c9}@media(max-width:850px){.layout{grid-template-columns:1fr}}[hidden]{display:none!important}
.timeline-panel{grid-column:1/-1;min-width:0}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.timeline-toolbar h2{margin:0}.timeline-toolbar label{margin:0;font-size:13px}.timeline-toolbar input{padding:4px 8px}.timeline-toolbar .row{align-items:center}.timeline-summary{font-size:13px;margin:10px 0}.timeline-scroll{overflow-x:auto;border:1px solid #d9d4cf;border-radius:9px}.timeline-table{width:100%;min-width:890px;table-layout:fixed;border-collapse:collapse;font-size:13px}.timeline-name-col{width:200px}.timeline-table th,.timeline-table td{border-right:1px solid #e0dbd6;border-bottom:1px solid #e0dbd6;padding:0;text-align:center;height:34px;font-weight:400}.timeline-table .timeline-name{background:#f5f2f0;text-align:left;padding:8px 10px;position:sticky;left:0;z-index:1}.timeline-month{background:#e9e4df;text-align:left!important;padding:8px 14px!important;letter-spacing:1px}.timeline-day{background:#efeae5;font-size:12px}.timeline-table .timeline-today{background:#eadbe2}.timeline-table th.timeline-today{box-shadow:inset 0 -3px #817263}.timeline-label{padding:0;background:none;border:0;text-align:left;width:100%;font-size:14px;overflow-wrap:anywhere}.timeline-dot{display:block;border:0;background:none;color:#817263;font-size:15px;width:100%;height:34px;padding:0;line-height:1}.timeline-dot:hover,.timeline-dot:focus-visible{background:#ddd4cb}.timeline-empty{padding:24px!important;text-align:left!important;color:#79726b}.timeline-month-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;margin-top:12px}.timeline-month-links button{font-size:13px;padding:4px 8px}@media(min-width:1100px){.timeline-table{min-width:0}}@media(pointer:coarse){.timeline-dot{height:44px}}
/* 莫蘭迪淺棕、灰、粉配色，工作內容 12pt。 */
:root{--ink:#4b443e;--blue:#e9e4df;--lilac:#e9e2dc;--sage:#e9e4df;--surface:#f8f7f6}body{font-size:15px}header b{font-size:28px;letter-spacing:2px}main{max-width:1800px;margin:auto}.main-nav{align-items:center;margin-bottom:24px}.main-nav select{width:auto;margin-right:auto}.work-toolbar{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.work-toolbar select{width:240px}.row{align-items:center}.row input,.row select{width:auto}.row label{margin:0}.selected{background:#dcd2c9!important}#project-view,#weekly-view{background:transparent;border:0;padding:0}.project-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:18px;margin-top:22px}.project-grid>section:first-child{background:var(--sage)}.project-grid>section:nth-child(2){background:var(--surface)}.project-grid>section:last-child{background:var(--lilac)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{margin:4px 0}details{margin:12px 0;background:#ffffff66;border-radius:8px;padding:12px}summary{cursor:pointer;font-weight:600}.record{padding:12px 0;border-bottom:1px solid #d0c8c144;overflow-wrap:anywhere}.record button{font-size:13px;margin:4px}.record p{margin:5px 0;color:var(--ink)}a{color:#7f6a55;overflow-wrap:anywhere}.pre{white-space:pre-wrap}.warning{background:#ead8d5;padding:12px;color:#733b35}.weekly-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(450px,1.4fr);gap:20px;margin-top:20px}.weekly-layout>section{min-width:0}#slide-preview{margin-top:14px}#all-slides{display:none}.slide{background:linear-gradient(125deg,#e7e3e0,#eeeae5 65%,#ecdce2);border:1px solid #d5cec6;border-radius:16px;padding:30px;color:#4b443e;min-height:480px;overflow-wrap:anywhere}.slide h1{font-size:24pt;line-height:1.3;margin:12px 0 28px}.slide h2{font-size:12pt;margin:0 0 18px}.slide-category{font-size:12px;letter-spacing:2px;color:#867462}.slide-columns{display:flex;gap:26px;align-items:stretch}.slide-columns aside{width:30%;flex-shrink:0;background:#faf9f8ab;border:0;font-size:12pt;padding:20px}.slide-columns aside p{white-space:pre-wrap;font-size:12pt;color:var(--ink)}.slide-work{flex:1;min-width:0;font-size:12pt}.slide-item{margin:0 0 16px;white-space:pre-wrap}.slide-item p{margin:0 0 5px;color:var(--ink)}.slide-item small{display:block;font-size:12pt;color:#776e64}dialog{border:1px solid #cfc6bc;border-radius:16px;background:#f6f3f0;color:var(--ink);padding:24px;width:min(620px,95vw);max-height:90vh}dialog::backdrop{background:#463d3488}#edit-fields textarea{min-height:130px}#edit-error{color:#8e3939}#present-note{min-height:180px}#pending-files{display:grid;gap:12px}#expense-totals,#course-balance{padding:20px 0;font-size:18px}#expenses details{background:#f8f7f6}.projection{background:#35302a}.projection main{padding:14px;max-width:none}.projection .slide{min-height:calc(100vh - 110px);padding:5vh 5vw}.projection nav{padding:8px;color:#ddd}.projection:fullscreen nav{display:none}.projection:fullscreen .slide{min-height:calc(100vh - 28px)}@media(max-width:1000px){.project-grid{grid-template-columns:1fr}.weekly-layout{grid-template-columns:1fr}.slide h1{font-size:20pt}}@media(max-width:600px){main{padding:12px}.slide{padding:18px}.slide-columns{gap:12px;flex-direction:column}.slide-columns aside{width:100%}.main-nav button{font-size:13px}}@media print{@page{size:A4 landscape;margin:8mm}body{background:white}header,#notice,.main-nav,.work-toolbar,#project-view,#weekly-view>.row,.weekly-layout>section:first-child,.weekly-layout>section:last-child>.row,#slide-preview,#courses-view,#expenses-view,#settings-view,dialog{display:none!important}main,#workspace,#work-panels,#weekly-view,.weekly-layout,.weekly-layout>section:last-child,#all-slides{display:block!important;padding:0;margin:0;max-width:none;border:0;background:none}#all-slides .slide{break-after:page;break-inside:avoid;min-height:180mm;border-radius:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.slide-columns{flex-direction:row}.slide-columns aside{width:30%}}

/* Shared navigation and work surfaces. Course cards retain their own pink theme. */
:root{--ink:#4b443e;--blue:#e9e4df;--lilac:#e9e6e3;--sage:#e9e2dc;--surface:#f8f7f6;--accent:#c6b19c;--rose:#e8d5de}
header{background:#f8f5f3;border-bottom-color:#dcd3cb}header b{color:#c6b19c}input[type=checkbox]{accent-color:var(--accent)}button:hover:not(:disabled){border-color:#af9c8a}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9f8d7b;outline-offset:2px}
.main-nav button.selected,#categories button.selected{background:#c6b19c!important;color:#fff;border-color:#c6b19c}.main-nav button{background:#f8f5f3;border-color:#dcd3cb}.main-nav #space{background:#e9e2dc;border-color:#cec2b5;color:#705d4a}
#login{border:1px solid #e2dad2;box-shadow:0 12px 40px #7564520c}#login h1{color:#7e6a56}#login button,#add-project,#add-task,#save-draft,#save-present-note,#edit-integrations,#edit-form button[type=submit]{background:#c6b19c;color:#fff;border-color:#c6b19c}
.project-grid>section:first-child{background:#ece6e1}.project-grid>section:nth-child(2){background:#eee0e6}.project-grid>section:last-child{background:#eae8e5}.section-title h2{color:#716252}#project-title{color:#716252}
.weekly-layout>section:first-child{background:#f1ece8}.weekly-layout>section:last-child{background:#f7f4f2}.slide-category{color:#85705c}.slide-columns aside{background:#faf9f8ab}.slide h1{color:#695846}.slide h2{color:#806f5e}
#settings-view{background:#f7f4f2;border-color:#dcd3cb}#settings-view h1{color:#7e6a56}#integration-status{background:#f0ece8;border:1px solid #e3dcd4;border-radius:10px;padding:10px 18px;margin-bottom:18px}#integration-status p{color:#706459}#pair-result:not(:empty){background:#eee0e7;color:#6e4d62;padding:14px;border-radius:10px}

/* Light taupe controls use deep brown labels for readable contrast. */
header b{color:#806a56}.main-nav button.selected,#categories button.selected{color:#493d32;border-color:#b6a08a}#login button,#add-project,#add-task,#save-draft,#save-present-note,#edit-integrations,#edit-form button[type=submit]{color:#493d32;border-color:#b6a08a}#login button:hover,#add-project:hover,#add-task:hover,#save-draft:hover,#save-present-note:hover,#edit-integrations:hover,#edit-form button[type=submit]:hover{background:#bfa78f}.projection nav{color:#eee}
