:root{--bg:#f5f3ed;--panel:#fff;--ink:#1f2520;--muted:#6c746e;--line:#dfe3dd;--accent:#245b40;--accent2:#c89b4a;--danger:#9e3333;--warning:#8a641f;--shadow:0 12px 30px rgba(28,45,35,.08);font-family:Inter,"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:var(--accent);text-decoration:none}button,input,textarea,select{font:inherit}.topbar{height:68px;background:#10251a;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20;box-shadow:0 2px 16px rgba(0,0,0,.16)}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:750;letter-spacing:.02em}.brand-mark{width:34px;height:34px;border-radius:10px;background:#82caa2;color:#10251a;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.topbar-right{display:flex;align-items:center;gap:18px}.domain{font-size:13px;color:#bdd5c7}.link-button{border:0;background:transparent;color:#fff;cursor:pointer}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{background:#e9ece6;border-right:1px solid var(--line);padding:24px 14px;position:sticky;top:68px;height:calc(100vh - 68px)}.nav-item{display:block;padding:12px 14px;border-radius:10px;color:#28322b;font-weight:650;margin-bottom:4px}.nav-item:hover{background:#fff}.sidebar-note{margin:28px 10px 0;padding:14px;border-radius:10px;background:#dce5dd;color:#44514a;font-size:12px;line-height:1.7}.content{padding:34px 42px 70px;max-width:1500px;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.page-head h1{font-size:34px;margin:2px 0 8px}.page-head p{margin:0;color:var(--muted);line-height:1.7}.eyebrow{font-size:12px!important;letter-spacing:.18em;color:var(--accent)!important;font-weight:800}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #bec8c0;background:#fff;color:#1f3e2c;border-radius:10px;padding:10px 15px;font-weight:700;cursor:pointer;white-space:nowrap}.button:hover{box-shadow:0 4px 12px rgba(30,70,45,.1)}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button:disabled{opacity:.45;cursor:not-allowed}.flash{padding:13px 16px;border-radius:10px;margin-bottom:20px;background:#e0efe5;color:#184a2f}.flash.error{background:#f8dede;color:#7a2424}.setup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.setup-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;grid-template-columns:36px 1fr;gap:2px 10px;box-shadow:var(--shadow)}.setup-item b{grid-row:1/3;width:34px;height:34px;border-radius:50%;background:#e5e9e5;display:flex;align-items:center;justify-content:center}.setup-item.done b{background:#4c9d6e;color:#fff}.setup-item span{font-weight:750}.setup-item small{color:var(--muted);overflow-wrap:anywhere}.callout{border-left:4px solid var(--accent);background:#edf4ef;padding:16px 18px;border-radius:0 12px 12px 0;line-height:1.7;margin:22px 0}.callout.warning{border-color:#c08b27;background:#faf1dd}.section{margin:34px 0}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}.section-title h2{margin:0 0 4px}.section-title p{margin:0;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card-grid.large{gap:24px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.card h2,.card h3,.panel h2{margin-top:10px}.project-card .meta{font-size:12px;color:var(--muted);margin:12px 0}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#dce9df;color:#244b34;font-size:11px;font-weight:800;letter-spacing:.1em}.proposal-preview{height:170px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:serif;font-size:42px}.proposal-design-a{background:linear-gradient(135deg,#e9eee3,#809b68);color:#2d4a2e}.proposal-design-b{background:linear-gradient(135deg,#111,#54452f);color:#d9b56c}.proposal-design-c{background:linear-gradient(135deg,#f7eee1,#bd826b);color:#4b2f29}.project-card dl{display:grid;grid-template-columns:90px 1fr;font-size:13px;gap:8px}.project-card dt{color:var(--muted)}.project-card dd{margin:0;overflow-wrap:anywhere}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top}.table-wrap th{font-size:12px;color:var(--muted);background:#f9faf8}.status{display:inline-block;padding:4px 9px;border-radius:999px;font-weight:700;font-size:12px;background:#e8e8e8}.status.success{background:#d8eedf;color:#215536}.status.failed{background:#f5d7d7;color:#7b2828}.status.running{background:#fff0c8;color:#765815}.status.queued{background:#e1e9f3;color:#34506f}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-stack{display:flex;flex-direction:column;gap:15px}.form-stack label{font-weight:700;display:flex;flex-direction:column;gap:7px}.form-stack input,.form-stack textarea,.page-head select{width:100%;border:1px solid #c9d0ca;border-radius:9px;padding:11px 12px;background:#fff}.form-stack small{font-weight:400;color:var(--muted);line-height:1.5}.technical{display:grid;gap:12px;margin:20px 0}.technical div{display:grid;gap:4px}.technical code{background:#edf0ed;padding:8px;border-radius:7px;overflow-wrap:anywhere}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.metrics div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.metrics span{font-size:12px;color:var(--muted);display:block;margin-bottom:5px}.metrics b{overflow-wrap:anywhere}.muted{color:var(--muted);line-height:1.6}.shot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.shot-grid.wide{grid-template-columns:repeat(4,1fr)}.shot{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;color:var(--ink)}.shot img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;display:block;background:#eee}.shot span{display:block;padding:9px;font-size:11px;overflow-wrap:anywhere}.file-table{max-height:620px}.editor-form{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.code-editor{display:block;width:100%;height:68vh;border:0;padding:18px;background:#111a14;color:#e5f0e7;font-family:"SFMono-Regular",Consolas,monospace;font-size:13px;line-height:1.6;resize:vertical;tab-size:2}.editor-actions{display:flex;align-items:center;gap:15px;padding:12px 16px}.terminal{background:#0c1510;color:#cae6d2;padding:18px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:65vh;overflow:auto;font-size:12px;line-height:1.55}.job-status{display:flex;gap:18px;align-items:center;margin-bottom:15px;color:var(--muted)}.score-card{width:190px;height:120px;background:var(--accent);color:#fff;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:22px}.score-card strong{font-size:34px}.audit-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.audit-item{display:flex;gap:15px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.audit-icon{width:34px;height:34px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900}.audit-item.pass .audit-icon{background:#d8eedf;color:#215536}.audit-item.warn .audit-icon{background:#fae7bd;color:#7b5713}.audit-item h3{margin:0 0 5px}.audit-item p{margin:0 0 7px;color:var(--muted)}.audit-item code{font-size:11px}.phase-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.muted-panel{background:#eceeea}.steps{list-style:none;padding:0;display:grid;gap:15px;counter-reset:step}.steps li{counter-increment:step;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 20px 20px 74px;position:relative}.steps li:before{content:counter(step);position:absolute;left:20px;top:20px;width:38px;height:38px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800}.steps p{margin:7px 0 0;color:var(--muted);line-height:1.7}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top left,#d7e8da,#f5f3ed 55%)}.login-card{width:min(460px,100%);background:#fff;border-radius:20px;padding:34px;box-shadow:0 25px 60px rgba(18,49,31,.15)}.brand-login{margin-bottom:18px}.login-card h1{margin:0 0 8px}.login-card>p{color:var(--muted);line-height:1.7}.error-page{text-align:center;padding:12vh 20px}.error-page h1{font-size:72px;margin:0}.error-page p{color:var(--muted)}
@media(max-width:1050px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:flex;overflow:auto;gap:4px;padding:10px}.nav-item{white-space:nowrap;margin:0}.sidebar-note{display:none}.content{padding:26px 22px}.setup-grid{grid-template-columns:repeat(2,1fr)}.card-grid,.card-grid.large{grid-template-columns:1fr 1fr}.shot-grid.wide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.topbar{padding:0 14px}.brand span:last-child,.domain{display:none}.content{padding:22px 14px}.page-head{display:block}.page-head>.button,.page-head>form{margin-top:14px}.setup-grid,.card-grid,.card-grid.large,.two-column,.metrics,.audit-list,.phase-grid,.shot-grid,.shot-grid.wide{grid-template-columns:1fr}.action-row{display:grid}.button{width:100%}.topbar-right{gap:8px}.job-status{align-items:flex-start;flex-direction:column}.page-head h1{font-size:28px}}
