/* EddyAi.top — Deep water theme
   สีพื้นเขียวน้ำลึกจากโลโก้ · ตัวอักษร Kanit (หัวเรื่อง) + Sarabun (เนื้อหา) */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --deep:#04140F; --surface:#0B231A; --raise:#112E24; --line:#1E4436; --line-soft:#163629;
  --ink:#EAF6F1; --ink-2:#A8C6BA; --ink-3:#6E9283;
  --green:#00C896; --green-hi:#34D9A8; --teal:#00B4D8;
  --danger:#FF8A7A; --warn:#F2C14E;
  --r:10px; --wrap:1080px;
  --display:'Kanit',sans-serif; --body:'Sarabun',sans-serif;
}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--body);font-size:17px;line-height:1.7;background:var(--deep);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--green-hi);text-underline-offset:3px}
a:hover{color:var(--ink)}
img,svg{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.3;color:var(--ink)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.narrow{max-width:720px;margin:0 auto;padding:0 20px}
.muted{color:var(--ink-3)}
.small{font-size:14px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:0;
  background:var(--green);color:#03120B;font:600 16px/1 var(--body);text-decoration:none;cursor:pointer;transition:background .15s;white-space:nowrap}
.btn:hover{background:var(--green-hi);color:#03120B}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-ghost:hover{background:var(--raise);color:var(--ink)}
.btn-sm{min-height:34px;padding:0 14px;font-size:14px}
.btn-danger{background:transparent;color:var(--danger);box-shadow:inset 0 0 0 1.5px rgba(255,138,122,.4)}
.btn-danger:hover{background:rgba(255,138,122,.1);color:var(--danger)}
.linkbtn{background:none;border:0;padding:0;color:var(--green-hi);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* ── Header ── */
.site-head{border-bottom:1px solid var(--line-soft)}
.site-head .wrap{height:68px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.brand svg{height:34px;width:auto}
.nav{display:flex;gap:4px;flex:1}
.nav a{color:var(--ink-2);text-decoration:none;font-size:15px;padding:6px 12px;border-radius:8px}
.nav a:hover{color:var(--ink);background:var(--surface)}
.nav a[aria-current="page"]{color:var(--ink);background:var(--surface)}
.usermenu{position:relative;margin-left:auto}
.usermenu summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px 6px 4px 4px;border-radius:999px}
.usermenu summary::-webkit-details-marker{display:none}
.usermenu summary:hover{background:var(--surface)}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--raise);object-fit:cover;flex-shrink:0}
.usermenu .uname{font-size:15px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usermenu .panel{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:var(--surface);border:1px solid var(--line);
  border-radius:12px;padding:8px;z-index:50;box-shadow:0 12px 32px rgba(0,0,0,.4)}
.usermenu .panel p{padding:8px 10px 10px;border-bottom:1px solid var(--line-soft);margin-bottom:6px;font-size:13px;color:var(--ink-3);line-height:1.5}
.usermenu .panel a,.usermenu .panel button{display:block;width:100%;text-align:left;padding:9px 10px;border-radius:8px;color:var(--ink);
  text-decoration:none;font:15px var(--body);background:none;border:0;cursor:pointer}
.usermenu .panel a:hover,.usermenu .panel button:hover{background:var(--raise)}
@media(max-width:640px){
  .site-head .wrap{gap:10px}.brand svg{height:28px}
  .usermenu .uname{display:none}.nav{gap:0}.nav a{padding:6px 8px;font-size:14px;white-space:nowrap}
}
@media(max-width:420px){.nav a.home{display:none}}

/* ── Footer ── */
.site-foot{border-top:1px solid var(--line-soft);margin-top:96px}
.site-foot .wrap{padding-top:28px;padding-bottom:36px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;font-size:14px;color:var(--ink-3)}
.site-foot a{color:var(--ink-2);text-decoration:none}
.site-foot a:hover{color:var(--ink)}
.site-foot .copy{margin-left:auto}
@media(max-width:640px){.site-foot .copy{margin-left:0;width:100%}}

/* ── Landing ── */
.hero{padding:88px 0 0;position:relative}
.hero h1{font-size:clamp(38px,7.4vw,76px);font-weight:600;line-height:1.15;letter-spacing:-.01em}
.hero .lede{font-size:clamp(17px,2.2vw,20px);color:var(--ink-2);max-width:34em;margin-top:24px}
.signin{margin-top:36px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.gbtn-slot{min-height:44px;min-width:240px}
.signin .note{font-size:14px;color:var(--ink-3);max-width:34em}
.signin .err{font-size:14px;color:var(--danger)}
.current{margin-top:64px;width:100%;height:auto;overflow:visible}
.current path{fill:none;stroke-linecap:round}
@media (prefers-reduced-motion:no-preference){
  .current .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.4s cubic-bezier(.6,.05,.3,1) forwards}
  .current .draw.d2{animation-delay:.25s}.current .draw.d3{animation-delay:.5s}
  .current .eddy{opacity:0;animation:pop .5s ease-out 2.2s forwards}
}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{to{opacity:1}}

.hubs{display:grid;grid-template-columns:1fr;gap:56px;margin-top:72px}
@media(min-width:860px){.hubs{grid-template-columns:1fr 1fr;gap:64px}}
.hub h2{font-size:26px}
.hub .sub{color:var(--ink-3);font-size:15px;margin-top:2px}
.mlist{list-style:none;margin-top:20px;border-top:1px solid var(--line)}
.mlist li{padding:16px 0;border-bottom:1px solid var(--line-soft);display:grid;grid-template-columns:28px 1fr;gap:4px 12px}
.mlist .n{font-family:var(--display);color:var(--ink-3);font-size:15px;line-height:1.6;font-variant-numeric:tabular-nums}
.mlist strong{font-family:var(--display);font-weight:500;font-size:18px}
.mlist span.d{grid-column:2;color:var(--ink-2);font-size:15px;line-height:1.6}

.steps{margin-top:96px}
.steps h2{font-size:26px}
.steps ol{list-style:none;display:grid;grid-template-columns:1fr;gap:28px;margin-top:24px;counter-reset:s}
@media(min-width:760px){.steps ol{grid-template-columns:repeat(3,1fr)}}
.steps li{counter-increment:s;padding-top:16px;border-top:2px solid var(--line)}
.steps li:first-child{border-top-color:var(--green)}
.steps li::before{content:counter(s);font-family:var(--display);font-size:34px;font-weight:600;color:var(--green);display:block;line-height:1.2}
.steps li strong{display:block;font-family:var(--display);font-weight:500;font-size:18px;margin-top:6px}
.steps li span{color:var(--ink-2);font-size:15px}

/* ── App pages ── */
.page{padding-top:48px}
.page-title{font-size:clamp(28px,4vw,40px)}
.page-sub{color:var(--ink-2);margin-top:6px}
.greet{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px;justify-content:space-between}
.greet .hello{color:var(--ink-3);font-size:16px}
.section{margin-top:56px}
.section > h2{font-size:22px}
.section > .sub{color:var(--ink-3);font-size:15px}

.mrows{list-style:none;margin-top:16px;border-top:1px solid var(--line)}
.mrows a{display:grid;grid-template-columns:32px 1fr auto;gap:2px 14px;align-items:baseline;padding:18px 8px;border-bottom:1px solid var(--line-soft);
  text-decoration:none;color:var(--ink);border-radius:2px}
.mrows a:hover{background:var(--surface)}
.mrows .n{font-family:var(--display);color:var(--ink-3);font-variant-numeric:tabular-nums}
.mrows .t strong{font-family:var(--display);font-weight:500;font-size:19px}
.mrows .t em{font-style:normal;color:var(--ink-3);font-size:15px;margin-left:8px}
.mrows .d{grid-column:2;color:var(--ink-2);font-size:15px}
.tag{font-size:13px;padding:2px 10px;border-radius:999px;white-space:nowrap;color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line)}
.tag.on{color:var(--green-hi);box-shadow:inset 0 0 0 1px rgba(0,200,150,.45)}
@media(max-width:560px){
  .mrows a{grid-template-columns:24px 1fr;padding:16px 4px}
  .mrows .t em{display:block;margin-left:0}
  .mrows .d{grid-row:2}.mrows .tag{grid-column:2;grid-row:3;justify-self:start;margin-top:6px}
}

.panel-box{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;padding:24px}
.notice{padding-top:96px}
.notice h1{font-size:32px;margin-bottom:12px}
.notice p{color:var(--ink-2);margin-bottom:20px}
.flash{padding:12px 16px;border-radius:var(--r);margin-top:20px;font-size:15px;background:rgba(0,200,150,.1);color:var(--green-hi);border:1px solid rgba(0,200,150,.3)}
.flash.err{background:rgba(255,138,122,.08);color:var(--danger);border-color:rgba(255,138,122,.35)}

/* ── Module page ── */
.crumb{font-size:14px;color:var(--ink-3)}
.crumb a{color:var(--ink-3)}
.mod-head{display:grid;grid-template-columns:auto 1fr;gap:4px 20px;align-items:baseline;margin-top:16px}
.mod-head .big{font-family:var(--display);font-size:64px;font-weight:600;line-height:1;color:var(--green);grid-row:span 2}
.mod-head h1{font-size:clamp(28px,4vw,40px)}
.mod-head p{color:var(--ink-2);grid-column:2}
.feat{list-style:none;margin-top:32px;border-top:1px solid var(--line)}
.feat li{display:flex;justify-content:space-between;gap:16px;padding:16px 4px;border-bottom:1px solid var(--line-soft)}
.feat li strong{font-family:var(--display);font-weight:500}
.devnote{margin-top:40px;font-size:15px;color:var(--ink-2)}
.devnote code,.code{font-family:ui-monospace,Consolas,monospace;font-size:13.5px;background:var(--deep);border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--green-hi)}
.devnote pre{margin-top:10px;background:var(--deep);border:1px solid var(--line);border-radius:10px;padding:14px;overflow:auto;font:13px/1.6 ui-monospace,Consolas,monospace;color:var(--ink-2)}

/* ── Forms ── */
.form{margin-top:32px}
.fset{border:0;padding:28px 0;border-top:1px solid var(--line)}
.fset legend{font-family:var(--display);font-size:20px;font-weight:600;padding:0;margin-bottom:4px;float:left;width:100%}
.fset .hint{color:var(--ink-3);font-size:14px;clear:both;margin-bottom:16px}
.grid2{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:640px){.grid2{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field > span,.field > label{font-size:15px;font-weight:500;color:var(--ink)}
.field .req{color:var(--green-hi)}
.field small{color:var(--ink-3);font-size:13.5px}
.input,select.input,textarea.input{width:100%;min-height:46px;padding:10px 14px;border-radius:var(--r);background:var(--raise);border:1px solid var(--line);
  color:var(--ink);font:16px var(--body)}
select.input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(0,200,150,.18)}
.input[readonly]{color:var(--ink-3)}
.input.bad{border-color:var(--danger);color:var(--ink)}
.field small.bad,.consent-wrap small.bad{color:var(--danger)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip-opt{position:relative}
.chip-opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip-opt span{display:inline-block;padding:8px 14px;border-radius:999px;font-size:15px;color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;user-select:none}
.chip-opt input:checked + span{background:rgba(0,200,150,.14);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--green)}
.chip-opt input:focus-visible + span{outline:2px solid var(--green);outline-offset:2px}
.levels{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:640px){.levels{grid-template-columns:1fr 1fr}}
.level{position:relative;display:block;padding:14px 16px 14px 46px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer}
.level input{position:absolute;left:16px;top:18px;accent-color:var(--green);width:18px;height:18px}
.level strong{display:block;font-family:var(--display);font-weight:500}
.level small{color:var(--ink-3);font-size:14px}
.level:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--green);background:rgba(0,200,150,.07)}
.cert{margin-top:20px;padding:20px 22px;border-radius:12px;background:var(--deep);border:1px dashed var(--line)}
.cert small{color:var(--ink-3);font-size:13.5px}
.cert .cname{font-family:var(--display);font-size:clamp(22px,3.4vw,30px);font-weight:500;margin-top:4px;line-height:1.35;word-break:break-word}
.cert .cname-en{color:var(--ink-2);font-size:16px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--ink-2)}
.consent input{accent-color:var(--green);width:20px;height:20px;margin-top:3px;flex-shrink:0}
.consent-wrap{width:100%;display:flex;flex-direction:column;gap:6px}
.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding-top:28px;border-top:1px solid var(--line)}

/* ── Admin ── */
.tabs{display:flex;gap:4px;margin-top:28px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs a{padding:10px 16px;color:var(--ink-2);text-decoration:none;font-size:15px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--green)}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:28px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:14px;overflow:hidden}
@media(min-width:860px){.tiles{grid-template-columns:repeat(5,1fr)}}
.tile{background:var(--surface);padding:18px 20px}
.tile .lbl{font-size:14px;color:var(--ink-3)}
.tile .val{font-family:var(--body);font-weight:600;font-size:32px;line-height:1.25;color:var(--ink);margin-top:2px}
.tile .delta{font-size:13px;color:var(--ink-2)}
.charts{display:grid;grid-template-columns:1fr;gap:20px;margin-top:20px}
@media(min-width:960px){.charts{grid-template-columns:1fr 1fr}}
.chart{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;padding:18px 18px 10px;position:relative}
.chart h3{font-size:16px;font-weight:500}
.chart .csub{font-size:13px;color:var(--ink-3)}
.chart svg{width:100%;height:auto;margin-top:8px;overflow:visible}
.chart .grid line{stroke:var(--line-soft);stroke-width:1}
.chart .axis text{fill:var(--ink-3);font-size:13px;font-family:var(--body)}
.chart .bar{fill:var(--green);pointer-events:none}
.chart .hit{fill:transparent;cursor:default}
.chart .hit:hover + .bar,.chart .bar.hl{fill:var(--green-hi)}
.chart details{margin-top:6px;font-size:13px;color:var(--ink-3)}
.chart details table{margin-top:8px}
.tip{position:absolute;pointer-events:none;background:var(--deep);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px;
  color:var(--ink);white-space:nowrap;transform:translate(-50%,-110%);display:none;z-index:5}
.tip b{font-weight:600}
.breaks{display:grid;grid-template-columns:1fr;gap:20px;margin-top:20px}
@media(min-width:760px){.breaks{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.breaks{grid-template-columns:1fr 1fr 1fr}}
.hb{list-style:none;margin-top:12px}
.hb li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;font-size:14px;padding:6px 0}
.hb .lab{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb .num{color:var(--ink);font-variant-numeric:tabular-nums}
.hb .track{grid-column:1/-1;height:8px}
.hb .fill{height:8px;background:var(--green);border-radius:0 4px 4px 0;min-width:2px}
.hb .empty{color:var(--ink-3)}
.table-wrap{overflow-x:auto;margin-top:16px;border:1px solid var(--line-soft);border-radius:12px}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th{text-align:left;font-weight:500;color:var(--ink-3);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface)}
table.t td{padding:10px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top}
table.t tr:last-child td{border-bottom:0}
table.t td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums}
table.t .who{display:flex;gap:10px;align-items:center;min-width:220px}
table.t .who img{width:30px;height:30px;border-radius:50%}
table.t .acts{display:flex;gap:6px;flex-wrap:nowrap}
table.t.users{min-width:1000px}
table.t .nw{white-space:nowrap}
table.t .acts form{display:inline}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:24px}
.toolbar .input{max-width:340px;min-height:40px}
.pager{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}
.pager a,.pager span{padding:4px 12px;border-radius:8px;font-size:14px;text-decoration:none;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}
.pager span{background:var(--green);color:#03120B;box-shadow:none}
.kv{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:8px 16px;font-size:14.5px;margin-top:12px}
.kv dt{color:var(--ink-3)}
.ok{color:var(--green-hi)} .bad{color:var(--danger)}
.out{white-space:pre-wrap;background:var(--deep);border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:12px;font-size:15px}

body.plain{background:var(--deep)}

/* ── Workspace: ฟอร์มซ้าย + แผงผลลัพธ์ขวา (ใช้ร่วมกันทุกโมดูลที่มีเครื่องมือ AI) ── */
.presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:24px}
.presets > span{color:var(--ink-3);font-size:14px;margin-right:4px}
.workspace{display:grid;grid-template-columns:1fr;gap:24px;margin-top:20px;align-items:start}
@media(min-width:1000px){.workspace{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.wcard{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;padding:22px}
.wcard + .wcard{margin-top:20px}
.wcard h2{font-size:19px;display:flex;gap:10px;align-items:baseline}
.wcard h2 .step{font-family:var(--display);color:var(--green);font-weight:600}
.wcard .wsub{color:var(--ink-3);font-size:14px;margin:0 0 16px 22px}
.field small{font-weight:400}
.checks{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:640px){.checks{grid-template-columns:1fr 1fr}}
.check{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;font-size:15px;line-height:1.5;color:var(--ink-2)}
.check input{accent-color:var(--green);width:18px;height:18px;margin-top:3px;flex-shrink:0}
.check:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--green);background:rgba(0,200,150,.07);color:var(--ink)}
.outpanel{background:#03100B;border:1px solid var(--line);border-radius:14px;overflow:hidden}
@media(min-width:1000px){.outpanel{position:sticky;top:16px}}
.outhead{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line-soft)}
.outhead h3{font-size:16px;font-weight:500}
.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px}
.seg button{background:none;border:0;color:var(--ink-3);font:600 13px var(--body);padding:4px 12px;border-radius:999px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--green);color:#03120B}
.seg button:disabled{opacity:.4;cursor:not-allowed}
.aibar{padding:10px 16px;font-size:14px;line-height:1.6;border-bottom:1px solid var(--line-soft);color:var(--green-hi);background:rgba(0,200,150,.06)}
.aibar.err{color:var(--warn);background:rgba(242,193,78,.06)}
.outtext{display:block;width:100%;height:clamp(320px,60vh,600px);background:transparent;border:0;color:var(--ink-2);font:15px/1.75 var(--body);padding:16px;resize:none}
.outtext:focus-visible{outline:2px solid var(--green);outline-offset:-2px;border-radius:0}
.outfoot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 16px;border-top:1px solid var(--line-soft)}
.outfoot .meta{margin-left:auto;color:var(--ink-3);font-size:13px}
.spin{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}
.btn:disabled{opacity:.6;cursor:wait}

/* ── Modal ── */
dialog.modal{margin:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);padding:24px;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 40px)}
dialog.modal::backdrop{background:rgba(2,10,7,.72)}
.modal h3{font-size:20px}
.modal .msub{color:var(--ink-2);font-size:15px;margin-top:4px}
.targets{display:grid;gap:10px;margin-top:16px}
.target{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:var(--raise);border:1px solid var(--line);color:var(--ink);font:500 16px var(--body);cursor:pointer;text-align:left;width:100%}
.target:hover{border-color:var(--green)}
.target .logo{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font:600 14px var(--display);flex-shrink:0;background:var(--deep);color:var(--green-hi);border:1px solid var(--line)}
.target small{display:block;color:var(--ink-3);font-size:13px;font-weight:400}
.howto{margin-top:16px;padding:12px 14px;border-radius:10px;background:var(--deep);font-size:14px;line-height:1.75;color:var(--ink-2);border:1px solid transparent}
.howto.hl{border-color:var(--green);color:var(--ink)}
.howto kbd{font-family:ui-monospace,Consolas,monospace;font-size:12.5px;padding:1px 6px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink)}
.mnote{margin-top:12px;font-size:13px;color:var(--ink-3)}
.mfoot{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}

/* ── รายการ Prompt / หน้าดู Prompt ── */
.plist{list-style:none;margin-top:20px;border-top:1px solid var(--line)}
.plist li{padding:16px 4px;border-bottom:1px solid var(--line-soft);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;align-items:start}
.plist .pt{font-family:var(--display);font-weight:500;font-size:18px;color:var(--ink);text-decoration:none;grid-column:1}
.plist .pt:hover{color:var(--green-hi)}
.plist .pm{grid-column:1}
.plist .pa{grid-column:2;grid-row:1/span 3;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:640px){.plist li{grid-template-columns:1fr}.plist .pa{grid-column:1;grid-row:auto;justify-content:flex-start;margin-top:8px}}
.pm{color:var(--ink-3);font-size:14px;line-height:1.7}
.empty-state{margin-top:24px;padding:28px;border:1px dashed var(--line);border-radius:14px;color:var(--ink-2)}
.pitem{margin-top:24px}
.pi-title{font-size:24px}
.pi-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.pi-actions form{display:inline}
.pi-body{white-space:pre-wrap;word-break:break-word;background:#03100B;border:1px solid var(--line);border-radius:14px;padding:18px;font:15px/1.75 var(--body);color:var(--ink-2);max-width:900px}
