@font-face{font-family:Caprasimo;src:url(/fonts/caprasimo-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Mansalva;src:url(/fonts/mansalva-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/fonts/dm-sans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/fonts/dm-sans-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/fonts/dm-sans-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{--bg:#F1F6F3;--ink:#12261F;--muted:#5B7570;--card:#fff;--edge:#12261F;--pine:#123F2F;--berry:#D7263D;--pink:#F8B8C6;--gold:#F6C945}
@media (prefers-color-scheme:dark){:root{--bg:#0C1F18;--ink:#EAF2EC;--muted:#8FA9A3;--card:#143328;--edge:#F8B8C6}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.5;padding-bottom:env(safe-area-inset-bottom,0)}
[hidden]{display:none!important}
h1,h2{font-family:Caprasimo,Georgia,serif;font-weight:400;margin:0}

.hero{background:var(--pine);padding:70px 20px 110px;position:relative;overflow:hidden}
.wrap{max-width:900px;margin:0 auto;position:relative;z-index:1}
.hero h1{font-size:clamp(3.6rem,17vw,8.4rem);line-height:.9;color:var(--pink);text-shadow:.04em .04em 0 var(--berry)}
.hero h1 span{display:block;overflow-wrap:anywhere}
.hero h1 .l2{color:var(--gold)}
.hero p{margin:26px 0 0;color:#cfe0d8;max-width:40ch;font-size:1.05rem}
.sp{position:absolute;color:var(--gold)}
.stamp{position:absolute;right:max(4vw,calc(50% - 440px));top:46px;width:clamp(92px,24vw,150px);aspect-ratio:1;transform:rotate(11deg)}
.stamp svg{width:100%;height:100%}
.stamp b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Caprasimo,serif;font-weight:400;color:#12261F;font-size:clamp(1.4rem,6vw,2.3rem)}

main{max-width:900px;margin:-60px auto 70px;padding:0 16px;position:relative;z-index:2}
.panel{background:var(--card);border:2.5px solid var(--edge);border-radius:20px;padding:20px;box-shadow:6px 6px 0 var(--edge);display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:26px}
.full{grid-column:1/-1}
.note-home{margin:0;color:var(--muted)}
.hint{margin:8px 0 0;font-size:.88rem;color:var(--muted)}
.row{display:flex;gap:10px}
.row input{flex:1;min-width:0}
label{font-size:.88rem;font-weight:700;display:block;margin-bottom:4px}
input,textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:2px solid var(--edge);border-radius:12px;padding:11px 13px}
textarea{resize:vertical;min-height:64px}
input[type=file]{padding:9px 10px}
input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
#prev{display:none;width:96px;height:72px;border-radius:8px;object-fit:contain;background:#F3F5F4;margin-top:8px;border:2px solid var(--edge)}

.btn{font:inherit;font-weight:700;border:2.5px solid var(--edge);border-radius:14px;padding:12px 18px;cursor:pointer;background:var(--berry);color:#fff;box-shadow:4px 4px 0 var(--edge)}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--edge)}
.btn:disabled{opacity:.6;cursor:default}
.btn.alt{background:var(--card);color:var(--ink);box-shadow:none}
.btn.big{padding:14px 22px;font-size:1.02rem}

.center{text-align:center;margin:0 0 26px}
a.btn{display:inline-block;text-decoration:none;text-align:center}
.row2{display:flex;gap:10px;flex-wrap:wrap}
.panel h2{font-size:1.9rem;line-height:1.1;overflow-wrap:anywhere}
.members{display:grid;gap:10px}
.member{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:2px solid var(--edge);border-radius:14px;background:var(--bg);color:var(--ink);text-decoration:none}
.member b{overflow-wrap:anywhere}
.member span{color:var(--muted);font-size:.9rem;white-space:nowrap}
.member:hover{background:var(--gold);color:#12261F}
.member:hover span{color:#12261F}
.tools{display:flex;gap:12px;flex-wrap:wrap;margin:40px 0 6px;align-items:center;justify-content:space-between}
.tools h2{font-size:2.4rem;line-height:1.05;overflow-wrap:anywhere}
.pdfout{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0 4px;font-weight:700}
#msg{font-size:.9rem;color:var(--muted);min-height:1.3em;margin:4px 0 0}

.grid{display:grid;gap:44px 28px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:30px;padding:0 6px}
.pol{background:#fff;color:#12261F;padding:12px 12px 20px;border-radius:6px;position:relative;box-shadow:0 14px 30px #0a281f33}
.pol:nth-child(odd){transform:rotate(-1.6deg)}.pol:nth-child(even){transform:rotate(1.4deg)}.pol:nth-child(3n){transform:rotate(.7deg)}
.pol::before{content:"";position:absolute;top:-14px;left:50%;width:84px;height:26px;margin-left:-42px;background:#F8B8C6e6;transform:rotate(-3deg);z-index:2}
.pw{position:relative}
.pic{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--pine)}
.pic:not(.ph){background:#F3F5F4}
.pic img{width:100%;height:100%;object-fit:cover;display:block}
.pic.ph::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:16%;margin-left:-8%;background:var(--gold)}
.pic.ph::after{content:"";position:absolute;top:50%;left:0;right:0;height:22%;margin-top:-11%;background:var(--gold)}
.bow{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-36px 0 0 -20px;z-index:1}
.sticker{position:absolute;right:-12px;bottom:-26px;width:82px;height:82px;display:flex;align-items:center;justify-content:center;transform:rotate(9deg);z-index:3}
.sticker svg{position:absolute;inset:0;width:100%;height:100%}
.sticker b{position:relative;font-family:Caprasimo,serif;font-weight:400;color:#fff;font-size:1.02rem;text-align:center;line-height:1.1}
.x{position:absolute;top:18px;left:18px;width:30px;height:30px;border-radius:50%;border:0;background:#123F2Fcc;color:#fff;cursor:pointer;font-size:1.1rem;line-height:1;z-index:4}
.mv{position:absolute;top:18px;right:18px;display:flex;gap:6px;z-index:4}
.m{width:34px;height:34px;border-radius:50%;border:0;background:#123F2Fcc;color:#fff;cursor:pointer;font-size:1.15rem;line-height:1}
.m:disabled{opacity:.3;cursor:default}
.e{position:absolute;top:54px;left:18px;width:30px;height:30px;border-radius:50%;border:0;background:#123F2Fcc;color:#fff;cursor:pointer;font-size:1rem;line-height:1;z-index:4}
.form-title{font-size:1.25rem!important;margin:0}
.cap{font-family:Mansalva,cursive;font-weight:400;font-size:1.65rem;line-height:1.15;margin:18px 4px 0;overflow-wrap:anywhere}
.nt{margin:6px 4px 0;font-size:.9rem;color:#5B7570;overflow-wrap:anywhere}
.pill{display:inline-block;margin:12px 4px 0;padding:7px 16px;border:2px solid #D7263D;border-radius:99px;font-weight:700;font-size:.85rem;color:#D7263D;text-decoration:none}
.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:38px 10px;border:2.5px dashed var(--edge);border-radius:20px}
.reset{text-align:center;margin-top:50px}
@media(max-width:560px){.panel{grid-template-columns:1fr}}
