/* Forest Studio: Draw-only visual layer. Shared site/admin styles stay intact. */
:root {
  color-scheme: dark;
  --bg:#171b19; --card:#222925; --card-border:#46534b; --border:#46534b;
  --text:#f4f2e9; --text-dim:#c0cdc0; --accent:#b9df98; --accent-deep:#a2cb80;
  --teal:#b5ddc4; --teal-deep:#99c5aa; --green:#b9df98;
  --red:#f0a79a; --yellow:#dbc096; --radius:12px;
}
body { background:#171b19; background-image:radial-gradient(ellipse at 0 0,#303c2f66,transparent 48%); line-height:1.55; }
body::before { height:2px; background:#9cbd7f; animation:none; opacity:.6; }
.stars,.leaf-layer,.queue-grass,.bloom-ring,.bloom-spark { display:none!important; }
.vignette { opacity:.3; background-image:url('/img/forest-canopy.svg'); background-size:680px auto; background-repeat:no-repeat; background-position:right top; }
.effects-off .vignette { display:none; }
.container { max-width:1320px; padding:0 32px 48px; }
header.site { padding:28px 0 24px; gap:16px; border-bottom:1px solid #38423b; margin-bottom:20px; }
.logo { font-size:21px; font-weight:650; letter-spacing:.5px; }
.logo .icon { animation:none; width:48px; height:48px; border-radius:10px; background:#29382c; border:1px solid #677b59; }
.logo .icon img { width:34px; height:34px; }
.logo small { font-size:10px; letter-spacing:2.7px; margin-top:3px; color:var(--yellow); }
.card { border:1px solid var(--card-border); padding:24px; background:var(--card); backdrop-filter:none; box-shadow:0 4px 16px #00000012; }
.card::before { display:none; }
.btn { border-radius:8px; min-height:40px; padding:8px 15px; font-weight:600; font-family:inherit; text-decoration:none; transition:background-color .16s,border-color .16s; }
.btn-sm { min-height:36px; padding:6px 12px; font-size:12.5px; }
.btn:hover { transform:none; filter:none; box-shadow:none; }
.btn-ghost,.btn-teal { background:#2b342e; border:1px solid #56645a; color:var(--text); }
.btn-ghost:hover,.btn-teal:hover { background:#37453a; border-color:#91a383; }
.btn-accent,.preset-btn.active { background:var(--accent); color:#1c281c; border:1px solid var(--accent); }
.btn-accent:hover { background:#c3d9ac; }
.btn:disabled { opacity:.55; }
.btn-danger,.workspace-delete { color:var(--red); border-color:#98675e; }
.btn-danger:hover { background:#48332e; border-color:var(--red); }
#genBtn { min-height:50px; font-weight:750; letter-spacing:.5px; box-shadow:0 3px 0 #101a10; }
.btn.busy { animation:none; background:var(--accent); }
:where(button,a,input,select,textarea,summary):focus-visible { outline:2px solid #e2c395!important; outline-offset:3px; }
label.f { color:var(--text); font-size:13px; margin-top:20px; }
textarea.ta,input.inp,select.sel { border:1px solid #69796c; border-radius:8px; background:#191f1b; font-size:14px; padding:11px 12px; }
input.inp,select.sel { min-height:44px; }
textarea::placeholder,input::placeholder { color:#9ca89e; opacity:1; }
select.sel option { background:#222925; }
input[type=checkbox],input[type=range] { accent-color:var(--accent); }
input[type=checkbox] { width:17px; height:17px; vertical-align:middle; }
.grid-draw { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:22px; margin-top:20px; }
.grid-draw>* { min-width:0; }
.engine-tabs { gap:8px; }
.engine-tab { min-height:46px; white-space:normal; }
.tag { border-radius:6px; font-size:11.5px; padding:4px 9px; }
.tag-teal { color:#c4d7c8; background:#2d3b32; border-color:#617467; }
.tag-green { color:var(--accent); }
.workspace-bar { background:#1e2520; border-radius:10px; padding:12px 14px; }
.workspace-save-state { color:var(--text-dim); }
.model-switch-box { background:#1d251f; border:1px solid var(--card-border); border-radius:10px; }
.model-switch-pill { border-radius:8px; background:#222925; border:1px solid #647361; }
.model-switch-pill:hover,.model-switch-pill.active { transform:none; box-shadow:none; }
.model-switch-pill.active { background:var(--accent); border-color:var(--accent); }
.result-card { background:#202321; }
.result-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; }
.result-heading b { font-size:14px; font-weight:600; }
.result-box { min-height:440px; border:1px solid #4a504b; border-radius:8px; background:#181a19; padding:16px; }
.result-box img { border-radius:3px; box-shadow:none; animation:none; }
.result-actions { flex-wrap:wrap; }
.result-actions>span { flex-wrap:wrap; }
.queue-viz .qpeng,.queue-viz .qme { animation:none; filter:none; }
.history img { object-fit:contain; background:#181a19; border-radius:5px; }
.history img:hover { box-shadow:none; outline:1px solid var(--accent); }
.gallery-launch { margin:16px 0 0; padding:14px 0 0; border-top:1px solid #46534b; }
.gallery-launch p { font-size:12px; color:var(--text-dim); line-height:1.65; }
.gallery-panel { max-width:1256px; margin:24px auto; padding:24px; background:#222925; border:1px solid var(--card-border); border-radius:12px; scroll-margin-top:16px; }
.gallery-panel>p { font-size:13px; color:var(--text-dim); margin:12px 0; }
.gallery-panel>.row:first-child { justify-content:space-between; }
.gallery-grid { grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:16px; }
.gallery-grid article { border:1px solid #59645c; border-radius:9px; padding:10px; background:#1a1d1b; }
.gallery-grid article:has(input:checked) { outline:2px solid var(--accent); background:#2b392d; }
.gallery-grid label { display:flex; align-items:center; gap:8px; padding:6px 0 10px; overflow-wrap:anywhere; }
.gallery-grid img { height:220px; width:100%; object-fit:contain; border-radius:4px; background:#141615; }
.gallery-detail { background:#222925; border:1px solid #69796c; border-radius:12px; padding:24px; }
.gallery-detail pre { margin:16px 0; padding:14px; background:#191f1b; border-radius:8px; line-height:1.65; }
.workspace-drawer-panel,.market-box,.viewer,.assist-box { background:#222925; }
.workspace-drawer-panel { animation:none; }
.workspace-draft-card,.workspace-new-preset,.workspace-preset-card,.workspace-empty { border-radius:8px; }
.workspace-undo { background:#29352d; border-radius:9px; border:1px solid #6f826e; }
.nai-position-board { border-color:#75816f; border-radius:6px; }
.nai-position-pin { min-width:36px; min-height:36px; }
@media(min-width:1100px) { .result-card { position:sticky; top:20px; } }
@media(max-width:900px) {
  .grid-draw { grid-template-columns:minmax(0,1fr); }
  .container { padding:0 20px 32px; }
  .gallery-panel { margin:20px; }
}
@media(max-width:540px) {
  .container { padding:0 12px 28px; }
  header.site { padding:20px 0 16px; }
  .logo { font-size:19px; }
  .card { padding:18px 14px; }
  .btn,.btn-sm,.preset-btn { min-height:44px; }
  .engine-tab { flex-basis:calc(50% - 8px); }
  .result-box { min-height:320px; }
  .result-heading { align-items:center; }
  .gallery-panel { margin:16px 12px; padding:16px 12px; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .gallery-grid img { height:180px; }
  .gallery-tools .btn { flex:1 1 40%; justify-content:center; }
  .gallery-detail { max-width:calc(100vw - 24px); padding:16px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.result-box > span:first-child { animation:none; }
/* Softer glass finish, following the local visual review. */
:root { --radius:24px; --card:rgba(48,70,54,.66); --card-border:rgba(205,234,192,.24); --border:var(--card-border); }
body { background-color:#19291e; background-image:radial-gradient(ellipse at 6% 5%,#8eaf5950,transparent 45%),radial-gradient(ellipse at 95% 45%,#48977538,transparent 50%); }
.card { border-color:var(--card-border); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); box-shadow:0 12px 36px #080f0b22,inset 0 1px 0 #ffffff08; }
.btn,.btn-sm { border-radius:15px; border-color:#bfd0b92e; }
.btn-ghost,.btn-teal { background:#c4eab918; }
.btn-ghost:hover,.btn-teal:hover { background:#c4eab92b; border-color:#bfd0b952; }
.btn-accent,.preset-btn.active,#genBtn { background:linear-gradient(145deg,#ceebb0,#acd687); color:#1c281c; }
#genBtn { border-radius:18px; box-shadow:0 5px 18px #0e1b1133,inset 0 1px 0 #ffffff55; }
#genBtn:disabled { color:#1c281c; }
.btn.cooling { background:#4d5a40!important; color:#e8eddf!important; }
.btn-danger { color:var(--red); border-color:#c9958555; }
textarea.ta,input.inp,select.sel { background:#11291a55; border-color:#a7b59f66; border-radius:15px; box-shadow:inset 0 1px 3px #00000012; }
.logo .icon { border-radius:17px; background:#b4ce981c; border-color:#b4ce9855; }
.tag { border-radius:10px; }
.workspace-bar { border-radius:18px; background:#2c443288; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.model-switch-box,.model-switch-pill { border-radius:17px; }
.result-card { background:rgba(34,39,36,.76); }
.result-box { border-radius:18px; border-color:#b9c5b324; background:#191c1a; }
.result-box img { border-radius:10px; }
.gallery-panel { border-radius:24px; background:rgba(44,65,49,.84); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); box-shadow:0 12px 36px #080f0b22; }
.gallery-grid article { border-radius:17px; border-color:#bfd0b92e; }
.gallery-grid img { border-radius:10px; }
.gallery-detail,.market-box { border-radius:24px; background:rgba(42,62,47,.95); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); }
.gallery-detail pre,.workspace-draft-card,.workspace-new-preset,.workspace-preset-card,.workspace-empty { border-radius:15px; }
.workspace-drawer-panel { background:rgba(42,62,47,.94); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); }
.workspace-undo { border-radius:18px; background:#29352de8; backdrop-filter:blur(16px); }
.i18n-switcher { border-radius:15px!important; }
.i18n-btn { border-radius:11px!important; min-height:34px; }
html[lang=zh-CN] .i18n-btn:not([data-lang=zh-CN]),html[lang=zh-TW] .i18n-btn:not([data-lang=zh-TW]),html[lang=en] .i18n-btn:not([data-lang=en]) { color:var(--text-dim)!important; }
@media(max-width:540px) { .i18n-btn { min-height:44px; } }
@supports not (backdrop-filter:blur(1px)) { .card,.gallery-panel { background:#304635; } }
html.effects-off .gallery-panel,html.effects-off .gallery-detail,html.effects-off .workspace-bar,html.effects-off .workspace-drawer-panel { backdrop-filter:none; -webkit-backdrop-filter:none; }
.btn-accent:hover { background:linear-gradient(145deg,#d9f2bf,#bce39b); color:#1c281c; }

/* Readable gallery settings; prompt values remain literal and wrap on mobile. */
.gallery-settings { display:grid; gap:16px; margin:20px 0; }
.gallery-settings section { min-width:0; padding:16px; border:1px solid var(--card-border); border-radius:18px; background:#11291a33; }
.gallery-settings h3 { margin:0 0 14px; font-size:16px; color:var(--accent); }
.gallery-setting + .gallery-setting { margin-top:14px; }
.gallery-setting h4 { margin:0 0 5px; font-size:13px; color:var(--text-dim); font-weight:600; }
.gallery-setting p { margin:0; font-size:14px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.gallery-settings-note { color:var(--text-dim); font-size:12px; line-height:1.6; }
