:root{--ink:#18231d;--muted:#627067;--paper:#f4f2e9;--card:#fffef8;--lime:#dfff62;--green:#153d2b;--line:#cbd1c7;--danger:#9b2c2c;--shadow:0 18px 50px rgba(24,35,29,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans Thai","Leelawadee UI",system-ui,sans-serif;line-height:1.55}.topbar{height:68px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(244,242,233,.94);backdrop-filter:blur(12px);z-index:10}.brand{font-weight:800;text-decoration:none;color:var(--ink);margin-right:auto}.brand span{display:inline-grid;place-items:center;width:35px;height:35px;background:var(--green);color:var(--lime);border-radius:50%;margin-right:8px}.topbar nav{display:flex;gap:24px}.topbar nav a{color:var(--muted);text-decoration:none;font-size:.9rem}.status{font:700 .72rem ui-monospace,monospace;text-transform:uppercase}.status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#63c174;margin-right:7px}main{max-width:1180px;margin:auto}.intro{min-height:540px;padding:90px 0 70px;display:grid;grid-template-columns:1.45fr .75fr;gap:80px;align-items:end}.eyebrow{font:800 .74rem ui-monospace,monospace;letter-spacing:.12em;color:#557161;margin:0 0 14px}.intro h1{font-size:clamp(3.7rem,8vw,7.2rem);line-height:.88;letter-spacing:-.065em;margin:0;max-width:850px}.intro h1 em{color:var(--green);font-style:normal}.lede{font-size:1.1rem;max-width:680px;color:var(--muted);margin-top:28px}.principles{border-top:4px solid var(--ink);display:grid;grid-template-columns:45px 1fr}.principles>*{padding:16px 0;border-bottom:1px solid var(--line)}.principles strong{font-family:ui-monospace,monospace;color:#739042}.workspace,.manage,.erd-section{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);padding:42px;margin-bottom:32px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:30px}.section-head h2{font-size:2rem;line-height:1.1;margin:0}.step{font:700 .8rem ui-monospace,monospace;background:var(--lime);padding:8px 12px;border-radius:99px}fieldset{border:0;padding:0;margin:0 0 36px}legend{font-weight:800;font-size:1.1rem;margin-bottom:18px}.grid{display:grid;gap:18px}.grid.three{grid-template-columns:repeat(3,1fr)}label{display:grid;gap:8px;font-size:.9rem;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;border-radius:8px;color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid rgba(223,255,98,.7);border-color:var(--green)}.optional{color:var(--muted);font-size:.76rem;font-weight:500}.field-note{font-size:.8rem;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.chips label{display:block}.chips input{position:absolute;opacity:0;width:1px}.chips span{display:block;border:1px solid var(--line);border-radius:99px;padding:9px 15px;background:white;cursor:pointer}.chips input:checked+span{background:var(--green);color:white;border-color:var(--green)}.wide{margin-top:20px}.consent{background:#eef0e9;padding:24px;border-left:5px solid var(--green)}.notice{padding-bottom:18px;margin-bottom:16px;border-bottom:1px solid var(--line)}.notice p{color:var(--muted);margin-bottom:0}.check{grid-template-columns:20px 1fr;align-items:start;margin:13px 0;font-weight:400}.check input{width:18px;height:18px}.actions{display:flex;justify-content:space-between;align-items:center;gap:20px}.actions p{color:var(--green);font-weight:700}.primary,.secondary,.rights button{border:0;border-radius:7px;padding:13px 18px;font-weight:800;cursor:pointer}.primary{background:var(--green);color:white;font-size:1rem}.primary span{margin-left:20px;color:var(--lime)}button:disabled{opacity:.4;cursor:not-allowed}.credentials{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin:25px 0}.secondary{background:var(--lime);color:var(--ink);height:50px}.rights{display:flex;gap:9px;flex-wrap:wrap}.rights button{background:#e8ece5}.rights .danger{color:white;background:var(--danger)}pre{background:var(--ink);color:#d9e7dd;border-radius:8px;padding:22px;min-height:110px;overflow:auto;margin-top:20px;font-size:.78rem}.erd-note{color:var(--muted);max-width:850px}.erd{margin-top:30px;display:grid;grid-template-columns:1fr 120px 1fr;grid-template-rows:auto 90px auto;align-items:center}.entity{border:2px solid var(--ink);background:white;box-shadow:8px 8px 0 var(--lime);padding:0 18px 16px;min-height:205px}.entity h3{font:800 .85rem ui-monospace,monospace;background:var(--ink);color:white;margin:0 -18px 14px;padding:12px 18px}.entity code{display:block;padding:5px 0;border-bottom:1px dashed var(--line)}.participant{grid-column:1;grid-row:1}.interests{grid-column:3;grid-row:1}.events{grid-column:1;grid-row:3}.notices{grid-column:3;grid-row:3}.relation{display:flex;align-items:center;justify-content:space-between;font:700 .72rem ui-monospace,monospace;color:var(--muted)}.relation:before{content:"";height:1px;background:var(--ink);position:absolute}.relation b{background:var(--lime);color:var(--ink);padding:3px 7px;border-radius:50%;z-index:1}.r1{grid-column:2;grid-row:1}.r1:before{width:120px}.r2{grid-column:1;grid-row:2;transform:rotate(90deg);justify-self:center;width:90px}.r2:before{width:90px}.r3{grid-column:2;grid-row:3}.r3:before{width:120px}footer{max-width:1180px;margin:60px auto 30px;border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}@media(max-width:900px){.topbar nav,.status{display:none}main{padding:0 16px}.intro{grid-template-columns:1fr;gap:30px;padding-top:60px}.grid.three,.credentials{grid-template-columns:1fr}.workspace,.manage,.erd-section{padding:25px}.erd{grid-template-columns:1fr;grid-template-rows:auto}.entity,.participant,.interests,.events,.notices{grid-column:1;grid-row:auto;margin-bottom:25px}.relation{display:none}footer{margin:40px 16px 20px;gap:20px}.actions{align-items:stretch;flex-direction:column}.primary{width:100%}}
