:root{color-scheme:dark;--bg:#142a29;--ink:#f4eddf;--muted:#bbc9c1;--gold:#e6c488;--line:#ffffff24;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 82% 30%,#35544866,transparent 52%),linear-gradient(115deg,#102424,#1c3530);min-height:100vh}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}a[aria-disabled=true]{pointer-events:none;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}
.site-header,main,footer{width:min(1280px,calc(100% - 96px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:.07em}.brand img{object-fit:contain}.brand small{display:block;margin-top:5px;font:10px/1.5 Arial,sans-serif;letter-spacing:.22em;color:var(--gold)}.header-note{color:var(--muted);font-size:12px;letter-spacing:.12em}
.page-heading{padding:42px 0 30px}.page-heading .eyebrow{margin-bottom:10px}.registry{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(300px,1fr) minmax(0,1.3fr);gap:32px;align-items:start;padding:0 0 64px}.registration{min-width:0}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--gold);font:10px/1.5 Arial,sans-serif;letter-spacing:.15em;margin:0 0 22px}.eyebrow span{width:25px;height:1px;background:var(--gold)}h1{font:500 clamp(26px,2.5vw,34px)/1.6 var(--serif);letter-spacing:.06em;margin:0}form>label{font-size:14px;display:flex;align-items:center;gap:12px;margin-bottom:12px}form>label span{font:10px Arial,sans-serif;letter-spacing:.15em;color:var(--gold)}.name-field{position:relative}.name-field input{width:100%;height:58px;padding:12px 78px 12px 16px;background:#0a1e1dd9;color:var(--ink);border:1px solid #d6c8a16b;border-radius:3px;font:18px/1.4 Georgia,serif;letter-spacing:.06em}.name-field input::placeholder{color:#a6b4ac}.name-field input[aria-invalid=true]{border-color:#f5a496}#name-count{position:absolute;right:14px;top:22px;color:var(--muted);font:11px Arial,sans-serif}.help{font-size:11px;color:var(--muted);line-height:1.9;margin:12px 0}.error{color:#ffbaab;font-size:12px;line-height:1.7;margin:8px 0}.error:empty{display:none}.button{display:flex;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:13px 20px;border-radius:3px;border:1px solid transparent;text-align:center;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s}.primary{background:var(--gold);color:#25342e}.primary:hover:not(:disabled){background:#f2d9a9}#generate{width:100%;justify-content:space-between;margin-top:21px;padding-inline:23px}.privacy{font-size:10px;color:var(--muted);text-align:center;margin-top:14px}
.card-area{min-width:0;padding-top:12px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 8px 23px;color:var(--muted);font-size:11px;letter-spacing:.08em}.rank{font:11px Georgia,serif;color:var(--gold);letter-spacing:.08em}.card-stage{filter:drop-shadow(0 25px 28px #07110c88)}#card-preview{display:block;width:100%;height:auto;aspect-ratio:1712/1080}.caption{font-size:11px;color:var(--muted);text-align:center;line-height:1.9;margin:25px 0 0;overflow-wrap:anywhere}.ornament{display:flex;align-items:center;gap:12px;margin:28px auto;color:#bda270;font-size:8px;width:140px}.ornament span{height:1px;background:var(--line);flex:1}.status{font-size:12px;line-height:1.9;color:var(--gold);margin:15px 0 0}.status:empty{display:none}
.about{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:29px 0 31px;gap:36px}.about>div{position:relative;padding-left:40px}.step-number{position:absolute;left:0;top:2px;color:var(--gold);font:italic 19px Georgia,serif}.about h2{font:500 15px/1.6 var(--serif);margin:0 0 6px}.about p{font-size:11px;color:var(--muted);margin:0;line-height:1.9}footer{padding:24px 0 28px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);letter-spacing:.1em}.noscript{position:fixed;bottom:10px;background:#6d2015;padding:20px;width:100%;text-align:center}
.rank-options{border:0;padding:0;margin:23px 0 0;min-width:0}.rank-options legend{font-size:14px;margin-bottom:12px;padding:0}.rank-options legend span{font:10px Arial,sans-serif;letter-spacing:.15em;color:var(--gold);margin-left:12px}.rank-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rank-choices label{position:relative;cursor:pointer}.rank-choices input{position:absolute;width:1px;height:1px;opacity:0}.rank-choices label>span{display:flex;gap:12px;align-items:center;justify-content:center;min-height:55px;border:1px solid #d6c8a16b;border-radius:3px;background:#0a1e1d80}.rank-choices b{font:23px Georgia,serif}.rank-choices input:checked+span{border-color:var(--gold);background:#e6c4881c;color:var(--gold)}.rank-choices input:focus-visible+span{outline:3px solid var(--gold);outline-offset:4px}.rank-options:disabled{opacity:.6}.rank-options:disabled label{cursor:wait}.rank b{font-weight:400}#download-panel h2{font:500 20px/1.7 var(--serif);letter-spacing:.04em;margin:0 0 20px}#download{width:100%}
.receptionist{position:relative;isolation:isolate;align-self:start;width:100%;min-width:0;padding:0 4px 12px}.receptionist::before{content:"";position:absolute;inset:16px 18px 15px;z-index:-1;border:1px solid #d6c8a124;border-radius:200px 200px 16px 16px;background:radial-gradient(ellipse at 50% 25%,#d1b27426,transparent 65%),linear-gradient(#ffffff04,#ffffff00)}.receptionist-portrait{display:block;width:100%;height:auto;filter:drop-shadow(0 15px 15px #07110c44)}.welcome{position:relative;margin:0 0 28px;padding:22px 23px;background:#f3eddd;color:#314039;border:1px solid #d5c098;border-radius:8px;box-shadow:0 8px 24px #07110c26}.welcome::before{content:"";position:absolute;left:-9px;top:38px;width:16px;height:16px;background:#f3eddd;border:solid #d5c098;border-width:0 0 1px 1px;transform:rotate(45deg)}.speaker{font-size:12px;font-weight:700;letter-spacing:.06em;color:#806238;margin:0 0 10px}.greeting{font-size:14px;line-height:2;margin:0;overflow-wrap:anywhere}
@media(min-width:1450px){.page-heading{padding-top:54px;padding-bottom:36px}.registry{padding-bottom:82px}}
@media(max-width:1100px){.site-header,main,footer{width:calc(100% - 56px)}.registry{gap:32px;grid-template-columns:minmax(210px,.75fr) minmax(0,1fr)}.receptionist{max-width:340px;justify-self:center}.card-area{grid-column:1/-1;width:min(740px,100%);justify-self:center;padding-top:12px}.header-note{font-size:10px}.card-heading{flex-wrap:wrap}.about{gap:15px}.about>div{padding-left:30px}}
@media(max-width:720px){.site-header,main,footer{width:calc(100% - 40px)}.site-header{padding:20px 0}.brand{font-size:16px;gap:10px}.brand img{width:28px;height:36px}.brand small{font-size:9px}.header-note{display:none}.page-heading{padding:26px 0 24px}.registry{grid-template-columns:minmax(110px,.75fr) minmax(0,1.25fr);gap:26px 14px;padding:0 0 35px}.registration{display:contents}.receptionist{grid-column:1;grid-row:1;padding:0;align-self:center}.welcome{grid-column:2;grid-row:1;align-self:center;margin:0;padding:16px}.welcome::before{top:36px}.greeting{font-size:13px;line-height:1.95}.speaker{font-size:11px;margin-bottom:8px}#registration-form{grid-column:1/-1}.receptionist::before{inset:10px 5px 4px}.receptionist-portrait{filter:drop-shadow(0 9px 10px #07110c44)}.eyebrow{font-size:9px;margin-bottom:16px}h1{font-size:26px;line-height:1.6}.card-area{padding-top:4px}.card-heading{margin-bottom:17px;font-size:10px}.caption{font-size:10px;margin-top:20px}.ornament{margin:23px auto}.about{grid-template-columns:1fr;gap:23px;padding:27px 0}.about>div{padding-left:38px}.privacy{font-size:10px}footer{font-size:9px;gap:12px;flex-wrap:wrap}}
form>label .field-label,.rank-options legend .field-label{font:inherit;color:inherit;letter-spacing:inherit;margin:0}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
#create-share{width:100%}#share-challenge{margin-top:12px;max-width:100%}#share-challenge:empty,#share-availability:empty{display:none}
.secondary{border-color:var(--gold);color:var(--gold);background:transparent;margin-top:12px}.secondary:hover{background:#e6c48816}.share-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;font-size:11px}.share-links button{background:none;border:0;padding:0;color:var(--muted);font:inherit;text-decoration:underline;cursor:pointer}.share-links a{color:var(--muted)}.shared-card{max-width:1000px;padding:48px 0;text-align:center}.shared-card .eyebrow{justify-content:center}.shared-card h1{overflow-wrap:anywhere}.shared-card>p{font-size:13px;color:var(--muted);line-height:1.9}.shared-card-image{display:block;width:100%;height:auto;margin:28px 0}.shared-card>.button{max-width:380px;margin-inline:auto}.shared-card>.help{margin-top:25px}
