
:root{color-scheme:light;--ink:#532a26;--muted:#78584e;--line:#d4bfb0;--paper:#fffaf3;--green:#78152a;--wine:#78152a;--deep:#570b1b;--gold:#bd8738;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{min-height:100%;background:#f8e9d8}body{margin:0;min-height:100vh;background:url("/diseno-2.png"),radial-gradient(ellipse at 48% 18%,#fff5e8 0%,#faebda 48%,#f4dcc4 100%);color:var(--ink);font:15px/1.55 var(--sans)}body:before{content:"";position:absolute;top:0;left:0;width:clamp(135px,25vw,300px);aspect-ratio:300/310;background:url("/diseno-3.webp") no-repeat top left/contain;pointer-events:none}main{position:relative;width:min(100%,800px);margin:0 auto;padding:26px 22px 34px}header{text-align:center;padding:0 12px 23px;margin:0 auto 6px}header .logo{display:block;width:clamp(178px,28vw,266px);max-width:75%;height:auto;margin:0 auto 10px}header .brand-sub{display:block;font-family:var(--serif);font-size:11px;font-weight:700;letter-spacing:.23em;color:#4f3024;text-transform:uppercase;margin-top:9px}header .brand-name{display:block;font-family:var(--serif);font-size:clamp(16px,2.8vw,24px);font-weight:700;line-height:1.3;letter-spacing:.30em;color:var(--wine);padding-left:.30em;margin:5px 0 0;text-transform:uppercase}.panel{background:linear-gradient(160deg,#fffaf4f7,#fbf4ebf5);border:1px solid #fff7ed;border-radius:22px;padding:30px 34px 34px;box-shadow:0 13px 35px #7543211c,0 1px 6px #9a603214;overflow:hidden}h2{font:600 clamp(25px,4.1vw,39px)/1.15 var(--serif);letter-spacing:-.025em;color:var(--wine);text-align:center;margin:0 0 10px;overflow-wrap:anywhere}h2+p{text-align:center;font-family:var(--serif);font-size:clamp(16px,2.3vw,20px);line-height:1.4;margin:0 0 19px;color:#5e382c}h3{font:600 20px/1.3 var(--serif);color:var(--wine);margin:23px 0 10px}p{margin:8px 0 16px;overflow-wrap:anywhere}.muted,small{color:var(--muted);font-size:13px;line-height:1.5}label.field{display:block;font-family:var(--serif);font-size:17px;font-weight:700;color:var(--wine);margin:14px 0 5px;line-height:1.25}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;border:1px solid #bca59a;border-radius:8px;background:#fffdfaf2;color:var(--ink);padding:11px 13px;font:16px/1.35 var(--sans);min-width:0;min-height:48px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 2px #582a1f06}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--wine);box-shadow:0 0 0 3px #78152a20}input::placeholder,textarea::placeholder{color:#947a70}textarea{resize:vertical;min-height:96px}input[type=checkbox],input[type=radio]{accent-color:var(--wine);width:20px;height:20px;flex:none;margin:2px 0}fieldset{border:0;padding:0;margin:20px 0;min-width:0}legend{font:700 19px/1.25 var(--serif);color:var(--wine);margin-bottom:8px}label.choice{display:flex;gap:11px;padding:13px;border:1px solid var(--line);background:#fffcf8;border-radius:9px;margin:8px 0;align-items:flex-start;font-size:15px;cursor:pointer;transition:background .15s,border-color .15s}label.choice:has(input:checked){border-color:var(--wine);background:#f7e7e5}label.choice:has(input:focus-visible){outline:2px solid var(--wine);outline-offset:2px}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.notice{padding:15px 17px;background:#f0d9d2;border:1px solid #edd2c8;border-radius:9px;margin:20px 0 16px;font:16px/1.5 var(--serif);color:#642335;overflow-wrap:anywhere}.error{background:#fae8e4;color:#8e2426;border:1px solid #e8bdb2;padding:12px;border-radius:8px;margin:12px 0}.actions{display:grid;gap:10px;margin:16px 0}button,a.button{display:block;text-align:center;border:1px solid transparent;background:linear-gradient(115deg,#88172e,#6a1025);color:#fffaf2;border-radius:9px;font:600 15px/1.4 var(--sans);padding:15px 16px;text-decoration:none;cursor:pointer;width:100%;box-shadow:0 3px 8px #68102718;transition:background .15s,box-shadow .15s}button:hover,a.button:hover{background:#570b1b;box-shadow:0 4px 12px #68102727}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:3px}button.secondary,a.secondary{background:#fffaf5;border:1px solid #b58a8d;color:var(--wine);box-shadow:none}button.secondary:hover,a.secondary:hover{background:#f5e0dd}button.danger{background:transparent;color:#9a3042;border:1px solid #d8aea6;font-size:12px;padding:7px;box-shadow:none}button:disabled{opacity:.55;cursor:wait}a{color:var(--wine)}.pill{font-size:12px;font-weight:650;border-radius:20px;background:#eed8d3;color:var(--wine);display:inline-block;padding:5px 10px}.progress{height:9px;background:#ead8cf;border-radius:8px;overflow:hidden;margin:10px 0}.progress>div{height:100%;background:var(--wine)}.big{font:36px var(--serif);color:var(--wine)}.stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.stat{padding:13px;background:#f3e5da;border-radius:9px;font-size:13px;overflow-wrap:anywhere}.stat b{color:var(--wine);font-size:24px;display:block;font-family:var(--serif)}.person{padding:12px 0;border-top:1px solid var(--line)}.person small{display:block}.person button{width:auto;margin-top:8px}.link{font:12px/1.55 ui-monospace,monospace;overflow-wrap:anywhere;background:#f6e9e0;border:1px solid var(--line);padding:10px;border-radius:7px;margin:8px 0}details{font-size:13px;color:var(--muted);margin:17px 0;border-top:1px solid #e1cfc2;padding-top:12px}summary{cursor:pointer;color:var(--wine);font:600 15px/1.4 var(--sans)}#f>button[type=submit]{margin-top:21px;min-height:55px;font:650 15px/1.35 var(--sans);letter-spacing:.035em}footer{text-align:center;font-size:12px;color:var(--muted);margin:21px 12px}[hidden]{display:none!important}
@media(max-width:600px){main{padding:21px 13px 25px}header{padding:0 5px 17px;margin-bottom:5px}header .logo{width:188px}header .brand-sub{font-size:9px;letter-spacing:.17em}header .brand-name{font-size:17px;letter-spacing:.25em}.panel{padding:23px 19px 25px;border-radius:17px}body:before{width:clamp(115px,31vw,170px)}h2{font-size:30px;line-height:1.12}h2+p{font-size:17px;margin-bottom:17px}label.field{font-size:16px;margin-top:13px}.two{gap:9px}.notice{padding:13px 12px}input:not([type=radio]):not([type=checkbox]),select,textarea{padding:11px 10px;min-height:48px}#f>button[type=submit]{font-size:14px}}
@media(max-width:350px){.two{grid-template-columns:1fr}.panel{padding:20px 15px}header .logo{width:166px}h2{font-size:26px}.stats{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
