*{margin:0;padding:0;box-sizing:border-box}body{font-family:Georgia,Times New Roman,serif;background:linear-gradient(180deg,#e8f4f8,#d4e8f0,#c9dfe8);background-attachment:fixed;min-height:100vh;color:#3a3a3a}.page-container{max-width:1400px;margin:0 auto;padding:40px 20px;min-height:100vh}.home-page.page-container{display:flex;align-items:center;justify-content:center}.page-content{text-align:center;width:100%}.page-title{text-align:center;color:#4a5f6b;font-size:3.5em;margin-bottom:20px;font-weight:400;font-family:Georgia,serif;letter-spacing:2px}.page-subtitle{color:#6b7f8c;font-size:1.3em;margin-bottom:40px;font-weight:300;font-style:italic}.page-description{text-align:center;color:#5a6f7d;font-size:1.2em;margin-bottom:40px;font-weight:300}.btn-back{display:inline-block;background:#8b9ca6;color:#fff;padding:12px 24px;border-radius:6px;text-decoration:none;font-size:15px;margin-bottom:30px;transition:all .3s ease;font-weight:400;font-family:Georgia,serif}.btn-back:hover{background:#6f8390;transform:translate(-3px)}.family-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-top:40px;max-width:800px;margin-left:auto;margin-right:auto}.family-card{background:#fff;border-radius:12px;padding:50px 30px;text-align:center;text-decoration:none;color:#4a5f6b;transition:all .3s ease;box-shadow:0 4px 15px #00000014;border:1px solid #dce8f0}.family-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001f;border-color:#b8d4e0}.family-name{font-size:1.8em;font-weight:400;color:#4a5f6b;font-family:Georgia,serif}.participant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:25px}.participant-card{background:#fff;border-radius:10px;padding:35px 25px;text-align:center;text-decoration:none;color:#4a5f6b;transition:all .3s ease;box-shadow:0 3px 12px #00000014;display:flex;align-items:center;justify-content:center;min-height:140px;border:1px solid #e5f0f5}.participant-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #0000001f;background:#f9fcfd}.participant-name{margin:0;font-size:1.5em;color:#4a5f6b;font-weight:400;font-family:Georgia,serif}.assignment-timeline{display:flex;align-items:stretch;justify-content:center;gap:25px;flex-wrap:wrap;flex-direction:row;margin-top:20px}@media(max-width:768px){.assignment-timeline{flex-direction:column}}.assignment-card{background:#fff;border-radius:15px;padding:35px 30px;text-align:center;transition:all .3s ease;box-shadow:0 5px 15px #0000001a;position:relative;flex:0 1 280px;border:1px solid #e8f2f7}.assignment-card.is-past-year{opacity:.65;transform:scale(.95)}.assignment-card.is-current-year{background:linear-gradient(135deg,#7a9baa,#9eb8c5);color:#fff;transform:scale(1.03);box-shadow:0 8px 25px #7a9baa4d;border:2px solid #d4af37}@media(max-width:768px){.assignment-card.is-past-year{transform:scale(1);opacity:.75}.assignment-card.is-current-year{transform:scale(1)}}.assignment-card:hover{transform:scale(1.04);box-shadow:0 10px 20px #00000026}.assignment-card.is-current-year:hover{transform:scale(1.06)}.assignment-year{font-size:1em;font-weight:400;margin-bottom:15px;opacity:.7;letter-spacing:2px;font-family:Georgia,serif}.assignment-card.is-current-year .assignment-year{color:#fffffff2;opacity:1;font-weight:700}.assignment-label{font-size:.9em;opacity:.6;margin-bottom:10px;font-style:italic}.assignment-card.is-current-year .assignment-label{color:#ffffffd9;opacity:1}.assignment-recipient{font-size:2em;font-weight:400;margin:20px 0 10px;color:#6b8494;line-height:1.3;font-family:Georgia,serif}.assignment-card.is-current-year .assignment-recipient{color:#f5e6d3;font-weight:700}@media(max-width:768px){.assignment-timeline{gap:15px}.assignment-card{padding:30px 20px;flex:1 1 auto;border-radius:8px}.assignment-year{font-size:.95em;margin-bottom:5px}.assignment-label{font-size:.8em;margin-bottom:5px}.assignment-recipient{font-size:2.6em;margin:6px 0 4px;line-height:1.1}.assignment-card{display:flex;align-items:center;justify-content:space-between;text-align:left}.assignment-year{order:-1;margin-bottom:0;margin-right:15px;flex-shrink:0}.assignment-label{display:none}.assignment-card.is-current-year{padding:40px 25px;transform:scale(1);flex-direction:column;text-align:center;margin-top:20px;margin-bottom:30px}.assignment-card.is-current-year .assignment-year{font-size:1.1em;font-weight:700;order:0;margin-right:0;margin-bottom:8px}.assignment-card.is-current-year .assignment-label{display:block;font-size:.9em;margin-bottom:8px;opacity:1}.assignment-card.is-current-year .assignment-recipient{font-size:3.2em;font-weight:700}}.admin-page .page-title{font-size:2.5em}.admin-content{max-width:1600px;margin:0 auto}.assignments-table-wrapper{overflow-x:auto;box-shadow:0 6px 20px #0000001a;border-radius:12px;background:#fff;margin-bottom:40px;border:1px solid #e0eef5}.assignments-table{width:100%;border-collapse:collapse;background:#fff;min-width:800px}.assignments-table thead{background:linear-gradient(135deg,#5a7080,#6b8494);color:#fff}.assignments-table th{padding:18px 15px;text-align:center;font-weight:400;font-size:.95em;letter-spacing:1px;position:sticky;top:0;z-index:10;border:none;font-family:Georgia,serif}.assignments-table .col-name{text-align:left;background:#4a5f6b;min-width:150px}.assignments-table .col-year.is-current-year{background:#8b9ca6;font-weight:700;border:2px solid #d4af37}.assignments-table td{padding:16px 15px;text-align:center;border-bottom:1px solid #f0f5f8;border-right:1px solid #f0f5f8;font-size:.95em}.assignments-table .cell-name{text-align:left;font-weight:500;background:#f8fbfd;color:#4a5f6b;position:sticky;left:0;z-index:5}.assignments-table .cell-assignment.is-current-year{background:#e8f2f7;font-weight:600;color:#5a7080}.assignments-table .cell-assignment.is-empty{background:#fafcfd;color:#b8c5d0;font-style:italic}.assignment-row:hover td{background:#f5f9fc}.assignment-row:hover .cell-name{background:#e8f0f5}.assignment-row:hover .cell-assignment.is-current-year{background:#d4e5f0}@media(max-width:768px){.assignments-table th,.assignments-table td{padding:10px 8px;font-size:.85em}}.analytics-section{display:flex;gap:30px;margin-top:40px;align-items:stretch}@media(max-width:768px){.analytics-section{flex-direction:column}}.randomness-score-card{background:#fff;border-radius:15px;box-shadow:0 6px 20px #0000001a;padding:40px 30px;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:250px;border:1px solid #e0eef5}.score-heading{margin:0 0 25px;color:#4a5f6b;font-size:1.3em;text-align:center;font-weight:400;letter-spacing:1px;font-family:Georgia,serif}.score-value{font-size:3.5em;font-weight:700;color:#6b8494;margin:10px 0;line-height:1;font-family:Georgia,serif}.score-subtitle{color:#8b9ca6;font-size:.95em;margin-top:15px;font-style:italic}.randomness-chart{flex:1;height:500px;background:#fff;border-radius:15px;box-shadow:0 6px 20px #0000001a;padding:20px;border:1px solid #e0eef5}@media(max-width:768px){.randomness-chart{height:350px}}.loading-message{text-align:center;color:#4a5f6b;font-size:1.3em;margin-top:50px;font-style:italic}.error-message{text-align:center;color:#6b4a4a;background:#f5e8e8;padding:30px;border-radius:12px;font-size:1.3em;margin-top:50px;box-shadow:0 4px 15px #0000001a;border:1px solid #e8d4d4}@media(max-width:768px){.page-title{font-size:2.2em;margin-bottom:15px}.page-subtitle{font-size:1.1em;margin-bottom:30px}.page-description{font-size:1em;margin-bottom:30px}.family-list{grid-template-columns:1fr;gap:20px}.family-card{padding:35px 25px}.family-name{font-size:1.5em}.participant-grid{grid-template-columns:1fr;gap:15px}.participant-card{padding:25px 20px;min-height:100px}.participant-name{font-size:1.3em}}
