:root{--bg:#faf8f4;--ink:#23211c;--muted:#6f6a5e;--accent:#7a5af8;--accent-ink:#fff;--card:#fff;--line:#e6e1d6;--mentor:#eef0ff;--user:#eaf6ec}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.55}main{max-width:860px;margin:0 auto;padding:24px 18px 64px}h1{font-size:1.9rem;line-height:1.2}h2{margin-top:2rem;font-size:1.25rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.hint{color:var(--muted)}.error{color:#b3261e}.server-update{border-left:3px solid var(--accent);background:var(--mentor);border-radius:6px;margin:8px 0;padding:10px 12px}button,.cta{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:10px;padding:12px 20px;font-size:1rem;display:inline-block}button:hover,.cta:hover{filter:brightness(1.06);text-decoration:none}textarea{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:10px;padding:12px;font-size:1rem}input[type=text]{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:10px;padding:12px;font-size:1rem}textarea{resize:vertical}label{margin:14px 0 6px;font-weight:600;display:block}.landing-hero{text-align:center;padding:48px 0 16px}.landing-hero h1{letter-spacing:.06em;margin:0;font-size:3rem}.tagline{color:var(--muted);max-width:640px;margin:12px auto 24px;font-size:1.1rem}.landing-section{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-top:18px;padding:18px 22px}.landing-footer{text-align:center;color:var(--muted);margin-top:32px}.landing-footer .links{justify-content:center;gap:18px;padding:0;list-style:none;display:flex}.chat-list{padding:0;list-style:none}.chat-list li{margin:10px 0}.cabinet-nav{gap:18px;margin-bottom:18px;display:flex}.cabinet-nav form{margin:0;display:inline}.link-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.messages{flex-direction:column;gap:12px;padding:0;list-style:none;display:flex}.msg{white-space:pre-wrap;border-radius:14px;max-width:82%;padding:12px 14px}.msg.user{background:var(--user);border-bottom-right-radius:4px;align-self:flex-end}.msg.mentor{background:var(--mentor);border-bottom-left-radius:4px;align-self:flex-start}.chat form{flex-direction:column;gap:10px;margin-top:18px;display:flex}.msg-img{border:1px solid var(--line);border-radius:10px;width:100%;max-width:260px;margin:6px 0;display:block}.composer .thumbs{flex-wrap:wrap;gap:10px;display:flex}.composer .thumb{width:96px;height:96px;position:relative}.composer .thumb img{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:100%;height:100%}.thumb-remove{border-radius:999px;padding:2px 8px;font-size:.85rem;line-height:1.3;position:absolute;top:-8px;right:-8px}.composer-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.file-btn{border:1px dashed var(--line);cursor:pointer;color:var(--muted);border-radius:10px;margin:0;padding:10px 14px;font-weight:600;display:inline-block}.file-btn input{display:none}.file-btn:hover{border-color:var(--accent);color:var(--accent)}.methodology .toc{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-top:18px;padding:12px 20px}.methodology .toc ul{padding:0;list-style:none}.methodology .toc li{margin:6px 0}.methodology-section{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-top:14px;padding:4px 18px}.methodology-section summary{cursor:pointer;padding:10px 0}.methodology-section summary h2{margin:0;font-size:1.15rem}.methodology-section .section-body{padding-bottom:12px}.methodology .md-table-wrap{overflow-x:auto}.methodology .md-table{border-collapse:collapse;width:100%}.methodology .md-table th,.methodology .md-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 10px;font-size:.92rem}.methodology .md-code{border:1px solid var(--line);background:#f1eee7;border-radius:10px;padding:12px;font-size:.85rem;overflow-x:auto}.methodology .md-quote{border-left:3px solid var(--accent);color:var(--muted);margin:10px 0;padding:2px 0 2px 12px}.methodology .md-list li{margin:4px 0}.card-sections{flex-direction:column;gap:10px;margin:12px 0;display:flex}.card-section{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:8px 12px}.card-section>summary{cursor:pointer;font-weight:600}.card-subsection{border-left:2px solid var(--line);margin:8px 0 8px 12px;padding-left:10px}.card-subsection>summary{cursor:pointer;color:var(--muted,#555);font-weight:600}.card-section input[type=search]{border:1px solid var(--line);background:var(--bg,#fff);border-radius:10px;width:100%;margin:8px 0;padding:8px 10px}.mode-chip{border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:.85em;display:inline-block}.takt-card-wrap{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.takt-mode{color:var(--muted,#666);align-items:center;gap:4px;font-size:.8em;display:inline-flex}.takt-cards-pool,.takt-center{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.takt-card{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:12px;padding:10px 14px;font-size:.95rem}.takt-card.in-takt{border-color:var(--accent);background:var(--mentor);color:var(--ink)}.takt-card.takt-running{background:var(--user);border-color:#2e7d32}.takt-card.takt-done{opacity:1;color:var(--ink);background:#eef7ee;border-color:#2e7d32}.takt-card.takt-paused{border-color:var(--muted);color:var(--ink)}.takt-active .takt-card{flex-direction:column;align-items:flex-start;gap:4px;min-width:180px;display:flex}.takt-time{font-variant-numeric:tabular-nums;color:var(--ink);font-size:.85rem}.takt-progress{background:var(--line);border-radius:3px;width:100%;height:6px;overflow:hidden}.takt-progress-fill{background:var(--accent);height:100%;display:block}.takt-status{color:var(--ink);font-size:.8rem}.takt-done-msg{color:#2e7d32;font-weight:600}.takt-history{padding:0;list-style:none}.takt-history li{border-bottom:1px solid var(--line);padding:8px 0}.takt-num{font-weight:600}.task-panel{background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.12);border-radius:12px;margin-top:20px;padding:16px}.task-meta{opacity:.75;margin:4px 0 10px;font-size:.9em}.task-text{white-space:pre-wrap;margin:8px 0;line-height:1.5}.task-actions{flex-wrap:wrap;gap:10px;margin:12px 0 8px;display:flex}.task-step-down{opacity:.85}.task-principle{white-space:pre-wrap;background:rgba(0,0,0,.03);border-left:3px solid rgba(0,0,0,.25);margin:8px 0;padding:10px 12px}.takt-card.takt-busy{cursor:progress}.received-tasks{margin:6px 0;padding:0;list-style:none}.received-task{border-bottom:1px solid var(--line);padding:6px 0}.received-task summary{cursor:pointer}.task-meta-inline{opacity:.75;font-size:.85em}.task-status{border:1px solid var(--line);border-radius:10px;padding:1px 8px;font-size:.8em;display:inline-block}.task-status-solved{background:#eef7ee;border-color:#2e7d32}.task-status-active{border-color:var(--accent);background:var(--mentor)}.task-status-too_hard{border-color:var(--muted)}.tree-controls{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.tree-controls button{background:var(--card);color:var(--ink);border:1px solid var(--line)}.tree-controls button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tree-filter{margin-left:8px;font-weight:400}.tree-node{margin:4px 0}.tree-node>summary{cursor:pointer;padding:6px 0}.tree-level-1>summary{font-weight:600}.tree-children{border-left:2px solid var(--line);margin-left:18px;padding-left:10px}.tree-count{white-space:nowrap;background:var(--line);border-radius:10px;margin-left:8px;padding:0 8px;font-size:.8em;font-weight:400}.tree-empty>summary{opacity:.55}.tree-legend{margin-top:20px}.takt-history-item>summary,.history-card>summary{cursor:pointer}.takt-history-detail{border-left:2px solid var(--line);margin:6px 0 4px 18px;padding-left:10px}.takt-history-cards,.history-tasks{margin:4px 0;padding:0;list-style:none}.takt-history .takt-history-cards li,.takt-history .history-tasks li{border-bottom:none;padding:4px 0}.history-tasks{margin-left:18px}.task-page-text{font-size:1.1rem}.task-coords{grid-template-columns:max-content 1fr;gap:6px 16px;display:grid}.task-coords dt{color:var(--muted)}.task-coords dd{margin:0}.task-tnp{margin:0;padding-left:18px}.task-attempts{padding:0;list-style:none}.task-attempts li{border-bottom:1px solid var(--line);padding:6px 0}