:root{font-family:"Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif;color:#f7ebd1;background:#140d08;font-synthesis:none}
*{box-sizing:border-box}
html{background:#140d08}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 88% 4%,#68411d 0,transparent 32%),radial-gradient(circle at 4% 34%,#3b260f 0,transparent 36%),#140d08}
.shell{width:min(100%,620px);margin:auto;padding:36px 20px 70px;min-height:100vh}
.eyebrow{color:#d7a854;font-size:11px;font-weight:800;letter-spacing:.2em;margin:0 0 22px}
h1{font-size:clamp(38px,10vw,58px);line-height:1.12;letter-spacing:-.055em;margin:0 0 18px;font-weight:800}
.intro{font-size:16px;line-height:1.7;color:#d1bfa6;margin:0 0 30px;max-width:34em}
.card{background:#fffaf0;color:#2e2118;border:1px solid #d6bb88;border-radius:22px;padding:24px 22px;margin:0 0 18px;box-shadow:0 18px 40px #05030145}
h2{font-size:20px;letter-spacing:-.035em;margin:0 0 20px}
form{display:flex;flex-direction:column;gap:10px}
form>label:not(.consent){font-size:15px;font-weight:750;margin-top:9px}
form>label span{font-size:12px;font-weight:500;color:#7c6b5d;margin-left:7px}
textarea,input:not([type=hidden]):not([type=checkbox]){width:100%;font-family:inherit;font-size:17px;line-height:1.55;background:#fff;color:#261a14;border:1px solid #cebca2;border-radius:12px;padding:14px 15px;outline:none}
textarea{resize:vertical;min-height:105px}
textarea:focus,input:focus{border-color:#a56f22;box-shadow:0 0 0 3px #d9a44a38}
.consent{display:flex;align-items:flex-start;gap:10px;margin:11px 0 8px;font-size:13px;line-height:1.55;color:#5c4b3b}
.consent input{width:20px;height:20px;flex:none;accent-color:#a56816;margin:1px 0 0}
.consent span{margin:0;font-size:13px;color:#5c4b3b}
button{font:inherit;font-weight:800;border:0;border-radius:12px;cursor:pointer;min-height:55px}
form button{display:flex;justify-content:space-between;align-items:center;background:#ae741f;color:#fff;padding:0 18px;font-size:17px}
form button:hover{background:#8f5b14}
button.secondary{display:block;width:100%;background:#d7a854;color:#2a1a0b;margin-top:20px}
.fine{color:#b9a88f;font-size:13px;line-height:1.6;margin:16px 1px 0}
.trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.success-mark{font-size:45px;color:#f0bf62;margin:0 0 8px}
.receipt-card{padding-top:26px}
.receipt-label,.field-label{font-size:12px;font-weight:800;color:#806d54;letter-spacing:.02em}
.receipt-number{font-size:36px;letter-spacing:.045em;font-weight:800;margin:5px 0 10px;color:#644013}
.divider{height:1px;background:#dfd0b4;margin:18px 0}
.wish-text{font-size:21px;font-weight:700;line-height:1.5;margin:7px 0 19px;overflow-wrap:anywhere}
.name-text{font-size:16px;margin:7px 0 0}
.live-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.live-heading h2{margin-bottom:14px}
.pulse{font-size:11px;color:#7c6b5d;white-space:nowrap}
.state{border-radius:12px;background:#e6f2e9;color:#145a39;font-weight:800;padding:13px 15px;margin-bottom:14px}
.state[data-state=hold],.state[data-state=stopped]{background:#fff0cb;color:#754817}
.state[data-state=rejected],.state[data-state=error]{background:#f9e5df;color:#883b2d}
dl{margin:0}dl>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eadfca;padding:12px 0}dt{color:#65584b;font-size:14px}dd{margin:0;text-align:right;font-weight:750;font-size:14px}
.live-card .fine{color:#65584b;margin-top:16px}
.back-link{display:block;text-align:center;color:#e9bd77;padding:22px 0;text-decoration:underline;text-underline-offset:4px}
@media(max-width:390px){.shell{padding:28px 16px 55px}.card{padding:20px 17px}.receipt-number{font-size:31px}}
/* Shared festival palette with a compact mobile-first direct-entry form. */
:root{font-family:"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;color:#f4e9ce;background:#09162c;font-synthesis:none}
html,body{min-height:100%;background:#09162c}
body{background:radial-gradient(ellipse at 82% 0%,#1c3653 0,transparent 35%),radial-gradient(ellipse at 0% 45%,#182d47 0,transparent 38%),linear-gradient(155deg,#09162c,#101e33 68%,#081322)}
.shell{width:min(100%,590px);margin:auto;padding:clamp(22px,5vw,48px) 20px 35px;min-height:100svh}
.compact{padding:22px 18px 30px}.entry-brand{display:flex;align-items:center;gap:8px;color:#f0dfb7;font-size:12px;font-weight:750;letter-spacing:.11em;margin:0 0 17px}.brand-lantern{width:25px;height:32px;flex:none;filter:drop-shadow(0 0 8px #dfb95570)}.entry-tag{margin-left:auto;border:1px solid #d9b66e66;border-radius:99px;padding:5px 10px;color:#e3c989;font-size:10px;letter-spacing:.06em}
.compact h1{font-size:clamp(27px,7vw,38px);line-height:1.24;margin:0 0 8px;letter-spacing:-.06em;font-weight:800;color:#f7edda}.entry-page h1 span{color:#e8c775}.compact .intro{font-size:14px;line-height:1.55;margin:0 0 15px;color:#c9d0da;max-width:32em}.compact .card{padding:17px 17px;border-radius:19px;margin:0 0 12px;background:#f8f3e8;color:#1b2635;border:1px solid #dfc98c;box-shadow:0 16px 44px #0005}.compact form{gap:6px}.compact textarea{min-height:76px}.compact form>label{margin-top:4px;font-size:14px;color:#233147}.compact form>label span{color:#7c715e}.textarea,input:not([type=hidden]):not([type=checkbox]){font-family:inherit}.compact textarea,.compact input:not([type=hidden]):not([type=checkbox]){font-size:16px;padding:11px 13px;border-radius:11px;min-height:48px;background:#fffefa;border-color:#d8cfbd;color:#1b2635}.compact textarea{min-height:79px;resize:vertical}.compact textarea:focus,.compact input:focus{border-color:#b18a41;box-shadow:0 0 0 3px #d9b66e40}.notice{font-size:11px;color:#687486;line-height:1.55;margin:5px 0 9px}.compact form button{justify-content:center;min-height:50px;border-radius:11px;background:linear-gradient(115deg,#b98231,#e0bd6d);color:#14223a;font-size:16px;box-shadow:0 5px 15px #98703433}.compact form button:hover{background:#e5c77b}.entry-safety{margin:10px 2px 0!important;color:#bdc3cc!important;text-align:center}.trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.festival-ribbon{height:52px;margin:-6px 0 9px;overflow:hidden;opacity:.9}.festival-ribbon svg{width:100%;height:100%;display:block}
.compact #receipt-page{width:min(100%,590px)}.receipt-heading{margin-bottom:15px!important}.eta-card{text-align:center}.eta-card .state{font-size:15px;margin:0 0 14px;background:#e8f1e8;color:#26533c}.state[data-state=hold],.state[data-state=stopped]{background:#f5edda;color:#7a5721}.state[data-state=rejected],.state[data-state=error]{background:#f5e5e1;color:#873e34}.field-label{color:#747c85}.eta-time{font-size:clamp(32px,9vw,50px);font-weight:850;line-height:1.2;letter-spacing:-.05em;color:#79531e;margin:8px 0 12px;overflow-wrap:anywhere}.eta-time small{display:block;font-size:13px;font-weight:500;letter-spacing:0;margin-bottom:5px}.eta-time[data-state=hold],.eta-time[data-state=stopped],.eta-time[data-state=rejected],.eta-time[data-state=error]{font-size:28px}.eta-wait{font-size:15px;margin:10px 0}.arrival{font-size:13px;font-weight:750;line-height:1.55}.compact .wish-text{font-size:18px;margin:0 0 8px;color:#24324a}.compact .name-text{font-size:14px;color:#5c6570}.receipt-small{font-size:12px;color:#736c5f;margin:12px 0}.compact details summary{font-size:13px;cursor:pointer}.compact dl{font-size:13px}.link-actions{display:flex;gap:9px}.link-actions button.secondary{font-size:13px;flex:1;margin-top:0;min-height:45px;border-radius:11px;background:#e3c679;color:#1c2a3c}.compact .fine{font-size:11px;margin-top:10px;color:#bdc3cc}.compact .fine summary{color:#e6cf99}.back-link{color:#e6cf99}
@media(max-width:390px){.compact{padding:19px 15px 26px}.entry-brand{margin-bottom:12px}.compact h1{font-size:27px;margin-bottom:6px}.compact .intro{font-size:13px;margin-bottom:12px}.festival-ribbon{height:43px;margin-top:-5px;margin-bottom:7px}.compact .card{padding:15px 14px}.compact textarea{min-height:70px}}
