:root{--bg:#f6f2ec;--paper:#fffdf9;--sidebar:#ece5dc;--ink:#302b27;--muted:#6c5d51;--line:#d9cfc2;--accent:#8c412d;--accent-hover:#713321;--selected:#ead9cf;--danger:#a02724;--success:#356449;--radius:14px;font-family:"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.55}
::placeholder{color:var(--muted);opacity:1}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px}a:hover{color:var(--accent-hover)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}::selection{background:var(--selected);color:var(--ink)}input,textarea{caret-color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:1.9rem;line-height:1.2;letter-spacing:-.025em;font-weight:650;margin-bottom:12px;text-wrap:balance}h2{font-size:1.15rem;line-height:1.35;font-weight:650;margin-bottom:18px}h3{font-size:1.05rem}p{margin-bottom:16px;overflow-wrap:anywhere}time{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.muted,.lede{color:var(--muted)}.lede{max-width:68ch;font-size:1rem;margin:0}.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding:32px 20px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:1.2rem;font-weight:650;padding:0 8px 32px}.brand small{display:block;font-size:.7rem;color:var(--muted);font-weight:400;margin-top:2px}.brand svg{flex-shrink:0;color:var(--accent)}nav{display:grid;gap:5px}nav a{display:block;text-decoration:none;color:var(--ink);padding:10px 14px;border-radius:8px;font-size:.9rem}nav a:hover{background:#e4dbd0;color:var(--ink)}nav a[aria-current]{background:var(--selected);color:var(--accent);font-weight:650}.sidebar-bottom{margin-top:auto;padding:24px 10px 0;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:.8rem}main{padding:48px 44px 24px;min-width:0;max-width:1600px;width:100%}.page-heading{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;margin-bottom:32px}.page-heading>.button,.page-heading>form{flex-shrink:0}.button{border:1px solid transparent;background:var(--accent);color:#fffdf9;padding:11px 18px;border-radius:8px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem;font-weight:600;line-height:1.4;transition:background-color .16s ease-out}.button:hover{background:var(--accent-hover);color:#fffdf9}.button.secondary{background:transparent;border-color:var(--line);color:var(--accent)}.button.secondary:hover{background:var(--selected)}.button.small{padding:7px 12px;font-size:.8rem}.text-button{border:0;background:transparent;padding:4px 0;color:var(--accent);font-size:inherit;text-decoration:underline;text-underline-offset:4px}.text-button:hover{color:var(--accent-hover)}.danger{color:var(--danger)}.status-line{display:flex;flex-wrap:wrap;gap:12px 30px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:30px;font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.status-line strong{color:var(--ink);font-weight:650}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}.paper{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-width:0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-heading .muted{font-size:.8rem}.workbench-aside{padding:12px 0;font-size:.9rem;color:var(--muted)}.workbench-aside h2{color:var(--ink);font-size:1rem}.aside-section{border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.checklist{list-style:none;padding:0;margin:0}.checklist li{display:flex;gap:10px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}.checklist li:last-child{border:0}.checklist strong{font-size:.85rem;color:var(--ink)}.checklist p{font-size:.8rem;margin:4px 0 0}.badge{display:inline-block;flex-shrink:0;background:#ede6dc;color:#5d4c3c;border-radius:5px;padding:3px 7px;font-size:.7rem;font-weight:600;line-height:1.5;vertical-align:middle}.badge.success,.badge.done{background:#e4eee6;color:var(--success)}.badge.failed,.badge.uncertain{background:#f7e3df;color:var(--danger)}.badge.running{background:#f0e6d2;color:#745015}.empty-state{padding:54px 12px;text-align:center;margin:auto;max-width:58ch;color:var(--muted)}.empty-state h2,.empty-state h3{color:var(--ink)}.empty-state p{margin-bottom:18px}.empty-state.compact{padding:24px 8px}.empty-state.compact p{margin:0}.message-preview{padding:18px 0;border-top:1px solid var(--line)}.message-preview:first-child{border-top:0}.message-preview:last-child{padding-bottom:0}.message-meta{display:flex;gap:12px;justify-content:space-between;align-items:baseline;font-size:.85rem;margin-bottom:8px}.message-preview p{font-size:.9rem;margin:0}.field{margin-bottom:24px}.field label{display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.field input:not([type=checkbox]),.field select,.field textarea,.search-form input,.chat-composer textarea{width:100%;border:1px solid #bfb1a0;border-radius:8px;background:#fffefd;color:var(--ink);padding:11px 12px;min-height:44px}.field textarea,.chat-composer textarea{resize:vertical;line-height:1.55}.field input[type=checkbox]{width:19px;height:19px;accent-color:var(--accent);flex-shrink:0;margin:2px 0 0}.field .checkbox-label{display:flex;gap:12px;align-items:flex-start}.field-help{font-size:.8rem;color:var(--muted);margin:8px 0 0;max-width:70ch}.field-error input,.field-error textarea,.field-error select{border-color:var(--danger)!important}.field-error-text{color:var(--danger);font-size:.85rem;margin:6px 0 0}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:30px}.form-actions .muted{font-size:.8rem}.form-width{max-width:800px}.notice{padding:13px 16px;border-radius:8px;background:#e4eee6;color:var(--success);font-size:.9rem}.notice.error{background:#f7e3df;color:var(--danger)}.notices{margin-bottom:24px}.version-list{padding:0;list-style:none}.version-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--line)}.version-list strong,.version-list time{display:block}.version-list button{font-size:.75rem}.search-form{display:flex;gap:12px;max-width:700px;margin-bottom:18px}.search-form input{min-width:0}.memory-list,.job-list{padding:0 28px}.memory-row,.job-row,.schedule-row{display:flex;gap:24px;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--line)}.memory-row:last-child,.job-row:last-child,.schedule-row:last-child{border-bottom:0}.memory-body,.job-row>div:first-child{min-width:0;flex:1}.memory-row h2{font-size:1rem;line-height:1.6;font-weight:500;margin:12px 0}.row-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}.row-actions{display:flex;align-items:center;align-content:start;justify-content:flex-end;flex-wrap:wrap;gap:10px 16px;font-size:.8rem;max-width:210px}.row-actions form{display:inline-flex}.memory-row details,.job-row details{font-size:.8rem}.memory-row details p{margin:8px 0}.memory-row blockquote{border:0;margin:12px 0;padding:12px;background:var(--bg);border-radius:8px;white-space:pre-wrap}.memory-row summary,.job-row summary{color:var(--accent);cursor:pointer}.lower-section{margin-top:36px}.schedule-row p{margin:0 0 8px}.schedule-row .muted{font-size:.8rem}.cost-value{font-size:1.8rem;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums;margin-bottom:12px}.table-wrap{overflow-x:auto;padding:0}table{width:100%;border-collapse:collapse;text-align:left;font-size:.8rem}th,td{padding:14px 18px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}th{color:var(--muted);font-weight:600;white-space:nowrap}tbody tr:last-child td{border:0}.model-cell{overflow-wrap:anywhere;min-width:180px}.empty-cell{text-align:center;padding:40px;color:var(--muted)}.job-error{font-size:.85rem;color:var(--danger);margin:10px 0;overflow-wrap:anywhere}.job-row p{font-size:.85rem}.preserve-lines{white-space:pre-wrap}.chat-workspace{max-width:1050px;padding:0;overflow:hidden}.chat-messages{height:480px;min-height:280px;overflow-y:auto;padding:26px;scrollbar-color:#bca897 var(--bg);scrollbar-width:thin}.chat-message{max-width:84%;margin:0 0 18px;padding:13px 16px;border-radius:12px;background:var(--bg)}.chat-message.user{margin-left:auto;background:var(--selected)}.chat-message .speaker{display:block;font-size:.75rem;color:var(--muted);margin-bottom:5px;font-weight:600}.chat-message p{margin:0;white-space:pre-wrap;font-size:.95rem}.chat-composer{display:flex;align-items:flex-end;gap:12px;padding:18px 22px;border-top:1px solid var(--line);background:#fbf7f1}.chat-composer textarea{min-height:74px;max-height:180px}.chat-composer button{flex-shrink:0}.chat-status{min-height:24px;margin:0;padding:0 24px 8px;font-size:.8rem;color:var(--muted)}.chat-workspace>.field-help{padding:0 22px 16px;margin:0}.page-footer{font-size:.75rem;color:var(--muted);margin-top:44px;padding-top:20px;border-top:1px solid var(--line)}.login-page{display:grid;min-height:100vh;place-items:center;padding:32px 18px}.login-box{max-width:480px;padding:36px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.login-box h1{font-size:1.7rem}.login-box .lede{margin-bottom:28px}.login-box form>.button{width:100%;margin-bottom:24px}.login-box>.muted{margin:0;font-size:.8rem;text-align:center}.login-brand{color:var(--accent);font-size:1.2rem;font-weight:650;margin-bottom:32px}.skip-link{position:fixed;top:-100px;left:16px;background:var(--paper);padding:12px;z-index:100}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){main{padding-left:60px;padding-right:60px}.workspace{grid-template-columns:minmax(0,1fr) 320px;gap:40px}}
@media(max-width:1150px){main{padding:32px 26px}.workspace{grid-template-columns:minmax(0,1fr) 240px;gap:24px}.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:28px 14px}.page-heading{flex-wrap:wrap}h1{font-size:1.65rem}.paper{padding:22px}.memory-list,.job-list{padding:0 22px}}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.workbench-aside{padding:4px 0}.checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.checklist li{display:block;border:0}.checklist li .badge{margin-bottom:8px}.aside-section{margin-top:20px;padding-top:20px}.row-actions{max-width:160px}}
@media(max-width:650px){.shell{display:block}.sidebar{position:static;height:auto;padding:18px 18px 12px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0 2px 14px;font-size:1.05rem}.brand svg{width:24px;height:28px}.brand small{display:none}.sidebar nav{display:flex;flex-wrap:wrap;gap:3px}.sidebar nav a{padding:7px 10px;font-size:.8rem}.sidebar-bottom{position:absolute;top:22px;right:20px;padding:0;margin:0}.sidebar-bottom>.muted{display:none}main{padding:26px 18px 20px}.page-heading{gap:18px;margin-bottom:24px}h1{font-size:1.55rem}.lede{font-size:.9rem}.paper{padding:20px}.memory-list,.job-list{padding:0 20px}.status-line{gap:10px 20px;font-size:.8rem}.checklist{display:block}.checklist li{display:flex;border-bottom:1px solid var(--line)}.checklist li .badge{margin:0}.memory-row,.job-row{flex-direction:column;gap:16px}.row-actions{max-width:none;justify-content:flex-start}.memory-row h2{font-size:.95rem}.chat-messages{height:430px;padding:18px}.chat-message{max-width:94%}.chat-composer{padding:14px;flex-direction:column;align-items:stretch}.chat-composer button{align-self:flex-end}.chat-workspace{padding:0}.chat-status{padding-left:18px}.search-form{gap:8px}.search-form .button{padding:10px 12px}.login-box{padding:28px 22px}.login-box h1{font-size:1.5rem}.form-actions{align-items:flex-start;flex-direction:column}.form-actions .button{width:100%}.schedule-row{flex-direction:column;gap:12px}.schedule-row form{align-self:flex-start}.page-footer{margin-top:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
