/* Shared tool surfaces. Preserve article workspace rules in workbench-studio.css. */
:root { --tool-line:#e1e5ed; --tool-muted:#626d7d; }
.studio-tool [hidden], #morning-generator [hidden] { display:none !important; }
body :is(button,input,textarea,select,h1,h2,h3,p,label) { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif; }
.studio-tool.skill-page { max-width:1440px; width:100%; padding:24px; box-sizing:border-box; }
.studio-tool > .v3-meta { display:none; }
.studio-tool .tool-heading { margin-bottom:20px; }
.studio-tool .tool-heading h1 { font-size:24px !important; line-height:1.35; margin:0 0 8px; font-weight:600; }
.studio-tool .tool-heading p { font-size:13px; color:var(--tool-muted); line-height:1.7; margin:0; }
.studio-tool .skill-shell { display:grid; grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr); gap:24px; align-items:start; margin:0; padding:0; min-height:0; height:auto; background:transparent; border:0; }
.studio-tool .skill-form-col, .studio-tool .skill-output-col { min-width:0; width:auto; height:auto; min-height:0; padding:24px; border:1px solid var(--tool-line); border-radius:12px; background:#fff; overflow:visible; box-shadow:none; }
.studio-tool .skill-form-col > :is(.micro-label,h1,p) { display:none; }
.studio-tool .skill-form { margin:0; padding:0; display:block; }
.studio-tool .skill-form { background:transparent; border:0; border-radius:0; }
.studio-tool .form-section { padding:0 0 20px; margin:0 0 20px; border:0; border-bottom:1px solid var(--tool-line); }
.studio-tool .form-section > .head { display:flex; gap:10px; align-items:start; margin-bottom:16px; }
.studio-tool .head .num { color:var(--ikb); background:#eef2ff; padding:4px 6px; border-radius:5px; }
.studio-tool .head strong { font-size:15px; font-weight:600; color:#252b35; }
.studio-tool .head small { display:block; margin-top:4px; color:var(--tool-muted); font-size:12px; line-height:1.6; }
.studio-tool .field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.studio-tool .skill-form label { display:block; margin:0 0 14px; font-size:13px; font-weight:500; line-height:1.6; color:#394353; }
.studio-tool .skill-form :is(input,select,textarea) { display:block; box-sizing:border-box; width:100%; max-width:100%; min-width:0; margin-top:7px; padding:10px 12px; border:1px solid #cdd4df; border-radius:7px; background:#fff; color:#252b35; font-size:14px; min-height:42px; box-shadow:none; }
.studio-tool .skill-form textarea { height:96px; min-height:96px; resize:vertical; line-height:1.7; }
.studio-tool #hit-body { height:260px; }
.studio-tool .skill-form :is(input,textarea,select):focus { outline:2px solid #002fa730; outline-offset:1px; border-color:var(--ikb); }
.studio-tool .skill-primary { display:flex; align-items:center; justify-content:center; width:100%; height:auto; min-height:44px; padding:12px 18px; border-radius:8px; font-size:14px; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
.studio-tool .tool-status { font-size:12px; line-height:1.6; margin:10px 0 0; color:var(--tool-muted); }
.studio-tool .tool-status:empty { display:none; }
.studio-tool .skill-empty { display:block; min-height:240px; height:auto; padding:24px 8px; border:0; background:transparent; }
.studio-tool .skill-empty h2 { font-size:20px; margin:0 0 12px; line-height:1.5; color:#252b35; }
.studio-tool .skill-empty p { font-size:14px; line-height:1.9; max-width:50ch; color:var(--tool-muted); }
.studio-tool .skill-output-col { position:sticky; top:80px; max-height:calc(100dvh - 104px); overflow:auto; }
.studio-tool .skill-output-col button { height:auto; min-height:40px; white-space:normal; padding:9px 12px; border-radius:7px; }
.studio-tool .skill-output-col :is(textarea,pre,img) { max-width:100%; box-sizing:border-box; }
.studio-tool .skill-output-col pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.studio-tool .skill-output-col[aria-busy=true] { border-color:#93a8ed; }
#home .v3-meta, #diagnose .v3-meta, #morning-generator .v3-meta { display:none; }
#home .v3-modules { display:none; }
#home .v3-hero { grid-template-columns:1fr; gap:24px; padding:16px 0 24px; }
#home .v3-hero h1 { font-size:32px; line-height:1.3; }
#home .v3-hero .kicker, #home .cta-row { display:none; }
#home .hero-collage { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#home .hc-card { min-height:128px; padding:24px; }
#home .hc-card .t { font-size:18px; margin:10px 0 4px; }
#home .hc-card .d { font-size:13px; line-height:1.6; }
#diagnose .diagnose-shell { min-height:0; height:auto; padding:24px 0; gap:32px; align-items:start; }
#diagnose h1 { font-size:30px; }
#diagnose .entry-form label { display:block; font-size:13px; margin-bottom:8px; }
#diagnose .entry-form > div { display:flex; gap:10px; }
#diagnose .entry-form input { min-width:0; flex:1; width:100%; }
#diagnose #submit-button { flex:none; height:auto; white-space:normal; min-height:44px; padding:10px 20px; border-radius:8px; }
#diagnose .lede { max-width:48ch; }
#morning-generator .morning-shell { padding:0; margin:0; display:block; }
#morning-generator .morning-intro { padding:0 0 20px; }
#morning-generator .morning-intro .micro-label { display:none; }
#morning-generator .morning-intro > span { display:none; }
#morning-generator h1 { font-size:24px; line-height:1.4; margin:0 0 8px; }
#morning-generator .morning-frame-wrap { height:auto; min-height:0; overflow:visible; border:0; }
#morning-generator .generator-frame { display:block; width:100%; min-height:600px; max-height:none; border:0; }
@media(max-width:900px) {
  .studio-tool .skill-shell { grid-template-columns:1fr; }
  .studio-tool .skill-output-col { position:static; max-height:none; overflow:visible; }
  #home .hero-collage { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #diagnose .diagnose-shell { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  .v3-topbar { display:flex !important; flex-wrap:wrap; height:auto !important; position:relative; padding:12px !important; gap:12px; }
  .v3-topbar .app-tabs { display:flex !important; position:static !important; order:3; width:100%; overflow-x:auto; justify-content:flex-start; height:auto; gap:4px; }
  .v3-topbar .app-tabs a { display:flex; flex:none; padding:10px 12px; white-space:nowrap; font-size:13px; }
  .studio-tool.skill-page { padding:20px 12px; }
  .studio-tool .skill-form-col, .studio-tool .skill-output-col { padding:18px; }
  .studio-tool .field-grid { grid-template-columns:1fr; gap:0; }
  .studio-tool .skill-form :is(input,select,textarea) { font-size:16px; }
  #home .hc-card { padding:18px; }
  #home .hc-card .t { font-size:16px; }
  #diagnose .entry-form > div { flex-direction:column; }
  #workbench .conversation-workbench-layout { height:calc(100dvh - 320px); }
}
@media(prefers-reduced-motion:reduce) { .studio-tool * { animation:none !important; scroll-behavior:auto !important; } }
