:root{color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18354a;background:#fcf7ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:280px}main{max-width:440px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:#fcf7ef}header{padding:38px 24px 30px}.brand{display:flex;align-items:center;justify-content:center;gap:9px;color:#a44730;text-decoration:none;font:700 25px Georgia,serif}.brand img{object-fit:contain}.content{padding:0 24px}h1{font:400 31px/1.2 Georgia,serif;letter-spacing:-.6px;margin:12px 0 16px;text-align:center}p{font-size:15px;line-height:1.55}#intro,#complete{text-align:center;color:#58616b}#intro{margin:0 0 24px}#message:empty{display:none}#message{padding:12px 14px;border-radius:14px;background:#f7ecdd;color:#583b2e;font-size:14px}label{display:block;font-size:13px;color:#58616b;margin:16px 0 7px}input{width:100%;min-width:0;border:0;background:transparent;padding:15px 4px;font:inherit;color:#18354a;min-height:54px}.password-row{display:flex;align-items:center;gap:8px;border:1px solid #e3d4c5;border-radius:17px;background:#fffcf7;padding:0 12px}.field-icon{font-size:23px;line-height:1;color:#18354a}button,.primary-link{cursor:pointer;background:#a44730;border:1px solid transparent;color:white;border-radius:28px;min-height:52px;padding:13px 20px;font:500 15px system-ui;width:100%;margin-top:22px;text-align:center;text-decoration:none;display:block}button:hover,.primary-link:hover{background:#8f3924}button:disabled{cursor:default;opacity:.6}.show{width:auto;min-width:48px;min-height:48px;margin:0;padding:6px;background:transparent;color:#18354a;font-size:12px}.show:hover{background:#f0e5d8}.text-button{background:transparent;color:#a44730;margin-top:8px;min-height:48px}.text-button:hover{background:#f7ecdd}.hint{font-size:12px;color:#58616b;margin:12px 0}.guidance{background:#f0f1e8;border-radius:18px;padding:14px 17px;margin:18px 0 0}.guidance p{font-size:13px;margin:7px 0;display:flex;gap:10px;align-items:center}.guidance p:before{content:'○';color:#858e80;font-size:19px;line-height:1}.guidance p.met:before{content:'✓';color:#23734c}.guidance small{display:block;color:#58616b;font-size:11px;margin-top:12px}.notice{padding:18px;background:#f7ecdd;border-radius:18px}.notice p{margin:0 0 8px}.notice button{margin:0}.option{display:block;width:100%;padding:18px;text-align:left;background:#fffcf7;color:#18354a;border:1px solid #e3d4c5;border-radius:18px;text-decoration:none;margin:12px 0;font-size:15px}.option span{display:block;font-size:12px;color:#58616b;line-height:1.5;margin-top:6px}.option:hover{background:#f7ecdd}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #ad6945;outline-offset:3px}footer{text-align:center;padding:16px 24px;color:#746359;font-size:11px}footer p{font-family:Georgia,serif;font-size:14px}footer a{color:#746359;text-underline-offset:3px}[hidden]{display:none!important}.art{position:relative;overflow:hidden;isolation:isolate;flex-shrink:0}.art img{position:absolute;max-width:none;pointer-events:none}#bottom-art{height:190px;margin-top:auto}#top-art{height:280px}main[data-stage=complete] #top-art{height:320px}main[data-stage=complete] #bottom-art{display:none}main[data-stage=sent] #bottom-art{height:110px}main[data-stage=help] #bottom-art,main[data-stage=invalid] #bottom-art{height:270px}@media(min-width:600px){body{padding:32px 0}main{min-height:850px;border:1px solid #e3d4c5;border-radius:30px;overflow:hidden;box-shadow:0 16px 60px #4935210a}}@media(max-width:340px){.content{padding:0 18px}h1{font-size:28px}}



.art-window{position:absolute;bottom:0;overflow:hidden}
main[data-stage=invalid] #bottom-art{height:auto;aspect-ratio:1;margin-top:auto}
main[data-stage=help] #bottom-art{height:auto;aspect-ratio:280 / 426;margin-top:0}

main[data-stage=invalid] footer,main[data-stage=help] footer{order:1}
main[data-stage=invalid] #bottom-art,main[data-stage=help] #bottom-art{order:2}

main[data-stage=sent] header{padding-bottom:10px}
main[data-stage=sent] #top-art{height:210px;overflow:hidden;z-index:0}
main[data-stage=sent] .content{position:relative;z-index:1}
main[data-stage=sent] h1{margin-top:0}
main[data-stage=sent] #intro{margin:0 0 20px}
main[data-stage=sent] footer{order:1;margin-top:auto;padding-top:12px;padding-bottom:12px}
main[data-stage=sent] footer p{display:none}
main[data-stage=sent] #bottom-art{display:none}
.outline-link{display:block;margin-top:20px;min-height:48px;padding:12px;text-align:center;border:1px solid #a44730;border-radius:18px;color:#a44730;text-decoration:none}
