/* Workspace v4 — follows docs/workspace-v4/draft-02.png.
   Decorative illustration and official icons; all controls/data stay live HTML. */
body.studio-ui.open-workspace .page{max-width:1720px;padding:28px 44px 56px}
body.studio-ui.open-workspace #main-content .stage-hero{position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:32px 36px;margin:0 0 24px;gap:24px;min-height:330px;border:0;border-radius:28px;background:#fff0ab;overflow:hidden}
body.studio-ui.open-workspace #main-content .hero-plans{background:#e5ddfa}
body.studio-ui.open-workspace #main-content .hero-today{background:#d9eee6}
body.studio-ui.open-workspace #main-content .hero-review{background:#e0eaff}
body.studio-ui.open-workspace #main-content .hero-copy{position:relative;z-index:2;padding:0;max-width:730px}
body.studio-ui.open-workspace #main-content .stage-hero h1{font-size:clamp(36px,3.6vw,62px);font-weight:850;line-height:1.15;letter-spacing:-1.8px;margin:0 0 18px;max-width:13em}
.stage-title-break{display:block}
body.studio-ui.open-workspace #main-content .stage-hero .hero-copy>p{max-width:32em;font-size:18px!important;line-height:1.7!important;color:#29352b!important}
body.studio-ui.open-workspace #main-content .hero-actions{margin-top:23px;gap:12px;flex-wrap:wrap}
body.studio-ui.open-workspace #main-content .hero-actions .button{min-height:52px;border-radius:13px;padding:14px 23px;gap:12px;font-size:18px!important}
body.studio-ui.open-workspace #main-content .hero-actions .hero-secondary{background:#fffdf5!important;border:0;color:#1c2b3c!important;padding-inline:23px!important}
body.studio-ui.open-workspace #main-content .hero-scene{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:8px;min-width:0;height:290px;position:relative;isolation:isolate;pointer-events:auto}
.hero-scene .hero-parallax{position:relative;inset:auto;width:100%;height:100%;display:grid;place-items:center;pointer-events:none}
.workspace-hero-illustration{width:calc(100% + 85px);max-width:none;height:320px;object-fit:contain;display:block;transform:translateX(-14px)}
body.studio-ui.open-workspace .stage-summary{position:relative;display:flex;flex-direction:column;gap:16px;padding:0;border:0;z-index:2;background:none;border-radius:0}
.stage-summary>div{display:flex;flex-direction:row;align-items:center;gap:12px;padding:19px 14px;border:1px solid #ffffffd0;border-radius:18px;background:#ffffffed;box-shadow:0 7px 22px #8d71280a;min-width:0}
.stage-summary .summary-icon{width:38px;height:42px;flex-shrink:0;border-radius:12px;background:#e8efff;color:#315ecc;display:grid;place-items:center}
.stage-summary>div:nth-child(2) .summary-icon{background:#dff6e9;color:#187752}
.summary-icon svg{width:24px;height:24px;display:block}
.stage-summary .summary-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.stage-summary .summary-copy strong{font-size:36px;line-height:1.1;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#172234}
.stage-summary .summary-copy>span{font-size:15px;font-weight:600;color:#36443c;white-space:normal;line-height:1.5}
body.studio-ui.open-workspace #main-content .direction-overview{display:flex;align-items:center;gap:24px;border:0;padding:0 4px;margin:0 0 24px;min-height:72px}
body.studio-ui.open-workspace #main-content .direction-overview>.section-head{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0;flex-shrink:0;align-items:center}
body.studio-ui.open-workspace #main-content .direction-overview h2{font-size:24px!important;white-space:nowrap}
.section-title-icon{display:inline-flex;align-items:center;vertical-align:-4px;color:#315ecc;margin-right:10px}
.section-title-icon svg{width:25px;height:25px;display:block}
body.studio-ui.open-workspace #main-content .direction-tiles{flex:1;min-width:0;display:flex;gap:12px;overflow:auto;padding:6px 2px;border:0;margin:0}
body.studio-ui.open-workspace #main-content .direction-tile{min-width:185px;flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:15px 20px;border:1.5px solid #cfddd7;border-radius:16px;background:#fff;min-height:64px;transition:transform .2s cubic-bezier(.2,.8,.2,1),background-color .2s,border-color .2s}
body.studio-ui.open-workspace #main-content .direction-tile.selected{background:#d8f1e7;border-color:#72b69c;color:#183e30}
body.studio-ui.open-workspace #main-content .direction-tile>strong{font-size:19px;max-width:14em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.studio-ui.open-workspace #main-content .direction-tile .tile-count{font-size:16px;white-space:nowrap}
body.studio-ui.open-workspace #main-content .direction-tile:after{display:none}
body.studio-ui.open-workspace #main-content .source-workbench{padding:30px 32px;border:0;border-radius:24px;background:#e5f0ff;margin:0 0 26px}
body.studio-ui.open-workspace #main-content .source-workbench>header{align-items:center;margin-bottom:24px;gap:20px}
body.studio-ui.open-workspace #main-content .source-workbench h2{font-size:30px!important}
body.studio-ui.open-workspace #main-content .source-basics{gap:18px;align-items:end}
body.studio-ui.open-workspace #main-content .source-choices{gap:18px;border-bottom:0;padding-bottom:0}
body.studio-ui.open-workspace #main-content .source-workbench :where(input,select){border-color:#9aacc3!important;border-radius:12px;min-height:52px;box-shadow:none}
body.studio-ui.open-workspace #main-content .source-submit{min-height:52px;border-radius:12px;display:flex;gap:10px;align-items:center;justify-content:center}
body.studio-ui.open-workspace #main-content .source-workbench .field>span{margin-bottom:7px}
body.studio-ui.open-workspace #main-content .source-workbench section[aria-label="搜索范围"]{border-top:1.5px solid #bdd0e6;padding-top:20px;margin-top:20px}
body.studio-ui.open-workspace #main-content section[aria-label="搜索范围"]>.source-history-heading{border:0;margin:0 0 14px;padding:0}
body.studio-ui.open-workspace #main-content [data-source-action="scope"]{border-radius:100px;background:#fff;border:1px solid #bbcee8;padding:9px 15px;transition:transform .2s ease}
body.studio-ui.open-workspace #main-content .job-pool-card{border:0;background:transparent;padding:10px 0 0}
body.studio-ui.open-workspace #main-content .job-pool-card .grid.three{gap:20px}
body.studio-ui.open-workspace #main-content .job-card{border:1.5px solid #cdd8d3;border-radius:20px;padding:24px;background:#fff;box-shadow:0 6px 20px #152e2310}
body.studio-ui.open-workspace #main-content .job-card h3{font-size:22px!important;line-height:1.5!important}
body.studio-ui.open-workspace #main-content .scope-bar,body.studio-ui.open-workspace #main-content .today-view-controls{border:1.5px solid #bdcfc7;border-radius:18px;padding:18px 22px;background:#fff;gap:18px}
body.studio-ui.open-workspace #main-content .workspace-metrics{background:#fff;border:1.5px solid #cdd8d3;border-radius:20px}
body.studio-ui.open-workspace #main-content .section-tabs button{border-radius:12px}
@media(hover:hover) and (pointer:fine){
 .studio-ui .direction-tile:hover{transform:translateY(-3px)}
 .studio-ui .hero-actions .button:hover{transform:translateY(-2px)}
 .studio-ui [data-source-action="scope"]:hover{transform:scale(1.04)}
}
/* The login is one scene with a diagonal division, exactly following the supplied
   composition; the form is editable HTML, not raster text. */
body.studio-ui #auth-root{background:#101312;padding:20px;min-height:100dvh;display:grid;place-items:center}
body.studio-ui #auth-root[hidden]{display:none}
body.studio-ui #auth-root .studio-auth{position:relative;isolation:isolate;display:block;width:min(1680px,100%);min-height:0;aspect-ratio:2/1;background:#151716;border:0;border-radius:24px;overflow:hidden;color:#fff}
body.studio-ui #auth-root .studio-auth-art{position:absolute;inset:0;background:transparent;min-height:0;border:0;pointer-events:none;z-index:-1}
body.studio-ui #auth-root .studio-auth-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;border:0}
body.studio-ui #auth-root .studio-auth-form{width:42%;padding:clamp(28px,3vw,52px) 0 clamp(28px,3vw,52px) 5.4%;min-height:100%;display:flex;justify-content:center;box-sizing:border-box;background:none;border:0}
body.studio-ui #auth-root .studio-auth-inner{width:100%;max-width:560px;margin:0}
body.studio-ui #auth-root .studio-brand{font-size:clamp(25px,2.6vw,40px);letter-spacing:-1px;line-height:1.2;margin:0 0 24px;color:#fff}
body.studio-ui #auth-root .studio-auth h1{font-size:clamp(28px,2.6vw,44px);line-height:1.3;font-weight:800;letter-spacing:-.8px;color:#fff;margin:0 0 10px;white-space:nowrap}
body.studio-ui #auth-root .studio-auth-lead{font-size:clamp(16px,1.35vw,21px);line-height:1.55;color:#d4d9d5;margin:0 0 22px}
body.studio-ui #auth-root #login-form .field{display:flex;flex-direction:column;gap:7px;margin:0 0 16px}
body.studio-ui #auth-root #login-form .field>span:first-child,body.studio-ui #auth-root #login-form .field>label{font-size:17px!important;line-height:1.4;color:#f5f6f5!important;font-weight:600;margin:0}
body.studio-ui #auth-root #login-form .auth-input-wrap{position:relative;display:block;margin:0;line-height:1!important;color:#d4dad8}
body.studio-ui #auth-root #login-form .auth-input-wrap>svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:22px;height:22px;z-index:1;pointer-events:none;color:#c4cac7}
body.studio-ui #auth-root #login-form .field input{display:block;width:100%;font-size:17px!important;min-height:50px!important;height:50px;padding:12px 48px!important;color:#fff!important;background:#ffffff0e!important;border:1.5px solid #68706b!important;border-radius:9px;box-shadow:inset 0 1px 9px #ffffff08}
body.studio-ui #auth-root #login-form .field input:focus{outline:2px solid #9cc7ff;outline-offset:3px}
body.studio-ui #auth-root #login-form .field input::placeholder{color:#b7bfba;opacity:1}
body.studio-ui #auth-root #login-form .field input:-webkit-autofill{box-shadow:0 0 0 1000px #242725 inset!important;-webkit-text-fill-color:#fff!important;caret-color:#fff}
body.studio-ui #auth-root .auth-password-toggle{position:absolute;right:4px;top:4px;width:42px;height:42px;display:grid;place-items:center;border:0;background:transparent;color:#d3dad5;border-radius:6px;padding:0}
body.studio-ui #auth-root .auth-password-toggle svg{width:22px;height:22px}
body.studio-ui #auth-root #login-form .auth-submit{width:100%;font-size:19px!important;min-height:54px!important;background:#0873ff!important;border-color:#0873ff!important;color:#fff!important;display:flex;align-items:center;justify-content:center;gap:14px;border-radius:10px;margin:8px 0 0;box-shadow:0 6px 24px #006aff24}
body.studio-ui #auth-root #login-form .auth-submit:hover:not(:disabled){background:#2688ff!important;border-color:#2688ff!important;color:#fff!important;transform:translateY(-2px)}
body.studio-ui #auth-root .auth-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:17px}
body.studio-ui #auth-root .auth-back{margin:0;padding:0;gap:8px;color:#9fcaff;font-size:16px;min-height:36px}
body.studio-ui #auth-root .studio-auth-switch{margin:0;font-size:15px;line-height:1.6;color:#d4d9d5}
body.studio-ui #auth-root .studio-auth-switch button{font-size:16px;color:#9fcaff;border:0;padding:3px;background:transparent;text-decoration:underline;text-underline-offset:4px}
body.studio-ui #auth-root #login-form .auth-error{font-size:16px;color:#ffcbca;margin:8px 0 12px}
body.studio-ui #auth-root .is-register{aspect-ratio:auto;min-height:780px}
body.studio-ui #auth-root .is-register .studio-auth-form{padding-top:38px;padding-bottom:38px}
@media(min-width:1700px){body.studio-ui #auth-root .studio-auth-form{padding-top:60px;padding-bottom:60px}.studio-auth-inner #login-form .field{margin-bottom:20px}}
@media(max-width:1200px){
 body.studio-ui.open-workspace .page{padding:24px 30px 50px}
 body.studio-ui.open-workspace #main-content .stage-hero{padding:26px;gap:14px;grid-template-columns:1.12fr 1fr;min-height:305px}
 body.studio-ui.open-workspace #main-content .hero-scene{grid-template-columns:1fr;height:270px}
 .workspace-hero-illustration{width:100%;height:245px;transform:translate(-8px,-28px)}
 body.studio-ui.open-workspace .stage-summary{position:absolute;left:0;right:0;bottom:-6px;flex-direction:row;gap:10px}
 .stage-summary>div{padding:10px 12px;flex:1;gap:8px;border-radius:13px}.stage-summary .summary-copy strong{font-size:25px}.stage-summary .summary-copy>span{font-size:14px}.stage-summary .summary-icon{width:30px;height:34px}.summary-icon svg{width:21px;height:21px}
 body.studio-ui.open-workspace #main-content .direction-overview{gap:14px;align-items:flex-start}
 body.studio-ui.open-workspace #main-content .direction-overview>.section-head{flex-direction:column;align-items:flex-start;gap:4px}
 body.studio-ui #auth-root .studio-auth{aspect-ratio:auto;min-height:620px}
 body.studio-ui #auth-root .studio-auth-art img{object-position:57% center}
 body.studio-ui #auth-root .studio-auth-form{padding-left:4%;width:40%;padding-block:42px}
 body.studio-ui #auth-root .studio-brand{font-size:30px;margin-bottom:22px}
 body.studio-ui #auth-root .studio-auth h1{font-size:31px}
}
@media(max-width:850px){
 body.studio-ui.open-workspace #main-content .stage-hero{grid-template-columns:1.1fr .9fr;padding:24px;gap:10px}
 body.studio-ui.open-workspace #main-content .stage-hero h1{font-size:36px;letter-spacing:-1px}
 body.studio-ui.open-workspace #main-content .stage-hero .hero-copy>p{font-size:17px!important}
 body.studio-ui.open-workspace #main-content .hero-scene{height:280px}
 body.studio-ui.open-workspace #main-content .hero-actions .button{padding:12px 16px;font-size:17px!important}
 .stage-summary .summary-icon{display:none}
 body.studio-ui #auth-root .studio-auth-form{width:47%;padding-left:4%}
 body.studio-ui #auth-root .studio-auth h1{font-size:27px}
 body.studio-ui #auth-root .studio-auth-art img{object-position:54% center}
}
@media(max-width:600px){
 body.studio-ui.open-workspace .page{padding:18px 18px 40px}
 body.studio-ui.open-workspace #main-content .stage-hero{display:flex;flex-direction:column;align-items:stretch;padding:26px 22px 18px;gap:4px;border-radius:22px;margin-bottom:20px}
 body.studio-ui.open-workspace #main-content .stage-hero h1{font-size:35px;line-height:1.18;letter-spacing:-.7px}
 body.studio-ui.open-workspace #main-content .hero-scene{height:205px;min-height:205px;display:grid;grid-template-columns:1fr 118px;gap:0}
 body.studio-ui.open-workspace .stage-summary{position:static;flex-direction:column;gap:10px}
 .workspace-hero-illustration{height:220px;width:calc(100% + 28px);transform:translate(-12px,0)}
 .stage-summary>div{padding:12px;min-height:72px;border-radius:13px}.stage-summary .summary-copy{gap:3px}.stage-summary .summary-copy strong{font-size:27px}.stage-summary .summary-copy>span{font-size:14px;white-space:nowrap}
 body.studio-ui.open-workspace #main-content .direction-overview{display:block;padding:0}
 body.studio-ui.open-workspace #main-content .direction-overview>.section-head{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:6px}
 body.studio-ui.open-workspace #main-content .direction-overview h2{font-size:22px!important}
 body.studio-ui.open-workspace #main-content .source-workbench{padding:24px 18px;border-radius:20px}
 body.studio-ui.open-workspace #main-content .source-workbench h2{font-size:26px!important}
 body.studio-ui.open-workspace #main-content .source-workbench>header{align-items:flex-start;gap:14px}
 body.studio-ui.open-workspace #main-content .job-card{padding:20px}
}
@media(max-width:1000px){
 body.studio-ui #auth-root{padding:0;background:#141615}
 body.studio-ui #auth-root .studio-auth{width:100%;border-radius:0;min-height:100dvh;aspect-ratio:auto;display:flex;flex-direction:column}
 body.studio-ui #auth-root .studio-auth-art{display:block;position:relative;inset:auto;z-index:0;width:100%;height:clamp(255px,40vw,350px);flex-shrink:0;overflow:hidden;order:0}
 body.studio-ui #auth-root .studio-auth-art>img{width:100%;height:100%;object-fit:cover;object-position:right center;transform:scale(1.6);transform-origin:100% 40%}
 body.studio-ui #auth-root .studio-auth-form{position:relative;z-index:1;width:100%;padding:28px 28px 38px;background:#141615;border-radius:24px 24px 0 0;margin-top:-20px;order:1}
 body.studio-ui #auth-root .studio-auth-inner{max-width:430px;margin:auto}
 body.studio-ui #auth-root .studio-brand{font-size:27px;margin-bottom:18px}
 body.studio-ui #auth-root .studio-auth h1{font-size:29px;white-space:normal}
 body.studio-ui #auth-root .studio-auth-lead{font-size:17px;margin-bottom:24px}
 body.studio-ui #auth-root .auth-bottom{gap:6px}
 body.studio-ui #auth-root .is-register{min-height:100dvh}
}
body.motion-paused :is(.direction-tile,.hero-actions .button,[data-source-action="scope"],.auth-submit),body.no-motion :is(.direction-tile,.hero-actions .button,[data-source-action="scope"],.auth-submit){transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.studio-ui :is(.direction-tile,.hero-actions .button,[data-source-action="scope"],.auth-submit){transition:none!important;transform:none!important}}
