:root { --bg:#fff6f8; --surface:#fff; --ink:#35282e; --muted:#8e7b84; --line:#eadde2; --green:#c65f83; --green-soft:#fbe2ea; --red:#dd6b76; --yellow:#e3aa42; --sidebar:#4b343e; --accent:#d36f91; --accent-soft:#fde7ee; --pet-room:#fff0f4; }
body.night { --bg:#19151a; --surface:#262027; --ink:#f5eaf0; --muted:#b5a4ad; --line:#40343b; --green:#e88eae; --green-soft:#4b2f3b; --sidebar:#171216; --accent:#ef9cba; --accent-soft:#442b36; --pet-room:#2f2229; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--bg); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; letter-spacing:0; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:224px minmax(0,1fr); }
.sidebar { position:sticky; top:0; height:100vh; padding:22px 18px max(16px,env(safe-area-inset-bottom)); color:#fff7fa; background:var(--sidebar); display:flex; flex-direction:column; z-index:5; overflow-y:auto; }
.brand { height:42px; display:flex; align-items:center; gap:11px; padding:0 10px; font-weight:700; }
.brand-mark { flex:0 0 31px; width:31px; height:31px; padding:0;overflow:hidden;display:grid; place-items:center; border:1px solid #ffffff40; border-radius:6px; background:#ffdce7; color:#87435d; font-size:14px; }
.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-mark:focus-visible{outline:2px solid #f4a9c1;outline-offset:2px}
.nav-list { margin-top:25px; display:grid; gap:5px; }
.nav-list-secondary{margin-top:5px}
.nav-item { width:100%; height:43px; padding:0 12px; border:0; border-radius:6px; color:#aeb8b1; background:transparent; display:flex; align-items:center; gap:12px; text-align:left; }
.nav-item:hover,.nav-item.active { color:white; background:#704b5b; }
.nav-icon { width:20px; font-size:18px; text-align:center; }
.sidebar-bottom { margin-top:12px; }
.profile { margin-top:17px; padding:18px 8px 0; border-top:1px solid #3b463f; display:flex; align-items:center; gap:10px; }
.avatar { flex:0 0 34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#e4b65a; color:#352b19; font-weight:800; }
.profile strong,.profile small { display:block; font-size:12px; }.profile small { margin-top:3px;color:#879188; }
.workspace { min-width:0; padding:0 42px 50px; }
.topbar { min-height:125px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.eyebrow,.section-label { margin:0 0 7px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
h1,h2,p { margin-top:0; } h1 { margin-bottom:0; font-size:27px; letter-spacing:0; } h2 { margin:3px 0 0; font-size:19px; letter-spacing:0; }
.top-actions { display:flex; align-items:center; gap:10px; }
.icon-button { width:42px; height:42px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--ink); font-size:21px; }
.primary-button { height:42px; padding:0 17px; border:0; border-radius:6px; background:var(--green); color:white; font-weight:650; }
.primary-button span { font-size:19px; }.primary-button.wide { width:100%; margin-top:8px; }
.menu-button { display:none; }
.content-grid { display:grid; grid-template-columns:minmax(460px,1fr) minmax(260px,330px); gap:36px; padding-top:33px; }
.main-column { min-width:0; }.right-column { min-width:0; display:grid; align-content:start; gap:18px; }
.day-overview { min-height:116px; padding:24px 26px; display:flex; align-items:center; justify-content:space-between; color:white; background:#b95e7e; border-radius:7px; }
.day-overview .section-label { color:#ffe3ed; }.progress-copy { display:flex; align-items:baseline; gap:9px; }.progress-copy strong { font-size:38px; }.progress-copy span { font-size:13px; color:#ffe7ef; }
.progress-ring { --p:0%; width:68px; height:68px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(#ffd36a var(--p),#d68ba5 0); position:relative; }
.progress-ring::before { content:""; position:absolute; inset:6px; border-radius:50%; background:#b95e7e; }.progress-ring span { position:relative; font-size:12px; font-weight:750; }
.section-block { padding-top:34px; }.section-heading { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:18px; }.section-heading.compact { align-items:center; margin-bottom:18px; }
.text-button { padding:7px 0; border:0; background:transparent; color:var(--green); font-size:12px; font-weight:700; }
.task-list { display:grid; gap:8px; }.task-row { min-height:58px; padding:8px 10px; display:grid; grid-template-columns:32px minmax(0,1fr) 25px 25px; align-items:center; gap:7px; border:1px solid var(--line); border-radius:6px; background:var(--surface); }
.task-row:hover { border-color:#bdc8c0; }.check { width:23px; height:23px; border:1.5px solid #aab3ac; border-radius:50%; background:white; color:white; font-size:14px; padding:0; }.task-row.done .check { background:var(--green); border-color:var(--green); }.task-row.done .task-title { text-decoration:line-through; color:#9aa19c; }
.task-title { display:block; font-size:14px; font-weight:620; }.task-meta { display:block; margin-top:4px; color:var(--muted); font-size:11px; }.priority { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:#819087; }.priority.high { background:var(--red); }.priority.low { background:var(--yellow); }
.delete-task,.edit-task { opacity:0; border:0; background:transparent; color:#8b938d; font-size:17px;padding:0 }.task-row:hover .delete-task,.task-row:hover .edit-task { opacity:1; }
.empty-state { padding:30px 16px; border:1px dashed #cbd1cc; border-radius:6px; color:var(--muted); text-align:center; font-size:13px; }
.inline-add { min-height:48px; margin-top:8px; padding:0 14px; display:flex; align-items:center; gap:8px; border:1px dashed #bdc5bf; border-radius:6px; color:var(--green); }
.inline-add input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--ink); }.inline-add button { border:0; background:transparent; color:var(--green); font-weight:700; }
.project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.project-card { padding:18px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }.project-top { display:flex; align-items:flex-start; justify-content:space-between; }.project-icon { width:34px; height:34px; border-radius:6px; display:grid; place-items:center; font-weight:800; }.project-icon.green,.project-icon.yellow { background:#f8d4df;color:#a54263; }.project-card h3 { margin:20px 0 6px; font-size:15px; }.project-card p { margin-bottom:18px;color:var(--muted);font-size:11px; }.project-percent { font-size:12px; font-weight:700; }.progress-bar { height:5px; border-radius:5px; background:#e8ebe8; overflow:hidden; }.progress-bar span { display:block;height:100%;background:var(--green);border-radius:5px; }
.side-panel { padding:22px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }.date-badge { min-width:35px; padding:5px; border-radius:5px; background:var(--green-soft); color:var(--green); text-align:center; font-size:12px;font-weight:750; }
.energy-panel{background:linear-gradient(145deg,var(--surface),var(--accent-soft))}.daily-encouragement{min-height:78px;margin:4px 0 12px;color:var(--ink);font-size:14px;font-weight:650;line-height:1.8}.daily-encouragement::before{content:"“";margin-right:3px;color:var(--accent);font-size:25px;line-height:0}.encouragement-count{color:var(--muted);font-size:9px}.encouragement-count b{color:var(--accent)}
.saved-state { color:#879087; font-size:10px; }.note-panel textarea { width:100%; min-height:115px; padding:0; border:0; resize:vertical; outline:0; color:var(--ink); line-height:1.7; }.quick-links { display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px; }.quick-links button { padding:0;border:0;background:transparent;color:var(--muted);font-size:10px; }.quick-links span { width:39px;height:39px;margin:0 auto 6px;display:grid;place-items:center;border-radius:6px;background:#edf0ed;color:#3a5446;font-size:11px;font-weight:800; }
.view { display:none; }.view.active { display:block; }.page-heading { padding:34px 0 24px; display:flex;align-items:center;justify-content:space-between; }.filter-row { display:flex;gap:5px;margin-bottom:15px; }.filter { padding:7px 13px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--muted); }.filter.active { background:var(--green-soft);border-color:transparent;color:var(--green);font-weight:700; }.task-list.large { max-width:850px; }.project-grid.expanded { grid-template-columns:repeat(3,minmax(0,1fr));max-width:960px; }.full-note { width:100%;min-height:42vh;padding:28px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);resize:vertical;outline:0;line-height:1.8; }.note-date{display:block;margin-top:6px;color:var(--muted);font-size:10px}.note-heading-actions{display:flex;align-items:center;gap:10px}.note-mode-tabs{display:flex;gap:6px;margin-bottom:14px}.note-mode-tabs button{height:38px;padding:0 16px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted)}.note-mode-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}.note-mode{display:none}.note-mode.active{display:block}.note-image-toolbar{margin:12px 0;display:flex;align-items:center;gap:12px}.note-image-toolbar small{color:var(--muted);font-size:9px}.note-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.note-image{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.note-image img{width:100%;height:100%;object-fit:cover}.note-image button{position:absolute;right:7px;top:7px;width:28px;height:28px;border:0;border-radius:50%;background:#3c2935cc;color:white;font-size:17px}.drawing-toolbar{min-height:54px;padding:8px 10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:7px 7px 0 0;background:var(--surface)}.color-swatches{display:flex;gap:6px}.color-swatch{width:28px;height:28px;padding:0;border:2px solid var(--surface);border-radius:50%;box-shadow:0 0 0 1px var(--line)}.color-swatch.active{box-shadow:0 0 0 2px var(--accent)}.drawing-toolbar select{height:32px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);font-size:10px}.drawing-toolbar label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.drawing-toolbar input{width:100px}.drawing-tools,.layer-controls{display:flex;align-items:center;gap:4px}.drawing-tools button,.layer-controls button{height:30px;min-width:30px;padding:0 9px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--muted)}.drawing-tools button.active,.layer-controls button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}.layer-controls>span{color:var(--muted);font-size:9px}.layer-controls button[data-toggle-layer].hidden-layer{opacity:.42;text-decoration:line-through}.brush-name{margin-right:auto;color:var(--muted);font-size:9px}.drawing-toolbar>button{height:32px;padding:0 11px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink)}.drawing-board{position:relative;height:min(62vh,680px);min-height:430px;border:1px solid var(--line);border-top:0;border-radius:0 0 7px 7px;background:#fff;overflow:hidden;touch-action:none}.drawing-board canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.note-archive-section{padding-top:34px}.note-archive{display:grid;gap:12px}.note-month{border:1px solid var(--line);border-radius:7px;background:var(--surface);overflow:hidden}.note-month>summary{padding:14px 16px;cursor:pointer;font-size:13px;font-weight:750;background:var(--accent-soft)}.archived-note{padding:14px 16px;border-top:1px solid var(--line)}.archived-note summary{cursor:pointer;font-size:11px;font-weight:700}.archived-note p{margin:12px 0;white-space:pre-wrap;color:var(--ink);font-size:11px;line-height:1.7}.archived-note-images{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.archived-note-images img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}.archived-layer-stack{position:relative;min-height:180px;border:1px solid var(--line);border-radius:5px;background:white;overflow:hidden}.archived-layer-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.calendar-layout{display:grid;grid-template-columns:minmax(560px,1fr) 300px;gap:20px;align-items:start}.calendar-board,.calendar-agenda{padding:22px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.calendar-toolbar{height:42px;display:grid;grid-template-columns:38px 1fr 38px;align-items:center}.calendar-toolbar h3{margin:0;text-align:center;font-size:17px}.calendar-toolbar button{width:34px;height:34px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);font-size:22px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{margin:14px 0 6px;color:var(--muted);font-size:10px;text-align:center}.calendar-day{position:relative;aspect-ratio:1.08;min-height:62px;padding:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left}.calendar-day:nth-child(7n+1){border-radius:5px 0 0 5px}.calendar-day:nth-child(7n){border-radius:0 5px 5px 0}.calendar-day.outside{color:#b7b8b7;background:var(--bg)}.calendar-day.today span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--accent);color:white}.calendar-day.selected{z-index:1;box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day small{position:absolute;right:7px;bottom:7px;color:var(--muted);font-size:8px}.calendar-day i{position:absolute;left:9px;bottom:10px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.calendar-agenda h2{margin:4px 0 20px}.calendar-task-list{display:grid;gap:8px}.calendar-task-list .task-row{grid-template-columns:28px 1fr 24px}.calendar-task-list .task-meta{font-size:9px}.calendar-task-list .delete-task{opacity:1}
dialog { width:min(480px,calc(100vw - 36px)); padding:0;border:0;border-radius:8px;box-shadow:0 24px 70px #18251d40; }dialog::backdrop { background:#17201975;backdrop-filter:blur(2px); }dialog form { padding:27px; }.dialog-heading { display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px; }.dialog-heading .icon-button { border:1px solid #edc1d0;background:var(--accent-soft);color:var(--accent);font-size:25px;outline:0; }.dialog-heading .icon-button:focus-visible { border-color:var(--accent);box-shadow:0 0 0 3px #d66f9126; }.dialog-heading h2 { font-size:22px; }dialog label { display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:650; }dialog input,dialog select { width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);outline:0; }.form-row { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0; }
.purchase-dialog{width:min(390px,calc(100vw - 34px));background:var(--surface);color:var(--ink)}.purchase-content{position:relative;padding:27px;text-align:center}.purchase-close{position:absolute;right:14px;top:14px;width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:24px}.purchase-content h2{margin:3px 0 18px}.purchase-preview{width:150px;height:143px;margin:0 auto 12px;border-radius:7px;background:var(--accent-soft);display:grid;place-items:center}.purchase-preview img{width:100%;height:100%;object-fit:contain}.purchase-content>strong{display:block;font-size:16px}.purchase-content>p{margin:6px 0 17px;color:var(--accent);font-size:12px;font-weight:700}.purchase-balance{padding:11px 13px;display:flex;justify-content:space-between;border-radius:6px;background:var(--bg);color:var(--muted);font-size:10px}.purchase-balance b{color:var(--ink);font-size:12px}.purchase-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.purchase-actions button{height:42px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted)}.purchase-actions .primary-button{border-color:var(--accent);background:var(--accent);color:white}
.quadrant-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quadrant{min-height:260px;padding:17px;border:1px solid var(--line);border-top:4px solid #d77882;border-radius:6px;background:var(--surface)}.quadrant.q2{border-top-color:#d4a94f}.quadrant.q3{border-top-color:#68a0c4}.quadrant.q4{border-top-color:#91a296}.quadrant-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.quadrant-heading>span{width:32px;height:32px;display:grid;place-items:center;border-radius:5px;background:var(--accent-soft);color:var(--accent);font-weight:800}.quadrant-heading h3{margin:0;font-size:14px}.quadrant-heading small{color:var(--muted);font-size:9px}.quadrant-empty{padding:38px 10px;color:var(--muted);text-align:center;font-size:11px}.task-archive{margin-top:18px;padding:14px 17px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.task-archive summary{cursor:pointer;font-size:12px;font-weight:700}.task-archive summary b{margin-left:5px;color:var(--accent)}.archive-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}.archive-task{padding:10px;display:flex;gap:9px;border-radius:5px;background:var(--bg)}.archive-task>span{color:var(--green)}.archive-task strong,.archive-task small{display:block}.archive-task strong{font-size:11px}.archive-task small{margin-top:3px;color:var(--muted);font-size:8px}
.quadrant-table{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.matrix-cell{min-height:210px}.matrix-cell:nth-child(odd){border-right:1px solid var(--line)}.matrix-cell:nth-child(-n+2){border-bottom:1px solid var(--line)}.matrix-heading{min-height:58px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.matrix-heading strong{font-size:14px}.matrix-heading small{color:var(--muted);font-size:9px}.matrix-cell.q1 .matrix-heading{background:#f8c8d2}.matrix-cell.q2 .matrix-heading{background:#f7edc7}.matrix-cell.q3 .matrix-heading{background:#e9ddf8}.matrix-cell.q4 .matrix-heading{background:#e3e5e8}.matrix-task-list{display:grid}.matrix-task.task-row{min-height:43px;padding:8px 13px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.matrix-task:first-child{border-top:0}.matrix-task .check{width:20px;height:20px}.matrix-task strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.matrix-task small{color:var(--muted);font-size:8px}.matrix-empty{padding:34px 14px;color:var(--muted);font-size:10px;text-align:center}.quadrant-list-heading{margin:28px 0 13px}.quadrant-list-heading h3{margin:4px 0 0;font-size:17px}.project-quadrant{display:inline-flex;width:max-content;padding:4px 7px;border-radius:4px;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:700}.project-quadrant.q1{background:#f8d7dc;color:#a53d4b}.project-quadrant.q2{background:#f7edc7;color:#8b6c22}.project-quadrant.q3{background:#e9ddf8;color:#70549a}.project-quadrant.q4{background:#e3e5e8;color:#626970}.project-card .project-quadrant{margin:9px 0}.project-meta .project-quadrant{padding:3px 6px}
.calendar-jump{display:flex;justify-content:center;gap:7px}.calendar-jump select{height:34px;padding:0 9px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);font-weight:700}.calendar-task-list .task-row{grid-template-columns:28px minmax(0,1fr) 24px 24px}.calendar-task-list .delete-task,.calendar-task-list .edit-task{opacity:1}
.project-tabs{display:flex;gap:6px;margin-bottom:14px}.project-tabs button{height:36px;padding:0 14px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted)}.project-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}.project-tabs b{margin-left:4px}.project-workspace-list{display:grid;gap:14px}.project-workspace-card{padding:20px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.project-workspace-card.archived{background:var(--bg)}.project-workspace-head{display:flex;justify-content:space-between;gap:20px}.project-workspace-head h3{margin:2px 0 6px;font-size:18px}.project-workspace-head p{margin:0;color:var(--muted);font-size:11px}.project-big-percent{font-size:24px;color:var(--accent)}.project-progress{height:8px;margin-top:16px}.project-meta{display:flex;gap:16px;margin-top:8px;color:var(--muted);font-size:9px}.project-toolbar{display:flex;gap:6px;margin:16px 0 10px}.project-toolbar button{height:34px;padding:0 11px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);font-size:10px}.project-toolbar button[data-project-action="copy-prompt"]{color:var(--accent);border-color:#e4b0c2}.project-children{display:grid;gap:7px}.project-workspace-card.collapsed .project-children{display:none}.project-child{min-height:46px;padding:6px 8px;display:grid;grid-template-columns:28px minmax(130px,1fr) 120px 72px 25px;align-items:center;gap:7px;border-radius:5px;background:var(--bg);touch-action:pan-y}.project-child.done{opacity:.58}.project-child.done>input{text-decoration:line-through}.child-check{width:24px;height:24px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--green)}.project-child>input,.project-child label input{min-width:0;height:32px;padding:0 7px;border:1px solid transparent;border-radius:4px;background:var(--surface);color:var(--ink)}.project-child label{display:flex;align-items:center;color:var(--muted);font-size:9px}.project-child label input{width:48px}.delete-child{visibility:hidden;opacity:0;transform:translateX(12px);pointer-events:none;border:0;background:transparent;color:#b1535d;font-size:17px;transition:.18s}.project-child.reveal-delete .delete-child{visibility:visible;opacity:1;transform:none;pointer-events:auto}.project-child.readonly{grid-template-columns:24px 1fr}.project-child.readonly strong,.project-child.readonly small{display:block}.project-child.readonly strong{font-size:11px}.project-child.readonly small{margin-top:3px;color:var(--muted);font-size:8px}.subproject-dialog{width:min(560px,calc(100vw - 34px));background:var(--surface);color:var(--ink)}.subproject-content{padding:27px}.subproject-content label{display:grid;gap:7px;margin-top:12px;color:var(--muted);font-size:11px;font-weight:650}.subproject-content input,.subproject-content textarea,#projectDescription{width:100%;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);outline:0}.subproject-content input{height:42px}.subproject-content textarea,#projectDescription{min-height:92px;resize:vertical}.bulk-divider{display:flex;align-items:center;gap:9px;margin:20px 0 4px;color:var(--muted);font-size:9px}.bulk-divider::before,.bulk-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.project-toolbar button[data-project-action="prompt"]{color:var(--accent);border-color:#e4b0c2}.project-toolbar button.danger{color:#b1535d}.child-archive{margin-top:10px;padding:9px;border-radius:5px;background:var(--accent-soft)}.child-archive summary{cursor:pointer;color:var(--accent);font-size:10px;font-weight:700}.child-archive .project-child{margin-top:6px}.parse-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:15px}.parse-mode button{height:35px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--muted)}.parse-mode button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}.prompt-dialog{width:min(520px,calc(100vw - 34px));background:var(--surface);color:var(--ink)}.prompt-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.prompt-mode-grid button{min-height:120px;padding:18px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--ink);text-align:left}.prompt-mode-grid button:hover{border-color:var(--accent);background:var(--accent-soft)}.prompt-mode-grid strong,.prompt-mode-grid small{display:block}.prompt-mode-grid strong{font-size:14px}.prompt-mode-grid small{margin-top:8px;color:var(--muted);font-size:10px;line-height:1.6}
.prompt-copy-fallback{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.prompt-copy-fallback[hidden]{display:none}.prompt-copy-fallback label{margin:0}.prompt-copy-fallback textarea{min-height:120px;font-size:12px;line-height:1.65}.prompt-copy-fallback>small{display:block;margin-top:8px;color:var(--muted);font-size:9px;text-align:center}
.confirm-dialog{width:min(400px,calc(100vw - 34px));background:var(--surface);color:var(--ink)}.confirm-content{padding:28px;text-align:center}.confirm-icon{width:38px;height:38px;margin:0 auto 13px;display:grid;place-items:center;border-radius:50%;background:#f8dfe2;color:#b1535d;font-weight:800}.confirm-content h2{margin:0 0 9px}.confirm-content p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}.danger-confirm{border-color:#b1535d!important;background:#b1535d!important;color:white!important}
.toast { position:fixed;left:50%;bottom:28px;z-index:20;padding:10px 16px;border-radius:6px;background:#4a3440;color:white;font-size:12px;opacity:0;pointer-events:none;transform:translate(-50%,10px);transition:.2s; }.toast.show { opacity:1;transform:translate(-50%,0); }
.pet-dock { position:relative; width:100%; margin-top:17px; padding:8px 6px 7px; border:1px solid #765363; border-radius:7px; background:#583c48; color:white; }
.pet-bubble { position:absolute; top:-12px; right:2px; z-index:2; max-width:128px; padding:5px 8px; border-radius:7px 7px 2px 7px; background:#fff4f7; color:#82445b; font-size:9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pet-avatar-wrap { position:relative; width:105px; height:87px; margin:2px auto 0; display:block; overflow:hidden; }.pet-layer-stack{position:relative}.pet-layer-stack>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.pet-skin{z-index:1}.pet-clothing{z-index:2}.pet-headwear{z-index:3}.pet-petting{z-index:4;opacity:0}.pet-petting.show{animation:pettingTap 3.1s ease-out}@keyframes pettingTap{0%{opacity:0;transform:translate(7px,-5px)}8%,78%{opacity:1;transform:translate(0,0)}28%,58%{opacity:1;transform:translate(-3px,4px) rotate(-2deg)}100%{opacity:0;transform:translate(-5px,7px)}}.pet-dock:hover .pet-layer-stack{transform:translateY(-2px) rotate(-2deg)}
.pet-dock-meta { display:flex; align-items:center; justify-content:space-between; gap:6px; }.pet-dock-meta strong{font-size:12px}.pet-dock-meta small{font-size:9px;color:#e9cbd6}.pet-dock-meta b{color:#ffd66b}.pet-accessory{position:absolute;left:50%;top:3px;z-index:2;transform:translateX(-50%);font-size:24px;pointer-events:none}.pet-accessory.big{top:4px;font-size:42px}
.coin-pill { padding:8px 13px; border-radius:20px; background:#fff0c8; color:#895d09; font-size:12px; }.coin-pill strong{font-size:15px}body.night .coin-pill{background:#4d3c22;color:#ffd982}
.companion-layout { display:grid; grid-template-columns:minmax(360px,.95fr) minmax(420px,1.2fr); gap:24px; }.pet-room{position:relative;min-height:600px;padding:28px;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--pet-room);text-align:center}
.room-decor{display:flex;justify-content:space-between;color:#e7a1b9;font-size:25px}.room-message{display:inline-block;margin:10px auto 5px;padding:8px 13px;border-radius:6px;background:var(--surface);color:var(--muted);font-size:12px}.big-pet-wrap{position:relative;width:min(360px,88%);height:270px;margin:8px auto 0}.big-pet-stack{width:100%;height:100%;animation:petFloat 3s ease-in-out infinite}.happy-friend{position:absolute;z-index:4;right:-34px;bottom:12px;width:42%;height:48%;object-fit:contain;opacity:0;pointer-events:none;transform:translateX(10px) scale(.85);transition:.35s}.happy-friend.show{opacity:1;transform:translateX(0) scale(1);animation:friendPop 2.5s ease-in-out infinite alternate}@keyframes petFloat{50%{transform:translateY(-6px) rotate(1deg)}}@keyframes friendPop{to{transform:translateY(-5px) rotate(2deg)}}
.pet-identity{display:flex;align-items:center;justify-content:center;gap:9px}.pet-identity input{width:100px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font-size:20px;font-weight:750;text-align:center;outline:0}.pet-identity span{padding:4px 8px;border-radius:5px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700}.xp-track{width:180px;height:6px;margin:12px auto 4px;overflow:hidden;border-radius:6px;background:#eadde2}.xp-track span{display:block;height:100%;border-radius:6px;background:var(--accent)}.xp-copy{color:var(--muted);font-size:10px}
.pet-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px}.pet-actions button{min-height:82px;padding:6px 4px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:11px}.pet-actions button:hover{border-color:var(--accent);transform:translateY(-2px)}.pet-actions button>img{display:block;width:46px;height:46px;margin:0 auto 2px;object-fit:contain}.pet-actions .petting-icon{position:relative;display:block;width:46px;height:46px;margin:0 auto 2px;overflow:hidden}.pet-actions .petting-icon img{position:absolute;width:100px;height:100px;max-width:none;left:-34px;top:11px;object-fit:contain}.pet-actions span{display:block;margin-bottom:5px;font-size:21px}.pet-actions small{display:block;margin-top:3px;color:var(--muted);font-size:8px}
.pet-dashboard{display:grid;align-content:start;gap:15px}.pet-panel{padding:22px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.mood-tag{padding:5px 8px;border-radius:5px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:700}.status-list{display:grid;gap:14px}.status-list>div{display:grid;grid-template-columns:38px 1fr 28px;align-items:center;gap:8px;font-size:11px}.status-list b{font-size:10px;color:var(--muted)}.status-track{height:7px;overflow:hidden;border-radius:7px;background:var(--bg)}.status-track i{display:block;height:100%;border-radius:7px;background:#ed9a8c}.status-track.water i{background:#77b7dd}.status-track.mood i{background:#e792b3}
.reward-note{margin-top:20px;padding:13px;border-radius:6px;background:var(--bg);display:grid;grid-template-columns:1fr auto;gap:3px}.reward-note span,.reward-note strong{font-size:11px}.reward-note small{grid-column:1/-1;color:var(--muted);font-size:9px}.wardrobe-tabs{display:flex;gap:5px;margin:-4px 0 12px}.wardrobe-tabs button{height:32px;padding:0 15px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--muted);font-size:10px}.wardrobe-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.shop-item{min-height:112px;padding:7px 4px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);text-align:center}.shop-item.owned{background:var(--accent-soft);border-color:#e7acc0}.shop-item.equipped{box-shadow:inset 0 0 0 2px var(--accent)}.shop-preview{width:58px;height:58px;margin:0 auto;display:grid;place-items:center}.shop-preview img{width:100%;height:100%;object-fit:contain}.shop-preview.none{font-size:24px}.shop-item strong,.shop-item small{display:block}.shop-item strong{margin:4px 0;font-size:10px}.shop-item small{font-size:8px;color:var(--muted)}
.online-dot{color:#7d9d84;font-size:10px}.online-dot::before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#77b98a}.boyfriend-chat{height:210px;padding:12px;overflow-y:auto;border-radius:6px;background:var(--bg);display:flex;flex-direction:column;gap:9px}.chat-line{display:flex;align-items:flex-end;gap:7px}.chat-line.me{justify-content:flex-end}.chat-avatar{flex:0 0 25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:800}.chat-bubble{max-width:78%;padding:8px 10px;border-radius:6px 6px 6px 2px;background:var(--surface);color:var(--ink);font-size:11px;line-height:1.55}.chat-line.me .chat-bubble{border-radius:6px 6px 2px 6px;background:var(--accent);color:white}.sticker-bubble{width:min(190px,70%);padding:5px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.sticker-bubble img{display:block;width:100%;max-height:170px;object-fit:contain}.chat-form{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:9px}.chat-form input{min-width:0;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);outline:0}.chat-form button{padding:0 14px;border:0;border-radius:6px;background:var(--accent);color:white}.chat-prompts{display:flex;gap:6px;margin-top:7px}.chat-prompts button{padding:6px 9px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted);font-size:9px}
.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.achievement{padding:10px;border-radius:6px;background:var(--bg);opacity:.45}.achievement.unlocked{opacity:1}.achievement span{font-size:18px}.achievement strong,.achievement small{display:block}.achievement strong{margin:4px 0;font-size:10px}.achievement small{color:var(--muted);font-size:8px}
.bond-badge{min-width:54px;padding:6px 9px;display:flex;align-items:center;justify-content:center;gap:3px;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.bond-badge span{font-size:13px}.bond-badge strong{font-size:14px}.bond-badge small{font-size:8px}
.comfort-dialog{width:min(760px,calc(100vw - 30px));padding:0;background:#1e151a;color:white}.comfort-dialog::backdrop{background:#1b1016d9;backdrop-filter:blur(5px)}.comfort-stage{position:relative;min-height:560px;overflow:hidden}.comfort-photo{position:absolute;inset:0}.comfort-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#201218e8 82%)}.comfort-photo img{width:100%;height:100%;object-fit:cover}.comfort-photo.mode-3 img{object-position:center 48%;transform:scale(1.15)}.comfort-close{position:absolute;right:14px;top:14px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:#1f151abf;color:white;font-size:25px}.comfort-copy{position:absolute;left:34px;right:34px;bottom:80px;z-index:1}.comfort-copy span{font-size:10px;color:#ffd1df}.comfort-copy h2{margin:8px 0;font-size:27px}.comfort-copy p{max-width:520px;margin:0;color:#f1dfe5;font-size:13px;line-height:1.7}.comfort-controls{position:absolute;bottom:24px;left:34px;right:34px;z-index:2;display:flex;align-items:center;justify-content:space-between}.comfort-controls button{height:40px;border:1px solid #ffffff50;border-radius:6px;background:#ffffff1f;color:white}.comfort-controls button:not(#comfortHug){width:40px;font-size:25px}.comfort-controls #comfortHug{padding:0 24px;background:#d66f91;border-color:#d66f91;font-weight:700}
@media (max-width:1000px) { .workspace{padding:0 26px 40px}.content-grid{grid-template-columns:1fr;gap:28px}.right-column{grid-template-columns:1fr 1fr}.links-panel{grid-column:1/-1}.project-grid.expanded{grid-template-columns:repeat(2,1fr)}.companion-layout{grid-template-columns:1fr}.pet-room{min-height:560px}.calendar-layout{grid-template-columns:1fr}.calendar-agenda{min-height:180px} }
@media (max-width:720px) { .app-shell{display:block}.sidebar{position:fixed;left:0;transform:translateX(-100%);width:224px;transition:.2s;box-shadow:15px 0 50px #10171240}.sidebar.open{transform:none}.workspace{padding:0 17px 35px}.topbar{min-height:104px}.menu-button{display:block;margin-right:10px}.topbar>div:nth-child(2){margin-right:auto}h1{font-size:22px}.eyebrow{font-size:9px}.top-actions .icon-button{display:none}.primary-button{padding:0 12px}.content-grid{padding-top:22px}.right-column{grid-template-columns:1fr}.links-panel{grid-column:auto}.project-grid,.project-grid.expanded{grid-template-columns:1fr}.day-overview{min-height:102px}.page-heading{padding-top:26px}.delete-task{opacity:1}.form-row{grid-template-columns:1fr}.quick-links{gap:5px}.pet-room{padding:18px;min-height:520px}.big-pet-wrap{height:230px}.pet-actions{grid-template-columns:repeat(2,1fr)}.shop-grid{grid-template-columns:repeat(2,1fr)}.achievement-grid{grid-template-columns:1fr}.calendar-board{padding:12px}.calendar-day{min-height:43px;padding:5px}.calendar-day small{display:none}.calendar-day i{left:50%;bottom:5px}.comfort-stage{min-height:72vh}.comfort-copy,.comfort-controls{left:20px;right:20px} }
@media (max-width:440px) { .top-actions .primary-button{width:42px;font-size:0;padding:0}.top-actions .primary-button span{font-size:23px}.task-row{grid-template-columns:30px 1fr 24px}.right-column{gap:12px} }
@media (max-width:900px){.project-child{grid-template-columns:28px 1fr 100px 66px 25px}.quadrant-grid{grid-template-columns:1fr}}
@media (max-width:720px){.task-row{grid-template-columns:28px minmax(0,1fr) 24px 24px}.matrix-cell{min-height:180px}.matrix-heading{min-height:68px;padding:10px;display:grid;gap:2px}.matrix-heading strong{font-size:12px}.matrix-task.task-row{grid-template-columns:22px minmax(0,1fr);padding:8px}.matrix-task small{display:none}.note-heading-actions{align-items:flex-end;flex-direction:column}.note-heading-actions .primary-button{height:36px}.note-image-grid{grid-template-columns:1fr 1fr}.note-image-toolbar{align-items:flex-start;flex-direction:column}.drawing-board{min-height:55vh}.brush-name{width:100%;margin:0}.archived-note-images{grid-template-columns:1fr 1fr}.edit-task,.delete-task{opacity:1}.archive-list{grid-template-columns:1fr}.project-toolbar{flex-wrap:wrap}.project-child{grid-template-columns:28px 1fr 25px}.project-child>input[data-child-field="deadline"],.project-child>label{grid-column:2}.project-child .delete-child{grid-column:3;grid-row:1}.calendar-jump select{max-width:98px;padding:0 5px}}
.drawing-board,.drawing-board *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.drawing-board{touch-action:none}.drawing-board canvas{touch-action:none}.drawing-toolbar output{min-width:18px;color:var(--accent);font-size:9px;text-align:right}
.brush-dialog{width:min(900px,calc(100vw - 28px));max-height:90vh;background:var(--surface);color:var(--ink)}.brush-dialog form{padding:24px}.brush-editor-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(300px,1fr);gap:18px}.brush-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.brush-fields .brush-name-field{grid-column:1/-1}.brush-fields label{font-size:10px}.brush-fields input,.brush-fields select{height:38px}.brush-preview-panel{display:grid;grid-template-rows:auto 1fr auto;min-height:430px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.brush-preview-heading{padding:10px;display:flex;align-items:center;justify-content:space-between;background:var(--accent-soft)}.brush-preview-heading button{height:30px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink)}#brushPreviewCanvas{width:100%;height:100%;min-height:340px;background:white;touch-action:none;-webkit-user-select:none;user-select:none}.brush-preview-panel small{padding:8px;color:var(--muted);font-size:9px}@media(max-width:760px){.brush-editor-layout{grid-template-columns:1fr}.brush-fields{grid-template-columns:1fr 1fr}.brush-preview-panel{min-height:360px}}
