.desktop{position:fixed;inset:0;background:var(--win95-teal) url(/images/desktop-bg.jpg) center / cover no-repeat;font-family:"MS Sans Serif",sans-serif;font-size:11px;overflow:hidden}.desktop-icons{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:12px;width:76px;z-index:1}.desktop-icon{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;cursor:default}.desktop-icon>span:first-child{font-size:28px;line-height:1;filter:drop-shadow(1px 1px 0 var(--win95-dark-gray))}.desktop-icon-label{color:var(--win95-white);text-shadow:1px 1px 0 var(--win95-navy);font-size:10px;line-height:1.2}.santa-window{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(600px,calc(100vw - 24px));max-height:calc(100vh - 52px);display:flex;flex-direction:column;background:var(--win95-silver);border:2px outset var(--win95-silver);box-shadow:1px 1px 0 var(--win95-black);z-index:10}.window-body{flex:1;overflow:auto;padding:8px;box-sizing:border-box}.menu-bar{display:flex;gap:2px;padding:1px 2px;background:var(--win95-silver);border-bottom:1px solid var(--win95-dark-gray);font-size:11px}.menu-bar span{padding:1px 6px;cursor:default}.menu-bar span:hover{background:var(--win95-navy);color:var(--win95-white)}.status-bar{display:flex;gap:2px;padding:2px;border-top:1px solid var(--win95-dark-gray)}.status-bar-panel{border:1px inset var(--win95-silver);padding:1px 4px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-bar-grow{flex:1}.taskbar{position:fixed;left:0;right:0;bottom:0;height:28px;display:flex;align-items:stretch;gap:3px;padding:2px;background:var(--win95-silver);border-top:2px outset var(--win95-silver);box-sizing:border-box;z-index:100}.start-button{display:flex;align-items:center;gap:4px;padding:0 8px;border:2px outset var(--win95-silver);font-size:11px;font-weight:700;cursor:default;-webkit-user-select:none;user-select:none}.start-button:active{border:2px inset var(--win95-silver)}.taskbar-divider{width:2px;border-left:1px outset var(--win95-silver);border-right:1px outset var(--win95-silver)}.task-button{flex:0 1 180px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 6px;border:2px outset var(--win95-silver);background:var(--win95-silver);color:var(--win95-black);font-size:11px;font-family:"MS Sans Serif",sans-serif;cursor:pointer}.task-button:active{border:2px inset var(--win95-silver);background:var(--win95-light-gray)}.tray{margin-left:auto;display:flex;align-items:center;gap:8px;padding:0 8px;border:1px inset var(--win95-silver);font-size:11px;white-space:nowrap}.title-bar{background:linear-gradient(90deg,var(--win95-navy) 0%,var(--win95-blue) 100%);color:var(--win95-white);padding:2px 4px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--win95-dark-gray);-webkit-user-select:none;user-select:none;touch-action:none}.title-bar-text{display:flex;align-items:center;gap:4px}.title-bar-controls{display:flex;gap:2px}.title-bar-control{width:16px;height:14px;background:var(--win95-silver);border:1px outset var(--win95-silver);font-size:8px;display:flex;align-items:center;justify-content:center;color:var(--win95-black);cursor:pointer}.title-bar-control:active{border:1px inset var(--win95-silver)}.header{text-align:center;padding:8px;background:var(--win95-silver);color:var(--win95-black);margin-bottom:8px}.header:before{display:none}.header:after{display:none}.header h1{font-size:16px;font-weight:700;margin:0 0 4px;font-family:"MS Sans Serif",sans-serif;color:var(--win95-black)}.header p{font-size:11px;margin:0;color:var(--win95-black);font-family:"MS Sans Serif",sans-serif}.main{flex:1;padding:0;width:100%;box-sizing:border-box}.card{background:var(--win95-silver);border:2px inset var(--win95-silver);border-radius:0;padding:8px;margin-bottom:8px;position:relative}.card:hover{background:var(--win95-silver)}.card h2{font-size:12px;font-weight:700;margin:0 0 8px;color:var(--win95-black);font-family:"MS Sans Serif",sans-serif}.card h2:before{display:none}.card h2:after{display:none}.card h3{font-size:11px;font-weight:700;margin:0 0 4px;color:var(--win95-black);font-family:"MS Sans Serif",sans-serif}.card p{font-size:11px;line-height:1.2;margin:0 0 8px;color:var(--win95-black);font-family:"MS Sans Serif",sans-serif}.loading{text-align:center;padding:16px;font-size:11px;color:var(--win95-black);background:var(--win95-silver);border:2px inset var(--win95-silver)}.loading:before{display:none}.loading:after{display:none}.error-message,.success-message{padding:8px;margin:8px 0;border-radius:0;font-size:11px;font-family:"MS Sans Serif",sans-serif;border:2px inset var(--win95-silver)}.error-message{background:var(--win95-silver);color:var(--win95-maroon);border-color:var(--win95-maroon)}.error-message:before{display:none}.success-message{background:var(--win95-silver);color:var(--win95-navy);border-color:var(--win95-navy)}.success-message:before{display:none}.input-group{display:flex;margin-bottom:8px;align-items:stretch}.input-group:before{display:none}.input-group input{flex:1;padding:2px 4px;border:2px inset var(--win95-silver);border-radius:0;font-size:11px;background:var(--win95-white);color:var(--win95-black);font-family:"MS Sans Serif",sans-serif;margin-right:4px}.input-group input:focus{outline:1px dotted var(--win95-black);outline-offset:-2px}.input-group input::placeholder{color:var(--win95-dark-gray);font-family:"MS Sans Serif",sans-serif}.input-group input:disabled{background:var(--win95-silver);color:var(--win95-dark-gray)}.input-group button{padding:2px 8px;border:2px outset var(--win95-silver);border-radius:0;background:var(--win95-silver);color:var(--win95-black);font-size:11px;font-family:"MS Sans Serif",sans-serif;cursor:pointer;min-width:60px}.input-group button:before{display:none}.input-group button:after{display:none}.input-group button:hover:not(:disabled){background:var(--win95-light-gray)}.input-group button:active:not(:disabled){border:2px inset var(--win95-silver)}.input-group button:disabled{color:var(--win95-dark-gray);cursor:default}.participant-count{background:var(--win95-silver);border:2px inset var(--win95-silver);padding:8px;margin:8px 0;font-size:11px;color:var(--win95-black);font-family:"MS Sans Serif",sans-serif;text-align:center}.participant-count:before{display:none}.assignment-card{background:var(--win95-silver);border:2px inset var(--win95-silver);border-radius:0;padding:12px;margin:8px 0}.assignment-card:before{display:none}.assignment-card:after{display:none}.assignment-header{text-align:center;margin-bottom:12px}.assignment-header:before{display:none}.assignment-subtitle{font-size:11px;color:var(--win95-black);font-family:"MS Sans Serif",sans-serif;margin-bottom:8px}.assignment-content,.recipient-section{margin-bottom:12px}.recipient-section:before{display:none}.recipient-label{font-size:11px;font-weight:700;color:var(--win95-black);font-family:"MS Sans Serif",sans-serif;margin-bottom:4px}.recipient-name{font-size:14px;font-weight:700;color:var(--win95-navy);font-family:"MS Sans Serif",sans-serif;background:var(--win95-white);border:2px inset var(--win95-silver);padding:4px 8px;margin-bottom:8px;display:inline-block}.bio-section{background:var(--win95-white);border:2px inset var(--win95-silver);padding:8px;margin:8px 0}.bio-section:before{display:none}.bio-label{font-size:11px;font-weight:700;color:var(--win95-black);font-family:"MS Sans Serif",sans-serif;margin-bottom:4px}.bio-content{font-size:11px;line-height:1.3;color:var(--win95-black);font-family:"MS Sans Serif",sans-serif;white-space:pre-wrap}.bio-item{margin-bottom:4px;padding:2px 0;border-bottom:1px dotted var(--win95-dark-gray)}.bio-item:last-child{border-bottom:none;margin-bottom:0}.assignment-actions{text-align:center;margin-top:12px;display:flex;gap:8px;justify-content:center}.print-button,.secondary-button{padding:4px 12px;border:2px outset var(--win95-silver);border-radius:0;background:var(--win95-silver);color:var(--win95-black);font-size:11px;font-family:"MS Sans Serif",sans-serif;cursor:pointer}.print-button{background:var(--win95-silver);color:var(--win95-black)}.print-button:before{display:none}.print-button:after{display:none}.print-button:hover{background:var(--win95-light-gray)}.print-button:active{border:2px inset var(--win95-silver)}.secondary-button{background:var(--win95-silver);color:var(--win95-black)}.secondary-button:hover{background:var(--win95-light-gray)}.secondary-button:active{border:2px inset var(--win95-silver)}.instructions{background:var(--win95-silver);border:2px inset var(--win95-silver);padding:12px;margin:8px 0;font-size:11px;font-family:"MS Sans Serif",sans-serif}.instructions:before{display:none}.instructions ol{margin:8px 0;padding-left:20px}.instructions li{margin-bottom:4px;color:var(--win95-black)}.instructions li::marker{color:var(--win95-black)}.instructions p{margin:4px 0}.instructions strong{font-weight:700;color:var(--win95-black)}.footer{background:var(--win95-silver);border-top:2px inset var(--win95-silver);padding:8px;text-align:center;margin-top:auto}.footer p{font-size:11px;color:var(--win95-black);margin:0;font-family:"MS Sans Serif",sans-serif}@media(max-width:768px){.desktop{position:static;min-height:100vh;overflow:visible;padding-bottom:16px}.desktop-icons,.taskbar,.title-bar-controls{display:none}.santa-window{position:static;transform:none;width:auto;max-width:600px;max-height:none;margin:8px auto}.window-body{overflow:visible}.title-bar{touch-action:auto}.header{padding:6px}.header h1{font-size:14px}.header p{font-size:10px}.main,.card{padding:6px}.assignment-card{padding:8px}.assignment-content{margin-bottom:8px}.recipient-name{font-size:12px}.bio-section{padding:6px}.bio-content{font-size:10px}.input-group{flex-direction:column}.input-group input{margin-right:0;margin-bottom:4px}.assignment-actions{flex-direction:column;align-items:center}.assignment-actions button{width:120px}}@media(max-width:480px){.header{padding:4px}.header h1{font-size:12px}.card{padding:4px}.assignment-card{padding:6px}.card h2{font-size:11px}.assignment-header{margin-bottom:8px}.assignment-subtitle,.recipient-label{font-size:10px}.recipient-name{font-size:11px;padding:2px 4px}.bio-label{font-size:10px}.bio-section{padding:4px}.input-group input,.input-group button{padding:4px;font-size:10px}.print-button,.secondary-button{padding:6px 8px;font-size:10px}}@media print{.desktop{position:static;background:#fff}.taskbar,.desktop-icons,.status-bar,.menu-bar,.title-bar{display:none}.santa-window{position:static;transform:none;max-height:none;border:none;box-shadow:none}.header,.footer{display:none}.card{border:1px solid black;background:#fff}.input-group,.participant-count,.assignment-actions{display:none}.recipient-section,.bio-section{border:1px solid black;background:#fff}.header h1{color:#000;font-size:16px}.card:before,.card:after,.assignment-card:before,.assignment-card:after{display:none}.error-message,.success-message{display:none}}button:focus,input:focus{outline:1px dotted var(--win95-black);outline-offset:-2px}@media(prefers-contrast:high){.card,.input-group input,.bio-section,.recipient-section{border:2px solid var(--win95-black);background:var(--win95-white)}.error-message,.success-message{border:2px solid var(--win95-black)}}@media(prefers-reduced-motion:reduce){.header h1,.card,.input-group button,.print-button,.secondary-button,.error-message{animation:none;transition:none}.card:hover,.input-group input:focus,.input-group button:hover,.print-button:hover,.secondary-button:hover{transform:none;transition:none}.header h1{animation:none;text-shadow:none}.card{animation:none}}:root{--win95-silver: #c0c0c0;--win95-dark-gray: #808080;--win95-light-gray: #dfdfdf;--win95-white: #ffffff;--win95-black: #000000;--win95-blue: #0000ff;--win95-navy: #000080;--win95-teal: #008080;--win95-maroon: #800000;font-family:"MS Sans Serif",sans-serif;line-height:1.2;font-weight:400;color-scheme:light;color:var(--win95-black);background-color:var(--win95-silver);font-synthesis:none;text-rendering:optimizeSpeed;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}*{box-sizing:border-box}.snowflake-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}@keyframes snow-fall{0%{transform:translateY(-8vh);opacity:0}8%{opacity:var(--flake-opacity, .8)}92%{opacity:var(--flake-opacity, .8)}to{transform:translateY(108vh);opacity:0}}@keyframes snow-sway{0%,to{transform:translate(calc(var(--sway-distance, 12px) * -1)) rotate(-90deg)}50%{transform:translate(var(--sway-distance, 12px)) rotate(90deg)}}.ascii-snowflake{position:absolute;top:0;color:var(--win95-white);text-shadow:1px 1px 0 rgba(0,0,0,.5);font-family:"MS Sans Serif",sans-serif;font-weight:400;pointer-events:none;animation:snow-fall var(--fall-duration, 12s) linear var(--fall-delay, 0s) infinite}.ascii-snowflake>span{display:inline-block;animation:snow-sway var(--sway-duration, 3s) ease-in-out var(--sway-delay, 0s) infinite}body{margin:0;padding:0;min-height:100vh;background:var(--win95-teal);position:relative;overflow-x:hidden;font-family:"MS Sans Serif",sans-serif;font-size:11px}body:before{display:none}#root{min-height:100vh;display:flex;flex-direction:column;background:var(--win95-teal);font-family:"MS Sans Serif",sans-serif}.container{max-width:600px;margin:0 auto;padding:8px;flex:1}.header{text-align:center;margin-bottom:16px;background:var(--win95-silver);padding:8px;border:2px outset var(--win95-silver)}.header h1{color:var(--win95-black);font-size:18px;font-weight:700;margin:0 0 4px;font-family:"MS Sans Serif",sans-serif;text-transform:none;letter-spacing:normal}.header .subtitle{color:var(--win95-black);font-size:11px;font-weight:400;text-shadow:none;animation:none}.card{background:var(--win95-silver);border:2px inset var(--win95-silver);border-radius:0;padding:8px;box-shadow:none;margin-bottom:8px;position:relative;overflow:visible;animation:none}.card:before{display:none}.card:after{display:none}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:4px;color:var(--win95-black);font-weight:400;text-transform:none;font-size:11px;font-family:"MS Sans Serif",sans-serif}.form-control{width:100%;padding:4px;border:2px inset var(--win95-silver);border-radius:0;font-size:11px;background:var(--win95-white);color:var(--win95-black);font-family:"MS Sans Serif",sans-serif;box-sizing:border-box}.form-control:focus{outline:1px dotted var(--win95-black);outline-offset:-2px;background:var(--win95-white)}.btn{display:inline-block;padding:.75rem 1.5rem;border:2px solid;border-radius:0;font-size:1rem;font-weight:700;text-decoration:none;cursor:pointer;text-align:center;position:relative;overflow:hidden;text-transform:uppercase;font-family:Comic Sans MS,cursive;letter-spacing:1px}.btn:before{content:">> ";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-family:Courier New,monospace}.btn-primary{background:var(--win95-silver);color:var(--win95-black);border:2px outset var(--win95-silver)}.btn-primary:hover{background:var(--win95-light-gray)}.btn-secondary{background:var(--win95-silver);color:var(--win95-black);border:2px outset var(--win95-silver)}.btn-secondary:hover{background:var(--win95-light-gray)}.btn-outline{background:var(--win95-silver);color:var(--win95-black);border:2px outset var(--win95-silver)}.btn-outline:hover{background:var(--win95-light-gray)}.gift-info{background:var(--win95-silver);border:2px inset var(--win95-silver);border-radius:0;padding:8px;margin:8px 0;position:relative}.gift-info:before{display:none}.gift-info h3{color:var(--win95-black);margin:0 0 8px;font-size:11px;text-shadow:none;text-transform:none;font-family:"MS Sans Serif",sans-serif;font-weight:700}.gift-info .recipient-name{color:var(--win95-black);font-size:11px;font-weight:700;margin-bottom:4px;text-shadow:none;animation:none;text-transform:none;font-family:"MS Sans Serif",sans-serif}.gift-info .bio{color:var(--win95-black);line-height:1.2;white-space:pre-wrap;font-family:"MS Sans Serif",sans-serif;text-shadow:none;font-size:11px}.admin-section{border-top:2px inset var(--win95-silver);padding-top:8px;margin-top:16px;position:relative;background:var(--win95-silver)}.admin-section:before{display:none}.admin-section h2{color:var(--win95-black);margin-bottom:8px;font-size:12px;font-weight:700;text-shadow:none;text-transform:none;font-family:"MS Sans Serif",sans-serif}.file-upload-area{border:2px inset var(--win95-silver);border-radius:0;padding:8px;text-align:center;background:var(--win95-silver);box-shadow:none}.file-upload-area:hover{background:var(--win95-light-gray)}.file-upload-area.dragover{background:var(--win95-light-gray);border:2px outset var(--win95-silver)}.hidden{display:none}.text-center{text-align:center}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.alert{padding:8px;border-radius:0;margin-bottom:8px;border:2px inset var(--win95-silver);font-weight:400;text-transform:none;font-family:"MS Sans Serif",sans-serif;font-size:11px;background:var(--win95-silver)}.alert-success{background:var(--win95-silver);border-color:var(--win95-navy);color:var(--win95-navy);text-shadow:none;box-shadow:none}.alert-success:before{display:none}.alert-error{background:var(--win95-silver);border-color:var(--win95-maroon);color:var(--win95-maroon);text-shadow:none;box-shadow:none;animation:none}.alert-error:before{display:none}.footer{text-align:center;padding:8px;color:var(--win95-black);font-size:11px;text-shadow:none;font-family:"MS Sans Serif",sans-serif;border-top:2px inset var(--win95-silver);margin-top:8px;background:var(--win95-silver)}.footer:before{display:none}.footer:after{display:none}@media print{.cyber-container{display:none}body{background:#fff;color:#000}body:before{display:none}.container{max-width:none;margin:0;padding:1rem}.admin-section,.btn,.header .subtitle{display:none!important}.card{background:#fff!important;box-shadow:none;border:3px solid black;animation:none}.card:before,.card:after{display:none}.gift-info{border:3px solid black;margin:0;background:#fff!important;box-shadow:none;animation:none}.gift-info:before{display:none}.header h1{font-size:2rem;margin-bottom:1rem;color:#000!important;text-shadow:none;animation:none}.alert{animation:none}}@media(max-width:768px){.container{padding:1rem}.header h1{font-size:2rem}.card{padding:1.5rem}.cyber-star{font-size:10px}}@media(prefers-reduced-motion:reduce){.snowflake-container{display:none}.cyber-star,.header h1,.btn:hover{animation:none!important}.card{animation:none;border-color:var(--win95-silver);box-shadow:none}}@media(prefers-contrast:high){.card{border:2px solid var(--win95-black);background:var(--win95-white)}.form-control{border-width:3px;background:var(--dark-bg)!important}.gift-info{border-width:4px;background:var(--dark-bg)!important}}
