:root{--bg:#f7f5f2;--bg-muted:#ebe8e3;--surface:#fff;--text:#1a1a1a;--text-muted:#5c5c5c;--border:#d4d0c8;--accent:#c45c26;--accent-hover:#a64c1e;--danger:#8b2e2e;--focus-ring:0 0 0 3px #c45c2659;--space:8px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color:var(--text);background:var(--bg);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 600px at 10% -10%, #c45c260f, transparent 60%), radial-gradient(900px 500px at 100% 0%, #1a1a1a0a, transparent 55%), var(--bg)}a{color:var(--accent)}a:hover{color:var(--accent-hover)}:focus-visible{box-shadow:var(--focus-ring);outline:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app-shell{max-width:1120px;padding:calc(var(--space) * 3) calc(var(--space) * 2) calc(var(--space) * 6);margin:0 auto}.site-header{justify-content:space-between;align-items:center;gap:calc(var(--space) * 2);padding-bottom:calc(var(--space) * 2);border-bottom:1px solid var(--border);margin-bottom:calc(var(--space) * 3);display:flex}.brand{letter-spacing:-.02em;color:var(--text);font-size:20px;font-weight:700;text-decoration:none}.brand span{color:var(--accent)}.nav-links{gap:calc(var(--space) * 2);font-size:14px;display:flex}.nav-links a{color:var(--text-muted);text-decoration:none}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--accent)}.hero{gap:calc(var(--space) * 3);padding:calc(var(--space) * 4) 0 calc(var(--space) * 5);align-content:center;min-height:min(70vh,640px);display:grid}.hero-brand{letter-spacing:-.03em;margin:0;font-size:clamp(32px,6vw,48px);font-weight:750}.hero-brand span{color:var(--accent)}.hero h2{max-width:28ch;margin:0;font-size:clamp(18px,3vw,24px);font-weight:600}.hero p{color:var(--text-muted);max-width:48ch;margin:0;font-size:16px}.cta-row{gap:calc(var(--space) * 1.5);margin-top:calc(var(--space) * 1);flex-wrap:wrap;display:flex}.btn{min-height:40px;padding:0 calc(var(--space) * 2);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;justify-content:center;align-items:center;text-decoration:none;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.btn:active{opacity:.85}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.section{padding:calc(var(--space) * 4) 0;border-top:1px solid var(--border)}.section h2{margin:0 0 calc(var(--space) * 1);font-size:20px}.section p{margin:0 0 calc(var(--space) * 2);color:var(--text-muted);max-width:60ch}.status-matrix{border-collapse:collapse;width:100%;font-size:14px}.status-matrix th,.status-matrix td{text-align:left;padding:calc(var(--space) * 1.25);border-bottom:1px solid var(--border);vertical-align:top}.status-matrix th{background:var(--bg-muted);font-weight:600}.badge{border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge-ok{color:#1f4d2a;background:#e4efe6}.badge-pending{background:var(--bg-muted);color:var(--text-muted)}.workspace{gap:calc(var(--space) * 3);display:grid}@media (width>=900px){.workspace{grid-template-columns:340px 1fr;align-items:start}}.panel{background:var(--surface);border:1px solid var(--border);padding:calc(var(--space) * 2);border-radius:4px}.panel h2{margin:0 0 calc(var(--space) * 1.5);font-size:16px}.field{margin-bottom:calc(var(--space) * 2);gap:6px;display:grid}.field label{font-size:13px;font-weight:600}.field .hint{color:var(--text-muted);font-size:12px}.field input[type=text],.field input[type=color],.field textarea,.field input[type=file]{border:1px solid var(--border);background:var(--bg);border-radius:4px;width:100%;padding:8px 10px}.field input[type=range]{width:100%}.template-grid{gap:calc(var(--space) * 1);grid-template-columns:1fr 1fr;display:grid}.template-btn{text-align:left;border:1px solid var(--border);background:var(--bg);padding:calc(var(--space) * 1);border-radius:4px;min-height:72px;transition:border-color .16s,background .16s}.template-btn[aria-pressed=true]{border-color:var(--accent);background:#f8ebe3}.template-btn strong{font-size:13px;display:block}.template-btn small{color:var(--text-muted);font-size:11px}.aspect-group{flex-wrap:wrap;gap:8px;display:flex}.aspect-group button{border:1px solid var(--border);background:var(--bg);border-radius:4px;flex:1;min-width:64px;min-height:40px}.aspect-group button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);font-weight:600}.alert{padding:calc(var(--space) * 1.5);border:1px solid var(--border);background:var(--bg-muted);margin-bottom:calc(var(--space) * 2);border-radius:4px;font-size:14px}.alert-error{color:var(--danger);background:#f8ecec;border-color:#e0b4b4}.alert-info{background:#f8efe8;border-color:#e2c4b0}.canvas-wrap{gap:calc(var(--space) * 2);display:grid}.canvas-frame{background:var(--bg-muted);border:1px solid var(--border);padding:calc(var(--space) * 2);border-radius:4px;justify-content:center;align-items:center;min-height:320px;animation:.18s canvas-in;display:flex}@keyframes canvas-in{0%{opacity:.65}to{opacity:1}}.canvas-frame canvas{background:var(--surface);max-width:100%;height:auto;box-shadow:0 1px #1a1a1a0f}.toolbar{flex-wrap:wrap;gap:8px;display:flex}.footer-note{margin-top:calc(var(--space) * 4);padding-top:calc(var(--space) * 2);border-top:1px solid var(--border);color:var(--text-muted);font-size:13px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.checkbox-row{align-items:flex-start;gap:8px;font-size:13px;display:flex}.checkbox-row input{margin-top:3px}
