@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@300;400;500;600&display=swap";:root{--burgundy-deep: #150808;--burgundy: #69292a;--burgundy-light: #8e3a3b;--green: #198c0a;--frost: rgba(255, 255, 255, .08);--frost-border: rgba(255, 255, 255, .15);--text-primary: #f0f0f0;--text-secondary: rgba(240, 240, 240, .7);--shadow-card: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .2);--shadow-input: inset 0 2px 4px rgba(0, 0, 0, .3);--radius-lg: 16px;--radius-md: 10px;--radius-sm: 6px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em}select,input[type=email],input[type=url],input[type=text],input[type=tel],input[type=number],textarea{padding:10px 14px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);background:#00000040;color:var(--text-primary);font-family:inherit;font-size:.95rem;box-shadow:var(--shadow-input);transition:border-color .2s,box-shadow .2s;box-sizing:border-box}input::placeholder,textarea::placeholder{color:#f0f0f059}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:1;height:1.5em;cursor:pointer;filter:invert(.85)}input[type=number]{-moz-appearance:textfield}input[type=number]:hover::-webkit-inner-spin-button{filter:invert(1)}select:focus,input:focus,textarea:focus{outline:none;border-color:#ffffff80;box-shadow:var(--shadow-input),0 0 0 2px #ffffff26}select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(240,240,240,0.5)' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}select option{background:#2a1010;color:var(--text-primary)}textarea{resize:vertical;min-height:60px}.delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff9;font-size:.75rem;cursor:pointer;flex-shrink:0;transition:all .15s}.delete-btn:hover{background:#b4282866;border-color:#b4282899;color:#f88}.spinner{display:inline-block;width:24px;height:24px;border:3px solid rgba(255,255,255,.2);border-top-color:#fffc;border-radius:50%;animation:spin .7s linear infinite}.spinner-container{display:flex;justify-content:center;padding:8px 0}@keyframes spin{to{transform:rotate(360deg)}}html{height:100%;overscroll-behavior-y:none}h1{text-align:center}@keyframes pageReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.show{visibility:visible;animation:fadein .5s}.hide{animation:fadeout .5s}.hidden{visibility:hidden}@keyframes fadein{0%{top:0;opacity:0}to{top:20px;opacity:1}}@keyframes fadeout{0%{top:20px;opacity:1}to{top:0;opacity:0}}@keyframes cardSlide{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card-slide{animation:cardSlide .4s ease-out both}.card-slide-slow{animation:cardSlide .5s ease-out both}body:has(.exchange){font-family:Arial,Helvetica,sans-serif;overscroll-behavior-y:none;color:var(--text-primary);margin-right:0;max-width:100%;padding-bottom:100px}#container.exchange{margin-right:8px;padding-top:52px;animation:pageReveal .6s ease-out}#background{width:100%;height:100vh;position:fixed;top:0;left:0;z-index:-1;background-image:linear-gradient(#2b2b2b99 80%,#000000e6),url(/Gift-Giving-Banner.webp);background-size:cover}#intro{background:var(--frost);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--frost-border);color:#ffffffd9;border-radius:var(--radius-lg);line-height:1.5em;padding:5px 10px;margin:10px auto;text-align:justify;max-width:600px}.dashboardLink{background:var(--frost);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--frost-border);color:#ffffffd9;border-radius:var(--radius-lg);padding:15px 10px;margin:0 auto;text-align:center;max-width:600px}.dashboardLink-btn{text-decoration:none;width:auto;padding:14px 28px;font-size:1rem}.dashboardLink-desc{margin:0 0 12px;font-size:.95rem;color:#ffffffbf;line-height:1.5}.ghost-text{color:#ffffff73;font-style:italic;font-size:1em;text-align:center;padding:4px 8px;line-height:1.5}.ghost-house{background:var(--frost);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:2px dashed var(--frost-border);border-radius:8px;padding:20px 16px;margin-top:1rem;margin-bottom:12px;max-width:347px;text-align:center}.ghost-house .ghost-house-btn{background:var(--frost);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);padding:8px 20px;font-size:13px;color:#fff9;cursor:pointer;transition:all .2s}.ghost-house .ghost-house-btn:hover{background:#ffffff1f;color:#fffc}.ghost-house-minimal{background:#ffffff05;border-color:#ffffff14;padding:12px 16px;display:flex;align-items:center;justify-content:center}.name-wrapper{cursor:grab}body.dragging,body.dragging *{cursor:grabbing!important}.dragging-source{visibility:hidden;height:0!important;padding:0!important;margin:0!important;border:none!important;overflow:hidden}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-40px)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.slide-out-left{animation:slideOutLeft .3s ease-in forwards}.slide-in-right{animation:slideInRight .3s ease-out both}.drop-preview{display:flex;height:36px;border:2px dashed rgba(255,255,255,.3);border-radius:var(--radius-sm)}#name-list{margin-top:0}#name-list input,#name-list select{padding:5px 10px}#flex-div{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;gap:20px;max-width:800px;margin:0 auto}.edit-span{font-size:.7em}#control-strip{position:fixed;bottom:0;left:0;padding:10px 0;width:100%;background:var(--frost);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--frost-border);display:flex;justify-content:center;z-index:10}#btn-div{display:flex;flex-wrap:wrap;height:auto;justify-content:center;align-items:center}#btn-div:first-child{margin-left:10px}#btn-div:last-child{margin-right:10px}#generate-hint{color:#ffffff73;font-style:italic;font-size:1em;max-width:200px;padding:5px 10px}#get-started{margin:0 auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}#secretSantaBtn{display:block;margin-top:10px}#left-container.secret{flex:1 1 0%;min-width:0;display:flex;justify-content:center;flex-wrap:wrap}#left-container.secret #name-list,#left-container.secret .ghost-house{width:333px;margin:10px;box-sizing:border-box}#left-container.secret #name-list .name-container:empty{min-height:0}#left-container.secret #name-list select{margin-top:15px}#left-container.secret [data-testid=household]{width:333px;margin:10px;box-sizing:border-box;display:flex;flex-direction:column}#left-container.secret [data-testid=household] [data-slot^=names-]{flex:1}#left-container.secret [data-testid=household] select{width:100%}@media screen and (max-width:1120px){#flex-div{flex-wrap:wrap;max-width:800px}}@media screen and (max-width:740px){#container{overflow-x:hidden}}@media screen and (max-width:723px){#left-container.secret{display:block}#left-container.secret #name-list,#left-container.secret .ghost-house,#left-container.secret [data-testid=household]{width:auto;max-width:347px;margin:0 auto 12px}}@media screen and (max-width:630px){#flex-div{display:block}.ghost-house-btn{padding:12px 20px;font-size:1em;min-height:44px;max-height:none;box-sizing:border-box}select,input[type=text],input[type=email],input[type=url],input[type=tel],textarea{min-height:44px;font-size:1em}html,body{overscroll-behavior-y:auto;background-attachment:scroll}#left-container.secret #name-list{padding-bottom:65px}#left-container.secret #name-list select{margin-top:20px}.ghost-house{margin:0 auto 12px;max-width:320px}#left-container.secret #name-list,#left-container.secret .ghost-house{max-width:320px}#name-list,[data-testid=household]{margin:0 auto 12px;max-width:320px}#name-list h2,[data-testid=household] h2{text-align:center}#left-container.secret [data-testid=household]{max-width:320px}}@media screen and (max-width:553px){#flex-div{margin-top:10px}}@media screen and (max-width:499px){body{padding-bottom:150px}.shortcut{display:none}}@media screen and (max-width:429px){#emailTable{min-width:95%;margin:0 5px}}@media screen and (max-width:625px){#top-actions{flex-direction:column;align-items:stretch;padding:0 10px;max-width:100%}#top-actions>[data-slot]{width:100%}.recipientSearch,.reuseLink{width:100%;box-sizing:border-box}}@media screen and (max-width:339px){#container{padding-left:0;padding-right:5px}body{padding-bottom:170px}#generate,#secretGenerate{padding:10px}}@media screen and (max-width:337px){#query div{flex-direction:column;justify-content:center;align-items:center}#recipientSearchBtn{margin-top:5px}}body:has(.dashboard-page){margin:0;padding:0;color:var(--text-primary);background:var(--burgundy-deep);background-image:radial-gradient(ellipse at 30% 0%,rgba(90,35,36,.25) 0%,transparent 50%);background-attachment:fixed;font-family:"Source Sans 3",Segoe UI,sans-serif}#container.dashboard-page{max-width:620px;margin:0 auto;animation:pageReveal .6s ease-out}.dashboard-page h1{font-family:"Source Sans 3",Georgia,serif;font-weight:700;font-size:2rem;color:#fff;margin:0 0 8px;letter-spacing:-.01em}.dashboard-page h2{font-family:"Source Sans 3",Georgia,serif;font-weight:600;font-size:1.25rem;color:#fff;margin:0 0 4px;letter-spacing:.01em}.dashboard-page .helper-text{font-size:.875rem;color:var(--text-secondary);margin:0 0 16px;font-weight:300}.dashboard-page hr{border:none;height:1px;background:var(--frost-border);margin:8px 0 20px}.dashboard-page select,.dashboard-page input[type=email],.dashboard-page input[type=url],.dashboard-page input[type=text],.dashboard-page input[type=tel],.dashboard-page input[type=number],.dashboard-page textarea{width:100%;margin-bottom:10px}.dashboard-page .empty-state{text-align:center;color:var(--text-secondary);font-style:italic;margin-top:16px}#contact-section label{margin-top:12px}#contact-section label:first-of-type{margin-top:0}#container.dashboard-page{max-width:none;padding:0;margin:0}.dashboard-page h1{display:none}.dashboard-layout{min-height:100vh;margin-left:260px}.dashboard-sidebar{width:260px;flex-shrink:0;background:#ffffff0a;border-right:1px solid var(--frost-border);padding:24px 0;position:fixed;top:0;left:0;bottom:0;overflow-y:auto}.sidebar-title{display:flex;align-items:center;gap:8px;padding:0 20px 20px;font-family:"Source Sans 3",Georgia,serif;font-weight:700;font-size:1.05rem;color:#fff;letter-spacing:-.01em;text-decoration:none;transition:color .15s}.sidebar-title:hover{color:var(--text-secondary)}.sidebar-title img{display:block;width:24px;height:24px;flex-shrink:0}.sidebar-welcome{padding:0 20px 16px;font-size:.8rem;color:var(--text-secondary)}.sidebar-nav{display:flex;flex-direction:column}.nav-item{display:block;padding:10px 20px;font-size:.9rem;color:var(--text-secondary);text-decoration:none;border-left:3px solid transparent;transition:background .15s,color .15s,border-color .15s;cursor:pointer}.nav-item:hover{background:#ffffff0a;color:var(--text-primary)}.nav-item.active{background:#ffffff0f;border-left-color:var(--burgundy);color:var(--text-primary);font-weight:600}.sidebar-back{display:block;padding:14px 20px 10px;font-size:.85rem;color:var(--text-secondary);text-decoration:none;border-top:1px solid var(--frost-border);margin-top:12px;transition:color .15s}.sidebar-back:hover{color:var(--text-primary)}.sidebar-logout{display:block;padding:10px 20px;font-size:.85rem;color:var(--text-secondary);text-decoration:none;border-top:1px solid var(--frost-border);margin-top:auto;position:absolute;bottom:24px;left:0;right:0;transition:color .15s}.sidebar-logout:hover{color:var(--text-primary)}.hamburger-logout{margin-left:auto;font-size:.8rem;color:var(--text-secondary);text-decoration:none;transition:color .15s}.hamburger-logout:hover{color:var(--text-primary)}.dashboard-main{max-width:620px;margin:0 auto;padding:40px 32px 60px}.dashboard-section{animation:cardSlide .5s ease-out both}.dashboard-section section{box-shadow:none;border:none;padding:0;margin-bottom:20px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}.hamburger-bar{display:none}.hamburger-btn{background:var(--frost);border:1px solid var(--frost-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:1.4rem;padding:6px 12px;cursor:pointer;line-height:1}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:10}.sidebar-backdrop.open{display:block}@media screen and (max-width:480px){#container{padding:24px 16px 48px}h1{font-size:1.6rem}section{padding:18px 16px}#add-wishlist-form,#add-item-form{grid-template-columns:1fr}#add-item-form .item-form-url{grid-column:1}}@media screen and (max-width:768px){.dashboard-page,.dashboard-layout{display:block}.hamburger-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--frost-border);background:#ffffff0a}.hamburger-bar .dashboard-welcome{margin:0;padding:0;font-size:.85rem}.dashboard-sidebar{display:none;position:fixed;top:0;left:0;bottom:0;width:260px;z-index:20;border-radius:0;border-right:1px solid var(--frost-border);background:var(--burgundy-deep);overflow-y:auto;animation:slideIn .2s ease-out}.dashboard-sidebar.open{display:block}.dashboard-main{margin-left:0;padding:24px 16px 48px}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}}body:has(.admin-page){margin:0;padding:0;color:var(--text-primary);background:var(--burgundy-deep);background-image:radial-gradient(ellipse at 70% 0%,rgba(90,35,36,.2) 0%,transparent 50%);background-attachment:fixed;font-family:"Source Sans 3",Segoe UI,sans-serif;min-height:100vh}.admin-page{min-height:100vh;display:flex;flex-direction:column}.admin-header{display:flex;align-items:center;gap:16px;padding:20px 32px 16px;border-bottom:1px solid var(--frost-border);background:#ffffff05}.admin-header h1{margin:0;font-family:"Source Sans 3",Georgia,serif;font-size:1.4rem;font-weight:700;color:#fff;letter-spacing:-.01em;text-align:left}.admin-header-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:3px 8px;border-radius:4px;background:#69292a80;border:1px solid rgba(142,58,59,.4);color:#f0c8c8e6}.admin-main{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:28px 32px 60px;box-sizing:border-box}.admin-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px;box-sizing:border-box}.admin-gate-card{background:var(--frost);border:1px solid var(--frost-border);border-radius:var(--radius-lg);padding:40px 48px;width:100%;max-width:420px;box-shadow:var(--shadow-card);animation:pageReveal .5s ease-out}.admin-gate-card h2{margin:0 0 8px;font-family:"Source Sans 3",Georgia,serif;font-size:1.5rem;font-weight:700;color:#fff;text-align:center}.admin-gate-card p{margin:0 0 24px;color:var(--text-secondary);font-size:.9rem;text-align:center;line-height:1.5}.admin-gate-card label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em}.admin-gate-card input[type=text]{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);background:#0000004d;color:var(--text-primary);font-family:inherit;font-size:1rem;letter-spacing:.15em;box-shadow:var(--shadow-input);box-sizing:border-box;margin-bottom:16px;transition:border-color .2s,box-shadow .2s}.admin-gate-card input[type=text]:focus{outline:none;border-color:#fff6;box-shadow:var(--shadow-input),0 0 0 2px #ffffff1a}.admin-btn{display:block;width:100%;padding:12px;background:var(--burgundy);border:1px solid var(--burgundy-light);border-radius:var(--radius-sm);color:#fff;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;text-align:center}.admin-btn:hover{background:var(--burgundy-light)}.admin-btn:active{transform:scale(.99)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-inline{display:inline-block;width:auto;padding:8px 16px;font-size:.875rem}.admin-filters{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;padding:16px 20px;background:#ffffff08;border:1px solid var(--frost-border);border-radius:var(--radius-md)}.admin-filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.admin-filter-group{display:flex;flex-direction:column;gap:4px}.admin-filter-group label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;line-height:1.2}.admin-filter-group>span[aria-hidden]{font-size:.75rem;line-height:1.2;visibility:hidden}.admin-filters select,.admin-filters input[type=datetime-local]{padding:8px 32px 8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);background:#0000004d;color:var(--text-primary);font-family:inherit;font-size:.875rem;box-shadow:var(--shadow-input);cursor:pointer;min-width:140px;transition:border-color .2s}.admin-filters select:focus,.admin-filters input[type=datetime-local]:focus{outline:none;border-color:#fff6}.admin-filters input[type=datetime-local]{padding-right:10px;min-width:180px;color-scheme:dark}.admin-filter-action{justify-content:flex-end;margin-left:auto}.admin-filter-grow{flex:1 1 200px}.admin-filter-grow input{width:100%}.admin-toolbar{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.admin-toolbar .admin-filters{margin-bottom:0}#filters-container{flex:1 1 480px}#log-level-container{flex:0 0 auto}.admin-table-summary{font-size:.85rem;color:var(--text-secondary);margin-bottom:10px}.admin-table-wrap{overflow-x:auto;border:1px solid var(--frost-border);border-radius:var(--radius-md)}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table thead tr{background:#ffffff0d}.admin-table th{padding:10px 12px;border-bottom:1px solid var(--frost-border);text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);white-space:nowrap}.admin-table td{padding:10px 12px;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-primary)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:#ffffff05}.admin-table .col-time{width:165px;white-space:nowrap;color:var(--text-secondary);font-size:.8rem;font-variant-numeric:tabular-nums}.admin-table .col-level{width:80px}.admin-table .col-endpoint{width:280px;font-size:.8rem;color:var(--text-secondary);font-family:Courier New,monospace}.admin-table .col-ip{width:110px;font-size:.8rem;color:var(--text-secondary);font-family:Courier New,monospace}.admin-table .col-expand{width:32px;padding:6px 8px;text-align:center}.meta-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.7rem;padding:2px 4px;border-radius:3px;transition:color .15s}.meta-toggle:hover{color:var(--text-primary)}.log-meta-row td{padding:0;border-bottom:1px solid rgba(255,255,255,.04)}.col-meta-content{background:#00000040}.col-meta-content pre{font-size:.75rem;margin:0;padding:12px 16px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.level-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.level-info{background:#1d4ed840;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.level-warn{background:#92400e4d;color:#fcd34d;border:1px solid rgba(217,119,6,.4)}.level-error{background:#991b1b4d;color:#fca5a5;border:1px solid rgba(239,68,68,.4)}.level-debug{background:#37415166;color:#9ca3af;border:1px solid rgba(107,114,128,.3)}.admin-pagination{display:flex;gap:10px;align-items:center;margin-top:16px;font-size:.875rem;color:var(--text-secondary)}.admin-pagination button{padding:6px 14px;background:#ffffff0f;border:1px solid var(--frost-border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.875rem;cursor:pointer;transition:background .15s}.admin-pagination button:hover{background:#ffffff1a}.admin-empty{padding:48px 32px;text-align:center;color:var(--text-secondary);font-size:.9rem;border:1px solid var(--frost-border);border-radius:var(--radius-md)}._snackbar_d8me8_1{min-width:250px;text-align:center;border-radius:10px;padding:16px;position:fixed;z-index:100;left:50%;transform:translate(-50%);top:20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
