.workspace-side-panel{border-left:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;flex:0 0 21rem;width:21rem;min-width:18rem;min-height:0;padding:1rem;display:none;overflow:auto}.workspace-side-panel.is-open,.workspace-side-panel:not([hidden]){display:flex}.workspace-side-panel[hidden]{display:none}.workspace-side-panel [hidden]{display:none!important}.workspace-side-panel__header{z-index:2;background:var(--color-surface);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.35rem;display:flex;position:sticky;top:0}.workspace-side-panel__header h2{margin:0;font-size:1rem;font-weight:700;line-height:1.3}.workspace-side-panel__close{border:1px solid var(--color-border);background:var(--color-surface);min-height:2rem;color:var(--color-accent);font:inherit;cursor:pointer;border-radius:7px;padding:0 .7rem;font-size:.8rem;font-weight:650}.workspace-side-panel__close:hover,.workspace-side-panel__close:focus-visible{background:var(--color-selected)}.workspace-side-panel__close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.workspace-side-panel__lead,.workspace-side-panel .muted{color:var(--color-muted);margin:.45rem 0 0;font-size:.85rem}.workspace-side-panel__error{color:var(--color-danger)}.workspace-side-panel__form:not([hidden]),.workspace-side-panel [data-load-template-loaded]:not([hidden]),.workspace-side-panel [data-run-test-applied]:not([hidden]){gap:.65rem;margin-top:.75rem;display:grid}.workspace-side-panel__form label{color:var(--color-muted);gap:.25rem;font-size:.8rem;font-weight:650;display:grid}.workspace-side-panel__form input,.workspace-side-panel__form select,.workspace-side-panel__form textarea,.workspace-side-panel .picker-search input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:2.25rem;color:var(--color-text);font:inherit;border-radius:7px;padding:.45rem .65rem}.workspace-side-panel__form input:focus,.workspace-side-panel__form select:focus,.workspace-side-panel__form textarea:focus,.workspace-side-panel .picker-search input:focus{outline:3px solid color-mix(in srgb, var(--color-accent) 28%, transparent);outline-offset:2px;border-color:var(--color-accent)}.workspace-side-panel__summary{border:1px solid var(--color-border);background:#f7f8fc;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;padding:.45rem .5rem;font-size:.85rem;display:flex}.workspace-side-panel .step-change-button{color:var(--color-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:.15rem .35rem;font-size:.75rem}.workspace-side-panel .step-change-button:hover{text-decoration:underline}.workspace-side-panel .picker-search{gap:.25rem;margin:.75rem 0 0;display:grid}.workspace-side-panel .picker-search label{color:var(--color-muted);font-size:.8rem;font-weight:650}.workspace-side-panel .picker-section-title{color:var(--color-muted);letter-spacing:.03em;text-transform:uppercase;margin:.85rem 0 .4rem;font-size:.75rem;font-weight:650}.workspace-side-panel .picker-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.workspace-side-panel .picker-list button{border:1px solid var(--color-border);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:6px;gap:.2rem;padding:.55rem .7rem;display:grid}.workspace-side-panel .picker-list button:hover,.workspace-side-panel .picker-list button:focus-visible{border-color:var(--color-accent)}.workspace-side-panel .picker-list button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.workspace-side-panel .picker-empty{color:var(--color-muted);font-size:.85rem}.workspace-side-panel dialog p{color:var(--color-muted);margin:.5rem 0 0;font-size:.85rem;line-height:1.4}.workspace-side-panel .dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.workspace-side-panel button.primary,.workspace-side-panel [data-load-template-add-context],.workspace-side-panel [data-run-test-add-context],.workspace-side-panel [data-run-test-start-setup]{border-radius:7px}@media (width<=800px){.workspace-side-panel{border-left:0;border-top:1px solid var(--color-border);flex:none;width:100%;min-width:0}}*{box-sizing:border-box}body{font-family:var(--cw-font);color:var(--color-text);background:radial-gradient(ellipse at 0% -8%, #4355e61a, transparent 42%), radial-gradient(ellipse at 100% 0%, #0f8f8612, transparent 36%), var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}body.workspace-shell{background:var(--color-bg);grid-template-rows:auto minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.skip-link{z-index:100;background:var(--color-accent);color:#fff;border-radius:0 0 8px;padding:.75rem 1rem;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.app-header{z-index:50;border-bottom:1px solid var(--color-border);backdrop-filter:blur(16px);background:#ffffffe6;position:relative;box-shadow:0 1px #4355e60a,0 10px 24px #11182708}.app-header-inner{width:100%;max-width:var(--cw-container);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:2rem;margin:0 auto;padding:.75rem 1.5rem;display:grid}.logo,.landing-logo{color:var(--color-text);align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.brand-wordmark{letter-spacing:-.065em;align-items:baseline;font-size:1.18rem;font-weight:780;line-height:1;display:inline-flex}.brand-wordmark-primary{color:var(--cw-brand-ink)}.brand-wordmark-accent{color:var(--cw-brand);position:relative}.brand-wordmark-accent:after{content:"";background:linear-gradient(90deg, var(--cw-brand), var(--cw-accent-cyan));border-radius:999px;height:2px;position:absolute;bottom:-.22rem;left:.05rem;right:0}.logo:hover,.landing-logo:hover{color:var(--color-accent)}.app-nav a{min-height:2rem;color:var(--color-muted);border-radius:7px;align-items:center;margin-left:.35rem;padding:0 .7rem;text-decoration:none;transition:color .14s,background .14s;display:inline-flex}.app-nav a:hover{color:var(--color-accent);background:var(--color-selected)}.app-nav a.nav-primary{color:var(--color-accent);font-weight:650}.app-nav a.active{color:var(--color-accent);background:var(--color-selected);font-weight:600;box-shadow:inset 0 0 0 1px #4355e61f}.app-nav{grid-column:2;justify-self:center;align-items:center;gap:.15rem;display:flex}.more-nav{position:relative}.more-nav summary{min-height:2rem;color:var(--color-muted);cursor:pointer;border-radius:7px;align-items:center;padding:0 .7rem;list-style:none;display:inline-flex}.more-nav summary::-webkit-details-marker{display:none}.more-nav summary.active,.more-nav summary:hover{color:var(--color-accent);background:var(--color-selected)}.more-nav summary:focus-visible{box-shadow:var(--cw-focus-ring);outline:none}.more-nav-menu{z-index:60;border:1px solid var(--color-border);background:var(--color-surface);min-width:12rem;box-shadow:var(--cw-shadow-card);border-radius:10px;gap:.15rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0}.more-nav-menu a{margin:0;padding:.5rem .65rem}.app-main{max-width:1400px;margin:0 auto;padding:1.5rem}.app-main-workspace{width:100%;max-width:none;min-height:0;padding:0;overflow:hidden}@media (width<=900px){.app-header-inner{flex-wrap:wrap;gap:.5rem;display:flex}.app-nav{order:3;width:100%;overflow-x:auto}.app-nav:has(.more-nav[open]){overflow:visible}}.page-hero{border:1px solid var(--color-border);border-radius:var(--cw-radius-card);box-shadow:var(--cw-shadow-card);background:radial-gradient(circle at 100% 0,#4355e61f,#0000 34%),linear-gradient(#f6f7ff 0%,#fff 72%);padding:clamp(1.35rem,3vw,2.1rem) clamp(1.35rem,3vw,2.1rem) clamp(1.35rem,3vw,2.1rem) 1.6rem;position:relative;overflow:hidden}.page-hero:before{content:"";background:linear-gradient(180deg, var(--cw-brand), var(--cw-accent-cyan));width:4px;position:absolute;top:0;bottom:0;left:0}.page-hero__header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.page-hero__eyebrow{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.75rem;font-weight:650}.page-hero__title{letter-spacing:-.03em;margin:0;font-size:clamp(1.7rem,3.4vw,2.2rem)}.page-hero__description{color:var(--color-muted);margin:.35rem 0 0}.app-shell{--cw-page-max:70rem}.app-shell :is(button,input,select,textarea){font:inherit}.app-shell :is(button,a,input,select,textarea):focus-visible{box-shadow:var(--cw-focus-ring);outline:none}.app-shell :is(input,select,textarea){border:1px solid var(--color-border);border-radius:var(--cw-radius-control);color:var(--color-text);background:#fff}.app-shell :is(input,select,textarea):focus{border-color:var(--color-accent)}.app-shell button,.app-shell .btn{border-radius:var(--cw-radius-control);justify-content:center;align-items:center;gap:.4rem;min-height:2.5rem;padding:.55rem .9rem;font-weight:650;line-height:1.2;transition:background .14s,border-color .14s,color .14s,box-shadow .14s;display:inline-flex}.app-shell button.primary,.app-shell .btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:var(--cw-shadow-button)}.app-shell button.primary:hover,.app-shell .btn-primary:hover{background:var(--cw-brand-hover);border-color:var(--cw-brand-hover)}.app-shell .card,.app-shell .study-context,.app-shell .failure-mode-list,.app-shell .portal-section{border-radius:var(--cw-radius-card);box-shadow:var(--cw-shadow-card)}.app-shell dialog{border:1px solid var(--color-border);border-radius:var(--cw-radius-card);width:min(34rem,100vw - 2rem);color:var(--color-text);max-height:min(82dvh,44rem);padding:0;overflow:auto;box-shadow:0 24px 64px #18181847}.app-shell dialog::backdrop{background:#1418288f}.app-shell dialog form{padding:clamp(1.25rem,4vw,2rem)}.app-shell .dialog-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.app-shell .app-dialog__form{gap:1.25rem;display:grid}.app-shell .app-dialog__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.app-shell .app-dialog__header h2{letter-spacing:-.02em;margin:0;font-size:1.35rem}.app-shell .app-dialog__eyebrow{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .3rem;font-size:.7rem;font-weight:700}.app-shell .app-dialog__description{color:var(--color-muted);margin:.35rem 0 0;font-size:.875rem;line-height:1.45}.app-shell .app-dialog__close{width:2.25rem;min-width:2.25rem;height:2.25rem;color:var(--color-muted);border-radius:50%;padding:0;font-size:1.5rem;line-height:1}.app-shell .app-dialog__close:hover{color:var(--color-text);background:var(--color-selected)}.app-shell .app-dialog__form label{gap:.4rem;font-size:.82rem;font-weight:650;display:grid}.app-shell .app-dialog__form :is(input,select,textarea){min-height:2.6rem}.app-shell .app-dialog__form textarea{resize:vertical;min-height:6rem}.app-shell .app-dialog__form .dialog-actions{margin-top:0}.app-shell .delete-action,.app-shell .delete-btn,.app-shell .linked-rows button{color:#a32d36;min-height:auto;box-shadow:none;background:0 0;border-color:#0000;padding:.35rem .45rem}.app-shell .delete-action:hover,.app-shell .delete-btn:hover,.app-shell .linked-rows button:hover{background:#fff0f1;border-color:#f3c6ca}button,.btn{cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;padding:.4rem .8rem;font-size:.875rem}button:hover,.btn:hover{background:var(--color-selected)}button.primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:var(--cw-shadow-button)}button.primary:hover{background:var(--cw-brand-hover);border-color:var(--cw-brand-hover);color:#fff}@media (width<=720px){.app-header-inner{grid-template-columns:minmax(0,1fr);gap:.35rem .75rem;padding:.6rem 1rem;display:grid}.app-nav{scrollbar-width:thin;grid-column:1/-1;justify-content:flex-start;width:100%;min-width:0;overflow-x:auto}.app-nav:has(.more-nav[open]){overflow:visible}.app-nav a{flex:none;margin-left:0;padding-inline:.45rem;font-size:.8rem}.app-main{padding:1rem}.app-main-workspace{padding:0}.page-hero{border-radius:14px;padding:1.25rem}.page-hero__header{flex-direction:column;align-items:stretch}.entity-tabs:after{content:"→";color:var(--color-accent);background:linear-gradient(90deg, transparent, var(--color-surface) 45%);pointer-events:none;padding:.75rem .35rem;position:sticky;right:0}.app-shell .dialog-actions{flex-direction:column-reverse}.app-shell .dialog-actions button{width:100%}}
