:root {
  --page:#f8f7f2;
  --sidebar:#f1f1e8;
  --surface:#fffefb;
  --ink:#29382e;
  --muted:#687065;
  --line:#e2e4da;
  --accent:#56735e;
  --accent-hover:#435e4b;
  --accent-soft:#e9eee4;
  --apricot:#ead7c3;
  --danger:#944c3f;
  --danger-soft:#faf0e9;
  --radius:10px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--ink);
  background:var(--page);
  font-size:16px;
  line-height:1.6;
  font-synthesis:none;
}
* {
  box-sizing:border-box;
}
[hidden] {
  display:none!important;
}
body {
  margin:0;
}
button,input,textarea,select {
  font:inherit;
  color:inherit;
}
button,a,input,textarea,select,summary {
  -webkit-tap-highlight-color:transparent;
}
button,select,summary {
  cursor:pointer;
}
button,a.button {
  touch-action:manipulation;
}
button:disabled,input:disabled,select:disabled,textarea:disabled {
  opacity:.5;
  cursor:default;
}
:focus-visible {
  outline:3px solid #9cac8c;
  outline-offset:3px;
}
h1,h2,h3,p {
  margin:0;
}
h1 {
  font-size:28px;
  font-weight:600;
  line-height:1.45;
  letter-spacing:.025em;
}
h2 {
  font-size:17px;
  font-weight:600;
  line-height:1.5;
}
h3 {
  font-size:16px;
  font-weight:550;
  line-height:1.55;
}
a {
  color:var(--accent);
  text-decoration:none;
}
input,textarea,select {
  font-size:16px;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:8px;
  min-height:44px;
  padding:10px 12px;
  min-width:0;
  max-width:100%;
}
input::placeholder,textarea::placeholder {
  color:#8b9285;
  opacity:1;
}
textarea {
  resize:vertical;
  width:100%;
  line-height:1.85;
}
input[type=checkbox],input[type=radio] {
  min-height:18px;
  width:18px;
  height:18px;
  padding:0;
  accent-color:var(--accent);
  flex:0 0 auto;
}
fieldset {
  padding:0;
  border:0;
  margin:0;
}
legend {
  margin-bottom:10px;
}
.muted {
  color:var(--muted);
}
.small {
  font-size:13px;
}
.full {
  width:100%;
}
.icon {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
}
.icon-definitions {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.button,.text-button,.type-card,.icon-button,.nav-item {
  min-height:44px;
  border-radius:8px;
  padding:9px 15px;
  border:1px solid transparent;
  background:transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  font-size:14px;
  font-weight:500;
  line-height:1.5;
}
.button.primary {
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
  box-shadow:0 2px 3px #31483509;
}
.button.primary:hover:not(:disabled) {
  background:var(--accent-hover);
}
.button.outline,.type-card {
  border-color:var(--line);
  background:var(--surface);
}
.button.outline:hover:not(:disabled),.type-card:hover:not(:disabled) {
  border-color:#a1af99;
  background:#f7f9f2;
}
.button.subtle,.text-button {
  color:var(--accent);
}
.button.subtle:hover,.text-button:hover,.icon-button:hover {
  background:var(--accent-soft);
}
.icon-button {
  padding:10px;
  min-width:44px;
  color:var(--muted);
}
.icon-button[aria-pressed=true] {
  background:var(--accent-soft);
  color:var(--accent);
}
.text-button {
  padding-left:0;
  padding-right:0;
  font-size:13px;
}
.app-shell {
  display:grid;
  grid-template-columns:236px minmax(0,1fr);
  min-height:100dvh;
}
.app-shell.sidebar-collapsed {
  grid-template-columns:minmax(0,1fr);
}
.sidebar {
  position:sticky;
  top:0;
  height:100dvh;
  background:var(--sidebar);
  border-right:1px solid var(--line);
  padding:27px 16px 15px;
  display:flex;
  flex-direction:column;
  min-width:0;
  z-index:45;
}
.sidebar-brand {
  display:flex;
  align-items:center;
  gap:4px;
  margin:0 0 26px 3px;
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ink);
  font-size:21px;
  font-weight:650;
  letter-spacing:.08em;
  white-space:nowrap;
}
.brand small {
  display:block;
  font-size:10px;
  letter-spacing:.12em;
  color:var(--muted);
  font-weight:400;
  line-height:1.8;
}
.brand-mark {
  width:34px;
  height:38px;
  color:var(--accent);
  flex-shrink:0;
}
.sidebar-brand .icon-button {
  min-width:30px;
  padding:5px;
  margin-left:auto;
}
.sidebar-brand .icon-button .icon {
  width:18px;
  height:18px;
}
.new-document {
  justify-content:flex-start;
  width:100%;
  box-shadow:0 1px 3px #344b3510;
  font-size:14px;
  margin-bottom:22px;
}
.new-document-arrow {
  color:#8c9585;
  font-size:17px;
  margin-left:auto;
}
.primary-nav {
  display:grid;
  gap:5px;
}
.nav-item {
  justify-content:flex-start;
  color:var(--muted);
  padding:11px 13px;
  width:100%;
  font-size:14px;
}
.nav-item .icon {
  margin-right:4px;
}
.nav-item.active {
  color:var(--accent);
  background:#e3e9db;
  font-weight:600;
}
.nav-item:hover:not(.active) {
  background:#e9ebdf;
}
.draft-section {
  margin-top:35px;
  flex:1;
  min-height:100px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.section-heading,.page-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.section-heading {
  margin-bottom:16px;
}
.draft-section .section-heading {
  padding:0 9px;
  margin-bottom:10px;
  flex-wrap:nowrap;
}
.draft-section h2 {
  font-size:12px;
  letter-spacing:.08em;
  color:var(--muted);
  font-weight:500;
}
.draft-section .icon-button {
  padding:4px;
  min-width:30px;
  min-height:30px;
}
.draft-section .icon {
  width:16px;
  height:16px;
}
.count {
  font-size:11px;
  color:#939a8c;
  margin-left:4px;
}
.draft-list {
  overflow-y:auto;
  min-height:0;
  scrollbar-width:thin;
  padding:0 2px 14px;
  display:grid;
  gap:6px;
}
.draft-list>p {
  padding:10px;
}
.draft-item {
  width:100%;
  padding:12px 11px;
  border:1px solid transparent;
  background:transparent;
  border-radius:8px;
  text-align:left;
  min-height:65px;
  min-width:0;
  position:relative;
}
.draft-item:hover:not(:disabled) {
  background:#e8ebdf;
}
.draft-item.selected {
  background:var(--surface);
  border-color:var(--line);
  box-shadow:0 1px 3px #29382e05;
}
.draft-item.selected:before {
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  background:var(--accent);
  border-radius:3px;
}
.draft-item strong,.draft-item small {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.draft-item strong {
  font-size:13px;
  font-weight:500;
}
.draft-item small {
  font-size:11px;
  color:var(--muted);
  margin-top:4px;
}
.account-footer {
  display:flex;
  gap:11px;
  align-items:center;
  flex-shrink:0;
  margin-top:15px;
  padding:16px 6px 4px;
  width:100%;
  border:0;
  border-top:1px solid #dfe2d4;
  background:transparent;
  text-align:left;
}
.account-footer strong {
  font-size:13px;
  font-weight:550;
}
.account-footer small {
  display:block;
  color:var(--muted);
  font-size:11px;
}
.account-symbol {
  display:grid;
  place-items:center;
  width:34px;
  height:36px;
  border:1px solid #d9dfd0;
  border-radius:9px;
  background:#e7ebde;
  color:var(--accent);
}
.account-symbol .icon {
  width:18px;
}
.footer-chevron {
  margin-left:auto;
  color:#8c9484;
  font-size:24px;
}
.sidebar-backdrop {
  position:fixed;
  inset:0;
  border:0;
  background:#29382e45;
  z-index:44;
  cursor:default;
}
.main-shell {
  min-width:0;
}
.workspace-header {
  height:76px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 36px;
  gap:16px;
}
.breadcrumb {
  display:flex;
  align-items:center;
  gap:15px;
  color:var(--muted);
  font-size:13px;
  min-width:0;
}
.breadcrumb .icon-button {
  margin-left:-10px;
}
.breadcrumb-parent {
  color:#8b9385;
}
.breadcrumb-divider {
  color:#bdc3b4;
}
.workspace-note {
  font-size:12px;
  letter-spacing:.12em;
  color:#8a9382;
  white-space:nowrap;
}
#main-content {
  padding:37px 36px 64px;
  max-width:1600px;
  margin:auto;
  min-width:0;
}
.page-heading {
  padding:4px 0 35px;
  align-items:flex-end;
  margin-bottom:27px;
  border-bottom:1px solid var(--line);
}
.eyebrow {
  font-size:11px;
  letter-spacing:.14em;
  color:#7f8977;
  margin-bottom:12px;
}
.page-heading p {
  margin-top:10px;
  font-size:14px;
}
.heading-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.page-heading .heading-actions {
  padding-bottom:3px;
}
.library-title {
  display:flex;
  align-items:center;
  gap:13px;
}
.section-icon {
  width:40px;
  height:42px;
  border:1px solid var(--line);
  border-radius:9px;
  display:grid;
  place-items:center;
  color:var(--accent);
  background:#eef1e7;
}
.library-title p {
  margin-top:2px;
  font-size:12px;
}
.library-section>.section-heading {
  margin-bottom:24px;
}
.library-tools {
  display:flex;
  gap:10px;
  margin-bottom:24px;
}
.search-field {
  display:flex;
  align-items:center;
  position:relative;
  flex:1;
  min-width:160px;
}
.search-field .icon {
  position:absolute;
  left:13px;
  color:#929b88;
  width:18px;
  height:18px;
}
.search-field input {
  width:100%;
  padding-left:40px;
  background:var(--surface);
}
.library-tools select {
  max-width:160px;
  font-size:13px;
  background-color:transparent;
  padding-right:28px;
}
.library-column-head {
  display:flex;
  justify-content:space-between;
  padding:0 22px 11px;
  font-size:11px;
  letter-spacing:.07em;
  color:#8a9382;
}
.library-column-head span:last-child {
  width:230px;
  text-align:center;
}
.work-list {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
}
.work-list:empty {
  display:none;
}
.work-list>p {
  padding:24px;
}
.work-row {
  display:flex;
  align-items:center;
  gap:17px;
  padding:22px;
  min-width:0;
  transition:background .15s;
}
.work-row:hover {
  background:#fcfcf6;
}
.work-row+.work-row {
  border-top:1px solid #e9ebe1;
}
.work-art {
  width:47px;
  height:49px;
  border-radius:10px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  border:1px solid #dfe6d6;
  background:#edf1e6;
  color:var(--accent);
}
.work-art.mother {
  border-color:#e8dccb;
  background:#f3e9dc;
  color:#9a7958;
}
.work-art.unknown {
  background:#f0f0e9;
  border-color:var(--line);
  color:#8a9081;
}
.work-art .icon {
  width:23px;
  height:23px;
}
.work-copy {
  flex:1;
  min-width:0;
  overflow-wrap:anywhere;
}
.work-copy h3 {
  font-size:15px;
  letter-spacing:.02em;
}
.work-meta {
  font-size:11px;
  color:var(--muted);
  margin-top:6px;
  line-height:1.7;
}
.work-copy>.small {
  font-size:11px;
  margin-top:3px;
  color:#92998b;
}
.work-actions {
  display:flex;
  gap:6px;
  flex-shrink:0;
  align-items:center;
}
.work-actions .button {
  min-height:38px;
  font-size:12px;
  padding:8px 11px;
  gap:5px;
}
.work-actions .button.primary {
  background:#edf1e6;
  color:var(--accent);
  border-color:#e4e9dc;
  box-shadow:none;
}
.work-actions .button.primary:hover {
  background:#e0e8d8;
}
.work-actions .button.outline {
  border-color:transparent;
  background:transparent;
  color:var(--muted);
}
.work-actions .button.outline:hover {
  background:var(--accent-soft);
}
.work-actions .icon {
  width:15px;
  height:15px;
}
.empty-state {
  text-align:center;
  padding:55px 20px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
}
.empty-state p {
  font-size:14px;
  margin-top:12px;
}
.empty-state .button {
  margin-top:22px;
}
.empty-document {
  display:grid;
  place-items:center;
  width:62px;
  height:72px;
  background:#f1f3e9;
  border:1px solid #e1e7d8;
  border-radius:10px;
  color:#8a9c79;
  margin:0 auto 24px;
}
.empty-document .icon {
  width:29px;
  height:29px;
}
.workbench-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:27px;
}
.workbench-heading .eyebrow {
  margin-bottom:6px;
}
.workbench-heading h1 {
  font-size:25px;
}
.workbench-heading p {
  margin-top:7px;
  font-size:12px;
}
.studio-grid {
  display:grid;
  grid-template-columns:minmax(285px,.85fr) minmax(355px,1.3fr);
  gap:27px;
  align-items:start;
  min-width:0;
}
.result-collapsed .studio-grid {
  grid-template-columns:minmax(0,1fr);
}
.result-collapsed .compose-pane {
  max-width:680px;
  width:100%;
  margin:0 auto;
}
.compose-pane {
  min-width:0;
}
.assistant-heading {
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:22px;
}
.assistant-mark {
  width:39px;
  height:40px;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:var(--accent);
  border:1px solid #dde5d3;
  background:#ecf0e4;
}
.assistant-heading h2 {
  font-size:15px;
  font-weight:600;
}
.assistant-heading p {
  font-size:11px;
  color:#8a9380;
  margin-top:2px;
}
.compose-card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:10px;
  padding:21px;
}
.field {
  display:flex;
  flex-direction:column;
  gap:9px;
  margin-bottom:19px;
  font-size:13px;
  font-weight:500;
}
.field input,.field textarea,.field select {
  width:100%;
  font-weight:400;
}
.field textarea {
  font-size:15px;
}
.compose-card #topic {
  min-height:130px;
  background:#fcfcf7;
  font-size:15px;
  padding:12px 13px;
  line-height:1.85;
}
.inspiration-chips {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:-8px;
  margin-bottom:23px;
}
.inspiration-chips button {
  min-height:34px;
  padding:6px 9px;
  border:1px solid #e8eade;
  border-radius:6px;
  color:#7e8874;
  background:#fafbf5;
  font-size:11px;
  display:flex;
  align-items:center;
  gap:7px;
}
.inspiration-chips .icon {
  height:12px;
  width:12px;
}
.inspiration-chips button:hover {
  background:var(--accent-soft);
  color:var(--accent);
}
.voice-picker {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-bottom:22px;
}
.voice-picker legend {
  font-size:12px;
  font-weight:500;
}
.voice-picker label {
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px 9px;
  min-height:60px;
  cursor:pointer;
  font-size:13px;
}
.voice-picker label:has(input:checked) {
  border-color:#93a784;
  background:#f1f5e9;
}
.voice-picker label:has(input:focus-visible) {
  outline:3px solid #9cac8c;
  outline-offset:3px;
}
.voice-picker input {
  position:absolute;
  right:6px;
  top:6px;
  height:12px;
  width:12px;
  min-height:12px;
}
.voice-picker small {
  display:block;
  font-size:9px;
  letter-spacing:.02em;
  color:#8a9382;
  margin-top:3px;
  white-space:nowrap;
}
.voice-symbol {
  display:grid;
  place-items:center;
  width:26px;
  height:30px;
  border-radius:6px;
  flex-shrink:0;
  color:var(--accent);
  background:#e6eddc;
}
.voice-symbol.mother {
  background:#f2e5d7;
  color:#a17f5c;
}
.voice-symbol .icon {
  width:16px;
  height:16px;
}
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.form-row .field {
  font-size:12px;
  margin-bottom:20px;
}
.form-row select {
  font-size:16px;
  background:#fcfcf7;
}
.compose-card .primary {
  font-size:13px;
}
.form-help {
  color:#8a9382;
  font-size:11px;
  line-height:1.8;
  margin-top:11px;
  text-align:center;
}
.other-types {
  margin-top:14px;
  border-top:1px solid #eceee4;
  padding-top:3px;
}
.other-types summary {
  font-size:11px;
  color:#8a9382;
  min-height:36px;
  padding:10px 0;
  list-style-position:inside;
}
.other-types p {
  font-size:11px;
  margin:4px 0 10px;
}
.creation-types {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.type-card {
  font-size:11px;
  min-height:34px;
  padding:6px 8px;
}
.type-card.active {
  border-color:#9eae91;
  color:var(--accent);
  background:var(--accent-soft);
}
.notice {
  margin:16px 0;
  padding:12px 14px;
  border-left:3px solid #c4ad8e;
  background:#f4eee4;
  color:#79684f;
  font-size:13px;
}
.revision-box {
  padding:22px 0 0;
  margin-top:22px;
  border-top:1px solid var(--line);
}
.revision-box .section-heading,.request-section .section-heading {
  margin-bottom:13px;
}
.revision-box h2,.request-section h2,.jobs-section h2 {
  font-size:13px;
}
.revision-box .small,.request-section .small {
  font-size:10px;
}
.revision-box .field {
  margin-bottom:11px;
}
.revision-box textarea {
  min-height:80px;
  font-size:14px;
  background:#fffefb;
}
.revision-box .button {
  font-size:12px;
  min-height:40px;
}
.revision-box .icon {
  width:16px;
  height:16px;
}
.request-section {
  margin-top:26px;
}
.request-list {
  display:grid;
  gap:12px;
}
.request-item {
  padding:13px 14px;
  background:#f0f2e8;
  border-left:2px solid #bdcbb0;
  border-radius:0 8px 8px 0;
}
.request-item p {
  white-space:pre-wrap;
  font-size:12px;
  line-height:1.9;
  overflow-wrap:anywhere;
  margin-top:6px;
}
.request-caption {
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:10px;
  color:#7e8d70;
}
.request-item.failed {
  border-left-color:#c5a58c;
  background:#f5eee4;
}
.workspace-footnote {
  font-size:10px;
  color:#949b8b;
  line-height:1.8;
  text-align:center;
  margin-top:23px;
}
.preview-card {
  background:var(--surface);
  border:1px solid #dfe3d5;
  border-radius:11px;
  box-shadow:0 4px 16px #334b3410;
  min-width:0;
  overflow:hidden;
  min-height:665px;
}
.paper-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 15px 10px 22px;
  border-bottom:1px solid #eceee5;
  background:#fdfef9;
  gap:10px;
  min-height:59px;
}
.paper-label {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:12px;
  color:#7c8970;
}
.paper-label .icon {
  width:17px;
  height:17px;
}
.paper-toolbar-actions {
  display:flex;
  align-items:center;
  gap:8px;
}
.status-pill {
  font-size:10px;
  color:#8a947f;
  display:flex;
  align-items:center;
  gap:6px;
}
.status-pill:before {
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:#a3b18f;
}
.paper-toolbar .icon-button {
  min-height:32px;
  min-width:32px;
  padding:6px;
}
.paper-toolbar .icon {
  height:17px;
  width:17px;
}
.paper-content {
  padding:33px 36px 0;
}
.title-field {
  margin-bottom:21px;
  padding-bottom:20px;
  border-bottom:1px solid #eceee3;
}
.title-field input {
  border:0;
  border-radius:0;
  padding:0;
  min-height:38px;
  box-shadow:none;
  background:transparent;
  font-size:24px;
  font-weight:550;
  line-height:1.6;
  letter-spacing:.02em;
}
.title-field input::placeholder {
  font-size:22px;
  color:#a3aa98;
  font-weight:400;
}
.body-field {
  margin-bottom:16px;
}
.body-field textarea {
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  line-height:2.15;
  font-size:16px;
  min-height:400px;
  resize:vertical;
  color:#465140;
}
.body-field textarea::placeholder {
  color:#a2ab96;
}
.editor-meta {
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  font-size:10px;
  color:#9aa18f;
  padding-bottom:23px;
}
.paper-bottom {
  border-top:1px solid #eceee3;
  padding:18px 23px;
  background:#fdfef9;
}
.editor-actions {
  display:flex;
  gap:9px;
  justify-content:flex-end;
}
.editor-actions .button {
  font-size:12px;
  min-height:40px;
  padding:9px 15px;
}
.editor-actions .icon {
  width:16px;
  height:16px;
}
.preview-empty {
  padding:125px 20px;
  text-align:center;
}
.preview-empty h2 {
  font-size:20px;
  font-weight:500;
  letter-spacing:.06em;
}
.preview-empty p {
  font-size:13px;
  line-height:1.9;
  margin-top:15px;
}
.preview-empty .button {
  margin-top:25px;
  font-size:13px;
}
.mobile-panel-tabs {
  display:none;
}
.error-text {
  color:var(--danger);
  font-size:13px;
  margin-top:14px;
  overflow-wrap:anywhere;
}
.error-panel {
  color:var(--danger);
  background:var(--danger-soft);
  border:1px solid #e7d1bd;
  border-radius:7px;
  padding:14px;
  margin-bottom:18px;
  font-size:13px;
}
.error-panel .heading-actions {
  margin-top:10px;
}
.progress-note {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:16px;
  padding:13px;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:12px;
  border-radius:8px;
}
.spinner {
  height:17px;
  width:17px;
  border:2px solid #cfdbc3;
  border-top-color:var(--accent);
  border-radius:50%;
  animation:spin 1s linear infinite;
  flex-shrink:0;
}
@keyframes spin {
  to {
    transform:rotate(360deg);
  }
}
.jobs-section {
  margin:28px 0 0;
  border:1px solid var(--line);
  padding:18px;
  border-radius:10px;
  background:#fbfcf5;
}
.jobs-section>.section-heading {
  margin-bottom:10px;
}
.jobs-section .icon-button {
  padding:5px;
  min-width:30px;
  min-height:30px;
}
.jobs-section .icon {
  width:16px;
  height:16px;
}
.job-row {
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 0;
  border-top:1px solid var(--line);
}
.job-row>div {
  flex:1;
  min-width:0;
}
.job-row strong {
  font-size:12px;
  font-weight:500;
  overflow-wrap:anywhere;
}
.job-row p {
  margin-top:5px;
  font-size:11px;
  line-height:1.8;
}
.job-row .button {
  flex-shrink:0;
  font-size:11px;
  min-height:36px;
  padding:7px 9px;
}
.compose-pane .job-row {
  flex-wrap:wrap;
}
.compose-pane .job-row>.button {
  margin-left:auto;
}
.card {
  padding:25px;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:10px;
}
.card>h2 {
  margin-bottom:18px;
}
.profile-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.profile-identity {
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:20px;
}
.profile-identity p {
  font-size:13px;
  margin-top:4px;
}
.large-avatar {
  width:46px;
  height:46px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:var(--accent-soft);
  color:var(--accent);
}
.settings-card {
  grid-column:1/-1;
}
.settings-card>p {
  margin-bottom:18px;
  font-size:13px;
}
.settings-card form {
  max-width:640px;
}
.service-row {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.service-row strong {
  font-size:14px;
  font-weight:500;
}
.service-row small {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:4px;
  overflow-wrap:anywhere;
}
.service-label {
  font-size:12px;
  white-space:nowrap;
  color:var(--accent);
}
.service-label.off {
  color:var(--muted);
}
#tab-profile>.section-heading {
  margin-bottom:28px;
}
.player {
  position:fixed;
  z-index:40;
  bottom:20px;
  left:calc(236px + 24px);
  right:24px;
  background:#fffefbf7;
  backdrop-filter:blur(12px);
  border:1px solid #d3dcc7;
  border-radius:12px;
  box-shadow:0 5px 25px #29382e15;
  padding:13px 17px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:11px;
}
.sidebar-collapsed .player {
  left:24px;
}
.player-info {
  min-width:120px;
  flex:1;
}
.player-info strong {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:250px;
  font-size:12px;
  font-weight:550;
}
.player-info span {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-top:3px;
}
.player audio {
  width:100%;
  min-width:220px;
  flex:1.2;
  height:40px;
}
.player-actions {
  display:flex;
  flex-wrap:wrap;
  gap:0;
}
.player-actions .icon-button {
  font-size:11px;
  padding:8px;
  min-width:38px;
  min-height:40px;
}
.player .error-text {
  flex-basis:100%;
  margin:0;
}
.has-player #main-content {
  padding-bottom:170px;
}
.toast {
  position:fixed;
  top:16px;
  left:50%;
  transform:translateX(-50%);
  z-index:100;
  width:max-content;
  max-width:min(90vw,650px);
  padding:12px 18px;
  border-radius:8px;
  background:#42543e;
  color:#fff;
  font-size:13px;
  box-shadow:0 4px 20px #29382e20;
}
.toast.error {
  background:var(--danger);
}
dialog {
  padding:0;
  width:calc(100% - 32px);
  max-width:700px;
  max-height:88dvh;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  color:var(--ink);
  box-shadow:0 12px 50px #263d3220;
}
dialog::backdrop {
  background:#29382e70;
  backdrop-filter:blur(3px);
}
.dialog-content {
  padding:29px;
}
.dialog-content>h2 {
  margin-right:44px;
  margin-bottom:12px;
  font-size:21px;
}
.dialog-content>h3 {
  margin-top:20px;
}
.dialog-content>.muted {
  font-size:13px;
}
.confirm-text,.detail-text {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  overflow:auto;
  max-height:40dvh;
  background:#f8f9f2;
  border:1px solid var(--line);
  border-radius:8px;
  padding:22px;
  margin:20px 0;
  font-size:16px;
  line-height:2;
}
.check-label {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  font-size:13px;
  cursor:pointer;
}
.dialog-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-top:24px;
}
.dialog-close {
  float:right;
  min-height:44px;
  min-width:44px;
  border:0;
  background:transparent;
  color:var(--accent);
  padding:8px;
  font-size:13px;
}
#conflict-dialog .detail-text {
  max-height:25dvh;
}
.auth-screen {
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:28px 20px;
  background:var(--page);
}
.auth-card {
  width:100%;
  max-width:430px;
  background:var(--surface);
  padding:38px;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 6px 25px #29382e06;
}
.auth-card .brand {
  margin-bottom:36px;
}
.auth-card .brand-mark {
  width:38px;
  height:44px;
}
.auth-card h1 {
  font-size:23px;
}
.auth-card>.muted {
  margin:12px 0 30px;
  font-size:13px;
  line-height:1.9;
}
.auth-card .field {
  font-size:13px;
}
.auth-card .primary {
  margin-top:4px;
}
.loading-line {
  color:var(--muted);
  padding:16px 0;
}
@media(min-width:1600px) {
  .studio-grid {
    grid-template-columns:minmax(320px,.8fr) minmax(480px,1.35fr);
    gap:36px;
  }
  .compose-card {
    padding:25px;
  }
  .paper-content {
    padding:40px 48px 0;
  }
  .work-row {
    padding:24px 25px;
  }
  .work-copy h3 {
    font-size:16px;
  }
  .work-meta {
    font-size:12px;
  }
}
@media(max-width:1180px) {
  .app-shell {
    grid-template-columns:minmax(0,1fr);
  }
  .sidebar {
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:256px;
    box-shadow:8px 0 30px #29382e18;
  }
  .workspace-header {
    padding:0 28px;
  }
  #main-content {
    padding:30px 28px 60px;
  }
  .studio-grid {
    grid-template-columns:minmax(285px,.8fr) minmax(340px,1.2fr);
    gap:24px;
  }
  .player {
    left:20px;
    right:20px;
  }
  .drawer-open {
    overflow:hidden;
  }
  .workspace-note {
    font-size:11px;
  }
  .paper-content {
    padding:30px 30px 0;
  }
}
@media(max-width:900px) and (min-width:761px) {
  #main-content {
    padding-left:24px;
    padding-right:24px;
  }
  .studio-grid {
    gap:18px;
    grid-template-columns:minmax(275px,.85fr) minmax(330px,1.15fr);
  }
  .compose-card {
    padding:17px;
  }
  .paper-content {
    padding:26px 25px 0;
  }
  .voice-picker label {
    padding-left:7px;
    gap:6px;
  }
  .workbench-heading p {
    max-width:340px;
  }
  .work-row {
    padding:18px;
    gap:12px;
  }
  .work-actions {
    gap:0;
  }
  .work-actions .button {
    padding:7px 8px;
  }
  .work-art {
    width:42px;
    height:46px;
  }
  .player-actions {
    width:100%;
    justify-content:flex-end;
  }
}
@media(max-width:760px) {
  .sidebar {
    padding-bottom:calc(15px + env(safe-area-inset-bottom));
  }
  .sidebar-brand .icon-button,.draft-section .icon-button,.jobs-section .icon-button {
    min-width:44px;
    min-height:44px;
  }
  h1 {
    font-size:25px;
  }
  .workspace-header {
    height:64px;
    padding:0 18px;
  }
  .breadcrumb {
    gap:11px;
    font-size:12px;
  }
  .workspace-note {
    display:none;
  }
  #main-content {
    padding:25px 18px 45px;
  }
  .page-heading {
    padding:0 0 26px;
    margin-bottom:25px;
    gap:21px;
  }
  .page-heading h1 {
    font-size:24px;
    letter-spacing:.015em;
  }
  .eyebrow {
    font-size:10px;
    margin-bottom:10px;
  }
  .page-heading p {
    font-size:12px;
    line-height:1.9;
    max-width:290px;
  }
  .page-heading>.heading-actions {
    width:100%;
    justify-content:flex-end;
  }
  .page-heading .primary {
    min-height:44px;
    font-size:12px;
  }
  .library-title h2 {
    font-size:16px;
  }
  .library-title p {
    font-size:11px;
  }
  .section-icon {
    width:36px;
    height:38px;
  }
  .library-section>.section-heading {
    margin-bottom:18px;
  }
  .library-section .button.subtle {
    font-size:12px;
    padding:8px 9px;
  }
  .library-tools {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-bottom:19px;
  }
  .search-field {
    grid-column:1/-1;
  }
  .library-tools input {
    font-size:16px;
    min-height:46px;
  }
  .library-tools select {
    width:100%;
    max-width:none;
    font-size:16px;
    background:var(--surface);
  }
  .library-column-head {
    display:none;
  }
  .work-list {
    border:0;
    background:transparent;
    border-radius:0;
    overflow:visible;
    display:grid;
    gap:12px;
  }
  .work-row {
    position:relative;
    display:grid;
    grid-template-columns:43px minmax(0,1fr);
    gap:11px;
    padding:18px 15px 12px;
    background:var(--surface);
    border:1px solid var(--line)!important;
    border-radius:10px;
    align-items:start;
  }
  .work-row:hover {
    background:var(--surface);
  }
  .work-art {
    width:41px;
    height:45px;
    border-radius:8px;
  }
  .work-art .icon {
    width:21px;
    height:21px;
  }
  .work-copy h3 {
    font-size:15px;
    line-height:1.6;
  }
  .work-meta {
    font-size:10px;
    line-height:1.9;
    margin-top:5px;
  }
  .work-copy>.small {
    font-size:10px;
  }
  .work-actions {
    grid-column:1/-1;
    width:100%;
    justify-content:flex-end;
    border-top:1px solid #eceee4;
    padding-top:10px;
    margin-top:2px;
    gap:4px;
  }
  .work-actions .button {
    min-height:44px;
    padding:10px 12px;
    font-size:12px;
  }
  .work-actions .button.primary {
    margin-right:auto;
    min-width:80px;
  }
  .work-actions .icon {
    width:15px;
    height:15px;
  }
  .empty-state {
    padding:40px 18px;
  }
  .empty-state h2 {
    font-size:18px;
  }
  .empty-state p {
    font-size:12px;
  }
  .workbench-heading {
    margin-bottom:20px;
    align-items:flex-start;
    gap:8px;
  }
  .workbench-heading h1 {
    font-size:24px;
  }
  .workbench-heading p {
    font-size:11px;
    max-width:220px;
    line-height:1.8;
  }
  .workbench-heading>.heading-actions {
    flex-shrink:0;
  }
  .workbench-heading #return-home {
    font-size:11px;
    padding:8px 0;
    gap:4px;
    min-height:44px;
  }
  .workbench-heading #return-home .icon {
    width:15px;
    height:15px;
  }
  .workbench-heading #result-restore {
    display:none;
  }
  .studio-grid,.result-collapsed .studio-grid {
    display:block;
  }
  .compose-pane {
    width:100%;
    max-width:600px;
    margin:auto;
  }
  .assistant-heading {
    margin:22px 0 18px;
  }
  .assistant-heading h2 {
    font-size:15px;
  }
  .assistant-heading p {
    font-size:11px;
  }
  .compose-card {
    padding:20px;
  }
  .field {
    font-size:14px;
  }
  .field textarea,.compose-card #topic,.revision-box textarea {
    font-size:16px;
  }
  .compose-card #topic {
    min-height:140px;
  }
  .inspiration-chips {
    margin-bottom:22px;
    gap:8px;
  }
  .inspiration-chips button {
    min-height:44px;
    font-size:11px;
    padding:9px 10px;
  }
  .voice-picker {
    gap:11px;
  }
  .voice-picker legend {
    font-size:13px;
  }
  .voice-picker label {
    font-size:14px;
    padding:14px 12px;
    min-height:68px;
    gap:10px;
  }
  .voice-picker input {
    width:15px;
    height:15px;
    right:7px;
    top:7px;
  }
  .voice-picker small {
    font-size:10px;
  }
  .voice-symbol {
    width:29px;
    height:32px;
  }
  .voice-symbol .icon {
    width:18px;
    height:18px;
  }
  .form-row .field {
    font-size:13px;
  }
  .form-row select {
    font-size:16px;
  }
  .compose-card .primary {
    font-size:14px;
    min-height:46px;
  }
  .form-help {
    font-size:11px;
  }
  .other-types summary {
    font-size:12px;
    min-height:44px;
    padding:12px 0;
  }
  .type-card {
    min-height:44px;
    font-size:12px;
  }
  .revision-box h2,.request-section h2,.jobs-section h2 {
    font-size:14px;
  }
  .revision-box .button {
    font-size:13px;
    min-height:44px;
  }
  .revision-box textarea {
    min-height:95px;
  }
  .request-caption {
    font-size:11px;
  }
  .request-item p {
    font-size:13px;
  }
  .mobile-panel-tabs {
    display:flex;
    padding:4px;
    background:#eaeedf;
    border:1px solid #e1e7d5;
    border-radius:9px;
    gap:4px;
    margin-bottom:20px;
  }
  .mobile-panel-tabs button {
    border:0;
    border-radius:6px;
    min-height:44px;
    flex:1;
    background:transparent;
    color:#7a876d;
    font-size:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
  }
  .mobile-panel-tabs button.active {
    background:var(--surface);
    color:var(--accent);
    box-shadow:0 1px 4px #29382e0c;
    font-weight:550;
  }
  .mobile-panel-tabs .icon {
    width:17px;
    height:17px;
  }
  .preview-card {
    min-height:0;
    margin-top:4px;
    box-shadow:0 3px 12px #29382e06;
  }
  .paper-toolbar {
    padding-left:20px;
    min-height:55px;
  }
  .paper-label {
    font-size:12px;
  }
  .paper-toolbar .icon-button {
    display:none;
  }
  .status-pill {
    font-size:10px;
  }
  .paper-content {
    padding:27px 24px 0;
  }
  .title-field {
    padding-bottom:18px;
    margin-bottom:20px;
  }
  .title-field input {
    font-size:22px;
  }
  .title-field input::placeholder {
    font-size:20px;
  }
  .body-field textarea {
    font-size:16px;
    line-height:2.1;
    height:clamp(260px,34dvh,380px);
    min-height:260px;
    resize:vertical;
  }
  .editor-meta {
    font-size:10px;
    gap:7px;
  }
  .paper-bottom {
    padding:15px 17px;
  }
  .editor-actions .button {
    min-height:44px;
    font-size:13px;
    flex:1;
    padding:10px;
  }
  .preview-empty {
    padding:110px 20px;
  }
  .preview-empty p {
    font-size:13px;
  }
  .workspace-footnote {
    font-size:10px;
  }
  .profile-grid {
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  .settings-card {
    grid-column:auto;
  }
  .card {
    padding:22px;
  }
  .settings-card .field {
    font-size:14px;
  }
  .jobs-section {
    padding:16px;
  }
  .job-row {
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .job-row strong {
    font-size:13px;
  }
  .job-row p {
    font-size:12px;
  }
  .job-row .button {
    min-height:44px;
    font-size:12px;
    margin-left:auto;
  }
  .player,.sidebar-collapsed .player {
    left:10px;
    right:10px;
    bottom:max(10px,env(safe-area-inset-bottom));
    padding:12px;
    gap:8px;
    border-radius:11px;
  }
  .player-info {
    flex-basis:100%;
    min-width:0;
  }
  .player-info strong {
    font-size:12px;
    max-width:100%;
  }
  .player-info span {
    font-size:10px;
  }
  .player audio {
    flex-basis:100%;
    min-width:0;
    height:40px;
  }
  .player-actions {
    width:100%;
    justify-content:space-between;
  }
  .player-actions .icon-button {
    font-size:12px;
    min-width:44px;
    min-height:44px;
    padding:8px;
  }
  .has-player #main-content {
    padding-bottom:245px;
  }
  .dialog-content {
    padding:23px 20px;
  }
  .dialog-content>h2 {
    font-size:20px;
  }
  .dialog-actions .button {
    flex:1 1 auto;
    min-height:46px;
    font-size:13px;
  }
  .dialog-content .notice {
    font-size:12px;
    line-height:1.8;
  }
  .check-label {
    font-size:12px;
    line-height:1.8;
  }
  .confirm-text,.detail-text {
    padding:17px;
    font-size:16px;
    line-height:1.95;
  }
  .auth-card {
    padding:29px 25px;
  }
  .auth-card .brand {
    margin-bottom:30px;
  }
  .auth-card>.muted {
    font-size:12px;
  }
  .auth-card h1 {
    font-size:23px;
  }
  .auth-card .field {
    font-size:14px;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation-duration:.01ms!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
/* Keep the quiet hierarchy legible at ordinary desktop zoom. */
@media(min-width:761px) {
  .field {
    font-size:14px;
  }
  .field textarea,.compose-card #topic {
    font-size:16px;
  }
  .assistant-heading h2 {
    font-size:16px;
  }
  .assistant-heading p {
    font-size:12px;
  }
  .voice-picker legend,.form-row .field {
    font-size:13px;
  }
  .voice-picker label {
    font-size:14px;
  }
  .voice-picker small {
    font-size:11px;
  }
  .inspiration-chips button,.form-help,.other-types summary,.other-types p {
    font-size:12px;
  }
  .type-card {
    font-size:12px;
  }
  .revision-box h2,.request-section h2,.jobs-section h2 {
    font-size:14px;
  }
  .revision-box .button,.request-item p {
    font-size:13px;
  }
  .request-caption,.workspace-footnote {
    font-size:11px;
  }
  .work-meta,.work-copy>.small {
    font-size:12px;
  }
  .work-actions .button {
    font-size:13px;
  }
  .draft-item strong {
    font-size:14px;
  }
  .editor-meta,.status-pill {
    font-size:11px;
  }
  .paper-label {
    font-size:13px;
  }
  .paper-toolbar {
    padding-left:22px;
  }
  .voice-picker label {
    padding-right:10px;
  }
}
@media(min-width:761px) {
  .preview-card {
    position:sticky;
    top:24px;
    height:calc(100dvh - 245px);
    min-height:440px;
  }
  .preview-card #preview-editor {
    height:calc(100% - 59px);
    display:flex;
    flex-direction:column;
  }
  .paper-content {
    display:flex;
    flex-direction:column;
    flex:1;
    min-height:0;
    padding-top:28px;
  }
  .title-field,.editor-meta,.paper-bottom {
    flex-shrink:0;
  }
  .body-field {
    flex:1;
    min-height:0;
    margin-bottom:12px;
  }
  .body-field textarea {
    flex:1;
    height:100%;
    min-height:0;
    resize:none;
  }
  .preview-empty {
    padding:clamp(45px,8vh,100px) 20px;
  }
}
