:root{font-family:Inter,'Segoe UI','Malgun Gothic',sans-serif;color:#233b30;background:#f5f6f2;font-synthesis:none;--green:#203e2e;--lime:#d1f0a2;--muted:#839080;--line:#e0e5db}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8ebc5e;outline-offset:3px}button{border:1px solid var(--line);border-radius:8px;background:white;padding:10px 15px;color:#3e5744;font-size:13px;transition:background .15s}button:hover{background:#eef4e5}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover{background:#35573c}button.lime{background:var(--lime);color:#233b30;border:0}button.danger{color:#a33f36;background:#fff8f6;border-color:#f0d9d2}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#7a8b70}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:21px;text-decoration:none}.brand b{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:var(--green);color:var(--lime);font-size:25px}.brand small{font-size:9px;letter-spacing:1px;font-weight:500;color:#879780}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#fcfdf9;border-right:1px solid var(--line);padding:33px 22px;display:flex;flex-direction:column;gap:40px}.sidebar .brand{margin:0 10px}.sidebar nav{display:grid;gap:9px}.sidebar nav button{text-align:left;border:0;background:transparent;color:#7d8978;padding:13px 17px}.sidebar nav button.selected{color:#29452c;background:#eaf0df;font-weight:700}.sidebar nav button .icon{margin-right:12px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}.avatar{background:#e9efdf;border-radius:50%;display:grid;place-items:center;width:36px;height:36px;font-size:13px}.profile{display:flex;gap:11px;align-items:center}.profile strong{font-size:12px}.profile small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.profile-actions{display:flex;gap:7px;margin-top:17px}.profile-actions button{font-size:10px;padding:8px 10px}.content{padding:0 48px 40px;min-width:0}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#8d9786}.topbar .tag{padding:6px 9px;background:#e8eedf;border-radius:5px;font-size:9px;letter-spacing:1px;color:#67795a}.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:40px 0 27px}h1{font-size:31px;letter-spacing:-1.2px;margin:11px 0 12px;font-weight:750}h2{font-size:20px;letter-spacing:-.6px;margin:0 0 12px}p{line-height:1.8}.muted{font-size:12px;color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;background:#fffefa;margin-bottom:29px}.stat{padding:22px 26px}.stat+.stat{border-left:1px solid var(--line)}.stat span{font-size:11px;color:#86907b}.stat strong{display:block;font-size:28px;margin-top:12px;font-weight:600}.stat small{font-size:10px;font-weight:400;margin-left:10px;color:#88977b}.section-label{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px;font-size:12px;font-weight:600}.section-label small{font-size:10px;color:#8a9582;font-weight:400}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fffefa}.cover{height:170px;position:relative;background:#1e3729;padding:26px;color:#e8f1df;overflow:hidden}.cover::after{content:'';position:absolute;border:1px solid #a3cf6c33;border-radius:50%;width:200px;height:200px;right:-15px;top:10px;box-shadow:0 0 0 28px #ffffff03,0 0 0 56px #ffffff03}.cover.alt{background:#e6ebd9;color:#365033}.cover .tag{font-size:8px;letter-spacing:1.4px;color:#b1cf94}.cover.alt .tag{color:#7d906d}.cover h3{font-size:22px;letter-spacing:-1px;margin:18px 0;max-width:80%;line-height:1.4}.cover .index{position:absolute;bottom:18px;right:24px;font-size:10px;letter-spacing:1px}.card-body{padding:23px}.card-body h3{font-size:16px;margin:0 0 10px;letter-spacing:-.4px}.card-body p{font-size:11px;color:#8a9380;margin:0;min-height:34px}.meta{display:flex;gap:8px;margin:18px 0;font-size:9px;color:#7b8d6b}.pill{background:#eff3e8;padding:5px 8px;border-radius:5px}.card-actions{border-top:1px solid #e9ede2;padding-top:17px;display:flex;gap:7px}.card-actions .primary{margin-right:auto;min-width:100px}.card-actions button{font-size:11px}.notice{padding:16px 20px;border:1px solid #dfe6d4;border-radius:9px;font-size:11px;color:#78896a;background:#edf2e5;line-height:1.9;margin:20px 0}.notice strong{color:#4e6740}.empty{text-align:center;padding:65px 20px;border:1px dashed #d5dfca;border-radius:12px}.panel{background:#fffefa;border:1px solid var(--line);border-radius:12px;padding:25px;margin:20px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}.field label,.field>span{font-size:12px;font-weight:600}.field small{font-size:10px;color:var(--muted);line-height:1.8}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d9e1d2;background:white;border-radius:7px;font-size:13px;color:#29432f}input[type=checkbox]{width:auto;accent-color:var(--green)}textarea{resize:vertical;min-height:80px}.check-label{display:flex;gap:10px;align-items:center;font-size:12px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.section-title h2{margin:0}.page-row{display:grid;grid-template-columns:35px 1fr 2fr 45px;align-items:center;gap:10px;margin:10px 0}.row-num{font-size:12px;color:#92a17f}.command-row{display:grid;grid-template-columns:1fr 150px 1fr 85px 42px;gap:9px;margin:11px 0;align-items:center}.command-row .picker{font-size:10px;padding:10px 7px}.row-heading{font-size:10px;color:#8b9780}.savebar{display:flex;justify-content:end;gap:10px;margin-top:26px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-size:10px;color:#89957e;padding:13px 12px;border-bottom:1px solid var(--line);font-weight:500}td{padding:18px 12px;border-bottom:1px solid #edf0e7}td small{color:#8d9685}.active-dot{color:#5f8b39}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:#173324;color:#f1f5e9;padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-art .brand b{background:#d1f0a2;color:#24432c}.login-art .brand{margin-bottom:60px}.login-art h1{font-size:48px;line-height:1.35;font-weight:650;position:relative;z-index:1}.login-art h1 em{font-style:normal;color:#d1f0a2}.login-art p{font-size:13px;color:#9eb297;position:relative;z-index:1}.login-art::after{content:'';width:450px;height:450px;border:1px solid #a5cc7725;position:absolute;border-radius:50%;right:-200px;bottom:-80px;box-shadow:0 0 0 50px #ffffff03,0 0 0 100px #ffffff03}.login-main{display:flex;align-items:center;justify-content:center;padding:35px}.login-form{max-width:350px;width:100%}.login-form h2{font-size:28px;margin-top:13px}.login-form form{margin-top:35px}.login-form button{width:100%;padding:14px}.login-form .footnote{font-size:10px;color:#9aa28e;margin-top:24px;line-height:1.8}.error{color:#b34837;font-size:12px;line-height:1.7;min-height:18px}.loading{padding:80px;text-align:center;color:#849378}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 22px;border-radius:9px;background:#213d2f;color:#f0f5e9;box-shadow:0 10px 30px #1a322333;font-size:12px;z-index:100;display:none;max-width:90vw}#toast.show{display:block}dialog{max-width:500px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:15px;padding:28px;background:#fffffa;color:#263f2b}dialog::backdrop{background:#0e251a88}dialog h2{margin-bottom:22px}.runner{height:100vh;background:#101d16;color:#e8f0e1;display:flex;flex-direction:column}.runner-head{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:13px 22px;border-bottom:1px solid #ffffff16}.runner-head strong{font-size:13px}.runner-head small{display:block;font-size:10px;color:#8ca180;margin-top:5px}.runner-head button{background:#25392b;color:#dfebd2;border-color:#3b5031;font-size:11px}.runner-head .buttons{display:flex;gap:7px}.runner-body{display:grid;grid-template-columns:1fr 275px;flex:1;min-height:0}.stage-wrap{position:relative;background:#f5f6f2;display:flex;min-height:0;flex-direction:column}.stage-wrap iframe{width:100%;flex:1;border:0;background:#fff}.frame-location{padding:9px 16px;background:#e7ecdf;color:#829176;font-size:10px;display:flex;justify-content:space-between;gap:10px}.runner-aside{padding:22px 19px;overflow:auto}.runner-aside .eyebrow{color:#a0bc86;margin-bottom:17px}.runner-aside button.primary{background:#d1f0a2;color:#243d26;width:100%;border:0;padding:13px;margin:14px 0 10px}.runner-aside .muted{font-size:10px;line-height:1.9;color:#8c9c80}.run-command{display:flex;justify-content:space-between;gap:8px;width:100%;background:#213427;color:#d4e2c8;border-color:#354b2d;padding:11px;font-size:11px;margin:7px 0;text-align:left}.run-command small{font-size:9px;color:#91a57e}.heard{background:#203225;padding:13px;border-radius:8px;margin:20px 0;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.heard p{color:#e1edd4;font-size:12px;margin:7px 0}.heard small{color:#91a57e}.runner-aside select{background:#263a2b;color:#dce9d0;border-color:#3d5431;font-size:11px}.connection{font-size:10px;color:#b4ce9c;margin:14px 0;line-height:1.7}.runner-foot{padding:10px 20px;font-size:10px;color:#8c9b7f;border-top:1px solid #ffffff12;display:flex;justify-content:space-between}.runner.immersive .runner-aside{display:none}.runner.immersive .runner-body{grid-template-columns:1fr}.inline{display:flex;gap:8px;align-items:center}.runner input{font-size:11px;padding:9px;background:#263a2b;color:#e0ecd5;border-color:#3c5431}.runner .test-send{font-size:10px;background:#31472e;color:#dce9cf;border-color:#46643e}.picker-instruction{background:#d1f0a2;color:#294126;padding:14px;font-size:12px;line-height:1.8}code{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;background:#edf2e5;padding:10px;display:block;border-radius:6px}.password-strength{font-size:10px;color:#8a957d}@media(min-width:1550px){.content{padding-left:65px;padding-right:65px}.cover{height:210px}.cover h3{font-size:27px}}@media(max-width:1100px){.shell{grid-template-columns:190px 1fr}.sidebar{padding:30px 14px}.content{padding:0 25px 30px}.command-row{grid-template-columns:1fr 120px 1fr 70px 35px}.command-row input,.command-row select{font-size:11px;padding:10px 7px}.runner-body{grid-template-columns:1fr 240px}}@media(max-width:760px){.shell{display:block}.sidebar{padding:15px;gap:15px;border-bottom:1px solid var(--line)}.sidebar nav{display:flex;flex-wrap:wrap;gap:5px}.sidebar nav button{font-size:11px;padding:9px}.sidebar-bottom{display:none}.content{padding:0 18px 25px}.topbar{height:50px}.page-head{margin-top:25px;align-items:start}h1{font-size:26px}.cards{grid-template-columns:1fr}.stats .stat{padding:18px 12px}.stat strong{font-size:23px}.stat small{display:none}.form-grid{grid-template-columns:1fr}.command-row{grid-template-columns:1fr 1fr;gap:7px;border-bottom:1px solid var(--line);padding-bottom:15px}.command-row .delete{grid-column:2}.row-heading{display:none}.page-row{grid-template-columns:25px 1fr 40px}.page-row .page-url{grid-column:2;grid-row:auto}.page-row .delete{grid-column:3;grid-row:1}.page-row{position:relative}.login{grid-template-columns:1fr}.login-art{padding:35px}.login-art .brand{margin-bottom:20px}.login-art h1{font-size:32px}.login-art p{display:none}.login-main{padding:35px 25px}.runner-body{grid-template-columns:1fr;grid-template-rows:minmax(350px,1fr) 230px;overflow:auto}.runner-aside{padding:15px;overflow:auto}.runner-head{padding:10px;gap:8px}.runner-head .buttons{flex-wrap:wrap;justify-content:end}.runner-head strong{font-size:11px}.runner-foot{font-size:8px;gap:10px}.runner.immersive .runner-body{grid-template-rows:1fr}.section-title{align-items:start}.card-actions button{padding:9px 10px}}
