:root{--bg:#f7f4ed;--paper:#fffdf8;--ink:#16181a;--muted:#6e7370;--line:#e2e0d8;--line-strong:#cfccc2;--accent:#1b6b57;--accent-soft:#e4efe9;--amber:#f5ecd8;--radius-xl:28px;--radius-lg:20px;--radius-md:14px;--shadow-soft:0 1px 2px #181c1a0a, 0 12px 32px #181c1a0d;--shadow-lift:0 2px 4px #181c1a0d, 0 20px 48px #181c1a14}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1100px 620px at 8% -8%, #e8f1ea 0%, transparent 58%), radial-gradient(900px 520px at 102% 4%, #f6ecda 0%, transparent 52%), var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--accent)}.auth-shell{grid-template-columns:1.05fr .95fr;align-items:center;gap:6vw;min-height:100vh;padding:6vh 7vw;display:grid}.mark{background:var(--ink);color:#fff;letter-spacing:-.03em;border-radius:16px;place-items:center;width:52px;height:52px;font-weight:800;display:grid}.auth-brand{flex-direction:column;justify-content:center;display:flex}.auth-brand h1{letter-spacing:-.055em;margin:26px 0 14px;font-size:clamp(44px,6vw,76px);line-height:1}.auth-brand p{color:var(--muted);margin:0 0 6px;font-size:clamp(17px,1.7vw,24px);line-height:1.55}.auth-points{flex-wrap:wrap;gap:9px;margin-top:34px;display:flex}.auth-points span{border:1px solid var(--line);color:#3c4240;background:#ffffffa8;border-radius:999px;padding:9px 14px;font-size:13px}.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-lift);padding:30px}.tabs{background:#efeee8;border-radius:14px;gap:4px;margin-bottom:22px;padding:4px;display:flex}.tabs button{color:#5a605c;background:0 0;border:0;border-radius:10px;flex:1;padding:10px;font-weight:600}.tabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 2px #181c1a14}.auth-card form{gap:15px;display:grid}.auth-card label{color:#232826;letter-spacing:-.005em;gap:6px;font-size:13.5px;font-weight:600;display:grid}.auth-card input,.reply input{background:#fff;border:1px solid #d9d6cc;border-radius:12px;outline:0;padding:13px 14px;transition:border-color .15s,box-shadow .15s}.auth-card input::placeholder,.reply input::placeholder{color:#9a9f9b;opacity:1}.auth-card input:focus,.reply input:focus,textarea:focus,select:focus{border-color:#8fb3a4;box-shadow:0 0 0 4px #1b6b571a}.primary,.ghost,.back,.upload{border-radius:var(--radius-md);border:0;padding:12px 18px;font-weight:700;transition:transform .12s,background .15s,border-color .15s}.primary{background:var(--ink);color:#fff;letter-spacing:.01em;padding:13px 20px;font-size:14.5px}.primary:hover{background:#2b302d}.primary:active{transform:translateY(1px)}.primary:disabled{opacity:.6;cursor:default}.ghost,.back,.upload{border:1px solid var(--line);color:var(--ink);background:#fff;font-weight:600}.ghost:hover,.back:hover,.upload:hover{border-color:var(--line-strong);background:#fcfbf7}.fine{color:var(--muted);font-size:12.5px;line-height:1.65}.layout{grid-template-columns:232px 1fr;min-height:100vh;display:grid}aside{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fcfaf5c7;flex-direction:column;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.logo{align-items:center;gap:11px;padding:0 8px 24px;display:flex}.logo span{background:var(--ink);color:#fff;border-radius:12px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:grid}.logo b{letter-spacing:-.02em;font-size:19px}nav{gap:4px;display:grid}nav button{text-align:left;color:#565c58;background:0 0;border:0;border-radius:12px;padding:11px 13px;font-weight:500;transition:background .14s,color .14s}nav button.active{color:var(--ink);box-shadow:0 1px 2px #181c1a0f, inset 0 0 0 1px var(--line-strong);background:#fff;font-weight:650}nav button:hover:not(.active){color:var(--ink);background:#fff9}.side-foot{margin-top:auto;padding:12px 8px;font-size:13px}.side-foot small{color:var(--muted);margin:4px 0 10px;font-size:12px;display:block}.side-foot button{color:var(--muted);background:0 0;border:0;padding:0;font-size:12.5px}.side-foot button:hover{color:var(--ink)}main{width:100%;max-width:1440px;margin:0 auto;padding:26px 34px 64px}header{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}header h2{letter-spacing:-.02em;margin:0 0 5px;font-size:22px}header p{color:var(--muted);margin:0;font-size:13.5px}.status{border:1px solid var(--line);color:#3f4542;white-space:nowrap;letter-spacing:.01em;background:#fffc;border-radius:999px;height:fit-content;margin-left:auto;padding:7px 13px;font-size:11.5px}.view{display:none}.view.active{display:block}.new-task{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-xl);max-width:920px;box-shadow:var(--shadow-lift);margin:4vh auto 0;padding:40px;position:relative}.eyebrow{letter-spacing:.16em;color:var(--accent);text-transform:uppercase;font-size:11.5px;font-weight:800}.new-task h1{letter-spacing:-.045em;margin:12px 0 8px;font-size:clamp(32px,4vw,46px);line-height:1.1}.new-task .lead{color:var(--muted);margin:0 0 24px;font-size:15px;line-height:1.65}.new-task textarea{border:1px solid var(--line);border-radius:var(--radius-lg);resize:vertical;background:#fff;outline:0;width:100%;min-height:128px;padding:17px;font-size:16px;line-height:1.6;transition:border-color .15s,box-shadow .15s}.mode-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0 0;display:grid}.mode{border:1px solid var(--line);border-radius:var(--radius-lg);text-align:left;background:#fff;padding:14px 15px;transition:all .15s}.mode b{font-size:14.5px;display:block}.mode span{color:var(--muted);margin-top:4px;font-size:11.5px;line-height:1.5;display:block}.mode:hover{border-color:var(--line-strong)}.mode.active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:var(--shadow-soft)}.mode.active span{color:#c9cecb}.create-row{align-items:center;gap:10px;margin-top:18px;display:flex}.create-row select{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);background:#fff;outline:0;padding:11px 13px}.create-row .primary{margin-left:auto;padding:13px 26px}.room-head{align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.room-head>div:nth-child(2){flex:1}.room-head h1{letter-spacing:-.02em;max-width:46ch;margin:0 0 10px;font-size:20px;font-weight:650;line-height:1.4}.badges{flex-wrap:wrap;gap:7px;display:flex}.badges span{border:1px solid var(--line);color:#3f4542;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px}.room-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:18px;margin-bottom:12px;padding:18px 18px 16px}.panel h3{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;margin:0 0 14px;font-size:13px;font-weight:700}.conversation{flex-direction:column;min-height:62vh;display:flex}.message{border-radius:var(--radius-lg);white-space:pre-wrap;word-break:break-word;margin-bottom:11px;padding:15px 17px;font-size:14.5px;line-height:1.72}.message.user{background:#f2f1eb;border:1px solid #e0ded4;margin-left:10%}.message.assistant{background:#e9f2ec;border:1px solid #c8ddd1;margin-right:4%}.message small{color:var(--muted);letter-spacing:.04em;margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.choices{gap:9px;margin:14px 0 4px;display:grid}.choices-label{letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin:16px 0 2px;font-size:11.5px;font-weight:800}.choice{text-align:left;background:#fff;border:1.5px solid #c9d6cf;border-radius:16px;padding:15px 18px 15px 48px;transition:all .16s;position:relative;box-shadow:0 1px 2px #181c1a0a}.choice:before{content:counter(choice);counter-increment:choice;background:var(--accent-soft);width:22px;height:22px;color:var(--accent);border-radius:7px;place-items:center;font-size:11.5px;font-weight:800;display:grid;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.choices{counter-reset:choice}.choice:hover{border-color:var(--accent);background:#fbfdfc;transform:translateY(-2px);box-shadow:0 8px 22px #1b6b571f}.choice:after{content:"→";color:#8d9993;font-size:17px;transition:transform .15s,color .15s;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.choice:hover:after{color:var(--accent);transform:translate(3px,-50%)}.choice:active{transform:translateY(0)}.choice:disabled{opacity:.5;cursor:default;transform:none}.choice b{font-size:14px;display:block}.choice span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.reply{border-top:1px solid var(--line);gap:8px;margin-top:auto;padding-top:15px;display:flex}.reply input{flex:1}.step{color:#565c58;gap:11px;padding:9px 0;font-size:13.5px;display:flex}.step i{background:#d8d6cd;border-radius:50%;flex:none;width:11px;height:11px;margin-top:5px}.step.done{color:var(--muted)}.step.done i{background:var(--accent)}.step.current{color:var(--ink);font-weight:700}.step.current i{background:#d9a349;box-shadow:0 0 0 4px #f7ecd5}.artifact{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:10px;padding:15px 16px}.artifact b{color:var(--accent);margin-bottom:8px;font-size:12.5px;display:block}.artifact pre{white-space:pre-wrap;color:#3d4340;letter-spacing:.01em;max-height:240px;margin:0 0 12px;font-family:inherit;font-size:12.5px;line-height:1.85;overflow:auto}.artifact .ghost{padding:7px 12px;font-size:12px}.upload{padding:9px 14px;font-size:12.5px;display:inline-block}.file{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:9px 0;font-size:13px;display:flex}.file:last-child{border-bottom:0}.file a{color:var(--accent);text-decoration:none}.task-list{gap:11px;display:grid}.task-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-soft);grid-template-columns:1fr auto;align-items:center;gap:10px;padding:17px 19px;transition:all .14s;display:grid}.task-card:hover{border-color:#9ebbae;transform:translateY(-1px)}.task-card h3{margin:0;font-size:15.5px}.task-card p{color:var(--muted);margin:6px 0;font-size:13px;line-height:1.55}.pill{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fff;border-radius:999px;padding:5px 11px;font-size:11.5px}.metrics{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.metric{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:20px}.metric span{color:var(--muted);font-size:12.5px}.metric b{letter-spacing:-.03em;margin-top:6px;font-size:32px;display:block}.runtime-row,.log{border-bottom:1px solid var(--line);grid-template-columns:170px 1fr;gap:12px;padding:10px 2px;font-size:13px;display:grid}.runtime-row:last-child,.log:last-child{border-bottom:0}.runtime-row b{font-weight:600}.runtime-row span{color:var(--muted)}.log b{font-size:12.5px;font-weight:600}.log span{color:var(--muted);font-size:12px}.empty{text-align:center;color:var(--muted);background:var(--paper);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);padding:34px;font-size:13.5px}#toast{z-index:60;background:var(--ink);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lift);max-width:360px;padding:12px 18px;font-size:13.5px;display:none;position:fixed;bottom:22px;right:22px}@media (max-width:980px){.auth-shell{grid-template-columns:1fr;gap:26px;padding:40px 22px 36px}.auth-brand h1{margin:16px 0 10px;font-size:44px}.auth-brand p{margin-bottom:0;font-size:15px}.auth-points{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;display:grid}.auth-points span{text-align:center;justify-content:center;align-items:center;min-height:40px;display:flex}.auth-card{padding:24px 20px}.auth-shell{align-content:start}.auth-brand p{font-size:16px}.layout{grid-template-columns:1fr}aside{z-index:20;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:8px;height:auto;padding:12px 14px;position:sticky}.logo{padding:0 10px 0 0}nav{display:flex;overflow-x:auto}nav button{white-space:nowrap;padding:9px 12px}.side-foot{margin:0 0 0 auto;padding:0}.side-foot #userName,.side-foot small{display:none}main{padding:20px 16px 56px}.room-grid{grid-template-columns:1fr}.mode-grid{grid-template-columns:1fr 1fr}.new-task{margin:0;padding:26px 20px}}@media (max-width:560px){.logo b,header p{display:none}.create-row{flex-wrap:wrap}.create-row .primary{width:100%;margin-left:0}.room-head{flex-wrap:wrap}.reply{flex-direction:column}.metrics{grid-template-columns:1fr}.runtime-row,.log{grid-template-columns:1fr;gap:3px}}.latest-artifact>strong{color:#303633;margin-bottom:10px;font-size:13px;line-height:1.5;display:block}.artifact-body{border-top:1px solid var(--line);margin:8px -2px 12px;padding-top:10px}.artifact-body summary,.history-versions summary{cursor:pointer;color:var(--accent);margin-bottom:8px;font-size:12px;font-weight:650}.artifact-body pre{max-height:none;margin-top:10px;overflow:visible}.history-versions{border-top:1px solid var(--line);padding-top:10px}.history-item{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr auto;align-items:center;gap:7px;padding:7px 0;font-size:11.5px;display:grid}.history-item span{color:var(--accent);font-weight:700}.history-item p{text-overflow:ellipsis;white-space:nowrap;color:#606662;margin:0;overflow:hidden}.history-item button{color:var(--accent);background:0 0;border:0;padding:3px;font-size:11.5px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #1b6b5747}.choice:disabled:after{content:"…";animation:1s infinite pulse-arrow}@keyframes pulse-arrow{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.board-card{background:linear-gradient(160deg,#fffefa,#f7fbf8)}.board-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.board-title h3{margin:0}.board-title b{color:var(--accent);letter-spacing:-.02em;font-size:13px}.progress-track{background:#e8e7df;border-radius:999px;height:6px;margin-bottom:13px;overflow:hidden}.progress-track span{background:linear-gradient(90deg,#1b6b57,#65a68f);border-radius:999px;height:100%;transition:width .35s;display:block}.board-now{color:#29302d;margin:0 0 10px;font-size:13.5px;font-weight:650}.board-list{gap:6px;margin-top:8px;display:grid}.board-list span{color:#5e6561;padding-left:1px;font-size:12px;line-height:1.55;display:block}.done-list span{color:#3f6e5d}.wait-list span{color:#8b682d}.frame-card{padding:0;overflow:hidden}.frame-card summary{cursor:pointer;color:#323734;justify-content:space-between;align-items:center;padding:16px 18px;font-size:13px;font-weight:700;list-style:none;display:flex}.frame-card summary::-webkit-details-marker{display:none}.frame-card summary:after{content:"＋";color:var(--muted);margin-left:8px;font-size:15px}.frame-card[open] summary:after{content:"－"}.frame-card summary span{color:var(--muted);margin-left:auto;font-size:11.5px;font-weight:400}.frame-card[open] summary{border-bottom:1px solid var(--line)}.frame-section{padding:12px 18px 0}.frame-section:last-child{padding-bottom:16px}.frame-section b{color:var(--accent);margin-bottom:5px;font-size:11.5px;display:block}.frame-section p{color:#5a605c;margin:0 0 5px;font-size:12px;line-height:1.65}.judgment-note{color:#5d635f;background:#faf9f5;border:1px solid #dfddd4;border-radius:12px;align-items:center;gap:8px;margin:12px 0 4px;padding:9px 12px;font-size:12px;display:flex}.judgment-note span{color:var(--accent);white-space:nowrap;font-weight:750}.judgment-note b{color:#303633;white-space:nowrap;font-weight:650}.judgment-note em{color:#747a76;text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}@media (max-width:560px){.judgment-note{flex-wrap:wrap;align-items:flex-start}.judgment-note em{white-space:normal;width:100%}}
.artifact-actions,.export-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.export-actions{border-top:1px solid var(--line);padding-top:10px}.export-actions button{color:#38403c;background:#fff;border:1px solid #d9d6cc;border-radius:9px;padding:6px 9px;font-size:10.5px;font-weight:700}.export-actions button:last-child{background:var(--ink);color:#fff;border-color:var(--ink)}.export-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.export-actions button:last-child:hover:not(:disabled){color:#fff;background:#2d332f}.export-actions button:disabled{opacity:.55;cursor:wait}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#181b197a;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.editor-modal{background:var(--paper);border:1px solid var(--line);border-radius:24px;width:min(900px,96vw);max-height:92vh;padding:24px;overflow:auto;box-shadow:0 30px 100px #00000040}.editor-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.editor-head small{color:var(--accent);font-weight:700}.editor-head h2{margin:5px 0 0;font-size:24px}.editor-modal label{gap:7px;margin-top:13px;font-size:13px;font-weight:650;display:grid}.editor-modal input,.editor-modal textarea{border:1px solid var(--line-strong);background:#fff;border-radius:13px;outline:0;width:100%;padding:13px 14px}.editor-modal textarea{resize:vertical;min-height:48vh;font-family:inherit;line-height:1.75}.editor-foot{align-items:center;gap:16px;margin-top:16px;display:flex}.editor-foot .primary{margin-left:auto}.metrics{grid-template-columns:repeat(4,1fr)}.panel-head-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel-head-row h3{margin:0 0 3px}.panel-head-row p{margin:0}.ai-stats{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px;display:grid}.ai-stats span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:12px;padding:11px 12px;font-size:12px}.ai-stats b{color:var(--ink);margin-top:5px;font-size:18px;display:block}@media (max-width:900px){.metrics,.ai-stats{grid-template-columns:1fr 1fr}}@media (max-width:560px){.editor-modal{border-radius:18px;padding:18px}.editor-foot,.panel-head-row{flex-direction:column;align-items:stretch}.editor-foot .primary{margin-left:0}.ai-stats{grid-template-columns:1fr}}
