@font-face{font-family:Pretendard;src:url(/fonts/PretendardVariable.woff2)format("woff2-variations");font-weight:45 920;font-display:swap}html,body,#root{height:100%;margin:0}:root{--ds-primary:#307d58;--ds-primary-hover:#296849;--ds-primary-active:#225239;--ds-brand-subtle:#e9f4ee;--ds-brand-soft:#d7f2e1;--ds-text:#191f28;--ds-text-sub:#4e5968;--ds-text-placeholder:#8b95a1;--ds-icon-sub:#6b7684;--ds-bg:#fff;--ds-bg-sub:#f2f4f6;--ds-bg-tertiary:#f9fafb;--ds-border:#e5e8eb;--ds-border-strong:#d1d6db;--ds-warning:#b45309;--ds-warning-subtle:#fffbeb;--ds-error:#dc2626;--ds-error-subtle:#fef2f2;--ds-success:#15803d;--radius:10px;--radius-lg:14px;color:var(--ds-text);-webkit-font-smoothing:antialiased;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,system-ui,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{background:var(--ds-bg-sub);margin:0}button,input,textarea{font:inherit;color:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}h1,h2,h3{letter-spacing:-.01em}.center{place-items:center;height:100vh;display:grid;position:relative}.lobby-status{gap:8px;display:flex;position:absolute;top:16px;right:16px}.status-icon{border:1px solid;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:background .12s;display:inline-flex}button.status-icon{cursor:pointer}.status-icon.ok{background:var(--ds-brand-subtle);color:var(--ds-primary);border-color:#b9e3c9}button.status-icon.ok:hover{background:var(--ds-brand-soft)}.status-icon.bad{background:var(--ds-error-subtle);color:var(--ds-error);border-color:#fecaca}button.status-icon.bad:hover{background:#fee2e2}.server-state{color:var(--ds-text-sub);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.server-state i{background:var(--ds-success);border-radius:50%;width:8px;height:8px}.server-state.bad{color:var(--ds-error)}.server-state.bad i{background:var(--ds-error)}.server-state .btn.link{font-size:12.5px}.muted{color:var(--ds-text-sub)}.fail{color:var(--ds-error)}.grow{flex:1}.btn{border-radius:var(--radius);border:1px solid var(--ds-border-strong);background:var(--ds-bg);height:36px;color:var(--ds-text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--ds-bg-sub)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--ds-primary);border-color:var(--ds-primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--ds-primary-hover);border-color:var(--ds-primary-hover)}.btn.primary:active:not(:disabled){background:var(--ds-primary-active)}.btn.active{background:var(--ds-brand-subtle);border-color:var(--ds-primary);color:var(--ds-primary)}.btn.link{height:auto;color:var(--ds-primary);background:0 0;border:none;padding:2px 6px;font-weight:600}.btn.link:hover:not(:disabled){background:var(--ds-brand-subtle)}.btn.big{border-radius:12px;height:48px;padding:0 24px;font-size:16px}.login{text-align:center;background:var(--ds-bg);border:1px solid var(--ds-border);border-radius:20px;padding:40px 48px}.login .brand{color:var(--ds-primary);letter-spacing:-.02em;margin:0 0 4px;font-size:28px;font-weight:800}.login h1{margin:0 0 8px;font-size:20px}.login p{margin:0 0 24px}.shell{height:100vh;display:flex}.side{background:var(--ds-bg);border-right:1px solid var(--ds-border);flex-direction:column;flex:none;width:264px;display:flex}.side-head{cursor:pointer;text-align:left;background:0 0;border:none;align-items:baseline;gap:8px;width:100%;padding:18px 18px 10px;display:flex}.side-head:hover .brand{color:var(--ds-primary-hover)}.side-head .brand{color:var(--ds-primary);letter-spacing:-.02em;font-size:20px;font-weight:800}.side-head .sub{color:var(--ds-text-sub);font-size:13px;font-weight:600}.btn.wide{border-radius:12px;height:40px;margin:4px 14px 12px}.side-list{border-top:1px solid var(--ds-border);flex:1;padding:6px;overflow-y:auto}.side-item{border-radius:var(--radius);align-items:center;width:100%;display:flex;position:relative}.side-item:hover{background:var(--ds-bg-tertiary)}.side-item.active{background:var(--ds-brand-subtle)}.side-item.active .side-title{color:var(--ds-primary)}.side-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.side-meta{color:var(--ds-text-sub);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.side-foot{border-top:1px solid var(--ds-border);align-items:center;gap:6px;padding:10px 10px 12px 18px;font-size:12.5px;display:flex}.ellipsis{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.main{flex-direction:column;flex:1;min-width:0;display:flex}.banner{background:var(--ds-error-subtle);border-bottom:1px solid #fecaca;padding:8px 16px}.lobby{text-align:center;max-width:560px}.lobby h1{margin:0 0 10px;font-size:28px;font-weight:800}.lobby p{margin:0 0 28px;font-size:16px}.lobby-open{text-align:left;flex-direction:column;gap:6px;margin-top:36px;display:flex}.btn.wide-left{text-align:left;white-space:normal;justify-content:flex-start;height:auto;padding:10px 14px;font-weight:500}.layout{flex-direction:column;height:100%;display:flex}.top{background:var(--ds-bg);border-bottom:1px solid var(--ds-border);align-items:center;gap:12px;padding:10px 16px;display:flex;container-type:inline-size}.top-info{flex:auto;align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.top-info strong{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:120px;max-width:420px;overflow:hidden}.top-info .muted{white-space:nowrap;flex:none}.top-info .server-state{flex:none}@container (width<=1560px){.top-info .muted{display:none}}.top>.btn{white-space:nowrap;flex:none}.top-tools{flex:none;align-items:center;gap:6px;display:flex}.top-tools .dd{max-width:220px}.top .muted{font-size:13px}.body{flex-direction:row-reverse;flex:1;min-height:0;display:flex}.chat{border-left:1px solid var(--ds-border);background:var(--ds-bg);flex-direction:column;flex:none;width:440px;display:flex}.messages{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.msg{align-items:flex-start;gap:8px;display:flex}.msg-time{color:var(--ds-text-sub);flex:none;align-self:flex-end;padding-bottom:6px;font-size:11px;line-height:1}.day-sep{text-align:center;color:var(--ds-text-sub);margin:8px 0 4px;font-size:11.5px}.msg .bubble{white-space:pre-wrap;word-break:break-word;max-width:100%;line-height:1.6}.msg.user{justify-content:flex-end}.msg.user .bubble{background:var(--ds-primary);color:#fff;border-radius:16px 16px 4px;padding:9px 13px}.msg.assistant .bubble{background:var(--ds-bg-sub);border-radius:16px 16px 16px 4px;padding:9px 13px}.msg.tool{color:var(--ds-icon-sub);align-items:center;padding-left:4px;font-size:12.5px}.msg.tool .dot{background:var(--ds-border-strong);border-radius:50%;flex:none;width:6px;height:6px}.msg.tool.ok .dot{background:var(--ds-primary)}.msg.tool.fail .dot{background:var(--ds-error)}.msg.system{color:var(--ds-text-sub);font-size:12.5px}.msg.system.block .bubble{color:var(--ds-warning);background:var(--ds-warning-subtle);border-radius:var(--radius);padding:7px 11px}.msg.system.fail .bubble{color:var(--ds-error)}.shot{border:1px solid var(--ds-border);border-radius:8px;max-width:200px;margin-top:6px;display:block}.composer{border-top:1px solid var(--ds-border);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.composer-row{align-items:stretch;gap:8px;display:flex}.btn.icon{width:36px;color:var(--ds-icon-sub);align-self:flex-end;padding:0}.attach-strip{flex-wrap:wrap;gap:8px;display:flex}.attach-item{position:relative}.attach-item img{object-fit:cover;border:1px solid var(--ds-border);border-radius:8px;width:64px;height:64px;display:block}.attach-x{background:var(--ds-text);color:#fff;cursor:pointer;border:none;border-radius:50%;width:20px;height:20px;padding:0;font-size:13px;line-height:20px;position:absolute;top:-6px;right:-6px}.attach-row{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.attach{object-fit:cover;border:1px solid #fff6;border-radius:8px;width:120px;max-height:120px;display:block}.composer textarea{resize:none;border:1px solid var(--ds-border-strong);background:var(--ds-bg);border-radius:12px;flex:1;padding:10px 12px}.composer textarea:focus{border-color:var(--ds-primary);box-shadow:0 0 0 3px var(--ds-brand-soft);outline:none}.composer textarea::placeholder{color:var(--ds-text-placeholder)}.composer .btn{align-self:stretch;height:auto}.changes-panel{border-left:1px solid var(--ds-border);background:var(--ds-bg);flex:none;width:300px;padding:14px 16px;overflow-y:auto}.changes-title{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.change{border-top:1px solid var(--ds-border);flex-direction:column;gap:2px;padding:8px 0;font-size:13px;display:flex}.change code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.change .muted{font-size:12px}.change .btn.link{align-self:flex-start;padding-left:0}.preview{flex-direction:column;flex:1;min-width:0;display:flex}.preview-bar{border-bottom:1px solid var(--ds-border);background:var(--ds-bg);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.preview-bar .path{border:1px solid var(--ds-border-strong);border-radius:var(--radius);background:var(--ds-bg);flex:1;min-width:160px;height:36px;padding:0 12px}.preview-bar .path:focus{border-color:var(--ds-primary);outline:none}.preview-bar .account{border:1px solid var(--ds-border-strong);border-radius:var(--radius);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;appearance:none;background:var(--ds-bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 10px center / 16px 16px;max-width:220px;height:36px;padding:0 30px 0 12px;font-weight:600;overflow:hidden}.preview-bar .account:focus{border-color:var(--ds-primary);outline:none}.frame-wrap{flex:1;justify-content:center;min-width:0;padding:20px;display:flex;overflow:auto}.frame-wrap iframe{border:1px solid var(--ds-border);background:#fff;border-radius:16px;max-width:100%;height:100%;box-shadow:0 8px 24px #191f280f}.history{flex:1;padding:28px 36px 48px;overflow-y:auto}.history>section{margin-top:24px}.history-head{z-index:2;background:var(--ds-bg-sub);border-bottom:1px solid var(--ds-border);margin:-28px -36px 0;padding:20px 36px 12px;position:sticky;top:-28px}.history-head-row{align-items:flex-start;gap:16px;display:flex}.history-head-row h2{flex:1}.history-head h2{margin:0 0 6px;font-size:22px;font-weight:800}.lobby h1{margin-bottom:24px}.login h1{margin-bottom:20px}.history h3{color:var(--ds-text-sub);margin:28px 0 10px;font-size:15px}.history-changes{background:var(--ds-bg);border:1px solid var(--ds-border);border-radius:var(--radius-lg);padding:18px 20px}.history-changes h3{margin-top:0}.history-chat{padding:20px}.history-chat h3{margin-top:0}.history-changes .change{padding:3px 0}.history-chat{background:var(--ds-bg);border:1px solid var(--ds-border);border-radius:var(--radius-lg);padding:16px}.history-chat .messages{padding:0;overflow:visible}.history h3+.history-chat{margin-top:0}.diff{background:var(--ds-bg-tertiary);border:1px solid var(--ds-border);border-radius:var(--radius);white-space:pre;max-height:420px;margin:8px 0 0;padding:12px;font-size:12px;line-height:1.5;overflow:auto}.small{margin-top:10px;font-size:12.5px}.main{position:relative}.fabs{z-index:5;flex-direction:column;gap:10px;display:flex;position:absolute;bottom:24px;right:24px}.fab{border:1px solid var(--ds-border);background:var(--ds-bg);width:48px;height:48px;color:var(--ds-text-sub);cursor:pointer;border-radius:50%;place-items:center;display:grid;box-shadow:0 6px 18px #191f281f}.fab:hover{color:var(--ds-primary);border-color:var(--ds-primary)}.fab.on{background:var(--ds-primary);border-color:var(--ds-primary);color:#fff}.admin .card{background:var(--ds-bg);border:1px solid var(--ds-border);border-radius:var(--radius-lg);margin-top:16px;padding:16px 18px}.admin-history{flex:1;min-height:0;display:flex}.admin-history .side.static-col{height:100%}.admin-history-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-history-main .center{height:100%}.admin .card h3{color:var(--ds-text);margin:0 0 12px}.kv{grid-template-columns:130px 1fr;gap:8px 16px;margin:0;display:grid}.kv dt{color:var(--ds-text-sub);font-size:13.5px}.kv dd{margin:0}.kv.tight{grid-template-columns:44px 1fr;gap:4px 12px;margin-top:6px;font-size:13.5px}.kv.tight dt{font-size:12.5px}.tool{border-top:1px solid var(--ds-border);padding:10px 0}.tool:first-of-type{border-top:none;padding-top:0}.tool-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.tool ul{margin:6px 0 0;padding-left:18px;font-size:13.5px}.pill{background:var(--ds-bg-sub);border:1px solid var(--ds-border);border-radius:6px;margin:2px 4px 2px 0;padding:1px 6px;display:inline-block}.qcard{background:var(--ds-bg);border:1px solid var(--ds-primary);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:12px 14px;display:flex}.qcard.answered{border-color:var(--ds-border);background:var(--ds-bg-tertiary)}.qblock{flex-direction:column;gap:8px;display:flex}.qhead{align-items:center;gap:8px;display:flex}.qtext{font-weight:600}.qopts{flex-direction:column;gap:6px;display:flex}.qopt{text-align:left;border:1px solid var(--ds-border-strong);border-radius:var(--radius);background:var(--ds-bg);cursor:pointer;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.qopt:hover{background:var(--ds-bg-tertiary)}.qopt.on{border-color:var(--ds-primary);background:var(--ds-brand-subtle)}.qopt .muted{font-size:12.5px}.qother{border:1px solid var(--ds-border);border-radius:var(--radius);height:34px;padding:0 10px}.qanswer{color:var(--ds-primary);font-weight:600}.todos{border-bottom:1px solid var(--ds-border);background:var(--ds-bg-tertiary);flex-direction:column;gap:3px;padding:10px 16px;font-size:13px;display:flex}.todo{color:var(--ds-text-sub);gap:8px;display:flex}.todo.in_progress{color:var(--ds-text);font-weight:600}.todo.completed{opacity:.7;text-decoration:line-through}.todo-mark{width:14px;color:var(--ds-primary)}.chip{vertical-align:middle;border-radius:999px;margin-right:4px;padding:1px 8px;font-size:11.5px;font-weight:700;line-height:18px;display:inline-block}.chip.open{background:var(--ds-brand-subtle);color:var(--ds-primary)}.chip.none{background:var(--ds-bg-sub);color:var(--ds-text-sub)}.chip.pending{background:var(--ds-warning-subtle);color:var(--ds-warning)}.notice{background:var(--ds-warning-subtle);color:var(--ds-warning);border-radius:var(--radius);margin-bottom:10px;padding:10px 12px;font-size:13.5px;line-height:1.6}.side-item .side-main{text-align:left;cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex:1;min-width:0;padding:10px 12px;display:block}.side-item.pinned .side-title{color:var(--ds-primary)}.pin-mark{vertical-align:-1px;color:var(--ds-primary);margin-right:4px;display:inline-flex}.side-more{width:24px;height:22px;color:var(--ds-icon-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:16px;line-height:1;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.side-item:hover .side-more,.side-item.menu-open .side-more{display:inline-flex}.side-item:hover .side-cost,.side-item.menu-open .side-cost{display:none}.side-item:hover .side-main,.side-item.menu-open .side-main{padding-right:38px}.side-more:hover,.side-item.menu-open .side-more{background:var(--ds-bg-sub);color:var(--ds-text)}.side-item.menu-open{background:var(--ds-bg-tertiary)}.ctx-menu{z-index:50;background:var(--ds-bg);border:1px solid var(--ds-border);border-radius:10px;min-width:168px;padding:4px;position:fixed;box-shadow:0 8px 24px #191f281f}.ctx-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13.5px;font-weight:500;display:flex}.ctx-item:hover{background:var(--ds-bg-sub)}.ctx-item svg{color:var(--ds-icon-sub)}.side-archive{border:none;border-top:1px solid var(--ds-border);width:100%;color:var(--ds-text-sub);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:10px 18px;font-size:13.5px;font-weight:600;display:flex}.side-archive:hover,.side-archive.on{background:var(--ds-bg-tertiary);color:var(--ds-text)}.side-archive .muted{margin-left:auto;font-weight:500}.side.archive{background:var(--ds-bg-tertiary)}.side-head.static{cursor:default;align-items:center;padding-right:10px}.side-head.static:hover .brand{color:var(--ds-text)}.side-head .brand.small{color:var(--ds-text);font-size:16px}.side-empty{padding:12px;font-size:13px;line-height:1.6}.frame-col{flex-direction:column;min-width:0;max-width:100%;height:100%;display:flex}.frame-col iframe{flex:1;width:100%;min-height:0}.ruler{border-top:1px solid var(--ds-border-strong);height:18px;color:var(--ds-text-sub);justify-content:center;margin-bottom:6px;font-size:11.5px;font-weight:600;display:flex;position:relative}.ruler:before,.ruler:after{content:"";background:var(--ds-border-strong);width:1px;height:8px;position:absolute;top:-1px}.ruler:before{left:0}.ruler:after{right:0}.ruler span{background:var(--ds-bg-sub);margin-top:-8px;padding:0 8px;line-height:16px}.ruler.clipped{border-top-color:var(--ds-warning);color:var(--ds-warning)}.ruler.clipped:before,.ruler.clipped:after{background:var(--ds-warning)}.cases-page{width:100%;max-width:1100px;height:100vh;margin:0 auto;padding:24px 32px 48px;overflow:auto}.cases-head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.cases-head h1{margin:0;font-size:22px;font-weight:800}.info-btn{width:24px;height:24px;color:var(--ds-icon-sub);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;padding:0;display:inline-grid}.info-btn:hover,.info-btn.open{background:var(--ds-bg-sub);color:var(--ds-text)}.info-panel{z-index:1000;background:var(--ds-bg);border:1px solid var(--ds-border);width:380px;max-width:calc(100vw - 16px);color:var(--ds-text);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.6;position:fixed;box-shadow:0 10px 30px #0f172a24}.info-panel p{margin:0 0 8px}.info-panel p:last-child{margin-bottom:0}.cases-search{border:1px solid var(--ds-border-strong);border-radius:var(--radius);background:var(--ds-bg);min-width:240px;height:36px;padding:0 12px}.cases-search:focus{border-color:var(--ds-primary);outline:none}.cases-group{margin-bottom:22px}.cases-group h2{margin:0 0 8px;font-size:15px;font-weight:700}.case-row{border:1px solid var(--ds-border);border-radius:var(--radius);background:var(--ds-bg);grid-template-columns:1fr auto;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:grid}.case-row.none{opacity:.7}.case-row .chip{text-align:center;margin-right:0}.case-main{min-width:0}.case-label{font-size:14px;font-weight:600;line-height:1.4}.case-sub{color:var(--ds-text-sub);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:12.5px;display:flex}.case-sub code{font-size:12px}.case-account{background:var(--ds-bg-sub);color:var(--ds-text);border-radius:999px;padding:0 7px;font-size:11.5px;font-weight:700;line-height:18px;display:inline-block}.status-icon{position:relative}.status-badge{background:var(--ds-text);color:#fff;text-align:center;border:2px solid var(--ds-bg);box-sizing:content-box;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10.5px;font-weight:800;line-height:16px;position:absolute;bottom:-4px;right:-5px}.cases-explorer{grid-template-columns:180px 220px 1fr;align-items:start;gap:14px;display:grid}.cases-col{min-width:0}.cases-col.flows,.cases-col.steps{flex-direction:column;gap:4px;display:flex;position:sticky;top:0}.cases-nav{text-align:left;border-radius:var(--radius);width:100%;color:var(--ds-text);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:9px 10px;font-size:13.5px;font-weight:600;display:flex}.cases-nav:hover{background:var(--ds-bg-sub)}.cases-nav.on{background:var(--ds-brand-subtle);color:var(--ds-primary);border-color:#b9e3c9}.cases-nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cases-nav-count{color:var(--ds-text-sub);font-size:12px;font-weight:800}.cases-nav-count small{opacity:.7;font-weight:600}.cases-nav.on .cases-nav-count{color:var(--ds-primary)}.cases-step-no{background:var(--ds-bg-sub);width:18px;height:18px;color:var(--ds-text-sub);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.cases-nav.on .cases-step-no{background:var(--ds-primary);color:#fff}.cases-col.variants h2{margin:4px 0 10px;font-size:15px;font-weight:700}.case-crumb{margin-bottom:2px;font-size:12px}.dd{border:1px solid var(--ds-border-strong);border-radius:var(--radius);background:var(--ds-bg);height:36px;color:var(--ds-text);cursor:pointer;align-items:center;gap:8px;max-width:300px;padding:0 10px 0 12px;font-size:13.5px;font-weight:600;display:inline-flex}.dd:hover,.dd.open{border-color:var(--ds-primary)}.dd.placeholder{color:var(--ds-text-sub);font-weight:500}.dd svg{color:var(--ds-text-sub);flex:none}.dd-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dd-menu{z-index:1000;background:var(--ds-bg);border:1px solid var(--ds-border);border-radius:12px;max-width:460px;max-height:60vh;padding:6px;position:fixed;overflow:auto;box-shadow:0 10px 30px #0f172a24}.dd-item{text-align:left;width:100%;color:var(--ds-text);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;font-size:13.5px;font-weight:500;line-height:1.4;display:flex}.dd-item:hover{background:var(--ds-bg-sub)}.dd-item.on{background:var(--ds-brand-subtle);color:var(--ds-primary);font-weight:700}.dd-item-hint{color:var(--ds-text-sub);font-size:12px}.dd-item.on .dd-item-hint{color:var(--ds-primary);opacity:.8}.btn.toggle svg{color:var(--ds-text-sub);opacity:.45}.btn.toggle.active svg{color:var(--ds-primary);opacity:1}.case-account.fresh{background:var(--ds-brand-subtle);color:var(--ds-primary)}.cases-page{flex-direction:column;max-width:none;padding-bottom:20px;display:flex;overflow:hidden}.cases-split{grid-template-columns:minmax(0, 1fr) var(--viewer-w,440px);flex:1;gap:20px;min-height:0;display:grid}.cases-split.list-closed{grid-template-columns:1fr}.cases-list{min-width:0;padding-right:4px;overflow:auto}.cases-split .cases-explorer{grid-template-columns:140px 160px 1fr}.case-row.on{border-color:var(--ds-primary);background:var(--ds-brand-subtle)}.case-viewer{border:1px solid var(--ds-border);background:var(--ds-bg);border-radius:16px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.case-viewer-bar{border-bottom:1px solid var(--ds-border);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.case-viewer-bar .seg{gap:4px;display:inline-flex}.case-viewer-meta{align-items:center;gap:6px;min-width:0;padding:8px 14px 0;display:flex}.case-viewer-meta .case-account{white-space:nowrap;flex:none}.case-viewer-meta code{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.case-viewer-meta .btn{height:28px;padding:0 10px;font-size:12.5px}.case-changed{white-space:nowrap;background:var(--ds-warning-subtle);color:var(--ds-warning);border-radius:999px;flex:none;padding:0 8px;font-size:11.5px;font-weight:700;line-height:20px}.case-viewer-note{border-radius:var(--radius);background:var(--ds-warning-subtle);color:var(--ds-warning);margin:8px 14px 0;padding:7px 11px;font-size:12.5px;line-height:1.5}.case-viewer-note.fail{background:var(--ds-bg-sub);color:var(--ds-error)}.case-viewer-empty{text-align:center;flex:1;place-items:center;padding:24px;font-size:14px;line-height:1.7;display:grid}.case-frame-box{background:var(--ds-bg-sub);flex-direction:column;flex:1;align-items:center;min-height:0;margin-top:10px;padding:14px;display:flex;overflow:hidden}.case-frame{border:1px solid var(--ds-border);background:#fff;border-radius:16px;flex:none;overflow:hidden;box-shadow:0 8px 24px #191f280f}.case-frame iframe{transform-origin:0 0;border:0;display:block}.case-frame-scale{white-space:nowrap;margin-top:6px;font-size:11.5px}
