
*{box-sizing:border-box;margin:0}body{max-width:480px;min-height:100vh;margin:0 auto;font-family:Lora,serif;color:#1f2f4d;background:#f4ead5;background-image:radial-gradient(rgba(120,80,40,.07) 1px,transparent 1px),radial-gradient(rgba(120,80,40,.05) 1px,transparent 1px);background-size:6px 6px,11px 11px;background-position:0 0,3px 5px;padding:22px 22px;position:relative}
.prog{display:flex;gap:6px;font-size:10px;letter-spacing:1px;text-transform:uppercase}.prog div{flex:1;border-top:3px solid #d6c7a6;padding-top:5px;color:#9a8a6c}.prog .on{border-color:#c0583a;color:#c0583a;font-weight:600}
.stamp{position:absolute;right:20px;top:52px;width:86px;height:86px;border:3px double #c0583a;border-radius:50%;color:#c0583a;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;font-weight:600;transform:rotate(-14deg);opacity:.85;line-height:1.3}
h1{font-family:'Abril Fatface';font-size:36px;line-height:1.05;margin:30px 0 8px;width:250px}.sub{font-size:14px;color:#5a5244;margin-bottom:18px}
.card{background:#fffaf0;border:1px solid #d9c9a5;padding:12px 14px;margin-bottom:10px;box-shadow:2px 3px 0 #e0cfac;position:relative}
.ticket{display:flex;padding:0}.ticket>div{padding:12px 14px}.ticket .l{flex:1.4;border-right:2px dashed #d0b98d}.ticket .r{flex:1}
label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#9a8a6c;display:block}.val{font-size:17px;font-weight:600;margin-top:3px}
h2{font-family:'Abril Fatface';font-size:20px;margin:18px 0 8px;font-weight:400}
.opt{display:flex;gap:12px;align-items:center}.opt .ic{font-size:22px}.opt b{font-size:15px}.opt p{font-size:12px;color:#6b6252}
.sel{border:2px solid #c0583a;background:#fff4e6}.tag{position:absolute;top:-9px;right:10px;background:#c0583a;color:#fff;font-size:9px;letter-spacing:1px;padding:2px 7px;text-transform:uppercase}
.btn{display:block;margin-top:16px;background:#1f2f4d;color:#f4ead5;text-align:center;padding:16px;font-family:'Abril Fatface';font-size:20px;letter-spacing:1px;border-radius:4px;box-shadow:0 4px 0 #0e1a30}
.mini{font-family:'Abril Fatface';font-size:18px;color:#c0583a;margin-bottom:6px}
.chips{display:flex;gap:6px}.chip{flex:1;text-align:center;border:1px solid #d9c9a5;background:#fffaf0;padding:9px 4px;font-size:13px;font-weight:600}.chip.on{background:#1f2f4d;color:#f4ead5;border-color:#1f2f4d}
.price{margin-left:auto;font-family:'Abril Fatface';font-size:20px;color:#c0583a}
.tl{display:flex;justify-content:space-between;font-size:11px;margin-top:8px}.tl span{text-align:center;flex:1}.tl i{display:block;font-style:normal;font-size:16px}
.note{font-size:12px;color:#6b6252;margin-top:8px}.foot{font-size:11px;color:#9a8a6c;text-align:center;margin-top:8px}
input,select{border:0;background:none;font:inherit;font-weight:600;color:inherit;width:100%;outline:none;font-size:16px;margin-top:3px}
.card.opt,.chip,.door,.seg div{cursor:pointer}button.btn{border:0;width:100%;cursor:pointer}button.btn:disabled{opacity:.45;cursor:not-allowed}
.seg{display:flex;margin-top:7px;border:1px solid #1f2f4d;font-size:12px;font-weight:600;text-align:center}.seg div{flex:1;padding:6px}.seg .on{background:#1f2f4d;color:#f4ead5}
.back{font-size:12px;color:#9a8a6c;cursor:pointer;margin-top:10px;display:inline-block}.err{color:#c0583a;font-size:12px;margin-top:6px}
.hrow{display:flex;gap:8px;margin-top:4px}.hrow>div{flex:1}.hrow>div:first-child{border-right:2px dashed #d0b98d;padding-right:8px}.hrow input{font-size:13px;width:100%;display:block;margin:2px 0 0}
.small{font-size:11px;color:#9a8a6c}.door{display:flex;padding:0;margin-bottom:16px}.door .stub{width:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:30px}
.ring{animation:pulse 1s infinite}@keyframes pulse{50%{transform:scale(1.15)}}
@media(max-width:360px){h1{font-size:30px!important;width:auto!important}}
.l{position:relative}.plist{position:absolute;left:0;right:-60%;top:100%;z-index:5;background:#fffaf0;border:1px solid #d9c9a5;box-shadow:2px 3px 0 #e0cfac}.plist div{padding:8px 12px;font-size:14px;cursor:pointer;border-top:1px dashed #e6d8b8}.plist div:hover{background:#fff1e3}.plist:empty{display:none}

#failbar{display:none;position:fixed;left:12px;right:12px;bottom:16px;z-index:50;background:#c0583a;color:#fff;padding:12px 14px;font-size:14px;box-shadow:0 4px 0 #8a3a22;cursor:pointer;max-width:456px;margin:0 auto}
