:root{font-family:Sarabun,system-ui,sans-serif;color:#2b241e;background:#f7f4ef;font-size:17px}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}button,input{font:inherit}button{cursor:pointer}.hero{background:radial-gradient(ellipse at 50% 0%,#4d3522 0%,#261b14 48%,#17110e 100%);padding:28px 20px 72px;text-align:center;border-bottom:4px solid #aa7b3a}.brand{max-width:940px;margin:auto;display:flex;align-items:center;justify-content:center;gap:23px}.logo{width:124px;height:124px;object-fit:contain}.brand-name{font-size:clamp(21px,3vw,31px);font-weight:700;line-height:1.55;background:linear-gradient(115deg,#9c6d26,#f9e5a5 38%,#c48c3b 66%,#fff1bd);color:#e5bd72;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:left}.hero-rule{height:1px;max-width:700px;margin:20px auto 30px;background:linear-gradient(90deg,transparent,#98733f,transparent)}.eyebrow{font-size:12px;letter-spacing:3px;color:#caa56a;font-weight:700}.hero-title h1{font-size:clamp(25px,4vw,37px);line-height:1.5;color:#fff1d4;margin:8px 0}.hero-title p{color:#e0c5a0;margin:0;font-size:16px}main{width:min(100% - 32px,760px);margin:-43px auto 45px;position:relative;flex:1}.panel,.result{background:white;border-radius:16px;box-shadow:0 12px 40px #36271917;border:1px solid #e9dfd1;padding:clamp(22px,5vw,38px)}.panel-heading{display:flex;align-items:center;gap:15px;margin-bottom:27px}.icon-round{border-radius:50%;background:#f4e8d1;color:#815b25;width:48px;height:48px;display:grid;place-items:center;font-size:26px;flex-shrink:0}.panel h2{margin:0;font-size:23px}.panel-heading p{margin:5px 0 0;color:#796e61;font-size:15px}label{display:block;font-weight:700;margin:18px 0 9px}label span{font-size:14px;font-weight:400;color:#85776a;margin-left:7px}input{display:block;width:100%;padding:14px 16px;border:1px solid #cfc4b6;border-radius:9px;background:#fff;outline:none;font-size:17px}input:focus{border-color:#9b6c32;box-shadow:0 0 0 3px #b8945633}.actions{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin-top:26px}button{border-radius:9px;padding:13px 12px;font-weight:700;min-height:52px}button.primary{border:1px solid #80602f;color:white;background:linear-gradient(125deg,#735021,#a77a39)}button.primary:hover{filter:brightness(1.08)}button.secondary{border:1px solid #cfc2ae;color:#604a30;background:#fff}button.secondary:hover{background:#f8f2e8}button:disabled{opacity:.55;cursor:wait}.helper{color:#786d61;font-size:13px;margin:22px 0 0;line-height:1.8}.helper.english{margin-top:2px}.result{margin-top:22px;border-top:5px solid #168251}.result.revoked{border-top-color:#b83b38}.result.error{border-top-color:#b17b2f}.result h2{margin:0 0 16px;font-size:23px;color:#236b4b}.result.revoked h2,.result.error h2{color:#a93b38}.result.error h2{color:#8a5d21}.detail{display:grid;grid-template-columns:minmax(150px,34%) 1fr;gap:8px 16px;padding:14px 0;border-bottom:1px solid #eee7dd;overflow-wrap:anywhere}.detail:last-child{border:0}.detail .key{color:#6d6256;font-weight:600}.detail .value{font-weight:600;white-space:pre-wrap}.status{display:inline-block;padding:5px 12px;border-radius:99px;background:#e5f4eb;color:#166d44}.revoked .status{background:#fde8e6;color:#ad2928}.disclaimer{font-size:13px;color:#766b60;line-height:1.85;margin:23px 6px}footer{text-align:center;background:#1e1712;color:#e1c08b;padding:28px 16px}footer p{font-size:14px;color:#bca88d;margin:7px 0 17px}footer small{font-size:12px;color:#95846f}.loading{position:fixed;inset:0;z-index:20;background:#140f0caa;display:grid;place-items:center;padding:20px}.loading[hidden],.result[hidden]{display:none}.loading-card{width:min(100%,360px);padding:32px 25px;text-align:center;border-radius:16px;background:#fff;color:#30271e;box-shadow:0 20px 50px #0003}.loading-card strong{font-size:22px}.loading-card p{margin:8px 0}.loading-card small{color:#786b60}.spinner{width:52px;height:52px;border:5px solid #eee2ce;border-top-color:#9d7438;border-radius:50%;margin:0 auto 20px;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:580px){.hero{padding:20px 16px 64px}.brand{gap:12px}.logo{width:85px;height:85px}.brand-name{font-size:19px}.hero-rule{margin:16px auto 25px}.hero-title h1{font-size:24px}.hero-title p{font-size:13px}.panel-heading{align-items:flex-start}.panel h2{font-size:20px}.actions{grid-template-columns:1fr}.detail{grid-template-columns:1fr;gap:4px}.detail .key{font-size:14px}}
