
:root{--bg:#24201C;--sf:#352E28;--tx:#ECE4D6;--mu:#9C8F7E;--ac:#E0A23B;--a2:#5F9488;--ln:#4A4038;--h:'Bricolage Grotesque',system-ui,sans-serif;--m:'JetBrains Mono',ui-monospace,monospace}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--tx);font:400 14px/1.6 var(--m)}
h1,h2,h3{font-family:var(--h);font-weight:700;letter-spacing:-.025em;line-height:1}
.wrap{max-width:1240px;margin:0 auto;padding:0 48px}
section{position:relative;padding:56px 0 72px}
.eb{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mu)}

.btn{display:inline-flex;align-items:center;gap:10px;font:600 14px var(--m);padding:14px 22px;border-radius:999px;border:1px solid var(--ln);color:var(--tx);background:none}
.btn.p{background:var(--ac);color:#24201C;border-color:var(--ac);font-family:var(--h);font-weight:700;font-size:16px}
.o{color:var(--ac)}.t{color:var(--a2)}.mu{color:var(--mu)}
.band{display:block;width:100%;height:70px}
/* nav */
nav{display:flex;align-items:center;justify-content:space-between;padding:26px 0}
.wm{display:flex;align-items:center;gap:10px;font:700 28px var(--h);letter-spacing:-.04em}
.nl{display:flex;gap:30px;align-items:center;font-size:13px;color:var(--mu)}
.nl .btn{padding:9px 16px;font-size:12px;color:var(--tx)}
/* hero */
.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;padding-top:40px}
.hero h1{font-size:92px;font-weight:800;letter-spacing:-.045em}
.hero h1 em{font-style:normal;color:var(--mu)}
.hero p.l{margin:28px 0 34px;max-width:470px;color:#cfc5b5;font-size:15px}
.meta{margin-top:40px;display:flex;gap:28px;font-size:12px;color:var(--mu)}
.meta b{color:var(--tx);font-weight:600}
.xs{border:1px solid var(--ln);border-radius:14px;overflow:hidden;background:var(--bg)}
.xs-h{display:flex;justify-content:space-between;padding:14px 18px;font-size:11px;color:var(--mu);border-bottom:1px solid var(--ln);letter-spacing:.06em}
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;border-top:1px solid var(--ln)}
.st{padding:22px 24px 0 0;position:relative}
.st:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--mu)}
.st:last-child:before{background:var(--ac);border-color:var(--ac)}
.st .n{font-size:11px;color:var(--mu)}.st h3{font-size:22px;margin:8px 0 8px}.st p{color:var(--mu);font-size:13px;max-width:240px}
/* create */
.sh{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}
.sh h2{font-size:52px}
.cg{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}
.panel{background:var(--sf);border:1px solid var(--ln);border-radius:16px;padding:28px}
.f{margin-bottom:24px}.f:last-child{margin-bottom:0}
label.k{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mu);margin-bottom:9px}
.in{background:var(--bg);border:1px solid var(--ln);border-radius:10px;padding:13px 15px;color:var(--tx);font:400 14px/1.6 var(--m);width:100%}
.ta{min-height:128px;white-space:pre-line}
.drop{display:flex;align-items:center;gap:14px;border:1px dashed var(--ln);border-radius:10px;padding:13px 15px}
.fi{width:38px;height:44px;border-radius:6px;background:var(--bg);border:1px solid var(--ln);display:grid;place-items:center;font-size:9px;color:var(--a2);font-weight:600}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.seg{display:flex;background:var(--bg);border:1px solid var(--ln);border-radius:999px;padding:4px;gap:4px;font-size:12px}
.seg span{flex:1;text-align:center;padding:8px 0;border-radius:999px;color:var(--mu)}
.seg .on{background:var(--sf);color:var(--tx);box-shadow:inset 0 0 0 1px var(--ln)}
.amt{display:flex;align-items:center;justify-content:space-between}
.amt b{font:700 22px var(--h)}
.chips{display:flex;gap:8px;margin-top:10px}.chips span{font-size:11px;padding:5px 10px;border:1px solid var(--ln);border-radius:999px;color:var(--mu)}
.chips .on{border-color:var(--ac);color:var(--ac)}
.sealbar{display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding-top:22px;border-top:1px solid var(--ln)}
.sealbar small{color:var(--mu);font-size:12px}
.pv{position:sticky;top:20px}
.pv .card{background:var(--bg);border:1px solid var(--ln);border-radius:14px;overflow:hidden}
.pv .cb{padding:22px}
.pv h3{font-size:28px;margin:8px 0 10px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:12px;margin-top:14px}
.kv dt{color:var(--mu)}.kv dd{text-align:right}
/* countdown */
.cd{display:grid;grid-template-columns:320px 1fr;gap:40px;align-items:stretch}
.big{font:700 112px/0.9 var(--h);letter-spacing:-.05em}
.units{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ln);border:1px solid var(--ln);border-radius:12px;overflow:hidden;margin:26px 0}
.units div{background:var(--sf);padding:14px 16px}.units b{display:block;font:700 30px var(--h)}.units span{font-size:11px;color:var(--mu)}
/* opened */
.og{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.letter{background:var(--sf);border:1px solid var(--ln);border-radius:16px;padding:34px 36px}
.letter p{font-size:15px;line-height:1.8;color:#ddd3c3;margin-bottom:14px}
.att{display:flex;gap:12px;margin-top:22px}
.ph{flex:1;height:120px;border-radius:10px;border:1px solid var(--ln);background:repeating-linear-gradient(170deg,#3d342d 0 14px,#352E28 14px 28px);display:flex;align-items:end;padding:10px;font-size:11px;color:var(--mu)}
.gift{border:1px solid var(--ac);border-radius:16px;padding:26px;margin-top:20px;background:linear-gradient(#2e2721,#2e2721)}
.gift .v{font:800 64px var(--h);letter-spacing:-.04em}
.tx{display:flex;justify-content:space-between;font-size:12px;color:var(--mu);padding:10px 0;border-top:1px solid var(--ln)}
foot{display:block}
footer{border-top:1px solid var(--ln);padding:28px 0;font-size:12px;color:var(--mu)}
@media(max-width:600px){
 .wrap{padding:0 18px}section{padding:20px 0 40px}
 .ex{top:12px;right:14px}
 .sh{display:block;margin-bottom:20px}.sh h2{font-size:36px;margin-top:8px}.sh .mu{display:none}
 .cg{grid-template-columns:1fr;gap:18px}.panel{padding:18px;border-radius:14px}
 .row{grid-template-columns:1fr}.pv{order:-1;position:static}
 .pv .xsm{display:none}.pv .cb{padding:16px}.pv h3{font-size:22px}
 .sealbar{flex-direction:column;align-items:stretch;gap:12px;text-align:center}.sealbar .btn{justify-content:center}
 .mnav{display:flex!important}.ex{position:static;display:inline-block;margin:8px 0 0 18px}
}
.mnav{display:none;align-items:center;justify-content:space-between;padding:16px 0 4px}

/* responsive layer */
html,body{overflow-x:clip}
img,svg{max-width:100%}
.wrap{padding:0 clamp(16px,4vw,48px)}
.hero h1{font-size:clamp(46px,7.2vw,96px)}
.sh h2{font-size:clamp(32px,4.4vw,52px)}
.big{font-size:clamp(64px,9vw,112px)}
.big span{font-size:clamp(22px,2.6vw,36px)!important}
#s4 h2{font-size:clamp(40px,5vw,64px)!important}
.gift .v{font-size:clamp(44px,5vw,64px)}
.btn{min-height:44px}
.kv dd{overflow-wrap:anywhere}
.menu{display:none;width:44px;height:44px;border:1px solid var(--ln);border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu i{display:block;width:18px;height:2px;background:var(--tx);border-radius:2px}
.menu i:nth-child(2){width:12px;opacity:.6}
.seg span{min-height:36px;display:flex;align-items:center;justify-content:center}
.chips span{min-height:36px;display:inline-flex;align-items:center}
@media(max-width:1100px){
 .hero{grid-template-columns:1fr;gap:40px}
 .hero p.l{max-width:560px}
 .cd{grid-template-columns:1fr}
 .cd .xs svg{min-height:380px}
 .og{grid-template-columns:1fr}
 .cg{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
 .nl span:not(.btn):not(.menu){display:none}.nl .btn{display:none}.menu{display:flex}
 .cg{grid-template-columns:1fr}.pv{order:-1;position:static}
 .steps{grid-template-columns:1fr 1fr;row-gap:28px}
 .sh{display:block}.sh>.mu{text-align:left!important;margin-top:10px}
 .ex{position:static;display:inline-block;margin:10px 0 0 clamp(16px,4vw,48px)}
 #s3 .ex,#s4 .ex{margin-top:16px}
 footer{flex-direction:column;gap:8px}
}
@media(min-width:601px) and (max-width:860px){.pv .card{display:grid;grid-template-columns:1fr 1fr;align-items:center}.pv .xsm{height:100%;object-fit:cover}}
@media(max-width:600px){
 .hero>div>div[style*="display:flex"]{flex-direction:column}
 .hero .btn{justify-content:center}
 .meta{flex-direction:column;gap:6px}
 .steps{grid-template-columns:1fr;margin-top:48px}
 .units b{font-size:24px}.units div{padding:12px}
 .cd .xs svg{min-height:300px}
 .xs-h{flex-direction:column;gap:4px}
 .letter{padding:22px 18px}.letter>div:first-child{flex-direction:column;gap:4px}.gift>div:first-child{flex-direction:column;gap:4px}.tx{flex-direction:column}
 .gift{padding:18px}
 .cd>div>div[style*="display:flex"],.letter>div[style*="display:flex"]:last-child{flex-direction:column}
 .cd .btn,.letter .btn{justify-content:center}
 .amt .seg{width:140px!important}
 .chips{flex-wrap:wrap}
 .mnav{display:flex!important}
}
@media(max-width:360px){.hero h1{font-size:42px}.kv{font-size:11px!important}}

:root{--w1:#B3412E;--w2:#D0603F;--w3:#7A2A1D}
.wm img{height:34px;width:auto;display:block;margin-right:12px}
.nl a{color:var(--mu);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.nl a:hover,.nl a.cur{color:var(--tx)}
a{color:inherit}
button.btn{cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}
a.btn{text-decoration:none}
.seg button,.chips button{font:inherit;background:none;border:0;color:var(--mu);cursor:pointer}
.seg button{flex:1;min-height:44px;border-radius:999px;padding:0 10px}
.seg button.on{background:var(--sf);color:var(--tx);box-shadow:inset 0 0 0 1px var(--ln)}
.chips{flex-wrap:wrap}.chips button{min-height:44px;padding:0 16px;border:1px solid var(--ln);border-radius:999px;font-size:12px}
.chips button.on{border-color:var(--ac);color:var(--ac)}
input.in,textarea.in,select.in{outline:none;min-height:48px}input.in:focus,textarea.in:focus{border-color:var(--a2)}
textarea.in{resize:vertical;min-height:140px}
input[type=datetime-local].in{color-scheme:dark}
.drop{cursor:pointer;min-height:56px}.drop input{display:none}
.hint{font-size:12px;color:var(--mu);margin-top:8px}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:13px;cursor:pointer;min-height:44px}.chk input{width:20px;height:20px;accent-color:var(--ac);margin-top:2px;flex:none}
.view{display:none}.view.on{display:block}
.mpanel{display:none;position:absolute;left:0;right:0;top:100%;background:var(--sf);border:1px solid var(--ln);border-radius:14px;padding:8px;z-index:20;flex-direction:column}
.mpanel a,.mpanel button{min-height:48px;display:flex;align-items:center;padding:0 14px;color:var(--tx);text-decoration:none;border-radius:10px;font:600 14px var(--m);background:none;border:0;text-align:left;cursor:pointer}
.mpanel a:hover{background:var(--bg)}
nav{position:relative}nav.open .mpanel{display:flex}
button.menu{background:none;cursor:pointer}
.status{font-size:12px;margin-top:12px;min-height:18px;overflow-wrap:anywhere}.status.err{color:var(--w2)}.status.ok{color:var(--a2)}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--sf);border:1px solid var(--ln);border-radius:12px;padding:12px 16px;font-size:13px;z-index:50;max-width:min(560px,calc(100vw - 32px));display:none;overflow-wrap:anywhere}
.toast.err{border-color:var(--w1)}
.modal{position:fixed;inset:0;background:rgba(20,17,14,.75);display:none;align-items:center;justify-content:center;z-index:60;padding:16px}.modal.on{display:flex}
.modal .panel{width:min(420px,100%)}
.modal .panel button{width:100%;justify-content:flex-start;margin-top:10px}
.modal img{width:24px;height:24px}
.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.cc{background:var(--sf);border:1px solid var(--ln);border-radius:16px;padding:20px;text-decoration:none;display:block;min-width:0}
.cc:hover{border-color:var(--mu)}
.cc .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cc h3{font-size:26px;margin:12px 0 4px}
.bar{height:6px;background:var(--bg);border-radius:6px;margin:14px 0 10px;overflow:hidden}.bar i{display:block;height:100%;background:var(--a2)}
.pill{font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid var(--ln);color:var(--mu);white-space:nowrap}
.pill.s{border-color:var(--w1);color:var(--w2)}.pill.r{border-color:var(--ac);color:var(--ac)}.pill.o{border-color:var(--a2);color:var(--a2)}
.empty{border:1px dashed var(--ln);border-radius:16px;padding:40px 24px;text-align:center;color:var(--mu)}
.empty .btn{margin-top:18px}
.acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.txl a{color:var(--a2);text-decoration:none}
.att img{max-width:100%;border-radius:10px;border:1px solid var(--ln);display:block}
.letter .body{white-space:pre-wrap;font-size:15px;line-height:1.8;color:#ddd3c3;overflow-wrap:anywhere}
.done{border:1px solid var(--a2);border-radius:16px;padding:22px;margin-top:18px;display:none}
.done.on{display:block}
.mono-wrap{overflow-wrap:anywhere;word-break:break-all;font-size:12px}
.sealico{width:22px;height:22px;vertical-align:middle}
.ca{color:var(--mu);text-decoration:none;overflow-wrap:anywhere}
.big{white-space:nowrap}
@media(max-width:860px){.nl>a,.nl>.conn{display:none}.nl{gap:12px}}
@media(max-width:600px){.xs svg text{font-size:20px}.xs svg text.sm{font-size:18px}.big{font-size:clamp(48px,16vw,72px)}.units b{font-size:clamp(20px,6.4vw,26px)}.acts .btn{flex:1 1 100%;justify-content:center}.wm img{height:28px}}
@media(max-width:600px){footer>span{width:100%}}
@media(max-width:360px){.units div{padding:10px 8px}}
/* wallet chip */
.btn.conn.on{border-color:var(--ac);color:var(--tx);background:rgba(224,162,59,.08);font-variant-numeric:tabular-nums}
.btn.conn .dot,.mpanel .conn .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--a2);box-shadow:0 0 0 3px rgba(95,148,136,.25);margin-right:2px}
.btn.conn:hover{border-color:var(--ac)}
w3m-modal{font-family:var(--m)}
