*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;color:#1a202c;background:#f7fafc}.container{max-width:960px;margin:0 auto;padding:2rem 1rem}.admin-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.admin-header h1{font-size:1.5rem}.user-menu{display:flex;align-items:center;gap:.75rem}.avatar{width:32px;height:32px;border-radius:50%}.nav-links{display:flex;gap:.75rem}.nav-links a{color:#3182ce;text-decoration:none;font-size:.875rem}.nav-links a:hover{text-decoration:underline}hr{border:none;border-top:1px solid #e2e8f0;margin:1rem 0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #e2e8f0}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#718096}td.numeric,th.numeric{text-align:right}.form-stack{display:flex;flex-direction:column;gap:1rem}label{display:block;font-weight:600;margin-bottom:.25rem;font-size:.875rem}select,input,textarea{width:100%;padding:.5rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;font-family:inherit}textarea{min-height:80px;resize:vertical}.message-row{display:flex;gap:.5rem;align-items:start}.message-row textarea{flex:1}button{padding:.5rem 1rem;background:#3182ce;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-family:inherit}button:hover{background:#2b6cb0}button.emoji-btn{padding:.25rem .5rem;font-size:1rem;background:#edf2f7;color:#1a202c;flex-shrink:0}button.emoji-btn:hover{background:#e2e8f0}.emoji-picker{position:relative;display:inline-block}.emoji-grid{position:absolute;right:0;top:100%;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;padding:.5rem;display:flex;flex-wrap:wrap;max-width:200px;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 4px 6px #0000001a}.emoji-grid button{background:none;padding:2px;margin:0;border:none;cursor:pointer;display:inline-flex}.emoji-grid button:hover{background:#edf2f7}.emoji-grid img{width:30px;height:30px}.alert{padding:.75rem 1rem;border-radius:.375rem;font-size:.875rem}.alert-success{background:#c6f6d5;color:#22543d}.alert-error{background:#fed7d7;color:#742a2a}.discord-message{background:#32353b;color:#dcddde;font-size:.9em;padding:.5rem;border-radius:10px;display:flex;gap:.5rem;align-items:start;white-space:normal}.discord-message .dm-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.discord-message .dm-body{display:flex;flex-direction:column;gap:.25rem}.discord-message .dm-header{display:flex;align-items:baseline;gap:.5rem}.discord-message .dm-author{color:#fff}.discord-message .dm-date{color:#72767d;font-size:12px}.discord-message .dm-content{color:#dcddde}.skeleton{background:linear-gradient(90deg,#3a3d44 25%,#44474e,#3a3d44 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-circle{width:40px;height:40px;border-radius:50%;flex-shrink:0}.skeleton-text{height:1em;width:100px}.skeleton-text-wide{height:1em;width:200px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}code{background:#edf2f7;padding:.125rem .375rem;border-radius:.25rem;font-size:.875em}.calendar-page{display:flex;flex-direction:column;gap:1rem}.calendar-page h1{text-align:center}.calendar-view-toggle{display:flex;flex-wrap:wrap;gap:.5rem}.calendar-view-toggle button{background:#edf2f7;color:#1a202c}.calendar-view-toggle button:hover{background:#e2e8f0}.calendar-view-toggle button.active{background:#3182ce;color:#fff}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.5rem}.calendar-nav button{padding:.25rem .75rem;background:#edf2f7;color:#1a202c}.calendar-nav button:hover{background:#e2e8f0}.calendar-nav-label-wrapper{position:relative}.calendar-nav-label{font-weight:600;font-size:1.125rem;min-width:200px;text-align:center;background:none;color:inherit;cursor:pointer}.calendar-nav-label:hover{background:#edf2f7}.calendar-jump-popup{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;padding:.75rem;box-shadow:0 4px 12px #0000001a;z-index:20;display:flex;flex-direction:column;gap:.5rem;min-width:180px}.calendar-jump-popup select,.calendar-jump-popup input{width:100%}.calendar-jump-actions{display:flex;gap:.5rem}.calendar-jump-actions button{flex:1}.calendar-jump-actions button[type=button]{background:#edf2f7;color:#1a202c}.calendar-jump-actions button[type=button]:hover{background:#e2e8f0}.calendar-loading{text-align:center;color:#718096;font-size:.875rem}.calendar-grid-wrapper{overflow-x:auto;border:1px solid #e2e8f0;border-radius:.375rem}.calendar-grid{display:grid;gap:1px;background:#e2e8f0;width:max-content;min-width:100%}.gregorian-grid{grid-template-columns:repeat(7,minmax(4rem,1fr))}.kol-grid{grid-template-columns:auto repeat(8,minmax(3.5rem,1fr))}.calendar-header{background:#edf2f7;padding:.375rem;text-align:center;font-size:.75rem;font-weight:600;text-transform:uppercase;color:#718096}.kol-month-label{background:#edf2f7;padding:.375rem .5rem;font-size:.75rem;font-weight:600;color:#4a5568;display:flex;align-items:center}.calendar-cell{background:#fff;padding:.375rem;min-height:5.5rem;cursor:pointer;position:relative;display:flex;flex-direction:column;gap:.125rem;transition:background-color .1s}.calendar-cell:hover{background:#f0f4ff}.calendar-cell.outside-month{color:#a0aec0;background:#fafafa}.today-dot{width:.5rem;height:.5rem;background:#3182ce;border-radius:50%;position:absolute;top:.25rem;left:.375rem}.calendar-cell.today .cell-day{background:#3182ce;color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center}.calendar-cell.selected{outline:2px solid #3182ce;outline-offset:-2px;z-index:1}.calendar-cell.stat-muscle{background:#fff5f5}.calendar-cell.stat-muscle.selected{background:#fee2e2}.calendar-cell.stat-myst{background:#ebf8ff}.calendar-cell.stat-myst.selected{background:#dbeafe}.calendar-cell.stat-moxie{background:#f0fff4}.calendar-cell.stat-moxie.selected{background:#dcfce7}.cell-day{font-weight:600;font-size:.875rem}.cell-moons{width:55px;height:20px;display:block;margin-top:auto}@media(max-width:640px){.cell-moons{width:40px;height:15px}.kol-cell .cell-moons{width:30px;height:11px}}.cell-holiday{position:absolute;top:.25rem;right:.375rem;color:#d69e2e;font-weight:700;font-size:.75rem}.kol-cell{min-height:2.5rem;align-items:center;justify-content:center}.day-detail{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem}.day-detail-section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#718096;margin-bottom:.375rem}.day-detail-section p,.day-detail-section li{font-size:.875rem;line-height:1.5}.day-detail-section ul{list-style:none;padding:0}.day-detail-section ul li:before{content:"· "}.no-data{color:#a0aec0;font-style:italic}.wardrobe-header{margin-bottom:.5rem}.wardrobe-level-selector{display:flex;align-items:center;gap:.25rem}@media(min-width:400px){.wardrobe-header{display:flex;align-items:center;gap:.5rem}.wardrobe-header h3{margin-bottom:0}}.wardrobe-level-btn{font-size:.7rem;padding:.125rem .375rem;border:1px solid #d1d5db;border-radius:3px;background:#fff;color:#4a5568;cursor:pointer}.wardrobe-level-btn.active{background:#4a5568;color:#fff;border-color:#4a5568}.wardrobe-items{display:flex;flex-direction:column;gap:.5rem}.wardrobe-item{display:flex;gap:.5rem;align-items:flex-start}.wardrobe-item-img{width:30px;height:30px;image-rendering:pixelated;flex-shrink:0}.wardrobe-item-info{min-width:0}.wardrobe-item-name{margin:0}.wardrobe-item-mods{margin:0;padding:0;list-style:none;font-size:.8rem;color:#718096}.wardrobe-item-mods li:before{content:"· "}.moonlight-toggle{display:flex;align-items:center;gap:.375rem;font-size:.875rem;cursor:pointer;margin-left:auto}body.moonlight-mode{background:#0a0a1a;color:#ccd6f6}body.moonlight-mode button{background:#1a1a3e;color:#ccd6f6;border-color:#2a2a4e}body.moonlight-mode button:hover{background:#2a2a4e}body.moonlight-mode .calendar-view-toggle button.active{background:#64ffda;color:#0a0a1a}body.moonlight-mode select,body.moonlight-mode input{background:#1a1a3e;color:#ccd6f6;border-color:#2a2a4e}body.moonlight-mode .calendar-grid-wrapper{border-color:#1a1a2e}body.moonlight-mode .calendar-grid{background:#1a1a2e}body.moonlight-mode .calendar-header,body.moonlight-mode .kol-month-label{background:#16213e;color:#8892b0}body.moonlight-mode .calendar-nav-label{color:#ccd6f6}body.moonlight-mode .calendar-nav-label:hover{background:#1a1a3e}body.moonlight-mode .calendar-jump-popup{background:#16213e;border-color:#2a2a4e;box-shadow:0 4px 12px #0006}body.moonlight-mode .calendar-jump-actions button[type=button]{background:#1a1a3e;color:#ccd6f6}body.moonlight-mode .calendar-jump-actions button[type=button]:hover{background:#2a2a4e}body.moonlight-mode .calendar-cell{background:color-mix(in srgb,#c8dcff calc(var(--moonlight, 0) * 10%),#0f0f23);color:#ccd6f6;box-shadow:0 0 calc(var(--moonlight, 0) * 3px) calc(var(--moonlight, 0) * 1px) rgba(200,220,255,calc(var(--moonlight, 0) * .1))}body.moonlight-mode .calendar-cell.stat-muscle,body.moonlight-mode .calendar-cell.stat-myst,body.moonlight-mode .calendar-cell.stat-moxie{background:color-mix(in srgb,#c8dcff calc(var(--moonlight, 0) * 10%),#0f0f23)}body.moonlight-mode .calendar-cell.outside-month{background:color-mix(in srgb,#c8dcff calc(var(--moonlight, 0) * 10%),#0f0f23);color:#4a4a6a}body.moonlight-mode .calendar-cell:hover{background:color-mix(in srgb,#c8dcff calc(var(--moonlight, 0) * 10% + 8%),#0f0f23)}body.moonlight-mode .calendar-cell.selected{outline-color:#64ffda}body.moonlight-mode .calendar-cell.today .cell-day{background:#64ffda;color:#0f0f23}body.moonlight-mode .today-dot{background:#64ffda}body.moonlight-mode .cell-holiday{color:gold}body.moonlight-mode .day-detail{background:#0f0f23;border-color:#1a1a2e;color:#ccd6f6}body.moonlight-mode .day-detail-section h3{color:#8892b0}body.moonlight-mode .no-data{color:#4a4a6a}body.moonlight-mode .day-detail a{color:#64ffda}body.moonlight-mode .day-detail a:hover{color:#9efff0}body.moonlight-mode .wardrobe-level-btn{background:#1a1a3e;color:#ccd6f6;border-color:#2a2a4e}body.moonlight-mode .wardrobe-level-btn.active{background:#64ffda;color:#0a0a1a;border-color:#64ffda}body.moonlight-mode .wardrobe-item-mods{color:#8892b0}
