.behidden{display:none !important}.dflex{display:flex}.dflex-row{display:flex;flex-direction:row}.dflex-col{display:flex;flex-direction:column}.dflexr-jcs{display:flex;flex-direction:row;justify-content:flex-start}.dflexr-jce{display:flex;flex-direction:row;justify-content:flex-end}.dflexr-jcc{display:flex;flex-direction:row;justify-content:center}.dflexr-jcsa{display:flex;flex-direction:row;justify-content:space-around}.dflexr-jcsb{display:flex;flex-direction:row;justify-content:space-between}.dflexr-jcse{display:flex;flex-direction:row;justify-content:space-evenly}.dflexc-jcs{display:flex;flex-direction:column;justify-content:flex-start}.dflexc-jce{display:flex;flex-direction:column;justify-content:flex-end}.dflexc-jcc{display:flex;flex-direction:column;justify-content:center}.dflexc-jcsa{display:flex;flex-direction:column;justify-content:space-around}.dflexc-jcsb{display:flex;flex-direction:column;justify-content:space-between}.dflexc-jcse{display:flex;flex-direction:column;justify-content:space-evenly}.flexfit{flex:1}.flexgrow{flex:1 0}.flexshrink{flex:0 1}.flexwrap-on{flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;height:35px;padding:0 1.5rem;border-radius:5px;font-size:.9rem;font-weight:600;text-decoration:none;border:none;cursor:pointer;box-sizing:border-box}.btn-delete{background-image:linear-gradient(180deg, #e07070, #9a3030);color:#000}.btn-delete:hover{background-color:#f44}.btn-cancel{background-color:#f0c040;color:#000}.btn-cancel:hover{background-color:#ffd060;color:red}.btn-save{background-color:#7ed957;color:#000}.btn-save:hover{background-color:#3dcc6e}.btn-general{background-color:#2a8f5a;color:#0a0610;text-shadow:1px 1px 2px #ff0;width:50%}.nav-link{text-decoration:none}.nav-link:hover{font-weight:bold;line-height:1.5}.main-nav-menu li a{color:#9bff8a}[hidden]{display:none !important}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:20;padding:.5rem 1rem;background:#7ed957;color:#0a0610;font-weight:700}.skip-link:focus{top:1rem}.site-body{position:relative;min-height:100vh;background-color:#0a0610;background-image:linear-gradient(180deg, rgba(10, 6, 16, 0.72), rgba(10, 6, 16, 0.88)),var(--site-bg);background-size:cover;background-position:center;background-attachment:fixed}.site-header{position:sticky;top:0;z-index:10;background:rgba(10,6,16,.9);border-bottom:1px solid rgba(155,89,208,.35);backdrop-filter:blur(10px)}.site-header__inner{align-items:center;gap:1rem;width:min(1180px,100% - 2rem);margin:0 auto;padding:.75rem 0;flex-wrap:wrap}.brand-mark{align-items:center;min-width:0}.brand-mark__name{font-family:"Creepster","Mystery Quest",cursive;font-size:1.85rem;font-weight:400;letter-spacing:.06em;line-height:1;color:hsl(270,55.5555555556%,17.0588235294%);text-shadow:1px 2px 0 #7ed957,0 0 22px rgba(126,217,87,.7),0 0 42px rgba(126,217,87,.4)}.site-nav ul{list-style:none;margin:0;padding:0;gap:1rem 1.25rem;flex-wrap:wrap;align-items:center}.site-nav .nav-link{font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c4b0d4;border-bottom:1.5px solid rgba(0,0,0,0);padding-bottom:.12rem}.nav-session{align-items:center;gap:.4rem;margin-left:.25rem}.nav-session form{margin:0}.nav-session__name{font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:lowercase;color:#7ed957}@media(hover: hover){.site-nav .nav-link:hover,.brand-mark:hover .brand-mark__name{color:hsl(270,55.5555555556%,25.0588235294%)}.site-nav .nav-link:hover{border-bottom-color:#f08a24}}.site-main{width:min(1180px,100% - 2rem);margin:0 auto;padding:2rem 0 3rem;min-height:60vh}.site-footer{border-top:1px solid rgba(155,89,208,.28);margin-top:auto;padding:2rem 1rem 2.5rem;background:rgba(18,8,28,.82)}.site-footer__inner{width:min(1180px,100%);margin:0 auto;gap:.4rem}.site-footer__brand{margin:0;font-family:"Creepster",cursive;color:hsl(270,55.5555555556%,17.0588235294%);letter-spacing:.04em;text-shadow:1px 1px 0 #7ed957,0 0 18px rgba(126,217,87,.55)}.site-footer__note{margin:0;color:#c4b0d4;font-size:.92rem}.site-footer__visits{margin:.35rem 0 0;color:#c4b0d4;font-size:.82rem;letter-spacing:.08em;text-transform:lowercase}.flash{position:absolute;left:50%;top:2rem;z-index:15;width:fit-content;max-width:calc(100% - 2rem);margin:0;padding:.45rem 1rem;border-radius:8px;text-align:center;transform:translate(-50%, -50%);opacity:1;transition:opacity .5s ease;pointer-events:none}.site-header .flash{top:100%}.flash--fade{opacity:0}@media(prefers-reduced-motion: reduce){.flash{transition:none}}.flash--notice{background:rgba(62,184,178,.2);border:1px solid #3eb8b2}.flash--alert{background:rgba(240,138,36,.18);border:1px solid #f08a24}.hero{align-items:center;text-align:center;gap:.75rem;padding:2.5rem 1rem 2rem}.hero__title{margin:0;font-family:"Creepster","Mystery Quest",cursive;font-size:clamp(2.6rem,8vw,5.5rem);font-weight:400;letter-spacing:.04em;color:hsl(270,55.5555555556%,17.0588235294%);text-shadow:2px 2px 0 #7ed957,0 0 28px rgba(126,217,87,.75),0 0 56px rgba(126,217,87,.4)}.hero__tagline{margin:0;max-width:36rem;font-family:"Mystery Quest","Nunito",cursive;font-size:clamp(1.05rem,2.4vw,1.45rem);color:#c4b0d4}.storefront-closed{align-items:center;text-align:center;gap:.9rem;width:min(40rem,100%);margin:0 auto 3rem;padding:1.5rem 1.25rem 2rem;background:rgba(22,10,32,.86);border:1px solid rgba(155,89,208,.32);border-radius:.75rem;box-shadow:0 12px 28px rgba(4,0,10,.65)}.storefront-closed__status{margin:0;font-family:"Mystery Quest","Nunito",cursive;font-size:clamp(1.4rem,3vw,1.9rem);color:#f08a24;letter-spacing:.04em}.storefront-closed__copy,.storefront-closed__note{margin:0;max-width:34rem;color:#c4b0d4;line-height:1.55}.storefront-closed__note{color:#c084e8}.checkout-result{align-items:center;text-align:center;gap:1rem;width:min(36rem,100%);margin:2rem auto 3rem}.checkout-result__title{margin:0;font-family:"Mystery Quest",cursive;font-size:clamp(1.6rem,4vw,2.2rem);color:#7ed957}.shop{padding:0 0 3rem}.shop__heading{margin:0 0 1.5rem;text-align:center;font-family:"Mystery Quest","Nunito",cursive;font-size:1.45rem;font-weight:400;color:#c4b0d4}.product-grid{gap:1.25rem}.product-card{flex:1 1 100%;width:100%;background:rgba(22,10,32,.86);border:1px solid rgba(155,89,208,.32);border-radius:.75rem;overflow:hidden;box-shadow:0 12px 28px rgba(4,0,10,.65);transition:transform 160ms ease,border-color 160ms ease}@media only screen and (min-width: 600px){.product-card{flex:1 1 calc(50% - 1.25rem);width:auto}}@media only screen and (min-width: 992px){.product-card{flex:1 1 calc(33.333% - 1.25rem)}}@media only screen and (min-width: 1440px){.product-card{flex:0 1 calc(25% - 1.25rem)}}.product-card__media{position:relative;aspect-ratio:1;background:#160c1e;overflow:hidden}.product-card__image,.product-card__placeholder{width:100%;height:100%;object-fit:cover;display:block}.product-card__placeholder{background:radial-gradient(circle at 50% 40%, rgba(155, 89, 208, 0.28), transparent 60%),#160c1e}.product-card__badge{position:absolute;top:.65rem;left:.65rem;padding:.22rem .5rem;background:rgba(18,8,28,.82);border:1px solid rgba(126,217,87,.45);color:#7ed957;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.product-card__body{gap:.3rem;padding:.9rem 1rem 1.1rem}.product-card__title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.product-card__price{margin:0;color:#7ed957;font-weight:800;letter-spacing:.04em}.product-card__body form{margin:0}.product-card__buy{width:auto;margin-top:.55rem}@media(hover: hover){.product-card:hover{border-color:rgba(126,217,87,.5);transform:translateY(-4px)}}@media(prefers-reduced-motion: reduce){.product-card,.product-card:hover{transform:none;transition:none}}.login-page{width:min(26rem,100% - 2rem);margin:3rem auto;gap:.7rem;text-align:center}.login-page__title{margin:0;font-family:"Creepster",cursive;font-size:2.4rem;color:hsl(270,55.5555555556%,17.0588235294%);text-shadow:1px 2px 0 #7ed957,0 0 22px rgba(126,217,87,.55)}.login-page__tag{margin:0 0 .5rem;color:#c4b0d4}.login-page__form{gap:.9rem;text-align:left}.store-status{align-items:center;gap:1rem;margin-bottom:1.75rem;padding:1rem 1.1rem;background:rgba(22,10,32,.86);border:1px solid rgba(155,89,208,.32);border-radius:.75rem}.store-status form{margin:0}.store-status__title{margin:0;font-family:"Mystery Quest",cursive;font-size:1.35rem;color:#f4eef8}.admin-band{padding:0 0 2rem}.admin-band__head{align-items:center;gap:1rem;margin-bottom:1.25rem}.admin-band__title{margin:0;font-family:"Mystery Quest",cursive;font-size:1.8rem;color:#f4eef8}.lede{margin:.35rem 0 1rem;color:#c4b0d4}.admin-form{gap:1rem;max-width:40rem}.admin-form__row{gap:1rem}.admin-form__actions{gap:.75rem;align-items:center;margin-top:.5rem}.field-label{display:flex;flex-direction:column;gap:.4rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c4b0d4}.field-label input,.field-label select,.field-label textarea{width:100%;padding:.7rem .8rem;border:1.5px solid rgba(155,89,208,.4);border-radius:4px;background:rgba(10,6,16,.75);color:#f4eef8;font:inherit;font-weight:500;letter-spacing:.02em;text-transform:none}.field-label input:focus,.field-label select:focus,.field-label textarea:focus{outline:2px solid #7ed957;outline-offset:2px;border-color:#7ed957}.field-hint{margin:0;font-size:.85rem;color:#c4b0d4}.field-check{align-items:center;gap:.6rem;color:#f4eef8}.admin-preview{width:8rem;height:8rem;object-fit:cover;border-radius:.5rem;border:1px solid rgba(155,89,208,.35)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;background:rgba(22,10,32,.86);border:1px solid rgba(155,89,208,.28)}.admin-table th,.admin-table td{padding:.7rem .8rem;text-align:left;border-bottom:1px solid rgba(155,89,208,.18);vertical-align:middle}.admin-table th{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#c4b0d4}.admin-table__actions{align-items:center;gap:.9rem;white-space:nowrap}.admin-table__actions form{display:inline;margin:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;border-radius:.35rem;background:rgba(0,0,0,0);cursor:pointer;color:#c4b0d4}.icon-btn svg{width:1.2rem;height:1.2rem;fill:currentColor}.icon-btn--edit{color:#3eb8b2}.icon-btn--delete{color:#e07070}.icon-btn--logout{color:#c4b0d4}@media(hover: hover){.icon-btn--edit:hover{color:#7ed957;background:rgba(62,184,178,.16)}.icon-btn--delete:hover{color:#ff8a8a;background:rgba(224,112,112,.16)}.icon-btn--logout:hover{color:#f08a24;background:rgba(240,138,36,.16)}}.admin-item{align-items:center;gap:.7rem}.admin-item__thumb{width:2.6rem;height:2.6rem;object-fit:cover;border-radius:.3rem}.nav-link--button{background:none;border:0;padding:0;color:#c4b0d4;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.error-list{margin:0;padding-left:1.1rem}.visit-path{font-size:.9em;color:#c084e8}.visit-toggles,.visit-pager{align-items:center;gap:.75rem}.visit-toggles .btn,.visit-pager .btn{width:auto;flex:0 0 auto}.visit-toggles{margin:1rem 0 0}.visit-pager{margin:0 0 2rem}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;min-height:100%;background-color:#0a0610;color:#f4eef8}body{font-family:"Nunito",system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
