/* Workspace foundation. Login and artwork retain their own brand treatments. */
:root {
  color-scheme:light dark;
  --bg:#f5f4ee;--nav:#eeefe7;--surface:#fffefa;--soft:#f2f3ec;--field:#f0f1ea;
  --ink:#213d36;--muted:#626e63;--line:#dde2d8;
  --green:#355d48;--green-hover:#294b39;--on-green:#fff;--selected:#e5eddf;
  --press:#d4ddd2;--green-press:#203e2e;--danger-hover:#f4dad7;--danger-press:#eccbc7;
  --danger:#a32f2f;--danger-bg:#f9eaea;--amber:#77531e;--amber-bg:#f3ecd9;
  --paper:#f7f3eb;--shadow:0 12px 36px rgba(29,42,34,.07);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Variable Text","Segoe UI","Microsoft YaHei UI",sans-serif;
  font-family:var(--font);color:var(--ink);background:var(--bg);font-synthesis:none;
}
@media(prefers-color-scheme:dark) {
  :root:not([data-theme=light]) {
    --bg:#181d1a;--nav:#202722;--surface:#252d27;--soft:#2b352e;--field:#303a32;
    --ink:#f0f1e9;--muted:#b2bcb0;--line:#435045;--green:#b4d0be;--green-hover:#d0e4d7;
    --on-green:#1a3022;--selected:#34483d;--danger:#ffb4ae;--danger-bg:#4d2d2b;
    --press:#3a473d;--green-press:#8fb29b;--danger-hover:#603633;--danger-press:#75433f;
    --amber:#edcc91;--amber-bg:#443b29;--shadow:0 12px 36px rgba(0,0,0,.2);
  }
}
:root[data-theme=dark] {
  color-scheme:dark;--bg:#181d1a;--nav:#202722;--surface:#252d27;--soft:#2b352e;--field:#303a32;
  --ink:#f0f1e9;--muted:#b2bcb0;--line:#435045;--green:#b4d0be;--green-hover:#d0e4d7;
  --on-green:#1a3022;--selected:#34483d;--danger:#ffb4ae;--danger-bg:#4d2d2b;
  --press:#3a473d;--green-press:#8fb29b;--danger-hover:#603633;--danger-press:#75433f;
  --amber:#edcc91;--amber-bg:#443b29;--shadow:0 12px 36px rgba(0,0,0,.2);
}
:root[data-theme=light]{color-scheme:light}
*{box-sizing:border-box}
body{margin:0;font-size:14px;line-height:1.65}
button,input,textarea,select{font:inherit;color:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button,.button {
  min-height:44px;padding:10px 16px;border:0;border-radius:12px;display:inline-flex;align-items:center;
  justify-content:center;gap:8px;line-height:1.45;cursor:pointer;background:var(--field);text-decoration:none;
  font-weight:550;transition:background-color 140ms ease-out,color 140ms ease-out,transform 140ms ease-out;
}
button:hover:not(:disabled),.button:hover{background:var(--line)}
button:active:not(:disabled),.button:active{background:var(--press);transform:translateY(1px)}
button.primary,.button.primary{min-height:48px;background:var(--green);color:var(--on-green)}
button.primary:hover:not(:disabled),.button.primary:hover{background:var(--green-hover)}
button.primary:active:not(:disabled),.button.primary:active{background:var(--green-press)}
button.quiet{background:transparent}
button.quiet:hover:not(:disabled){background:var(--soft)}
button.quiet:active:not(:disabled){background:var(--press)}
button.danger{color:var(--danger);background:var(--danger-bg)}
button.danger:hover:not(:disabled){background:var(--danger-hover)}
button.danger:active:not(:disabled){background:var(--danger-press)}
button:disabled{opacity:.48;cursor:not-allowed}
a{color:var(--green);text-underline-offset:3px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible {
  outline:2px solid var(--green);outline-offset:3px;
}
input,textarea,select {
  width:100%;min-height:48px;padding:12px 14px;border:1px solid transparent;border-radius:12px;
  background:var(--field);line-height:1.55;transition:background-color 140ms ease-out,border-color 140ms ease-out;
}
input:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--line)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
textarea{min-height:120px;resize:vertical}
input:disabled,textarea:disabled{opacity:.65}
input[type=radio]{width:18px;min-height:18px;margin:0;accent-color:var(--green);flex:none}
fieldset{border:0;padding:0;margin:0;min-width:0}
fieldset:disabled{opacity:.7}
[hidden]{display:none!important}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.4;text-wrap:balance}
h1{font-size:28px;letter-spacing:-.02em;font-weight:650}
h2{font-size:18px;font-weight:650}
h3{font-size:16px;font-weight:600}
.help,.muted{color:var(--muted)}
.help{font-size:13px;line-height:1.75;max-width:72ch}
.wide{width:100%}
.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none}
.skip-link{position:fixed;top:-80px;left:12px;z-index:99;background:var(--surface);padding:12px 18px;border-radius:10px}
.skip-link:focus{top:12px}
.startup{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted)}
.startup h1{color:var(--ink)}
.no-script{padding:24px}

/* App navigation and page hierarchy. */
.brand{display:flex;gap:11px;align-items:center;min-width:0}
.brand img{width:38px;height:38px;flex:none;border-radius:9px}
.brand strong{font-size:18px;font-weight:400;white-space:nowrap;font-family:"Suwenlin Xingkai",KaiTi,STKaiti,serif}
.brand small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:1px}
.shell{display:grid;grid-template-columns:204px minmax(0,1fr);min-height:100dvh}
.sidebar{background:var(--nav);padding:30px 16px;display:flex;flex-direction:column;gap:34px;position:sticky;top:0;height:100dvh}
.sidebar .brand{padding-inline:4px}
.navigation{display:flex;flex-direction:column;gap:8px}
.nav-button{justify-content:flex-start;width:100%;background:transparent;padding:13px 16px;gap:12px;font-weight:500}
.nav-button[aria-current=page]{color:var(--green);background:var(--surface);font-weight:650}
.sidebar-foot{margin-top:auto;padding-inline:14px;font-size:11px;color:var(--muted);line-height:1.85}
.sidebar-foot span{display:block}
.workspace{min-width:0;max-width:1320px;width:100%;padding:40px 44px 56px}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;min-height:55px}
.page-head h1:focus{outline:none}
.page-back{min-height:44px;display:flex;align-items:center;margin:-14px 0 13px}
.page-back button{padding:8px 12px 8px 2px;font-size:13px;min-width:76px;justify-content:flex-start}
.page-back .icon{width:20px;height:20px}
.page-enter-back{animation:page-back-enter 200ms cubic-bezier(.16,1,.3,1) both}
@keyframes page-back-enter{from{opacity:.55;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
.surface{background:var(--surface);border-radius:16px;padding:28px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0;margin-bottom:22px}
.field label,.field-label{font-weight:600;font-size:14px}
.field-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.field-line .help{font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.notice{padding:14px 16px;background:var(--selected);color:var(--green);border-radius:12px;font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:20px;max-width:100%}
.notice.error{background:var(--danger-bg);color:var(--danger)}
.notice.warning{background:var(--amber-bg);color:var(--amber)}
/* The same readable recovery guidance is used beside each failed operation. */
.fault-card{min-width:0;max-width:100%;margin:16px 0 20px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--danger-bg);color:var(--ink);text-align:left;font-family:var(--font);font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:normal}
.fault-heading{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.fault-heading h3{font-size:15px;color:var(--danger);text-wrap:pretty}
.fault-certainty{font-size:12px;color:var(--muted)}
.fault-guide{display:grid;gap:8px;margin:0}
.fault-guide>div{display:grid;grid-template-columns:2em minmax(0,1fr);gap:10px}
.fault-guide dt{font-weight:600;color:var(--muted)}
.fault-guide dd{margin:0;min-width:0}
.fault-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.fault-actions button,.fault-actions .button{min-height:44px;max-width:100%;padding:10px 12px;white-space:normal;font:inherit;background:var(--surface);color:var(--ink)}
.fault-actions button.quiet{background:transparent;text-decoration:underline;text-underline-offset:3px}
.fault-details{margin-top:6px;color:var(--muted);font-size:12px}
.fault-details summary{min-height:44px;width:fit-content;max-width:100%;padding-block:12px;cursor:pointer}
.fault-details p{padding-bottom:4px;overflow-wrap:anywhere}
.fault-details code{font-size:12px;white-space:normal;user-select:all}
.job-panel .fault-card,.share-panel .fault-card{margin-bottom:16px}
.topic-recommendation .fault-card{margin-bottom:0}
.quota-compact .fault-card{text-align:left;font-variant-numeric:normal}
.image-fallback:has(.fault-card){width:100%;max-height:100%;padding:12px;text-align:left;overflow-y:auto;color:var(--ink)}
.image-fallback .fault-compact{padding:12px;margin:0;background:var(--surface);font-size:12px;border:0}
.image-fallback .fault-compact h3{font-size:13px}
.image-fallback .fault-guide>div{grid-template-columns:2em minmax(0,1fr);gap:6px}
.work-art:has(.fault-compact){aspect-ratio:auto;min-height:310px}
.login-sheet .fault-card :is(h3,button){font-family:var(--font);font-weight:500}
.login-sheet .fault-card .fault-actions button{font-size:13px}
@media(max-width:760px){.fault-card{padding:14px;font-size:14px}.fault-actions button,.fault-actions .button{min-height:48px}.fault-guide>div{gap:8px}.image-fallback .fault-compact{font-size:12px}}
.offline-banner{margin-bottom:20px;padding:12px 16px;background:var(--amber-bg);color:var(--amber);border-radius:12px;font-size:13px}
.status{display:inline-flex;align-items:center;white-space:nowrap;background:var(--selected);color:var(--green);padding:4px 8px;border-radius:5px;font-size:12px;line-height:1.5;font-weight:550}
.status[data-status=failed],.status[data-status=rejected]{color:var(--danger);background:var(--danger-bg)}
.status[data-status=submitted],.status[data-status=running],.status[data-status=queued],.status[data-status=unknown]{color:var(--amber);background:var(--amber-bg)}

/* Creation keeps the theme and the submit action at the center of the task. */
.create-layout{max-width:760px}
.create-panel{width:100%;max-width:760px}
.topic-field{margin-bottom:22px}
.topic-field label{font-size:16px}
.topic{min-height:176px;background:var(--surface);font-size:17px;line-height:1.8;padding:17px 18px}
.create-panel details{margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:14px}
.create-panel summary{font-size:14px;font-weight:550;min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}
.create-panel summary::-webkit-details-marker{display:none}
.create-panel summary:before{content:"";width:7px;height:7px;transform:rotate(-45deg);border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;margin-right:3px}
.create-panel details[open] summary:before{transform:rotate(45deg)}
.create-panel details>div{padding-top:8px}
.create-panel details textarea{margin-top:8px}
.background-field{margin-bottom:0}
.radio-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 8px}
.radio-option{display:flex;gap:10px;align-items:center;min-height:54px;padding:13px 16px;cursor:pointer;font-size:14px;background:var(--field);border-radius:12px}
.radio-option:has(input:checked){background:var(--selected);color:var(--green)}
.generate-action{margin-top:28px}
.generate-action .primary{min-height:52px;font-size:16px}
.job-panel{margin-top:24px;background:var(--surface);padding:24px 28px;border-radius:16px}
.job-title{display:flex;justify-content:space-between;gap:14px;align-items:center}
.job-title h2{font-size:17px}
.job-heading-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.job-heading-group h2{margin:0}
.job-cancel{flex:none;font-size:13px;min-height:44px;padding:8px;white-space:nowrap}
.job-percent{flex:none;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;min-width:4ch;text-align:right;line-height:44px;color:var(--green)}
.job-panel .help{margin-top:8px}
.job-progress{position:relative;isolation:isolate;height:10px;margin-top:18px;border-radius:5px;overflow:hidden;background:var(--field)}
.job-progress-fill{display:block;position:absolute;inset:0;background:var(--green);transform:scaleX(var(--job-progress,0));transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.job-progress:after{content:"";position:absolute;inset:0 auto 0 0;width:46%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18) 22%,rgba(255,255,255,.95) 48%,rgba(255,255,255,.25) 72%,transparent);animation:job-marquee .6s linear infinite;pointer-events:none}
.job-progress.is-paused:after,:root[data-page-hidden=true] .job-progress:after{animation-play-state:paused}
@keyframes job-marquee{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
@media(prefers-reduced-motion:reduce){.job-progress:after{animation:none;display:none}.job-progress-fill{transition:none}}
@media(forced-colors:active){.job-progress{outline:1px solid CanvasText}.job-progress-fill{background:Highlight}.job-progress:after{display:none}}
.job-panel .actions{margin-top:18px}

/* Artwork remains the focus of the collection. */
.works-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.works-toolbar .help{font-size:13px}
.works-toolbar .actions{gap:8px}
.works-toolbar .primary{min-height:44px}
.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:28px 22px}
.work-tile{padding:0;background:transparent;display:block;text-align:left;min-width:0;overflow:hidden;border-radius:12px}
.work-tile:hover:not(:disabled){background:var(--soft)}
.work-art{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;background:var(--paper);overflow:hidden;position:relative;border-radius:12px}
.work-art img{width:100%;height:100%;object-fit:contain;display:block}
.work-art .image-fallback{font-size:13px;color:#62646b;padding:20px;text-align:center}
.work-caption{padding:12px 2px 4px}
.work-tile h2{font-size:15px;font-weight:600;line-height:1.6;text-wrap:unset;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.work-meta{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:10px}
.work-meta time{font-size:12px;color:var(--muted);font-weight:400;font-variant-numeric:tabular-nums}
.empty{padding:52px 28px;background:var(--surface);border-radius:16px;text-align:center}
.empty h2{font-size:19px;margin-bottom:12px}
.empty p{max-width:52ch;margin-inline:auto}
.empty p+p{margin-top:12px}
.empty button,.empty .button{margin-top:22px}
.loading-state{padding-block:8px 28px}
.loading-state>.help{margin-bottom:18px}
.loading-placeholder{display:grid;gap:12px}
.loading-placeholder span{display:block;background:var(--field);border-radius:10px;height:18px}
.loading-lines .loading-placeholder{padding:28px;background:var(--surface);border-radius:16px}
.loading-lines .loading-placeholder span:first-child{width:45%;height:24px;margin-bottom:10px}
.loading-lines .loading-placeholder span:last-child{width:72%}
.loading-works .loading-placeholder{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.loading-works .loading-placeholder span{height:auto;aspect-ratio:3/4}

/* Editing: preview, publish copy, and page copy remain distinct. */
.editor-jumps{display:none}
.editor-layout{display:grid;grid-template-columns:minmax(220px,.86fr) minmax(340px,1.14fr);gap:32px;align-items:start}
.art-preview{position:sticky;top:28px;min-width:0}
.art-preview figure{margin:0}
.preview-frame{width:100%;aspect-ratio:3/4;background:var(--paper);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px}
.preview-frame img{width:100%;height:100%;object-fit:contain;display:block}
.preview-frame .image-fallback{color:#62646b;padding:20px;text-align:center}
.preview-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;color:var(--muted);font-size:12px}
.preview-caption a{min-height:44px;display:inline-flex;align-items:center}
.page-selector{display:flex;gap:8px;margin-top:8px}
.page-selector button{flex:1;padding-inline:8px;font-size:13px}
.page-selector button[aria-pressed=true]{background:var(--selected);color:var(--green);font-weight:650}
.editor-form{min-width:0}
.editor-form .surface{padding:26px}
.editor-form h2{font-size:17px;margin-bottom:22px}
.editor-form textarea.body-field{min-height:210px;line-height:1.85}
.editor-form .card-edit{border-top:1px solid var(--line);padding-top:26px;margin-top:26px}
.column-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.column-fields .field{margin-bottom:0}
.column-fields textarea{min-height:130px;padding:11px;font-size:14px}
.editor-actions{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px}
.editor-actions .primary{flex:1 0 100%}
.editor-actions>button:not(.primary){flex:1}
.version-note{font-size:12px;margin-top:12px}
.version-note:not(:empty){line-height:1.75}
.share-panel{margin-top:26px;padding-top:26px;border-top:1px solid var(--line)}
.share-panel h2{font-size:17px;margin-bottom:9px}
.share-panel .button{width:100%;margin-top:20px}
.share-panel .help+.help{margin-top:9px}
.phone-link{margin-top:16px}
.phone-link label{font-size:12px;color:var(--muted);display:block;margin-bottom:7px}
.phone-link input{font-size:13px}
.phone-link button{margin-top:8px}

/* Daily insight uses report-like sections and readable chart labels. */
.insight-date{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 24px}
.insight-date label{font-size:13px;color:var(--muted)}
.insight-date input{width:auto;min-width:164px;background:var(--surface)}
.insight-date button{margin-left:auto}
.insights-content{max-width:1000px}
.insight-summary{margin-bottom:32px}
.insight-section{margin-top:32px;padding-top:32px;border-top:1px solid var(--line)}
.insight-section h2,.insight-summary h2{font-size:18px;margin:0 0 22px}
.insight-section-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.analysis-state{font-size:12px;color:var(--muted)}
.insight-counts{display:flex;gap:40px;margin:0 0 24px}
.insight-counts dt{color:var(--muted);font-size:12px;margin-bottom:6px}
.insight-counts dd{font-size:22px;line-height:1.4;margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.insight-counts small{font-size:13px;font-weight:400;color:var(--muted)}
.insight-copy{white-space:pre-wrap;line-height:1.9;max-width:72ch;margin-bottom:18px;font-size:15px}
.topic-chart{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:32px}
.topic-pie{width:100%;height:auto;max-width:220px}
.topic-legend{list-style:none;padding:0;margin:0;display:grid;gap:0}
.topic-legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:11px;align-items:center;font-size:14px;min-height:43px;border-bottom:1px solid var(--line)}
.topic-legend li:last-child{border-bottom:0}
.topic-legend strong{font-size:13px;font-weight:550;font-variant-numeric:tabular-nums;white-space:nowrap}
.topic-legend small{font-size:12px;color:var(--muted)}
.topic-swatch{width:10px;height:10px;border-radius:3px;background:currentColor}
.topic-color-0{fill:#355d48;color:#355d48}.topic-color-1{fill:#b17a42;color:#b17a42}
.topic-color-2{fill:#748a9b;color:#748a9b}.topic-color-3{fill:#a56867;color:#a56867}
.topic-color-4{fill:#8c8065;color:#8c8065}.topic-color-5{fill:#8a7a9a;color:#8a7a9a}
.topic-color-6{fill:#577f7a;color:#577f7a}.topic-color-7{fill:#a28c47;color:#a28c47}
.direction-list,.source-list{list-style:none;padding:0;margin:18px 0 0}
.direction-list li{padding:24px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.direction-list h3{font-size:16px;margin:0 0 8px}
.direction-list p,.source-list p{line-height:1.85;font-size:14px;overflow-wrap:anywhere}
.direction-list p.help{font-size:12px;margin-top:10px}
.direction-actions{display:flex;gap:10px;flex-wrap:wrap}
.direction-actions button{min-height:44px;padding-inline:14px}
.direction-actions button:last-child{background:var(--selected);color:var(--green)}
.source-list li{padding:22px 0;border-top:1px solid var(--line)}
.source-list a{font-weight:600;overflow-wrap:anywhere;line-height:1.8}
.source-list p{margin:10px 0 14px}
.source-list button{margin-top:2px}
.direction-list li:first-child{border-top:0;padding-top:0}
.help-disclosure summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-size:13px;font-weight:500;color:var(--muted);list-style:none}
.help-disclosure summary::-webkit-details-marker{display:none}
.help-disclosure summary:after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-right:4px;flex:none}
.help-disclosure[open] summary:after{transform:rotate(225deg)}
.help-disclosure p,.help-disclosure li{font-size:13px;line-height:1.85;color:var(--muted);overflow-wrap:anywhere}
.help-disclosure ul{padding-left:18px;margin:4px 0 12px}
.help-disclosure li+li{margin-top:8px}
.editor-help{margin-top:24px}
.query-details{margin-top:8px}
.insight-method{margin-top:28px}
.empty .help-disclosure{margin:20px auto 0;max-width:52ch;text-align:left}
.source-list .help-disclosure{margin-block:4px 10px}
.notice .help-disclosure summary,.notice .help-disclosure p{color:inherit}

/* Account settings keep high-frequency actions close to their context. */
.account-panel{max-width:680px;background:transparent;padding:0}
.definition-list{margin:0}
.definition-list>div{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.definition-list>div:first-child{padding-top:0}
.definition-list dt{color:var(--muted);font-size:13px}
.definition-list dd{margin:0;max-width:65%;text-align:right;overflow-wrap:anywhere;font-size:14px}
.account-section{margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}
.account-section .help{margin-top:10px}
.account-signout{margin-top:30px}
.account-signout button{min-width:150px}
.setting-line{display:flex;align-items:center;justify-content:space-between;gap:24px}
.setting-line label{font-size:16px;font-weight:600;flex:none}
.setting-line select{width:auto;max-width:210px}
.settings-link{width:100%;justify-content:space-between;background:transparent;padding-inline:0;font-size:16px;font-weight:600}
.install-settings summary{font-size:16px;font-weight:600;color:var(--ink)}
.password-settings summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:600;font-size:16px;list-style:none}
.password-settings summary::-webkit-details-marker{display:none}
.password-settings summary:after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-right:4px}
.password-settings[open] summary:after{transform:rotate(225deg)}
.password-settings form{margin-top:18px}
.password-settings .feedback{margin-top:12px}
.password-settings button{max-width:100%}
.password-settings .field{margin-bottom:20px;max-width:none}
.install-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px}
.install-links .button{min-height:44px}
.account-section .install-links+.help{margin-top:14px}
.admin-page{max-width:620px}
.admin-page h2{margin-bottom:10px}
.admin-page .actions{margin-top:22px}
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:30;max-width:min(90vw,520px);padding:13px 18px;border-radius:12px;background:var(--ink);color:var(--surface);font-size:13px;box-shadow:var(--shadow);overflow-wrap:anywhere}
dialog{border:0;max-width:min(420px,calc(100vw - 32px));border-radius:24px;background:var(--surface);color:var(--ink);padding:28px;box-shadow:0 20px 70px rgba(18,22,30,.18)}
dialog::backdrop{background:rgba(18,22,30,.45)}
dialog .close-button{margin:0 -10px 12px auto;display:flex}
dialog h2{margin-bottom:12px}
dialog p{font-size:14px;color:var(--muted);margin-bottom:20px}
dialog p.help{margin:10px 0 0;font-size:12px}
.loading-text{padding:28px 0;color:var(--muted);font-size:13px}

/* Approved glass login: 80% transparent material, fully legible type. */
@font-face{font-family:"Suwenlin Xingkai";src:url('./login-xingkai.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Suwenlin Login Kai";src:url('./login-kaiti.woff2?v=20261025-kai2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--login-ui-font:"Suwenlin Login Kai",KaiTi,STKaiti,serif}
.login-wrap {
  position:relative;isolation:isolate;color-scheme:light;min-height:100dvh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:0;padding:max(112px,env(safe-area-inset-top)) 22px max(112px,env(safe-area-inset-bottom));
  --ink:#243d31;--muted:#506053;--green:#355d48;--green-hover:#294b39;--on-green:#fff;
  --soft:rgba(255,255,255,.35);--field:rgba(255,255,255,.22);--line:rgba(53,93,72,.16);--press:rgba(53,93,72,.16);--green-press:#203e2e;
  --selected:rgba(231,238,233,.88);--danger:#a32f2f;--danger-bg:rgba(249,234,234,.92);--amber:#77531e;--amber-bg:rgba(243,236,217,.92);
  color:#243d31;background:#f3efe5 url('./login-background.webp?v=3.1.0') center/cover no-repeat;
  font-family:"Suwenlin Xingkai",KaiTi,STKaiti,serif;text-align:center;
}
.login-wrap:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(244,240,229,.02),rgba(244,240,229,.12) 45%,rgba(244,240,229,.2))}
.login-brand{position:absolute;top:max(24px,env(safe-area-inset-top));left:22px;right:22px;height:80px;display:flex;align-items:center;justify-content:center;margin:0}
.login-brand strong{color:#243d31;font-size:36px;font-weight:400;letter-spacing:.02em}
.login-stage{width:min(100%,400px);display:flex;flex-direction:column;align-items:center;gap:32px;padding-top:28px;flex-shrink:0}
.login-bottom-logo{display:block;width:88px;height:88px;border-radius:21px;mix-blend-mode:multiply;flex-shrink:0}
.login-sheet{width:min(100%,400px);min-width:0;flex-shrink:0;font-family:var(--login-ui-font);position:relative;margin:0;padding:30px 28px 28px;border:1px solid rgba(255,255,255,.3);border-radius:34px;color:#243d31;background:rgba(255,255,255,.08);box-shadow:0 12px 32px rgba(40,57,43,.045)}
/* A masked one-pixel rim keeps the glass center transparent. */
@supports ((mask-composite:exclude) or (-webkit-mask-composite:xor)) {
 .login-sheet{border-color:transparent}
 .login-sheet:before{content:"";position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(175,197,176,.4) 34%,rgba(255,255,255,.2) 56%,rgba(183,155,113,.32) 78%,rgba(255,255,255,.8));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
}
.login-sheet :is(h1,label,input,button,.help){font-family:var(--login-ui-font);font-weight:400}
.login-sheet h1{font-size:30px;font-weight:400;letter-spacing:.03em;margin-bottom:24px;text-align:center}
.login-sheet .field{gap:8px;margin-bottom:18px}
.login-sheet .field label{font-size:20px;font-weight:400;color:#304a3a;text-align:center}
.login-sheet input{min-height:50px;padding:12px 15px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(255,255,255,.22);color:#243d31;font-family:var(--login-ui-font);font-size:16px;text-align:center;box-shadow:inset 0 1px 3px rgba(53,75,54,.025)}
.login-sheet input:hover:not(:disabled){background:rgba(255,255,255,.3)}
.login-sheet input:focus{background:rgba(255,255,255,.38);border-color:rgba(53,93,72,.5)}
.login-sheet input:focus-visible{outline:2px solid #355d48;outline-offset:3px}
.login-sheet input::placeholder{color:#536657;opacity:1}
.password-wrap{position:relative}
.login-sheet .password-wrap input{padding-inline:66px}
.login-sheet .password-wrap button{position:absolute;top:3px;right:5px;min-height:44px;padding:8px 11px;border-radius:15px;color:#3f5c48;background:transparent;font-size:17px;font-weight:400}
.login-sheet .password-wrap button:hover{background:rgba(255,255,255,.35)}
.login-sheet .primary{min-height:50px;border:1px solid rgba(255,255,255,.35);border-radius:18px;background:rgba(43,80,60,.93);color:#fff;font-size:22px;font-weight:400;box-shadow:0 5px 15px rgba(32,60,42,.1)}
.login-sheet .primary:hover:not(:disabled){background:rgba(34,67,49,.97)}
.login-sheet .primary:active:not(:disabled){background:#203e2e}
.login-sheet .primary:focus-visible{outline:2px solid #355d48;outline-offset:3px}
.login-mode-switch{width:100%;margin-top:8px;font-family:var(--login-ui-font);font-size:16px;font-weight:400}
.login-footer{font-family:var(--login-ui-font);position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:22px;right:22px;color:#304a3a;font-size:16px;line-height:1.4;margin:0;text-align:center;text-shadow:0 1px 3px rgba(255,255,255,.95)}
.login-copyright{display:block;margin-top:4px;font-family:var(--font);font-size:12px;line-height:1.5}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .login-sheet{-webkit-backdrop-filter:blur(14px) saturate(115%);backdrop-filter:blur(14px) saturate(115%)}
}
@media(min-width:900px) {
  .login-wrap{padding-left:32%;padding-top:max(112px,env(safe-area-inset-top));padding-bottom:max(112px,env(safe-area-inset-bottom))}
  .login-brand,.login-footer{left:32%}
}
@media(min-width:1400px) {
  .workspace{padding-inline:56px}
  .work-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
}
@media(max-width:1120px) {
  .shell{grid-template-columns:174px minmax(0,1fr)}
  .sidebar{padding-inline:12px}
  .brand strong{font-size:16px}
  .brand img{width:32px;height:32px}
  .workspace{padding:32px 28px 44px}
  .editor-layout{grid-template-columns:minmax(190px,.8fr) minmax(290px,1.2fr);gap:22px}
  .editor-form .surface{padding:22px}
  .column-fields{gap:8px}
  .loading-works .loading-placeholder{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px) {
  body{font-size:14px}
  input,textarea,select{font-size:16px}
  .shell{display:block}
  .sidebar{height:auto;position:static;padding:0;display:block;background:transparent}
  .sidebar>.brand,.sidebar-foot{display:none}
  .navigation{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;background:var(--surface);padding:7px max(14px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));border-top:1px solid var(--line)}
  .nav-button{flex-direction:column;gap:3px;font-size:11px;min-height:52px;padding:5px 8px;background:transparent;border-radius:12px;color:var(--muted)}
  .nav-button .icon{width:22px;height:22px}
  .nav-button[aria-current=page]{color:var(--green);background:var(--selected)}
  .workspace{padding:calc(27px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(100px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
  .page-head{margin-bottom:24px;gap:14px;align-items:flex-start;min-height:0}
  .page-head h1{font-size:25px}
  .page-back{margin:-9px 0 10px}
  .surface{padding:22px}
  .field{margin-bottom:22px}
  .create-panel{max-width:none}
  .topic{min-height:176px;font-size:17px;padding:16px}
  .create-panel details{margin-bottom:20px}
  .radio-option{padding:12px;gap:9px;min-height:54px}
  .generate-action{margin-top:26px}
  .job-panel{padding:22px;margin-top:20px}
  .job-title{gap:10px;align-items:flex-start}
  .job-title h2{font-size:16px}
  .job-panel .actions>button{width:100%}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .work-caption{padding-top:10px}
  .work-tile h2{font-size:14px}
  .work-meta{gap:5px;flex-wrap:wrap;margin-top:8px}
  .work-meta time{font-size:11px}
  .work-meta .status{font-size:11px;padding:3px 6px}
  .works-toolbar{margin-bottom:22px;padding-bottom:16px;gap:8px}
  .works-toolbar .actions{gap:3px}
  .works-toolbar button{padding-inline:10px;font-size:13px}
  .works-toolbar .quiet{font-size:12px}
  .works-toolbar .primary .icon{width:17px;height:17px}
  .empty{padding:36px 22px;text-align:left}
  .empty h2{font-size:18px}
  .empty p{margin-inline:0}
  .empty button,.empty .button{width:100%}
  .loading-works .loading-placeholder{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .editor-jumps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:-6px 0 22px;border-bottom:1px solid var(--line);padding-bottom:8px}
  .editor-jumps button{background:transparent;padding-inline:4px;font-size:13px;font-weight:500}
  .editor-layout{display:flex;flex-direction:column;gap:28px}
  .art-preview{position:static;width:min(100%,310px);align-self:center}
  #editor-preview,#editor-copy,#editor-card{scroll-margin-top:24px}
  .editor-form{width:100%}
  .editor-form .surface{padding:22px}
  .preview-caption{font-size:11px}
  .page-selector{gap:6px;margin-top:7px}
  .page-selector button{min-height:44px;font-size:12px;padding-inline:5px}
  .column-fields{grid-template-columns:1fr;gap:18px}
  .column-fields textarea{min-height:90px;padding:12px;font-size:16px}
  .column-fields label{font-size:13px}
  .editor-actions{margin-top:26px}
  .editor-actions>button:not(.primary){font-size:13px;padding-inline:9px}
  .share-panel .button{margin-top:18px}
  .insight-date{gap:10px;margin-bottom:22px}
  .insight-date label{font-size:12px}
  .insight-date input{min-width:145px;max-width:172px;font-size:15px;padding-inline:11px}
  .insight-date button{padding-inline:9px;font-size:13px}
  .insight-section-head{flex-wrap:wrap;gap:8px;margin-bottom:20px}
  .insight-section-head h2{margin-bottom:0}
  .insight-counts{gap:38px;margin-bottom:24px}
  .insight-counts dd{font-size:21px}
  .insight-copy{font-size:14px}
  .insight-summary{margin-bottom:24px}
  .insight-section{margin-top:28px;padding-top:28px}
  .topic-chart{grid-template-columns:1fr;gap:22px}
  .topic-pie{width:178px;margin-inline:auto}
  .topic-legend li{font-size:13px;gap:9px}
  .topic-legend strong{font-size:12px}
  .topic-legend small{font-size:11px}
  .direction-list li{padding-block:22px}
  .direction-actions{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:9px}
  .direction-actions button{padding-inline:9px;font-size:13px}
  .direction-actions .icon{width:17px;height:17px}
  .account-panel{padding:0}
  .definition-list>div{gap:18px;padding:15px 0}
  .definition-list dd{max-width:62%;font-size:13px}
  .account-section{padding-top:24px;margin-top:24px}
  .install-links{align-items:stretch}
  .account-signout button{width:100%}
  .toast{bottom:calc(88px + env(safe-area-inset-bottom));font-size:13px}
  .admin-page .actions .button{width:100%}
}
@media(max-width:720px) {
  .login-wrap{min-height:100svh;min-height:100dvh;padding:max(112px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(112px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background-image:url('./login-background-mobile.webp?v=3.1.0');background-position:center bottom}
  .login-wrap:before{background:rgba(244,240,229,.06)}
  .login-brand{left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right))}
  .login-sheet{padding:27px 24px 25px;border-radius:32px}
  .login-sheet input{font-size:16px;scroll-margin-block:24px}
  .login-footer{max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:359px) {
  .workspace{padding-inline:16px}
  .surface,.editor-form .surface{padding:18px}
  .account-panel{padding:0}
  .page-head h1{font-size:23px}
  .radio-group{gap:8px}
  .radio-option{gap:7px;padding-inline:9px;font-size:13px}
  .works-toolbar .help{font-size:12px}
  .works-toolbar button{padding-inline:8px;font-size:12px}
  .works-toolbar .quiet .icon{width:16px;height:16px}
  .work-grid{gap:22px 12px}
  .work-tile h2{font-size:13px}
  .direction-actions{grid-template-columns:1fr}
  .insight-date{gap:8px}
  .insight-date input{min-width:136px;max-width:142px;font-size:14px}
  .insight-date button{padding-inline:7px;font-size:12px}
  .login-wrap{padding:104px max(16px,env(safe-area-inset-right)) 104px max(16px,env(safe-area-inset-left))}
  .login-brand{left:16px;right:16px}
  .login-brand strong{font-size:32px}
  .login-stage{gap:26px;padding-top:20px}
  .login-bottom-logo{width:76px;height:76px;border-radius:18px}
  .login-sheet{padding:24px 20px;border-radius:29px}
  .login-sheet h1{font-size:28px}
  .login-sheet .field{margin-bottom:16px}
  .login-sheet .field label{font-size:18px}
}
@media(prefers-reduced-transparency:reduce) {
  .login-sheet{background:rgba(248,247,239,.94);-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media(forced-colors:active) {
  .login-sheet:before{display:none}
  .login-sheet,.login-sheet input,.login-sheet .primary{color:CanvasText;background:Canvas;border:1px solid ButtonText;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .login-sheet .field label,.login-brand strong,.login-footer{color:CanvasText}
  .status,.radio-option,.nav-button[aria-current=page]{border:1px solid ButtonText}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


.quota-compact{padding:16px 0 0;font-size:13px;color:var(--muted)}
.quota-panel h2{margin:0 0 18px;font-size:19px}.quota-head{display:flex;gap:14px;align-items:baseline}.quota-head strong{font-size:36px;line-height:1.2;font-variant-numeric:tabular-nums}.quota-head>span{font-size:13px;color:var(--muted)}.quota-details{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.quota-details dt{font-size:12px;color:var(--muted)}.quota-details dd{margin:7px 0 0;font-size:22px;font-variant-numeric:tabular-nums}.quota-panel [data-own-quota=periodEnd]{font-weight:600}
.topic-recommendation{padding:0 0 22px;margin:0 0 24px;border-bottom:1px solid var(--line,#d9dfd5)}.recommendation-label{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;font-weight:600}.recommendation-label span{font-weight:400;color:var(--muted);font-size:12px}.recommendation-topic{margin:12px 0 14px;font-size:18px;line-height:1.6;overflow-wrap:anywhere}.recommendation-actions{display:flex;justify-content:flex-end;gap:10px}.recommendation-actions button{min-height:40px;padding:9px 16px;font-size:13px}
.manual-downloads{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:8px;font-family:var(--font);font-size:12px;line-height:1.5}.manual-downloads a{padding:5px 0;text-underline-offset:3px}

/* Shared 20261025 workspace: quiet surfaces, native-size controls, local tabs. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1)}
.workspace{padding-top:32px}
.view-create{max-width:1060px}
.create-layout{max-width:680px;margin-inline:auto}
.view-create .page-head{max-width:680px;margin-inline:auto}
.page-head{margin-bottom:24px}
.topic{min-height:142px;background:var(--surface);border-radius:16px}
.topic:focus{outline:2px solid var(--green);outline-offset:3px}
.topic-recommendation{padding-bottom:20px;margin-bottom:24px}
.recommendation-label{font-weight:500;color:var(--muted)}
.recommendation-label span{max-width:62%;text-align:right;line-height:1.6}
.recommendation-topic{font-size:21px;line-height:1.55;margin:12px 0 16px;font-weight:600;text-wrap:pretty}
.recommendation-actions button{min-height:44px}
.recommendation-actions #use-recommendation{background:var(--selected);color:var(--green)}
.creation-options .background-field{padding-block:8px}
.creation-options summary{justify-content:space-between}
.creation-options summary:before{margin-right:0}
.creation-options summary .help{margin-left:auto}
.create-panel .generate-action{margin-top:22px}
.quota-compact{text-align:center;font-variant-numeric:tabular-nums}
.quota-compact [data-quota-message]:empty{display:none}
.work-filters{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 24px}
.work-filters button{background:transparent;color:var(--muted);min-height:44px;padding-inline:18px}
.work-filters button[aria-pressed=true]{background:var(--selected);color:var(--green);font-weight:600}
.work-art,.preview-frame{isolation:isolate}
.art-image{transition:opacity 180ms var(--motion-ease)}
.art-image.image-pending{opacity:0}
.work-art:has(.image-pending:not([hidden])):after,.preview-frame:has(.image-pending:not([hidden])):after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 25%,rgba(128,128,128,.09) 48%,transparent 70%);background-size:240% 100%;animation:loading-sweep 1.7s ease-in-out infinite;pointer-events:none}
.preview-frame{position:relative}
.loading-placeholder span{background:linear-gradient(100deg,var(--field) 25%,var(--soft) 48%,var(--field) 70%);background-size:240% 100%;animation:loading-sweep 1.7s ease-in-out infinite}
@keyframes loading-sweep{from{background-position:120% 0}to{background-position:-120% 0}}
.editor-form .surface{background:transparent;padding:0}
.editor-form .card-edit{margin-top:28px;padding-top:28px}
.editor-actions .primary{flex:1}
.view-editor #review-live-status:empty{display:none}
.share-panel{padding:20px 24px}
.share-panel .help{max-width:62ch}
.share-panel .button{min-height:48px}
.preview-caption,.quota-head,.quota-details,.insight-counts,.character-count{font-variant-numeric:tabular-nums}
.account-panel .definition-list{margin:0}
.setting-line select{max-width:180px}
@media(max-width:760px){
  body{font-size:15px}
  button,.button{min-height:48px}
  .workspace{padding:calc(18px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(104px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
  .page-head{margin-bottom:22px;align-items:center;min-height:36px}
  .page-head h1{font-size:24px;letter-spacing:-.025em}
  .page-back{margin:-4px 0 8px}
  .page-back button{min-height:44px}
  .navigation{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom));gap:0;border-top:0;box-shadow:0 -3px 20px rgba(30,48,38,.035)}
  .nav-button{min-height:54px;font-size:11px;gap:4px;border-radius:0}
  .nav-button[aria-current=page]{background:transparent;font-weight:650}
  .nav-button[aria-current=page] .icon{stroke-width:2.1}
  .nav-button:active{transform:none}
  .topic-recommendation{margin-bottom:22px;padding-bottom:18px}
  .recommendation-topic{font-size:20px;margin-top:10px}
  .recommendation-label span{font-size:12px}
  .recommendation-actions{gap:8px}
  .recommendation-actions button{min-height:48px;padding-inline:18px}
  .topic{min-height:136px;font-size:17px}
  .create-panel .field{margin-bottom:18px}
  .create-panel details{margin-bottom:12px;padding-bottom:8px}
  .create-panel summary{min-height:48px}
  .generate-action .primary{min-height:52px}
  .work-filters{gap:0;justify-content:space-between;margin-bottom:20px;background:var(--soft);padding:3px;border-radius:12px;flex-wrap:nowrap}
  .work-filters button{flex:1;min-height:44px;padding-inline:5px;font-size:13px}
  .work-filters button[aria-pressed=true]{background:var(--surface)}
  .works-toolbar{border:0;padding:0;margin-bottom:16px}
  .work-grid{gap:22px 14px}
  .work-tile{min-height:0}
  .work-meta time{font-size:12px}
  .work-art{border-radius:12px}
  .view-editor{padding-bottom:calc(184px + env(safe-area-inset-bottom))}
  .view-editor .page-head{margin-bottom:18px}
  .view-editor .editor-jumps{display:flex;position:sticky;top:0;z-index:5;margin:0 0 18px;padding:3px;gap:3px;background:var(--soft);border:0;border-radius:12px}
  .editor-jumps [role=tab]{flex:1;min-height:44px;font-size:14px;padding:8px;border-radius:9px}
  .editor-jumps [aria-selected=true]{background:var(--surface);color:var(--green);font-weight:600}
  .editor-layout{gap:20px}
  .art-preview{width:min(100%,330px)}
  .view-editor[data-editor-pane=preview] .art-preview{width:min(100%,330px,max(180px,calc((100svh - 428px)*.75)))}
  .editor-form .surface{padding:0}
  .view-editor[data-editor-pane=preview] .copy-edit,.view-editor[data-editor-pane=preview] .card-edit,.view-editor[data-editor-pane=copy] .card-edit,.view-editor[data-editor-pane=copy] .art-preview,.view-editor[data-editor-pane=card] .copy-edit,.view-editor[data-editor-pane=card] .art-preview figure{display:none}
  .view-editor[data-editor-pane=card] .art-preview{width:100%;align-self:stretch;position:static}
  .view-editor[data-editor-pane=card] .card-edit{border:0;margin:0;padding:0}
  .view-editor[data-editor-pane=preview] .editor-help{margin-top:0}
  .view-editor .editor-actions{position:fixed;z-index:19;left:0;right:0;bottom:calc(66px + env(safe-area-inset-bottom));margin:0;padding:10px max(20px,env(safe-area-inset-right)) 10px max(20px,env(safe-area-inset-left));border:0;background:var(--bg);gap:10px}
  .editor-actions>button{min-height:48px;flex:1!important;font-size:14px}
  .editor-actions #save-work:disabled{background:transparent;color:var(--muted);opacity:1}
  .view-editor:has(.share-panel) .editor-actions{position:static;padding:16px 0 0}
  .view-editor .version-note{margin-top:12px;font-size:12px}
  .share-panel{padding:18px;margin:0 0 18px;border-radius:12px}
  .share-panel h2{font-size:16px}
  .share-panel .button{margin-top:14px;width:100%}
  .share-panel .help{font-size:12px}
  .share-panel .phone-link{margin-top:12px}
  .preview-caption{font-size:12px}
  .column-fields{gap:14px}
  .editor-form textarea.body-field{min-height:240px}
  .quota-details{gap:10px}
  .account-section{margin-top:22px;padding-top:22px}
  .toast{bottom:calc(150px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}
}
@media(max-width:359px){.workspace{padding-inline:16px}.recommendation-topic{font-size:19px}.page-head h1{font-size:22px}.editor-jumps [role=tab]{font-size:13px}.editor-actions>button{font-size:13px;padding-inline:9px}.recommendation-label span{max-width:60%}}
@media(prefers-reduced-motion:reduce){.art-image{transition:none}.loading-placeholder span,.work-art:after,.preview-frame:after{animation:none!important}}

/* Keep interaction feedback legible in both explicit and system themes. */
.nav-button:hover:not(:disabled),.nav-button:active:not(:disabled){color:var(--green)}
.work-filters button:hover:not(:disabled),.work-filters button:active:not(:disabled){color:var(--ink)}
.work-filters button:active:not(:disabled),.page-selector button:active:not(:disabled),.editor-jumps button:active:not(:disabled){background:var(--press)}
.work-filters button[aria-pressed=true]:hover:not(:disabled),.page-selector button[aria-pressed=true]:hover:not(:disabled),.editor-jumps button[aria-selected=true]:hover:not(:disabled){color:var(--green);background:var(--selected)}
.recommendation-actions #use-recommendation:hover:not(:disabled),.direction-actions button:last-child:hover:not(:disabled){background:var(--soft)}
.recommendation-actions #use-recommendation:active:not(:disabled),.direction-actions button:last-child:active:not(:disabled){background:var(--press)}
summary:hover{background:var(--soft)}
summary:active{color:var(--ink);background:var(--press)}
