
:root{--bg:#f6f1e6;--surface:#fffdf8;--surface2:#eef5ee;--ink:#272b27;--muted:#6f766f;--primary:#244c3a;--primary2:#36735a;--accent:#e7924a;--line:#d9dfd6;--danger:#a63d40;--shadow:0 10px 30px rgba(36,76,58,.08);--r:18px;--tap:46px;font-family:Inter,"Noto Sans JP","Yu Gothic",system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100vh}.shell{max-width:1180px;margin:auto;min-height:100vh;background:linear-gradient(180deg,#faf7ef 0,#f6f1e6 100%)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:14px 18px;background:rgba(250,247,239,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand{font-weight:900;letter-spacing:.02em;color:var(--primary);white-space:nowrap}.account-switch{margin-left:auto}.pill,.btn,.icon-btn,.chip{border:0;cursor:pointer;min-height:var(--tap);font:inherit}.pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:0 14px}.layout{display:grid;grid-template-columns:210px 1fr;min-height:calc(100vh - 74px)}.sidebar{border-right:1px solid var(--line);padding:18px 12px}.nav{display:grid;gap:8px}.nav button{display:flex;align-items:center;gap:10px;padding:12px;border:0;background:transparent;border-radius:13px;text-align:left;font:inherit;cursor:pointer}.nav button.active{background:var(--primary);color:white}.content{padding:24px 24px 110px}.eyebrow{font-size:.78rem;font-weight:800;color:var(--primary2);letter-spacing:.08em}.title{font-size:clamp(1.55rem,4vw,2.2rem);margin:5px 0 8px}.sub{color:var(--muted);margin:0 0 20px}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow)}.card h3{margin:0 0 8px}.metric{font-size:1.7rem;font-weight:900;color:var(--primary)}.muted{color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border-radius:13px;padding:0 18px;font-weight:800}.btn.primary{background:var(--primary);color:white}.btn.secondary{background:white;border:1px solid var(--primary);color:var(--primary)}.btn.tertiary{background:transparent;color:var(--muted)}.btn.danger{background:var(--danger);color:white}.quick{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.quick .chip{white-space:nowrap;background:white;border:1px solid var(--line);border-radius:999px;padding:0 14px}.quick .chip.selected{background:var(--primary);color:white;border-color:var(--primary)}.task{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.task:last-child{border:0}.status{font-size:.78rem;font-weight:800;padding:5px 9px;border-radius:999px;background:#edf4ef;color:var(--primary)}.status.warn{background:#fff1df;color:#8d5a1b}.stepper{display:flex;gap:7px;margin:16px 0 22px}.stepdot{height:7px;flex:1;border-radius:999px;background:#dfe4de}.stepdot.done{background:var(--primary)}.builder-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.choice{min-height:74px;padding:12px;border:1px solid var(--line);background:white;border-radius:15px;cursor:pointer;text-align:left;font:inherit}.choice.selected{border:2px solid var(--primary);background:var(--surface2)}.choice strong{display:block}.sticky-actions{position:fixed;left:210px;right:0;bottom:0;z-index:15;background:rgba(250,247,239,.95);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:12px max(18px,calc((100vw - 1180px)/2 + 20px));display:flex;gap:10px;justify-content:flex-end}.field{display:grid;gap:6px;margin:12px 0}.field label{font-weight:800}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:12px;font:inherit}.field textarea{min-height:120px;resize:vertical}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.switch{width:54px;height:30px;border:0;border-radius:999px;background:#cfd4cf;padding:3px;cursor:pointer}.switch i{display:block;width:24px;height:24px;border-radius:50%;background:white;transition:.2s}.switch.on{background:var(--primary2)}.switch.on i{transform:translateX(24px)}.preview-card{aspect-ratio:4/5;background:linear-gradient(160deg,#f7f0d8 0 55%,#dbe9dc 55%);border-radius:20px;padding:24px;position:relative;overflow:hidden;border:1px solid var(--line)}.preview-mark{position:absolute;right:16px;bottom:12px;font-size:.72rem;color:#55655a}.preview-hero{font-size:2rem;font-weight:950;max-width:80%;color:#263e31}.preview-badge{display:inline-block;background:#e7924a;color:white;font-weight:900;border-radius:999px;padding:5px 10px;margin-bottom:12px}.preview-art{position:absolute;right:-10px;bottom:32px;width:45%;height:40%;border-radius:45% 55% 35% 65%;background:#2f5f49;opacity:.16}.chat{display:grid;gap:10px}.bubble{padding:12px 14px;border-radius:15px;max-width:82%;background:#edf3ed}.bubble.me{margin-left:auto;background:var(--primary);color:white}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);font-size:.9rem}.bar{height:10px;background:#e1e6e0;border-radius:99px;overflow:hidden}.bar span{display:block;height:100%;background:var(--primary2)}.toast{position:fixed;z-index:50;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:#1f2922;color:white;padding:12px 18px;border-radius:999px;transition:.2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.modal-backdrop{position:fixed;inset:0;background:rgba(20,30,24,.45);display:grid;place-items:center;z-index:60;padding:20px}.modal{max-width:520px;width:100%;background:white;border-radius:20px;padding:20px;box-shadow:0 20px 70px rgba(0,0,0,.2)}.kicker{font-size:.82rem;color:var(--muted)}.danger-text{color:var(--danger)}.hidden{display:none!important}@media(max-width:820px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:white;border:0;border-top:1px solid var(--line);padding:6px}.nav{grid-template-columns:repeat(6,1fr)}.nav button{font-size:.68rem;justify-content:center;padding:8px 2px;display:grid;text-align:center}.content{padding:18px 14px 150px}.sticky-actions{left:0;bottom:64px;padding:10px 12px}.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:10px 12px}.brand{font-size:.9rem}.pill{max-width:48vw;overflow:hidden;text-overflow:ellipsis}.table-wrap{overflow:auto}}
/* v0.9 Supabase connection/auth */
.top-actions{display:flex;align-items:center;gap:8px}.statusline{font-size:12px;margin-bottom:10px}.statusline.ok{color:#2f6a50}.warning-card{border-style:dashed;margin-bottom:14px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth-card{width:min(460px,100%)}
@media(max-width:700px){.top-actions .tertiary{display:none}}
/* v0.9.11 dynamic settings */
.setting-block{border-bottom:1px solid var(--line)}.setting-block:last-child{border-bottom:0}.setting-block .toggle-row{border-bottom:0}.dependent-panel{margin:-4px 0 12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}.dependent-panel .field{margin:8px 0}.inline-check{display:flex;align-items:center;gap:8px;min-height:40px;font-weight:700;color:var(--ink)}.inline-check input{width:18px;height:18px;accent-color:var(--primary)}.disabled-card{opacity:.8}.disabled-card .muted{color:var(--muted)}
