:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--page);font-synthesis:none;--purple:#ebe4f3}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:inherit;padding:10px 13px;transition:background .15s}button:hover{background:var(--hover)}button:disabled{opacity:.45;cursor:wait}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button.primary:hover{background:var(--hover-accent)}button.subtle{background:transparent;border:0;color:var(--muted)}button.danger{color:#a64134}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);min-width:0}textarea{resize:vertical;min-height:90px;line-height:1.5}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid #87a57b;outline-offset:2px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:550}label.check{flex-direction:row;align-items:center;font-weight:400}input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:32px;font-weight:550;letter-spacing:-1.1px;margin-bottom:10px}h2{font-size:24px;letter-spacing:-.5px}h3{font-size:16px;margin-bottom:8px}p{line-height:1.55}small,.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.7px;color:var(--muted)}.hidden{display:none!important}.wordmark{font-size:24px;font-weight:700;color:var(--ink);letter-spacing:-1.1px;white-space:nowrap}.wordmark span{color:#89a479;font-size:35px}.shell{display:grid;grid-template-columns:216px minmax(480px,1fr) 390px;min-height:100vh}.sidebar{background:var(--nav);border-right:1px solid var(--line);padding:25px 18px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh}.sidebar .eyebrow{margin-top:25px}.project-picker{display:flex;gap:5px;margin-top:-13px}.project-picker select{font-size:13px;background:var(--soft)}.project-picker button{padding:8px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{text-align:left;border:0;background:transparent;padding:12px;font-size:13px;display:flex;gap:11px}.nav-item.active{background:#26394c;color:#fff;font-weight:600}.nav-icon{width:20px;font-size:17px}.sidebar-bottom{margin-top:auto;font-size:12px;color:var(--muted)}.sidebar-bottom p{padding:14px 2px;margin:0}.pilot-tag{font-size:11px;display:flex;align-items:center;gap:7px}.dot{width:6px;height:6px;border-radius:50%;background:#769064;display:inline-block}main{padding:34px 30px;min-width:0}.page-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:26px}.page-top .eyebrow{display:block;margin-bottom:13px}.page-top p{font-size:13px;color:var(--muted);margin:0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions button{font-size:12px;padding:8px 11px}.channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:24px}.channel-card{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:15px;text-align:left;min-width:0}.channel-card.active{border-color:var(--accent);background:var(--tint)}.channel-card .channel-icon{display:grid;place-items:center;background:var(--soft);width:29px;height:29px;border-radius:8px;font-size:14px;margin-bottom:14px}.channel-card strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:13px;white-space:nowrap}.channel-card small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.channel-card .channel-meta{display:flex;justify-content:space-between;gap:5px;margin-top:12px;font-size:10px;color:var(--accent)}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0}.toolbar select,.toolbar input{width:auto;font-size:12px;padding:8px}.toolbar .spacer{flex:1}.count-pill,.badge{display:inline-block;border-radius:6px;font-size:10px;padding:4px 7px;background:var(--soft);color:var(--accent);font-weight:550}.badge.scheduled{background:#e4eef9;color:#436180}.badge.published{background:#e3efde;color:#4b6d3e}.badge.failed,.badge.unknown{background:#f8e5da;color:#99502e}.badge.voice_script{background:var(--purple);color:#725a8c}.date-heading{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);margin:25px 0 15px}.date-heading:after{content:"";height:1px;background:var(--line);flex:1}.post-row{display:grid;grid-template-columns:45px minmax(0,1fr);gap:12px;margin-bottom:17px}.post-time{font-size:11px;color:var(--muted);padding-top:20px}.post-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;overflow:hidden}.post-top{display:flex;gap:8px;align-items:center;padding:16px 18px 0;font-size:11px;color:var(--muted);flex-wrap:wrap}.post-top .spacer{flex:1}.post-content{padding:14px 18px}.post-title{font-size:14px;font-weight:600;margin:0 0 10px}.telegram-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.telegram-text a{text-decoration:underline}.telegram-text blockquote{margin:8px 0;border-left:3px solid #809672;padding:6px 12px;background:var(--soft)}.telegram-text tg-spoiler{background:#d9dfd3}.post-media{display:flex;gap:4px;overflow:auto;max-height:280px;background:var(--soft)}.post-media img,.post-media video{object-fit:contain;max-width:100%;max-height:280px;min-width:0;flex:1}.post-media audio{width:100%;padding:10px}.post-bottom{display:flex;align-items:center;gap:6px;padding:10px 16px;border-top:1px solid var(--line);flex-wrap:wrap}.post-bottom button{padding:5px 8px;font-size:11px;border:0;background:transparent}.post-bottom button:hover{background:var(--soft)}.reason{font-size:11px;color:var(--muted);margin-top:14px;border-top:1px dashed var(--line);padding-top:10px;margin-bottom:0}.tg-button{display:block;border-radius:6px;background:#e5eee8;text-align:center;margin-top:12px;padding:9px;font-size:12px;color:#427158}.dependency{font-size:11px;background:var(--soft);padding:8px 12px;display:block}.empty{padding:35px 24px;text-align:center;border:1px dashed #cfd7c6;border-radius:15px;background:var(--paper)}.empty-symbol{font-size:38px;color:#8b9c7d;margin-bottom:20px}.empty h2{font-size:22px}.empty p{max-width:400px;margin:10px auto 20px;color:var(--muted);font-size:13px}.chat-panel{border-left:1px solid var(--line);background:var(--paper);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;min-width:0}.chat-head{padding:25px 22px 16px;border-bottom:1px solid var(--line)}.chat-head-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.chat-head h3{margin:0;font-size:15px}.avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#e3e9d9;color:#567044;margin-right:8px}.chat-person{display:flex;align-items:center}.chat-tabs{display:flex;gap:5px;background:var(--soft);border-radius:9px;padding:4px}.chat-tabs button{flex:1;font-size:12px;border:0;background:transparent;padding:8px}.chat-tabs .active{background:var(--paper);box-shadow:0 1px 3px #0000000c}.chat-role-note{font-size:11px;color:var(--muted);margin:13px 0 0}.chat-messages{flex:1;overflow-y:auto;padding:22px 18px;scroll-behavior:smooth}.message{font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:20px}.message.user{background:var(--tint);border-radius:13px 13px 3px 13px;padding:13px 15px;margin-left:25px}.message.assistant{padding:0 5px}.message-name{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;color:var(--muted)}.chat-empty{padding:20px 4px}.chat-empty h2{font-size:23px;line-height:1.3}.chat-empty p{font-size:12px;color:var(--muted)}.prompt{display:block;text-align:left;font-size:12px;width:100%;margin:9px 0;background:var(--paper);line-height:1.5}.chat-compose{padding:15px 18px 20px;border-top:1px solid var(--line)}.chat-compose textarea{font-size:12px;background:var(--paper);min-height:85px;max-height:220px;resize:vertical}.chat-compose-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:10px;color:var(--muted)}.chat-compose-footer button{font-size:12px;padding:8px 14px}.job-status{margin:5px 18px 12px;padding:12px;border-radius:9px;background:var(--soft);font-size:11px;line-height:1.5}.job-status.error{background:#f7eae1}.job-status button{font-size:10px;margin-top:8px;padding:5px}.panel{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:22px;margin-bottom:18px}.panel p{font-size:13px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.stack{display:flex;flex-direction:column;gap:17px}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.material-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.material-visual{height:150px;display:flex;align-items:center;justify-content:center;background:var(--soft);color:#8e9b80;font-size:40px}.material-visual img,.material-visual video{width:100%;height:100%;object-fit:contain}.material-info{padding:14px}.material-info strong{font-size:12px;overflow-wrap:anywhere}.material-info p{font-size:11px;color:var(--muted);margin:9px 0;white-space:pre-wrap}.material-info button{font-size:11px;padding:7px}.dropzone{display:block;text-align:center;padding:28px;border:1px dashed #bfcab2;border-radius:12px;background:var(--tint);font-size:13px;color:var(--accent);cursor:pointer;margin-bottom:20px}.dropzone input{margin:12px auto 0;font-size:12px;max-width:100%}.source-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:18px;margin-bottom:12px}.source-card p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}.source-card .actions{margin-top:12px}.source-card .actions button{font-size:10px}.notice{font-size:12px;line-height:1.55;padding:13px 15px;background:var(--soft);border-radius:9px;margin-bottom:17px}.error{color:#9a402e}.error-box{font-size:12px;padding:12px;background:#f8e9df;border-radius:8px;margin:10px 0;white-space:pre-wrap}.request-card{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.request-card small{display:block;color:var(--muted);margin-top:6px}dialog{border:1px solid var(--line);border-radius:17px;width:min(730px,calc(100vw - 30px));max-height:90vh;padding:27px;color:inherit;background:var(--paper);box-shadow:0 20px 100px #192b2430}dialog::backdrop{background:#1f291c65;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-head h2{font-size:22px;margin:0}.dialog-head button{border:0;background:transparent;font-size:21px;padding:3px}.dialog-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.dialog-footer button{font-size:13px}.checkbox-list{max-height:180px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:8px}.checkbox-list label{padding:5px 0;font-size:12px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:20;padding:14px 22px;border-radius:10px;background:#2d3d28;color:white;box-shadow:0 5px 30px #0002;font-size:13px;max-width:90vw}.login{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr}.login-copy{background:var(--nav);padding:60px 12%;position:relative;overflow:hidden}.login-copy .wordmark{display:block;margin-bottom:120px}.login-copy h1{font-size:57px;line-height:1.1;letter-spacing:-2px;margin:22px 0}.login-copy p:not(.eyebrow){color:#67765b;font-size:16px}.login-orbit{position:absolute;bottom:-90px;right:0;font-size:450px;color:#26394c;line-height:1;z-index:0}.login-form{align-self:center;width:340px;max-width:85%;justify-self:center;display:flex;flex-direction:column;gap:22px}.login-form h2{font-size:30px;margin:0}.login-form .error{margin:0}.login-form .primary{margin-top:6px}.result-table{width:100%;border-collapse:collapse;font-size:11px}.result-table th,.result-table td{padding:10px 6px;border-bottom:1px solid var(--line);text-align:left}.calendar-day{margin:12px 0}.calendar-line{padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--paper);display:flex;gap:15px;align-items:center;margin:7px 0;font-size:12px}.calendar-line strong{flex:1}.file-progress{font-size:12px;color:var(--accent);margin-bottom:12px}@media(min-width:1700px){main{padding:40px 5%}.shell{grid-template-columns:230px minmax(600px,1fr) 430px}.chat-messages{padding:26px}}@media(max-width:1190px){.shell{grid-template-columns:175px minmax(390px,1fr) 330px}.sidebar{padding:24px 12px}main{padding:28px 20px}.wordmark{font-size:21px}.chat-head{padding:22px 15px}.channel-grid{gap:7px}.channel-card{padding:11px}}@media(max-width:980px){.shell{grid-template-columns:170px minmax(0,1fr)}.chat-panel{grid-column:2;height:600px;position:relative;border-top:1px solid var(--line)}.sidebar{grid-row:1/3}.login-copy h1{font-size:42px}.login-copy{padding:40px 10%}}@media(max-width:620px){.shell{display:block}.sidebar{position:relative;height:auto;gap:12px;padding:14px 16px}.sidebar .wordmark{font-size:20px}.sidebar>.eyebrow,.sidebar-bottom{display:none}.project-picker{position:absolute;right:16px;top:23px;width:165px;margin:0}.sidebar nav{flex-direction:row;overflow:auto;gap:2px}.nav-item{padding:9px;font-size:11px;white-space:nowrap;gap:5px}.nav-icon{width:auto;font-size:13px}main{padding:24px 15px}.page-top{margin-bottom:18px}h1{font-size:28px}.page-top>.actions{max-width:140px;justify-content:flex-end}.channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.channel-card{padding:10px}.channel-card .channel-icon{margin-bottom:10px}.channel-card strong{font-size:11px}.channel-card small{font-size:9px}.channel-meta{display:block!important}.channel-meta span{display:block;margin:4px 0}.post-row{grid-template-columns:32px minmax(0,1fr);gap:7px}.post-time{font-size:10px}.post-top{padding:13px 13px 0}.post-content{padding:12px 13px}.form-grid{grid-template-columns:1fr}.media-grid{gap:10px}.material-visual{height:125px}.chat-panel{height:650px}.chat-head{padding:20px}.login{display:block}.login-copy{padding:30px 25px}.login-copy .wordmark{margin-bottom:40px}.login-copy h1{font-size:35px}.login-copy p:not(.eyebrow){font-size:13px}.login-orbit{font-size:260px;bottom:-90px;right:-80px}.login-form{padding:35px 0;margin:auto;max-width:85%}.login-form h2{font-size:25px}dialog{padding:20px}.toolbar{gap:6px}}

.chat-jump{display:none}@media(max-width:980px){.chat-jump{display:block;position:fixed;right:16px;bottom:16px;z-index:5;background:var(--accent);color:white;box-shadow:0 4px 20px #0002;font-size:12px}.chat-compose{padding-bottom:65px}}

.day-picker{display:flex;gap:10px;align-items:flex-end;margin:22px 0 10px;padding:14px;background:var(--soft);border-radius:12px}.day-picker label{flex:1;max-width:310px;font-size:11px;color:#66745b}.day-picker button{padding:10px 15px}.visual-request{border-left:3px solid #bc994c;background:#f8f2e3}.visual-request button{font-size:11px;margin-top:9px}.panel>form+.actions{margin:16px 0}.telegram-text details summary{cursor:pointer;color:#68745e;font-size:12px}

.planner-toolbar, .planner-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}
.planner-toolbar label { max-width: 180px; }
.planner-summary { justify-content: space-between; font-size: 12px; }
.planner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.planner-day { text-align: left; padding: 20px; min-width: 0; overflow-wrap: anywhere; }
.planner-day .eyebrow { display: block; margin-bottom: 12px; }
.planner-day p { font-size: 13px; }
.planner-day.approved { border-color: var(--accent); }
.planner-scenes { padding-left: 22px; margin: 0; overflow-wrap: anywhere; }
.planner-scenes li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.planner-scenes p { white-space: pre-wrap; margin: 10px 0; }
.scene-materials { margin-top: 12px; }
.scene-materials summary { cursor: pointer; overflow-wrap: anywhere; }
.job-error-help { width: 100%; font-size: 13px; }
.job-error-help p { margin: 10px 0; line-height: 1.5; }
.job-status.error > p { margin: 0; width: 100%; }
.planner-defaults { margin: 12px 0; padding: 12px; background: var(--soft); border-radius: 10px; }
.planner-defaults p { white-space: pre-wrap; margin: 10px 0; font-size: 13px; }
.plan-post-preview { margin-top: 10px; }
input[type=radio] { width: 17px; height: 17px; accent-color: var(--accent); }
.plan-post-preview > summary { display: inline-block; padding: 9px 14px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; font-weight: 600; }
.plan-post-preview[open] > summary { margin-bottom: 12px; }
.plan-post-preview:not([open]) > summary .preview-hide,
.plan-post-preview[open] > summary .preview-show { display: none; }
.plan-post-preview .post-card { margin: 0; }
.planner-day-actions { gap: 10px; }
.chat-confirmation { display: block; margin-top: 12px; }
.planner-scenes > li > button { font-size: 12px; }
.planner-materials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.planner-materials img, .planner-materials video, .planner-materials audio { max-width: 100%; max-height: 250px; }
.check-list { max-height: 45vh; overflow-y: auto; }
.check-list label { display: flex; flex-direction: row; align-items: center; padding: 8px; }
@media (max-width: 720px) {
  .planner-grid, .planner-materials { grid-template-columns: 1fr; }
  .planner-toolbar { align-items: flex-end; }
  .planner-toolbar strong { font-size: 13px; }
}
/* Native Telegram inline button colours; exact shades follow the Telegram client. */
.tg-button-danger {
  background: #b53646;
  color: #fff;
}
.tg-button-primary {
  background: #246cb0;
  color: #fff;
}
.tg-button-success {
  background: #23764d;
  color: #fff;
}

.post-translation {
  margin-top: 16px;
}
.translation-body {
  margin-top: 10px;
  padding: 14px;
  border: 1px solid #cbdcd0;
  border-radius: 8px;
  background: var(--tint);
  overflow-wrap: anywhere;
}
.translation-body p, .translation-body li {
  white-space: pre-wrap;
}
.translation-body ol {
  padding-left: 24px;
}

/* Keep chat controls mounted and scrolling local to the conversation. */
.chat-messages {
  min-height: 0;
  scroll-behavior: auto;
  overflow-anchor: none;
  overscroll-behavior: contain;
}
.chat-compose, .chat-head, #chat-status { flex-shrink: 0; }
.chat-tabs { margin-top: 12px; }
.chat-tabs button[data-id="author"], button[data-action="discuss-post"][data-role="author"] { display: none; }
#chat-status:empty { display: none; }
.context-chip, .attachment-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 9px;
  margin-bottom: 6px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--soft);
  font-size: 11px;
  overflow-wrap: anywhere;
}
.context-chip button, .attachment-chip button { padding: 2px 7px; }
#chat-attachments { max-height: 110px; overflow: auto; }
#chat-hint { margin-top: 9px; font-size: 10px; }
.message-context { color: var(--accent); margin-bottom: 7px; }
.message-files a { display: block; margin-top: 7px; }
.link-receipt { padding: 8px; margin-top: 8px; border: 1px solid var(--line); border-radius: 6px; }
.link-receipt small { display: block; }
.publication-types { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.publication-types button { padding: 24px 18px; text-align: left; }
.publication-types strong, .publication-types small { display: block; }
.publication-types small { margin-top: 10px; color: var(--muted); line-height: 1.5; }
.post-notes { margin-top: 14px; font-size: 11px; color: var(--muted); }
summary { cursor: pointer; line-height: 1.5; }
.request-card[open] summary { margin-bottom: 13px; }
.request-card p, .knowledge-summary { white-space: pre-wrap; overflow-wrap: anywhere; }
.request-card .actions { margin-top: 14px; }
.document-file { display: block; font-size: 13px; padding: 18px; overflow-wrap: anywhere; }
#post-form details > label, #post-form details > .form-grid { margin-top: 12px; }
.library-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; }
.library-grid .material-card { min-width: 0; overflow: hidden; }
.material-open { display: flex; align-items: center; justify-content: center; width: 100%; height: 155px; padding: 0; border: 0; border-radius: 0; overflow: hidden; background: var(--soft); }
.material-open img, .material-open video { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.library-grid .material-info { padding: 12px; }
.library-grid .material-info strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.library-grid .material-info .check { min-width: 0; }
label.check input[type=radio] {
  width: 17px;
  height: 17px;
  flex: none;
  accent-color: var(--accent);
}
.material-tags { display: flex; gap: 5px; flex-wrap: wrap; margin: 10px 0; }
.material-tags .badge { font-size: 10px; max-width: 100%; overflow-wrap: anywhere; }
.untagged { opacity: .65; }
.tag-suggestions { display: flex; flex-wrap: wrap; gap: 6px; }
.tag-suggestions button { padding: 5px 10px; font-size: 12px; }
.day-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.day-toolbar .day-picker { margin: 0; }
.feed-filters { margin: 14px 0; font-size: 12px; color: var(--muted); }
.editorial-status { margin: 12px 0 24px; }
.editorial-status details { margin-top: 10px; font-size: 12px; }
.topic-card .knowledge-summary { max-height: 420px; overflow: auto; }
@media (max-width: 600px) {
  .library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .material-open { height: 135px; }
  .day-toolbar .actions { width: 100%; }
}

/* Phantom family: navy navigation, clean surfaces, green accents. */
:root { --page:#f4f6f8; --paper:#fff; --soft:#f4f7f9; --hover:#eef5f1; --tint:#eaf4ed; --ink:#182733; --muted:#71808f; --line:#e5eaee; --accent:#19805c; --hover-accent:#126446; --nav:#111e2d; color-scheme:light; }
[data-theme=dark] { --page:#101720; --paper:#18232f; --soft:#202e3c; --hover:#263a3c; --tint:#1d3832; --ink:#e6edf5; --muted:#9bafc1; --line:#2c3b4b; --accent:#7ad8ad; --hover-accent:#afe7cc; --nav:#0b131d; --purple:#343046; color-scheme:dark; }
body { background:var(--page); color:var(--ink); }
button.primary { background:var(--nav); border-color:var(--nav); color:#fff; }
button.primary:hover { background:#283b4f; }
[data-theme=dark] button.primary { background:#97d4b6; color:#10241c; border-color:#97d4b6; }
[data-theme=dark] button.primary:hover { background:#afe7cc; }
input,select,textarea { background:var(--paper); border-color:var(--line); color:var(--ink); }
.sidebar { color:#dce6ee; border-color:#2b3b4a; }
.sidebar .eyebrow,.sidebar-bottom { color:#92a7b8; }
.sidebar .nav-item { color:#9db0c1; }
.sidebar .nav-item.active { background:#26394c; color:#fff; }
.sidebar .nav-item:hover { background:#1b2d40; color:#fff; }
.wordmark { display:flex; align-items:center; gap:10px; color:#fff; }
.wordmark .brand-icon { font-size:30px; color:#97d4b6; }
.wordmark .brand-text { font-size:22px; color:#fff; letter-spacing:-.6px; line-height:1; }
.brand-text small { display:block; font-size:10px; color:#8198ac; letter-spacing:3px; margin-top:7px; }
.login-copy { color:#fff; }
.login-copy p:not(.eyebrow) { color:#92a7b8; }
.login-copy .wordmark { display:flex; }
.login-orbit { opacity:.4; }
.sidebar-bottom { border-top:1px solid #2b3b4a; padding-top:12px; }
.project-picker { align-items:stretch; }
.project-picker > button { background:transparent; color:#dce6ee; border-color:#2e3d4d; }
#project-dropdown { flex:1; min-width:0; position:relative; }
#project-label { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:12px; border:1px solid #2e3d4d; border-radius:9px; font-size:12px; list-style:none; overflow-wrap:anywhere; }
#project-label::-webkit-details-marker { display:none; }
#project-menu { position:absolute; z-index:15; top:calc(100% + 7px); left:0; min-width:100%; width:205px; background:var(--paper); border:1px solid var(--line); border-radius:10px; box-shadow:0 12px 35px #0003; padding:5px; }
#project-menu button { display:flex; justify-content:space-between; text-align:left; border:0; width:100%; color:var(--ink); font-size:13px; }
#project-menu [aria-checked=true] { background:var(--tint); color:var(--accent); }
fieldset { border:1px solid var(--line); border-radius:12px; padding:18px; min-width:0; }
fieldset:disabled { opacity:.5; }
legend { padding:0 7px; font-size:13px; font-weight:600; }
fieldset .form-grid { margin-top:16px; }
fieldset p { margin:12px 0 0; }
.tag-choices { display:grid; gap:8px; max-height:300px; overflow:auto; }
.tag-choice { display:flex; align-items:center; border:1px solid var(--line); border-radius:10px; padding:11px; gap:8px; }
.tag-choice:has(input:checked) { border-color:var(--accent); background:var(--tint); }
.tag-choice label { flex:1; align-items:flex-start; }
.tag-choice small { display:block; font-size:11px; color:var(--muted); line-height:1.5; margin-top:5px; white-space:pre-wrap; }
.tag-choice button { border:0; background:transparent; padding:6px; }
.tag-create > .stack { padding-top:16px; }
.topic-badge { background:var(--tint); color:var(--accent); }
.channel-save { position:sticky; bottom:12px; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--paper); box-shadow:0 4px 20px #0001; margin-bottom:18px; z-index:2; }
.channel-save p:empty { display:none; }
.channel-connection .actions { margin-top:12px; }
.switch-label input { appearance:none; width:36px; height:21px; border-radius:14px; background:var(--line); border:0; position:relative; flex-shrink:0; }
.switch-label input:before { content:""; position:absolute; width:15px; height:15px; left:3px; top:3px; border-radius:50%; background:var(--paper); transition:transform .15s; }
.switch-label input:checked { background:var(--accent); }
.switch-label input:checked:before { transform:translateX(15px); }
.date-control { display:flex; align-items:center; border:1px solid var(--line); border-radius:9px; background:var(--paper); min-width:0; }
.date-control input { border:0; background:transparent; }
.date-control input::-webkit-calendar-picker-indicator { display:none; }
.date-trigger { border:0; color:var(--muted); padding:7px 11px; background:transparent; }
.calendar-popover { margin:0; position:fixed; width:300px; padding:14px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:14px; box-shadow:0 16px 45px #0003; }
.calendar-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; gap:6px; }
.calendar-head strong { text-transform:capitalize; font-size:13px; }
.calendar-head button { border:0; padding:7px; }
.calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.calendar-grid > span { text-align:center; font-size:10px; color:var(--muted); padding:5px 0; }
.calendar-grid button { border:0; border-radius:7px; padding:9px 0; font-size:12px; }
.calendar-grid [aria-pressed=true] { background:var(--accent); color:var(--paper); }
.calendar-today { display:block; width:100%; font-size:12px; border:0; margin-top:8px; background:var(--soft); }
.calendar-line.conditional-repost { border-style:dashed; background:var(--tint); }
.badge.conditional { background:var(--soft); color:var(--accent); }
.day-picker { background:var(--paper); border:1px solid var(--line); }
.day-picker label { color:var(--muted); }
.day-picker .date-trigger { padding:8px; }
[data-theme=dark] .badge.scheduled { background:#223b57; color:#a9c9ef; }
[data-theme=dark] .badge.published { background:#1d3832; color:#7ad8ad; }
[data-theme=dark] .badge.failed,[data-theme=dark] .badge.unknown,[data-theme=dark] .error-box,[data-theme=dark] .job-status.error { background:#462c2c; color:#ffb7a3; }
[data-theme=dark] .error { color:#ffb7a3; }
[data-theme=dark] .visual-request { background:#393323; color:#e9d59e; }
[data-theme=dark] .badge.voice_script { color:#d9c9ee; }
@media(max-width:620px) { .sidebar .wordmark { max-width:150px; } .wordmark .brand-text { font-size:18px; } .wordmark .brand-icon { font-size:24px; } .project-picker { top:15px; width:145px; } #project-menu { left:auto; right:0; width:200px; } .sidebar-bottom { display:block; border:0; padding:0; } .sidebar-bottom p,.sidebar-bottom .pilot-tag,.sidebar-bottom [data-action=logout] { display:none; } .sidebar-bottom [data-action=theme] { padding:3px 8px; font-size:11px; } .channel-grid { grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); } }

.usage-scroll { overflow-x: auto; max-width: 100%; }
.usage-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.usage-table th, .usage-table td { text-align: left; padding: 10px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.usage-table td:first-child { white-space: normal; min-width: 160px; }

#settings-form [hidden] { display: none !important; }

.settings-card > summary, .persona-card > summary, #circle-library > summary, #language-editions > summary { cursor:pointer; font-weight:650; padding:4px 0; }
.settings-card[open] > summary, .persona-card[open] > summary { margin-bottom:20px; }
.settings-card > .panel { padding:0; margin:0; border:0; box-shadow:none; }
.story-series-panel{border-color:#b9c9ad}.story-series-panel .eyebrow{display:block;margin-bottom:5px}.story-series-panel h3{margin:0;font-size:20px}.story-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.story-photo{display:block;position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--soft);cursor:pointer}.story-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.story-photo span{display:block;padding:7px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.story-photo input{position:absolute;top:7px;left:7px;z-index:1;width:18px;height:18px}.story-upload{margin:10px 0 0;padding:16px}.inline-upload{display:inline-flex;width:auto;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:12px;cursor:pointer}.inline-upload input{display:none}@media(max-width:620px){.story-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.settings-card > p, .persona-card > p { margin:14px 0; }
.persona-card textarea { resize:vertical; }
.language-version { padding:18px 0; border-bottom:1px solid var(--line); }
.language-version:last-child { border-bottom:0; }
#day-templates { padding:14px; background:var(--soft); border-radius:12px; }
#day-templates > summary { cursor:pointer; }
.visual-references, .visual-reference-picks { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:14px; }
.visual-reference { min-width:0; }
.visual-reference img, .visual-reference-pick img { display:block; width:100%; height:150px; object-fit:contain; background:var(--soft); border-radius:10px; }
.visual-reference-pick { display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.visual-reference-pick input { width:auto; }
.visual-candidate img { display:block; max-width:100%; max-height:480px; margin:auto; border-radius:12px; }
.visual-candidate { padding:14px 0; }
.visual-post-control { margin:16px 0; }
#visual-generate-form fieldset { min-width:0; margin:18px 0; border:1px solid var(--line); border-radius:12px; }
@media (max-width:620px) { .persona-card .form-grid { grid-template-columns:1fr; } .settings-card .calendar-line, .language-version .actions { flex-wrap:wrap; } }
@font-face{font-family:PhantomChat;src:url('/chat-font.ttf') format('truetype');font-weight:400;font-display:block}
@font-face{font-family:PhantomChat;src:url('/chat-medium.ttf') format('truetype');font-weight:500;font-display:block}
@font-face{font-family:PhantomChat;src:url('/chat-arabic.ttf') format('truetype');font-weight:400;font-display:block;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+1EE00-1EEFF}
@font-face{font-family:PhantomChat;src:url('/chat-hindi.ttf') format('truetype');font-weight:400;font-display:block;unicode-range:U+0900-097F,U+1CD0-1CFF,U+A8E0-A8FF}
@font-face{font-family:PhantomChat;src:url('/chat-arabic.ttf') format('truetype');font-weight:500;font-display:block;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+1EE00-1EEFF}
@font-face{font-family:PhantomChat;src:url('/chat-hindi.ttf') format('truetype');font-weight:500;font-display:block;unicode-range:U+0900-097F,U+1CD0-1CFF,U+A8E0-A8FF}
.chat-story-list{display:grid;gap:8px;margin-bottom:20px}
.chat-story-select{display:flex;align-items:center;gap:12px;width:100%;text-align:left}
.chat-story-select small{margin-left:auto}
.chat-story-workspace{min-width:0}
.chat-story-stage-input{min-width:0;margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:12px}
.chat-story-stage-input legend{font-weight:600;padding:0 6px}
.chat-story-offset{max-width:260px;margin:12px 0}
.chat-story-check{display:flex!important;flex-direction:row;align-items:center;gap:8px;grid-template-columns:auto 1fr!important}
.chat-story-check input{width:auto}
.chat-story-footer{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.chat-story-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:16px}
.chat-story-look{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:18px}
.chat-story-look label{max-width:280px;display:grid;gap:8px}
.chat-story-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover}
.chat-story-wallpaper{width:80px;height:64px;object-fit:cover;border-radius:8px}
.chat-story-reference{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;margin-bottom:18px}
.chat-story-reference>img,.chat-story-reference>video{display:block;width:100%;max-width:100%;max-height:160px;object-fit:contain;border-radius:8px}
.chat-story-reference>div{min-width:0}
.chat-story-reference label{margin:8px 0}
.chat-story-episode{border-top:1px solid var(--line);padding:20px 0}
.chat-story-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,240px));gap:14px;margin:16px 0}
.chat-story-gallery a{display:grid;gap:8px;min-width:0;text-decoration:none;font-size:13px}
.chat-story-gallery img{width:100%;border-radius:14px;box-shadow:0 4px 18px #0003}
.chat-story-message{display:grid;grid-template-columns:105px 105px minmax(0,1fr);gap:12px;margin:14px 0}
.chat-story-thumb{width:70px;max-height:80px;object-fit:contain}
#chat-stories-section details{margin-top:18px}
#chat-stories-section summary{cursor:pointer;margin-bottom:14px}
#chat-stories-section form label{display:grid;gap:7px}
#chat-stories-section textarea{width:100%;resize:vertical}
#chat-stories-section small{font-weight:400}
@media(max-width:700px){.chat-story-message{grid-template-columns:1fr 1fr}.chat-story-message label:last-child{grid-column:1/-1}.chat-story-gallery{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.chat-story-reference{grid-template-columns:75px minmax(0,1fr)}.chat-story-reference>img{width:75px}.chat-story-look label{max-width:100%}}

.generated-video { display: block; max-width: 100%; max-height: 520px; border-radius: 12px; margin-bottom: 12px; }
.chat-story-source-video { width: 100%; max-width: 100%; max-height: 160px; border-radius: 10px; }

.chat-workshop-files{padding-left:0;list-style:none;margin:12px 0;display:grid;gap:8px}
.chat-workshop-files li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:#f4f7f8;border-radius:10px}
.chat-workshop-files li span{min-width:0;overflow-wrap:anywhere}
.chat-workshop-files button{flex-shrink:0}
.chat-workshop-part{padding:12px 0;border-bottom:1px solid var(--line,#e4e9ec)}
.chat-workshop-part h3{font-size:15px;margin:0 0 10px}
.chat-workshop-part p,.chat-workshop-caption{white-space:pre-wrap;overflow-wrap:anywhere}
.chat-workshop-caption{padding:14px;border-radius:10px;background:#f4f8f7}
.chat-workshop-video{display:block;position:static;width:100%;max-width:280px;max-height:350px;object-fit:contain;border-radius:12px;margin:12px 0}
.chat-story-episode>summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chat-story-episode>summary small{color:var(--muted,#728293)}
.chat-story-reference>video{position:static;min-width:0;align-self:start}

.voice-workshop audio, .voice-preview audio { width: 100%; max-width: 100%; }
.voice-speed { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.voice-speed output { font-variant-numeric: tabular-nums; color: var(--accent); }
.voice-speed input[type=range] { grid-column: 1 / -1; padding: 0; min-height: 28px; accent-color: var(--accent); }
.voice-connection { margin-top: 8px; }
.voice-connection summary { cursor: pointer; color: var(--muted); }
.voice-connection form { margin-top: 14px; }
[aria-busy=true] #voice-task-status::before { content: ''; display: inline-block; width: 12px; height: 12px; margin-right: 8px; border: 2px solid var(--muted); border-top-color: var(--accent); border-radius: 50%; animation: voice-progress 1s linear infinite; }
@keyframes voice-progress { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { [aria-busy=true] #voice-task-status::before { animation: none; } }
.composer-formats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; border: 0; padding: 0; margin: 0; min-width: 0; }
.composer-formats legend { margin-bottom: 10px; font-weight: 600; }
.composer-format { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; min-width: 0; }
.composer-format:has(input:checked) { border-color: var(--accent); background: var(--soft); }
.composer-format input { flex: 0 0 17px; }
.composer-format span { display: grid; gap: 5px; }
.composer-format small { color: var(--muted); font-weight: 400; font-size: 12px; }
.calendar-composer details { border: 1px solid var(--line); border-radius: 12px; padding: 12px; }
.calendar-composer details[open] { display: grid; gap: 12px; }
#calendar-media-preview audio, #calendar-media-preview video { max-width: 100%; }
#calendar-media-preview video { width: 260px; aspect-ratio: 1; border-radius: 50%; object-fit: cover; }
.planner-week-actions { margin: 16px 0; }
@media (max-width: 420px) { .composer-format { padding: 10px; gap: 6px; } .composer-format small { font-size: 11px; } }
.calendar-composer [hidden] { display: none; }
/* The paid workspace keeps content and the Director together; account screens use the full work area. */
.product-mode .shell { grid-template-columns: 204px minmax(0, 1fr) 360px; }
.product-mode main { padding: 28px; }
.product-mode[data-product-view="account"] .shell { grid-template-columns: 204px minmax(0, 1fr); }
.product-mode[data-product-view="account"] #chat,
.product-mode[data-product-view="account"] .chat-jump { display: none; }
.product-mode .page-top h1 { font-size: 27px; }
.product-mode .panel { padding: 20px; }
.product-mode .planner-day { min-width: 0; }
.product-mode .planner-day p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.product-mode .planner-day-actions > button { flex: 1; padding: 13px 16px; font-size: 13px; }
.day-release { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 20px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.day-release p { flex: 1; margin: 0; min-width: 180px; }
.day-release button { min-height: 44px; }
.product-status { color: var(--ink); padding: 12px 0; font-size: 12px; overflow-wrap: anywhere; }
.product-status:empty { display: none; }
.product-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.product-metrics article { display: grid; gap: 10px; }
.product-metrics strong { font-size: 26px; overflow-wrap: anywhere; }
.product-metrics small { color: var(--muted); }
.subscription-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid var(--line); padding-top: 16px; flex-wrap: wrap; }
.subscription-row p { margin: 8px 0 0; }
.wallet-address { padding: 14px; background: var(--soft); overflow-wrap: anywhere; border-radius: 8px; }
.product-table-wrap { overflow-x: auto; }
.product-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.product-table th, .product-table td { text-align: left; padding: 12px 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
.product-table small { display: block; margin-top: 7px; color: var(--muted); }
.product-table td button { font-size: 12px; margin: 0 5px 5px 0; }
.product-table td { overflow-wrap: anywhere; }
.asset-picker, .video-detail { width: min(850px, calc(100vw - 32px)); max-width: 850px; padding: 24px; }
.asset-grid, .video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.asset-card { display: flex; flex-direction: column; min-width: 0; text-align: left; padding: 0; overflow: hidden; }
.asset-card.selected { outline: 3px solid var(--accent); }
.asset-card img, .asset-card video, .asset-placeholder { width: 100%; height: 140px; object-fit: cover; background: var(--soft); }
.asset-card strong, .asset-card small { margin: 9px 12px; overflow-wrap: anywhere; }
.asset-placeholder { display: grid; place-items: center; font-size: 32px; }
.upload-previews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0; max-height: 40vh; overflow: auto; }
.upload-previews article { display: grid; gap: 7px; min-width: 0; }
.upload-previews img, .upload-previews video { width: 100%; height: 100px; object-fit: cover; }
.upload-previews strong { font-size: 12px; overflow-wrap: anywhere; }
.video-tile { padding: 0; overflow: hidden; text-align: left; display: flex; flex-direction: column; }
.video-tile img, .video-tile video { width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--soft); }
.video-tile strong, .video-tile small { margin: 9px 12px; overflow-wrap: anywhere; }
.video-detail video { display: block; width: 100%; max-height: 52vh; margin: 18px 0; }
.product-mode details.panel > summary { font-weight: 600; }
.product-mode details.panel[open] > summary { margin-bottom: 18px; }
.product-mode #project-stories .panel { border: 0; padding: 0; margin: 0; }
@media (max-width: 1200px) {
  .product-mode .shell { grid-template-columns: 180px minmax(0, 1fr) 320px; }
  .product-mode main { padding: 22px 18px; }
  .product-mode .sidebar { padding: 22px 12px; }
  .product-mode .planner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .product-mode .shell, .product-mode[data-product-view="account"] .shell { display: block; }
  .product-mode .sidebar { position: relative; height: auto; padding: 15px; gap: 12px; }
  .product-mode .sidebar > .eyebrow, .product-mode .sidebar-bottom p, .product-mode .pilot-tag { display: none; }
  .product-mode .project-picker { margin-top: 0; }
  .product-mode .sidebar nav { flex-direction: row; overflow-x: auto; }
  .product-mode .nav-item { flex: 0 0 auto; padding: 10px; }
  .product-mode .sidebar-bottom { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
  .product-mode #chat { position: relative; height: 650px; max-height: 85vh; border-left: 0; border-top: 1px solid var(--line); }
  .product-mode .chat-jump { display: block; }
  .asset-grid, .upload-previews { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .product-mode main { padding: 20px 12px; }
  .product-mode .panel { padding: 16px; }
  .product-metrics, .product-mode .planner-grid { grid-template-columns: 1fr; }
  .product-mode .form-grid { grid-template-columns: 1fr; }
  .product-mode .planner-toolbar strong { width: calc(100% - 88px); text-align: center; }
  .asset-picker, .video-detail { padding: 16px; }
  .asset-grid { gap: 8px; }
  .asset-card img, .asset-card video { height: 100px; }
  .video-grid { gap: 10px; }
  .video-tile strong { font-size: 12px; }
}

.product-mode .sidebar .product-status { color: #b6c8d8; }
@media (max-width: 900px) { .product-mode .sidebar-bottom [data-action=logout] { display: inline-block; } }

/* Waiting belongs to the chat; elapsed time updates without replacing its controls. */
#chat-status .chat-job-wait { display: grid; gap: 9px; }
.chat-job-stage { display: flex; align-items: center; gap: 8px; min-width: 0; }
.chat-job-stage > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.chat-job-stage > button { flex-shrink: 0; }
.chat-job-bar { display: block; appearance: none; width: 100%; height: 4px; border: 0; border-radius: 4px; overflow: hidden; accent-color: var(--accent); }
.chat-job-bar::-webkit-progress-bar { background: var(--line); border-radius: 4px; }
.chat-job-bar::-webkit-progress-value { background: var(--accent); border-radius: 4px; transition: width .9s linear; }
.chat-job-bar::-moz-progress-bar { background: var(--accent); border-radius: 4px; }
.chat-job-bar:indeterminate { background: linear-gradient(90deg, var(--line) 0 30%, var(--accent) 50%, var(--line) 70%); background-size: 200% 100%; animation: chat-waiting 1.8s ease-in-out infinite; }
.chat-job-bar:indeterminate::-webkit-progress-bar { background: transparent; }
#chat-status .chat-job-timing { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
@keyframes chat-waiting { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (prefers-reduced-motion: reduce) { .chat-job-bar:indeterminate { animation: none; } .chat-job-bar::-webkit-progress-value { transition: none; } }

/* Project rules use the existing dialog and chat actions. */
.rules-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 18px; }
.rules-toolbar label { width: min(320px, 100%); }
.rules-toolbar select { margin-top: 8px; }
.rules-list { display: grid; gap: 10px; list-style: none; padding: 0; margin: 0; }
.rule-card { display: flex; align-items: start; gap: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; }
.rule-card details { flex: 1; min-width: 0; }
.rule-card summary { display: block; cursor: pointer; }
.rule-title { display: block; font-size: .82rem; color: var(--muted); margin-bottom: 6px; }
.rule-title::after { content: ' ▾'; }
.rule-card details[open] .rule-title::after { content: ' ▴'; }
.rule-preview { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; white-space: pre-line; }
.rule-card details[open] .rule-preview { display: none; }
.rule-full { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; }
.rule-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; }
.rule-actions button { padding: 8px 10px; font-size: .84rem; }
@media (max-width: 700px) {
  .rules-toolbar { align-items: stretch; flex-direction: column; }
  .rules-toolbar label { width: 100%; }
  .rule-card { flex-direction: column; gap: 12px; }
  .rule-actions { justify-content: start; }
  .rule-actions button { min-height: 40px; }
}
