:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}}.left{text-align:left;width:50%}.right{text-align:right;width:50%;margin-left:auto}@media(max-width:550px){.left{width:100%}.right{width:100%;margin-left:0}}ul{list-style:none}li:before{content:"— ";position:relative;left:-6px;margin-left:-21px;display:inline-block;vertical-align:top;margin-right:0}h4{margin:0}.search{background:inherit;border:none;padding:0;text-align:center;outline:none;font-size:24px}.olof-img{transition:all 1s;width:15%;opacity:1}.olof-img.hide{opacity:0;width:0%}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.wishlist-page{max-width:900px;margin:0 auto;padding:2rem 1rem}.wishlist-header{text-align:center;margin-bottom:2rem}.wishlist-header h1{margin:.5rem 0 .25rem}.wishlist-subtitle{opacity:.7;margin:0}.back-link{display:inline-block;margin-bottom:.5rem;text-decoration:none;opacity:.7}.back-link:hover{opacity:1}.wishlist-loading,.wishlist-empty{text-align:center;opacity:.6;padding:3rem 0}.wishes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.wish-card{border:1px solid rgba(128,128,128,.3);border-radius:12px;padding:1.25rem;transition:border-color .2s}.wish-card:hover{border-color:#80808099}.wish-card--full{opacity:.6}.wish-card__title{margin:0 0 .5rem;font-size:1.1rem}.wish-card__title a{text-decoration:none}.wish-card__title a:hover{text-decoration:underline}.wish-card__desc{margin:0 0 .5rem;opacity:.8;font-size:.9rem}.wish-card__price{margin:0 0 .5rem;font-weight:600;font-size:1.1rem}.wish-card__slots{margin:0 0 .75rem;font-size:.85rem;opacity:.6}.wish-card__btn{width:100%;padding:.5rem;border:none;border-radius:8px;background:#646cff;color:#fff;cursor:pointer;font-size:.9rem;transition:background .2s}.wish-card__btn:hover{background:#535bf2}.wish-card--highlighted{border-color:#646cff;animation:highlight-pulse 2s ease-out}@keyframes highlight-pulse{0%{box-shadow:0 0 #646cff80}70%{box-shadow:0 0 0 10px #646cff00}to{box-shadow:0 0 #646cff00}}.wish-card__full-label{text-align:center;opacity:.5;font-style:italic}.wish-card__success{background:#4caf5026;border-radius:8px;padding:.75rem;font-size:.85rem;margin-bottom:.5rem;word-break:break-all}.wish-card__success p{margin:0 0 .25rem}.wish-card__success a{font-size:.8rem}.wish-card__invite{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(76,175,80,.25)}.invite-row{display:flex;gap:.4rem;margin-top:.25rem}.invite-row input{flex:1;padding:.35rem .5rem;border:1px solid rgba(128,128,128,.3);border-radius:4px;background:inherit;color:inherit;font-size:.75rem}.invite-row button{padding:.35rem .6rem;border:none;border-radius:4px;background:#646cff;color:#fff;cursor:pointer;font-size:.75rem;white-space:nowrap}.reserve-form__participants{display:flex;align-items:center}.reserve-form__participants label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;opacity:.8}.reserve-form__participants input{width:60px;padding:.35rem .5rem;border:1px solid rgba(128,128,128,.3);border-radius:6px;background:inherit;color:inherit;font:inherit;font-size:.9rem;text-align:center}.participants-badge{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;border-radius:4px;font-size:.7rem;font-weight:400;background:#646cff26;color:#646cff}.reserve-form{display:flex;flex-direction:column;gap:.5rem}.reserve-form input,.reserve-form textarea{padding:.5rem;border:1px solid rgba(128,128,128,.3);border-radius:6px;background:inherit;color:inherit;font:inherit;font-size:.9rem}.reserve-form__actions{display:flex;gap:.5rem}.reserve-form__actions button{flex:1;padding:.45rem;border:1px solid rgba(128,128,128,.3);border-radius:6px;background:inherit;color:inherit;cursor:pointer;font-size:.85rem}.reserve-form__actions button[type=submit]{background:#646cff;color:#fff;border-color:#646cff}.cancel-card{text-align:center;padding:2rem;border:1px solid rgba(128,128,128,.3);border-radius:12px;max-width:420px;margin:0 auto}.cancel-success{color:#4caf50}.cancel-error{color:#f44336}.admin-login{max-width:320px;margin:2rem auto;display:flex;gap:.5rem}.admin-login input{flex:1;padding:.5rem;border:1px solid rgba(128,128,128,.3);border-radius:6px;background:inherit;color:inherit;font:inherit}.admin-login button{padding:.5rem 1rem;border:none;border-radius:6px;background:#646cff;color:#fff;cursor:pointer}.admin-add-btn{display:block;margin:0 auto 1.5rem;padding:.6rem 1.5rem;border:2px dashed rgba(128,128,128,.4);border-radius:8px;background:transparent;color:inherit;cursor:pointer;font-size:.95rem}.admin-add-btn:hover{border-color:#646cff;color:#646cff}.admin-add-form{max-width:500px;margin:0 auto 2rem;display:flex;flex-direction:column;gap:.5rem}.admin-add-form input,.admin-add-form textarea,.admin-add-form select{padding:.5rem;border:1px solid rgba(128,128,128,.3);border-radius:6px;background:inherit;color:inherit;font:inherit;font-size:.9rem}.admin-add-form__row{display:flex;gap:.5rem}.admin-add-form__row input,.admin-add-form__row select{flex:1}.admin-wishes{display:flex;flex-direction:column;gap:1rem}.admin-wish-card{border:1px solid rgba(128,128,128,.3);border-radius:12px;padding:1.25rem}.admin-wish-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.admin-wish-card__header h3{margin:0}.admin-wish-card__actions{display:flex;gap:.4rem;flex-wrap:wrap}.admin-wish-card__actions button{padding:.3rem .6rem;border:1px solid rgba(128,128,128,.3);border-radius:4px;background:inherit;color:inherit;cursor:pointer;font-size:.8rem}.btn-danger{color:#f44336!important;border-color:#f44336!important}.status-badge{display:inline-block;margin-left:.5rem;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:400;vertical-align:middle}.status-badge--active{background:#4caf5033;color:#4caf50}.status-badge--fulfilled{background:#2196f333;color:#2196f3}.status-badge--archived{background:#80808033;color:#888}.admin-edit-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(128,128,128,.15)}.admin-edit-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;opacity:.7}.admin-edit-form input,.admin-edit-form textarea,.admin-edit-form select{padding:.45rem;border:1px solid rgba(128,128,128,.3);border-radius:6px;background:inherit;color:inherit;font:inherit;font-size:.9rem;opacity:1}.admin-edit-form__row{display:flex;gap:.5rem}.admin-edit-form__row label{flex:1}.admin-wish-card__info p{margin:.4rem 0;font-size:.9rem}.admin-wish-card__info a{word-break:break-all;font-size:.85rem}.admin-wish-card__meta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem;font-size:.85rem;opacity:.7}.admin-reservations{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(128,128,128,.15)}.admin-reservations h4{margin:0 0 .5rem;font-size:.9rem}.admin-reservations ul{padding-left:1rem}.admin-reservations li{margin-bottom:.5rem;font-size:.85rem}@media(max-width:550px){.wishes-grid{grid-template-columns:1fr}.admin-wish-card__header{flex-direction:column}}
