.request-page{color-scheme:dark}
.request-main{max-width:760px;margin:0 auto;padding:2.75rem 1.25rem 4rem}
.request-intro{margin-bottom:1.5rem}
.request-intro .eyebrow{font-size:.875rem}
.request-intro h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.05;letter-spacing:-.05em;margin:.75rem 0 1rem}
.request-intro h1 span{color:#d3a9f4}
.request-intro h1 #wish-heading-label{color:inherit}
.request-intro>p:not(.eyebrow){color:#c5bacf;font-size:1rem}
.request-panel{margin:0;padding:1.5rem;min-width:0;border:1px solid rgba(210,176,239,.2);border-radius:16px;background:linear-gradient(140deg,#1c1524,#100d16)}
.details-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.details-row>div{min-width:0}
.field-label{display:block;font-size:1rem;font-weight:650;margin:1rem 0 .45rem}
.request-panel>.details-row:first-child .field-label{margin-top:0}
.field-label span{font-size:.875rem;font-weight:400;color:#c5bacf}
.request-panel input:not([type=checkbox]),.request-panel select,.request-panel textarea{width:100%;min-width:0;min-height:48px;background:#0c0911;border:1px solid #65516f;border-radius:10px;padding:.8rem;color:#fff;font:inherit;font-size:1rem}
.request-panel textarea{resize:vertical;min-height:96px}
.request-panel input::placeholder,.request-panel textarea::placeholder{color:#a99db5;opacity:1}
.request-page :is(button,a,input,select,textarea):focus-visible{outline:3px solid #e3c5ff;outline-offset:3px}
.panel-note,.submit-note{font-size:.875rem;color:#c5bacf;line-height:1.55}
.inline-button{font:inherit;border:0;background:none;color:#e0b9ff;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.3rem 0}
.request-consent{display:flex;align-items:start;gap:.65rem;margin:1.25rem 0;color:#d0c3db;font-size:.9375rem;line-height:1.5}
.request-consent input{flex:none;width:20px;height:20px;margin-top:.2rem;accent-color:#b37de0}
.request-submit{width:100%;min-height:52px;padding:1rem;font-size:1rem;white-space:normal;background:linear-gradient(110deg,#8750ba,#a34b93)!important}
.request-submit:disabled{opacity:.5;cursor:not-allowed}
.submit-note{margin:1rem 0 0}
.request-result{margin-top:1rem;border:1px solid #bb91dd;border-radius:12px;padding:1rem}
.request-result p{margin:.4rem 0 1rem}
.request-result[hidden]{display:none}
@media(max-width:560px){.request-main{padding-inline:1rem}.request-panel{padding:1.1rem}.details-row{grid-template-columns:1fr;gap:0}.request-panel>.details-row:first-child>div+div .field-label{margin-top:1rem}}

.wish-section{margin:1.5rem 0;padding-top:1.4rem;border-top:1px solid #65516f}.wish-section h2{font-size:1.5rem;margin:0}.wish-tabs{display:flex;gap:.5rem;margin:1rem 0}.wish-tabs button,.wish-month-nav button,.wish-days button{color:#eee;background:#21182c;border:1px solid #65516f;border-radius:9px;min-height:44px;font:inherit;cursor:pointer}.wish-tabs button{flex:1;padding:.65rem .4rem}.wish-tabs button[aria-pressed=true],.wish-days button[aria-pressed=true]{background:#8054a2;border-color:#e5bdff;color:white}.wish-calendar{padding:1rem;border:1px solid #65516f;border-radius:12px;background:#100c17}.wish-month-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:.5rem}.wish-month-nav select{text-align:center}.wish-weekdays,.wish-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.wish-weekdays{margin:1rem 0 .5rem;text-align:center;font-size:.85rem;color:#c5bacf}.wish-days button{min-height:44px;padding:0;font-size:.95rem}.wish-days button:disabled,.wish-month-nav button:disabled{opacity:.3;cursor:default}.wish-days button[data-selected]{box-shadow:inset 0 -3px #dfa8ff}.wish-slot{margin-top:1.2rem}.wish-slot h3{font-size:1.05rem;margin:0;color:#e2c4f8}.wish-notice{font-size:.9rem;line-height:1.55;padding:1rem;background:#251b32;border-radius:10px;color:#e2d4ed}.wish-notice strong{display:block;margin-bottom:.3rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:380px){.wish-calendar{padding:.55rem}.wish-days{gap:2px}.wish-days button{min-height:42px}.wish-tabs button{font-size:.875rem}}

.wish-section{margin:0;border:0;padding:0}.request-intro h1{font-size:clamp(2.1rem,5vw,3.3rem)}.wish-header{max-width:760px;margin:auto;padding:1rem 1.25rem 0}.wish-header img{width:108px;height:90px;object-fit:contain}.request-main{padding-top:1rem}.wish-footer{text-align:center;padding:0 1rem 2rem;color:#c5bacf;font-size:.85rem}.wish-footer a{margin:0 .5rem;text-decoration:underline}.wish-slot .details-row{grid-template-columns:1fr 1fr;gap:.7rem}.wish-slot label{font-size:.9rem}.wish-slot input{padding:.55rem}

.wish-days button[data-blocked]{text-decoration:line-through;background:#3b2733;border-color:#8a5c74;opacity:.65}.wish-slot input:disabled{opacity:.45}

.wish-days button[data-partial]{border-color:#e5bc71;box-shadow:inset 0 -3px #e5bc71}.wish-days button[data-partial][data-selected]{box-shadow:inset 0 -3px #dfa8ff}

.wish-notice strong.inline-deadline{display:inline;margin:0}

.wish-days button[data-request-only]{border:1px dashed #e5bc71;color:#e5bc71;opacity:1;text-decoration:none;background:#292119}
