@import "https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";:root{--ink:#25283a;--muted:#8790a3;--line:#e8eaf1;--violet:#7465dc;--soft:#f5f3ff;--mint:#63b995;--corner:12px;--page-bg:color-mix(in srgb, var(--violet) 8%, #edf5ff);--sidebar-bg:color-mix(in srgb, var(--violet) 14%, #f7fbff);--content-surface-opacity:100%;--sidebar-surface-opacity:100%;--main-surface-opacity:100%;--tabs-surface-opacity:100%;--sidebar-surface-readable-opacity:100%;--main-surface-readable-opacity:100%;--tabs-surface-readable-opacity:100%;--calendar-grid-line-strength:.14;--sidebar-surface-text-halo:0;--main-surface-text-halo:0;--tabs-surface-text-halo:0}:root[data-theme=dark]{--ink:#edf0fa;--muted:#aab3c8;--line:#31384b;--soft:#292746;--page-bg:color-mix(in srgb, var(--violet) 13%, #172033);--sidebar-bg:color-mix(in srgb, var(--violet) 16%, #1b2739)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--page-bg);color:var(--ink);background-attachment:fixed;margin:0;font-family:Gowun Dodum,sans-serif}:root[data-whiteout=true] body{background:#fff}:root[data-whiteout=true] main,:root[data-whiteout=true] .mobile-topbar{color:#fff}:root[data-whiteout=true] main *,:root[data-whiteout=true] .mobile-topbar *{color:#fff!important}:root[data-whiteout=true] main input,:root[data-whiteout=true] main textarea,:root[data-whiteout=true] main select{caret-color:#fff}:root[data-theme=dark] .sidebar{border-color:#34445c}:root[data-theme=dark] .main,:root[data-theme=dark] .panel,:root[data-theme=dark] .my-page,:root[data-theme=dark] .special-page{background:#1b2333}:root[data-theme=dark] .nav:hover,:root[data-theme=dark] .nav.active,:root[data-theme=dark] .category-panel,:root[data-theme=dark] .member-panel li,:root[data-theme=dark] .member-detail{background:#252f43}:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] select,:root[data-theme=dark] button:not(.account-submit):not(.my-page-save){color:var(--ink)}:root[data-theme=dark] .brand,:root[data-theme=dark] .admin,:root[data-theme=dark] .calendar-card,:root[data-theme=dark] .day-card,:root[data-theme=dark] .board-section,:root[data-theme=dark] .upcoming-list>button,:root[data-theme=dark] .post,:root[data-theme=dark] .community-tip-list button,:root[data-theme=dark] .news-item{background:#1b2333;border-color:#344057}:root[data-theme=dark] .brand{color:#edf0fa}:root[data-theme=dark] .admin.on{background:color-mix(in srgb, var(--violet) 24%, #1b2333);color:#fff}:root[data-theme=dark] .calendar-days button{color:#edf0fa;background:#20293a;border-color:#344057}:root[data-theme=dark] .calendar-days button:hover{background:#29344a}:root[data-theme=dark] .calendar-days .muted,:root[data-theme=dark] .calendar-days .muted:not(.selected) .day-number{color:#78849a}:root[data-theme=dark] .legend>div,:root[data-theme=dark] .my-account-summary,:root[data-theme=dark] .my-page-tabs{background:#252f43}:root[data-theme=dark] .news-item h3,:root[data-theme=dark] .news-list p,:root[data-theme=dark] .post p,:root[data-theme=dark] .community-tip-list p{color:#d8dfed}:root[data-theme=dark] .important-toggle,:root[data-theme=dark] .news-admin-list>div{background:#252f43;border-color:#39465d}:root[data-theme=dark] .important-toggle>span,:root[data-theme=dark] .news-admin-list span{color:#e3e9f5}:root[data-theme=dark] .important-banner{color:#f7e9b5;background:#332c1d;border-color:#826a2e;box-shadow:0 5px 14px #0000002e}:root[data-theme=dark] .important-banner-open>span{color:#f0cb67}:root[data-theme=dark] .important-banner-open strong{color:#fff1c6}:root[data-theme=dark] .important-banner-close{color:#ffe9a6;background:#5a4a22}:root[data-theme=dark] .important-news{color:#ffe39a;background:#5a481c}:root[data-theme=dark] .now-bar,:root[data-theme=dark] .now-bar p{color:#eef3ff}:root[data-theme=dark] .tip-card{background:linear-gradient(135deg, color-mix(in srgb, var(--violet) 34%, #202b40), color-mix(in srgb, var(--violet) 16%, #1b2333))}:root[data-theme=dark] .tip-card>p,:root[data-theme=dark] .tip-card h3,:root[data-theme=dark] .tip-card span{color:#edf2fb}:root[data-theme=dark] .tip-card button{color:color-mix(in srgb, var(--violet) 58%, #d7e9ff)}:root[data-theme=dark] .modal,:root[data-theme=dark] .account-dialog{color:var(--ink);background:#1b2333}:root[data-theme=dark] .modal input,:root[data-theme=dark] .modal textarea,:root[data-theme=dark] .account-dialog input{color:var(--ink);background:#252f43;border-color:#3b4860}:root[data-theme=dark] .class-code-help-button{color:#e2ebf8;border-color:#7f91ad}:root[data-theme=dark] .class-code-help>span{color:#c8d5e8}:root[data-theme=dark] .modal label,:root[data-theme=dark] .detail-text{color:#dce4f2}:root[data-theme=dark] .month-controls select,:root[data-theme=dark] .month-controls button,:root[data-theme=dark] .month-controls .date-input,:root[data-theme=dark] .timetable-trigger,:root[data-theme=dark] .timetable-tabs button,:root[data-theme=dark] .timetable-edit,:root[data-theme=dark] .picker-head button,:root[data-theme=dark] .secondary,:root[data-theme=dark] .my-page-logout{color:#edf0fa;background:#252f43;border-color:#3b4860}:root[data-theme=dark] .timetable-table{border-color:#3b4860}:root[data-theme=dark] .timetable-table th,:root[data-theme=dark] .timetable-table td{color:#edf0fa;background:#20293a;border-color:#3b4860}:root[data-theme=dark] .timetable-table thead th{background:color-mix(in srgb, var(--violet) 28%, #20293a);color:#fff}:root[data-theme=dark] .timetable-table tbody th{color:#dce4f2;background:#252f43}:root[data-theme=dark] .timetable-table td.changed{color:#fff0a0;background:#4c421f}:root[data-theme=dark] .modal-actions button,:root[data-theme=dark] .member-panel li button,:root[data-theme=dark] .member-detail-actions button{color:#edf0fa;background:#252f43;border-color:#3b4860}:root[data-theme=dark] .schedule-button{background:#252f43;border-color:#3b4860}:root[data-theme=dark] .schedule-button:hover{background:#2d394f}:root[data-theme=dark] .schedule-button .item-line b,:root[data-theme=dark] .day-card .item-line b{color:#edf0fa}:root[data-theme=dark] .schedule-button .item-line span,:root[data-theme=dark] .day-card .item-line span{color:#b8c4d8}:root[data-theme=dark] .modal-actions .edit,:root[data-theme=dark] .news-admin-list .edit{color:#d8f4ff;background:#253d4d;border-color:#3e778e}:root[data-theme=dark] .modal .primary.edit{border-color:color-mix(in srgb, var(--violet) 62%, #487188);background:color-mix(in srgb, var(--violet) 34%, #20394a);color:#e9f8ff;box-shadow:inset 0 0 0 1px #ffffff12}:root[data-theme=dark] .modal .primary.edit:hover{background:color-mix(in srgb, var(--violet) 45%, #24465b)}:root[data-theme=dark] .danger,:root[data-theme=dark] .modal-actions .danger,:root[data-theme=dark] .news-admin-list .danger{color:#ffd8de;background:#4b292f;border-color:#8b4853}:root[data-theme=dark] .site-status-grid article{background:#252f43;border-color:#3b4860}:root[data-theme=dark] .site-status-grid span,:root[data-theme=dark] .site-status-grid small,:root[data-theme=dark] .status-checked,:root[data-theme=dark] .member-panel>small,:root[data-theme=dark] .member-panel li span,:root[data-theme=dark] .member-detail span,:root[data-theme=dark] .member-detail p{color:#b8c4d8}:root[data-theme=dark] .special-page>.section-head>button:not(.primary),:root[data-theme=dark] .feedback-back,:root[data-theme=dark] .choice button{color:#edf0fa;background:#252f43;border-color:#3b4860}:root[data-theme=dark] .choice button:hover{border-color:color-mix(in srgb, var(--violet) 55%, #3b4860);background:#2d394f}:root[data-theme=dark] .choice b{background:color-mix(in srgb, var(--violet) 27%, #27334a);color:#e7e2ff}:root[data-theme=dark] .choice span{color:#b9c4d6}:root[data-theme=dark] .back-to-choice{color:color-mix(in srgb, var(--violet) 58%, #e1e9f8)}:root[data-theme=dark] .pdf-upload-option{color:#dfe7f5;background:#252f43;border-color:#3b4860}:root[data-theme=dark] .pdf-upload-option>b{color:color-mix(in srgb, var(--violet) 54%, #ece8ff)}:root[data-theme=dark] .pdf-upload-option small{color:#b7c1d2}:root[data-theme=dark] .pdf-upload-option label.disabled{color:#8793a8}:root[data-theme=dark] input[type=file]{color:#dfe7f5;background:#252f43;border-color:#3b4860}:root[data-theme=dark] input[type=file]::file-selector-button{color:#e8edf8;font:inherit;background:#1b2333;border:1px solid #4a5870;border-radius:7px;margin-right:10px;padding:7px 9px;font-size:12px;font-weight:800}:root[data-theme=dark] .attachment-preview,:root[data-theme=dark] .attachment-info,:root[data-theme=dark] .attachment-edit-list{color:#dfe7f5;background:#252f43;border-color:#3b4860}:root[data-theme=dark] .attachment-visual,:root[data-theme=dark] .attachment-preview img,:root[data-theme=dark] .attachment-preview iframe,:root[data-theme=dark] .image-viewer img,:root[data-theme=dark] .image-viewer iframe{background:#151c2a}:root[data-theme=dark] .file-visual{color:#b8c4d8}:root[data-theme=dark] .file-visual b,:root[data-theme=dark] .attachment-edit-list>div,:root[data-theme=dark] .attachment-info button,:root[data-theme=dark] .attachment-info a{color:#e2e8f5;background:#1b2333;border-color:#42516a}:root[data-theme=dark] .attachment-edit-list>b{color:#e7edf8}:root[data-theme=dark] .attachment-edit-list button{color:#ffd8de;background:#4b292f;border-color:#8b4853}:root[data-theme=dark] .attachment-edit-list .removed button{color:#d8f4ff;background:#253d4d;border-color:#3e778e}:root[data-theme=dark] .attachment-edit-list small{color:#b7c1d2}:root[data-theme=dark] .image-viewer .file.download{color:#d8f4ff;background:#253d4d}@media (max-width:650px){:root[data-theme=dark] .mobile-topbar{background:color-mix(in srgb, var(--violet) 12%, #1b2333e8);border-color:#344057;box-shadow:0 5px 14px #00000030}:root[data-theme=dark] .mobile-menu{background:linear-gradient(180deg, color-mix(in srgb, var(--violet) 22%, #1d2a3c) 0%, color-mix(in srgb, var(--violet) 13%, #172434) 58%, #15202e 100%);border-color:#3b526d}:root[data-theme=dark] .mobile-menu-head{color:#edf0fa;border-color:#3b526d}:root[data-theme=dark] .mobile-menu-head button{color:#cbd8ec}:root[data-theme=dark] .mobile-menu>button{color:#dbe8f7;border-color:#344a63}:root[data-theme=dark] .mobile-menu>button:hover{background:color-mix(in srgb, var(--violet) 22%, #27364c);color:#fff}:root[data-theme=dark] .mobile-menu-section-label,:root[data-theme=dark] .mobile-menu>button.mobile-menu-admin,:root[data-theme=dark] .mobile-menu>button.mobile-menu-my-page{color:#cbdcf0;border-color:#3b526d}:root[data-theme=dark] .mobile-admin{color:#edf0fa;background:#252f43;border-color:#3b4860}:root[data-theme=dark] .mobile-admin.on{background:color-mix(in srgb, var(--violet) 25%, #20293a);border-color:color-mix(in srgb, var(--violet) 54%, #3b4860);color:#fff}}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.app-shell{min-height:100vh;display:flex}:root[data-limited-event=aurora] body{background:radial-gradient(circle at 18% 15%, #93e8df 0, transparent 28%), radial-gradient(circle at 82% 12%, #bda2ff 0, transparent 30%), var(--page-bg)}:root[data-limited-event=sunset] body{background:radial-gradient(circle at 12% 16%, #ffc98c 0, transparent 31%), radial-gradient(circle at 82% 11%, #fa9eb8 0, transparent 31%), var(--page-bg)}:root[data-limited-event=midnight] body{background:radial-gradient(circle at 76% 9%,#506cbb 0,#0000 34%),radial-gradient(circle at 8% 75%,#39457d 0,#0000 33%),#141c35}:root[data-limited-event=festival] body{background:radial-gradient(circle at 18% 8%, #fa9cce 0, transparent 30%), radial-gradient(circle at 85% 22%, #ab88fc 0, transparent 33%), var(--page-bg)}:root[data-limited-event=mint] body{background:radial-gradient(circle at 19% 14%, #9aead1 0, transparent 30%), radial-gradient(circle at 80% 8%, #b2dfd4 0, transparent 31%), var(--page-bg)}:root[data-limited-event][style*=--limited-event-image] body{background-image:linear-gradient(#13213a88, #13213a88), var(--limited-event-image);background-position:50%;background-size:cover;background-attachment:fixed}@media (max-width:650px){:root[data-limited-event-mobile=aurora] body{background:radial-gradient(circle at 18% 15%, #93e8df 0, transparent 28%), radial-gradient(circle at 82% 12%, #bda2ff 0, transparent 30%), var(--page-bg)}:root[data-limited-event-mobile=sunset] body{background:radial-gradient(circle at 12% 16%, #ffc98c 0, transparent 31%), radial-gradient(circle at 82% 11%, #fa9eb8 0, transparent 31%), var(--page-bg)}:root[data-limited-event-mobile=midnight] body{background:radial-gradient(circle at 76% 9%,#506cbb 0,#0000 34%),radial-gradient(circle at 8% 75%,#39457d 0,#0000 33%),#141c35}:root[data-limited-event-mobile=festival] body{background:radial-gradient(circle at 18% 8%, #fa9cce 0, transparent 30%), radial-gradient(circle at 85% 22%, #ab88fc 0, transparent 33%), var(--page-bg)}:root[data-limited-event-mobile=mint] body{background:radial-gradient(circle at 19% 14%, #9aead1 0, transparent 30%), radial-gradient(circle at 80% 8%, #b2dfd4 0, transparent 31%), var(--page-bg)}:root[data-limited-event-mobile][style*=--limited-event-mobile-image] body{background-image:linear-gradient(#13213a88, #13213a88), var(--limited-event-mobile-image);background-position:50%;background-size:cover;background-attachment:fixed}}.sidebar{z-index:4;background:var(--sidebar-bg);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--violet) 42%, #c8d4e5) transparent;border:1px solid #cfddec;border-radius:22px;flex-direction:column;width:226px;height:calc(100vh - 32px);margin:16px 0 16px 16px;padding:25px 17px;display:flex;position:fixed;overflow-y:auto}.brand{border-radius:var(--corner);color:#25283a;text-align:left;background:#fff;border:1px solid #e1e5ed;align-items:center;gap:10px;margin-bottom:17px;padding:11px 12px;font-size:17px;display:flex}.brand strong{color:var(--ink);letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;font:800 17px/1 Plus Jakarta Sans,sans-serif;overflow:hidden}.brand span{color:#6c5ed2;background:#eeeaff;border-radius:10px;place-items:center;width:29px;height:29px;padding-bottom:1px;font:700 17px/1 Plus Jakarta Sans;display:grid}.limited-event-page{max-width:920px}.limited-event-intro{color:var(--muted);margin:4px 0 24px;font-size:15px}.limited-event-form{gap:22px;display:grid}.limited-event-editor-title{color:var(--ink);margin:4px 0 -4px;font-size:18px}.limited-event-list{flex-wrap:wrap;gap:9px;margin:0 0 22px;display:flex}.limited-event-list button{border:1px solid var(--line);background:var(--panel);min-width:150px;color:var(--ink);text-align:left;border-radius:12px;gap:3px;padding:11px 13px;display:grid}.limited-event-list button.selected{border-color:var(--violet);box-shadow:inset 3px 0 0 var(--violet)}.limited-event-list button span{color:var(--muted);font-size:12px}.limited-event-list .limited-event-new{min-width:112px;color:var(--violet);text-align:center;font-weight:800;display:block}.limited-event-list-section{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, var(--violet));border-radius:17px;gap:12px;margin:0 0 24px;padding:18px;display:grid}.limited-event-list-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.limited-event-list-heading h2{color:var(--ink);margin:0;font-size:16px}.limited-event-list-heading .limited-event-new{border:1px solid color-mix(in srgb, var(--violet) 35%, var(--line));background:color-mix(in srgb, var(--violet) 8%, #fff);color:var(--violet);border-radius:10px;padding:8px 10px;font-size:12px;font-weight:900}.limited-event-list-section .limited-event-list{margin:0;display:grid}.limited-event-list-section .limited-event-list>button{background:color-mix(in srgb, var(--violet) 5%, #fff);border-radius:12px;align-items:center;gap:11px;width:100%;min-width:0;padding:13px;display:flex}.limited-event-list-section .limited-event-list>button+button{margin-top:8px}.limited-event-list-section .limited-event-list>button>div{min-width:0}.limited-event-list-section .limited-event-symbol{color:inherit;flex:none;font-size:22px}.limited-event-list-section .limited-event-list strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.limited-event-list-section .limited-event-list p{color:var(--muted);margin:4px 0 0;font-size:12px}.limited-event-list-section .limited-event-list small{color:var(--violet);margin-top:6px;font-size:11px;font-weight:900;display:inline-block}.limited-event-list-section .limited-event-list>button>b{color:var(--violet);margin-left:auto;font-size:24px;line-height:1}:root[data-theme=dark] .limited-event-list-section{background:#202a3c;border-color:#3b4860}:root[data-theme=dark] .limited-event-list-heading h2,:root[data-theme=dark] .limited-event-list-section .limited-event-list strong{color:#f0f4ff}:root[data-theme=dark] .limited-event-list-heading .limited-event-new,:root[data-theme=dark] .limited-event-list-section .limited-event-list>button{background:#29364c;border-color:#3b4860}:root[data-theme=dark] .limited-event-list-section .limited-event-list p{color:#c6d0e1}:root[data-theme=dark] .limited-event-list-section .limited-event-list small,:root[data-theme=dark] .limited-event-list-section .limited-event-list>button>b{color:#cbc3ff}.limited-event-title{color:var(--ink);gap:8px;font-size:14px;font-weight:800;display:grid}.limited-event-title input{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--ink);border-radius:11px;padding:12px 13px}.limited-event-form fieldset{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 91%, var(--violet));border-radius:17px;gap:13px;margin:0;padding:20px;display:grid}.limited-event-form legend{color:var(--ink);padding:0 7px;font-size:16px;font-weight:850}.limited-event-switch{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:15px;align-items:center;gap:11px;padding:16px 18px;font-weight:800;display:flex}.limited-event-switch input{width:20px;height:20px;accent-color:var(--violet)}.limited-event-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.limited-event-dates label{color:var(--ink);gap:8px;font-size:14px;font-weight:800;display:grid}.limited-event-dates input,.limited-event-message input{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--ink);border-radius:11px;padding:12px 13px}.limited-event-backgrounds{flex-wrap:wrap;gap:10px;display:flex}.limited-event-preview{border:1px solid var(--line);color:#fff;text-shadow:0 1px 4px #0008;background-position:50%;background-size:cover;border-radius:13px;place-items:center;min-height:130px;font-weight:850;display:grid}.limited-event-preview.desktop-preview{aspect-ratio:16/9;width:min(100%,560px);min-height:0}.limited-event-preview.mobile-preview{aspect-ratio:9/16;width:min(100%,240px);min-height:0;margin-inline:auto}.limited-event-preview.aurora{background-image:linear-gradient(135deg,#5ba,#8a71d6)}.limited-event-preview.sunset{background-image:linear-gradient(135deg,#ed9e5c,#dc6f9e)}.limited-event-preview.midnight{background-image:linear-gradient(135deg,#334e83,#121a32)}.limited-event-preview.festival{background-image:linear-gradient(135deg,#e776ae,#8768d3)}.limited-event-preview.mint{background-image:linear-gradient(135deg,#5fbf9e,#8fcdbc)}.limited-event-upload{color:var(--ink);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.limited-event-upload input{max-width:100%;color:var(--muted)}.limited-event-file-list{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:9px;max-height:230px;padding:3px;display:grid;overflow-y:auto}.limited-event-file-list button{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--ink);text-align:left;border-radius:10px;gap:5px;padding:6px;display:grid}.limited-event-file-list button.selected{border:2px solid var(--violet)}.limited-event-file-list img{object-fit:cover;border-radius:6px;width:100%;height:66px}.limited-event-file-list span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.limited-event-image-clear{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:9px;justify-self:start;padding:8px 11px;font-size:12px}.limited-event-bg{color:#172033;border:2px solid #0000;border-radius:12px;min-width:92px;padding:12px 15px;font-weight:800}.limited-event-bg.selected{border-color:var(--ink);box-shadow:0 0 0 2px var(--panel)}.limited-event-bg.aurora{background:linear-gradient(135deg,#9cf0df,#c5b4ff)}.limited-event-bg.sunset{background:linear-gradient(135deg,#ffd190,#f7a2ba)}.limited-event-bg.midnight{color:#fff;background:linear-gradient(135deg,#394b86,#1a2442)}.limited-event-bg.festival{background:linear-gradient(135deg,#ffabd5,#b694fb)}.limited-event-bg.mint{background:linear-gradient(135deg,#9be8cf,#ccece1)}.form-help{color:var(--muted);margin:-4px 0 3px;font-size:13px}.limited-event-message{color:var(--ink);grid-template-columns:115px minmax(0,1fr);align-items:center;gap:14px;display:grid}.limited-event-message span{gap:3px;display:grid}.limited-event-message small{color:var(--muted);font-size:12px}.limited-event-save{background:var(--violet);color:#fff;border-radius:12px;justify-self:start;padding:14px 26px;font-weight:850}.limited-event-actions{align-items:center;gap:10px;display:flex}:root[data-theme=dark] .limited-event-form fieldset,:root[data-theme=dark] .limited-event-switch,:root[data-theme=dark] .limited-event-dates input,:root[data-theme=dark] .limited-event-message input,:root[data-theme=dark] .limited-event-list button,:root[data-theme=dark] .limited-event-title input,:root[data-theme=dark] .limited-event-image-clear{background:#222d42}:root[data-theme=dark] .limited-event-editor-title{color:#f0f4ff}:root[data-theme=dark] .limited-event-file-list button{background:#222d42}.sidebar nav{flex-shrink:0;gap:6px;display:grid}.nav{color:#667084;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:12px 11px;font-size:13px;display:flex}.nav:hover,.nav.active{background:color-mix(in srgb, var(--violet) 16%, #fff);color:color-mix(in srgb, var(--violet) 82%, #25283a);font-weight:700}:root[data-theme=dark] .nav:hover,:root[data-theme=dark] .nav.active{background:color-mix(in srgb, var(--violet) 30%, #20293a);color:#fff}.nav>span{text-align:center;width:18px}.badge{color:#fff;background:#e76c75;border-radius:10px;place-items:center;min-width:19px;height:19px;margin-left:auto;padding:0 5px;font:700 10px Plus Jakarta Sans;display:grid}.badge.seen{background:var(--mint)}.badge.new{letter-spacing:.02em;min-width:34px;padding:0 6px;font-size:8px}.side-bottom{flex-shrink:0;margin-top:auto}.side-bottom .my-page-nav{margin-bottom:6px}.admin{color:#687184;background:#fff;border:1px solid #e1e4eb;border-radius:10px;width:100%;padding:11px;font-size:12px;font-weight:700}.admin.on{background:var(--soft);color:#5e50c8;border-color:#d0caff}.mobile-topbar,.mobile-menu-trigger,.mobile-menu-backdrop,.mobile-menu{display:none}.top-grid{grid-template-columns:minmax(0,1fr) 316px;align-items:start;gap:22px;display:grid}.now-bar{color:#263955;align-items:center;gap:10px;margin:3px 0 22px;display:flex}.now-bar>span{flex:none;font-size:28px;line-height:1}.now-bar p{color:#263955;letter-spacing:-.045em;margin:0;font-size:clamp(21px,2.25vw,30px);font-weight:800;line-height:1.32}.mobile-greeting-break{display:none}.important-banner{border-radius:var(--corner);color:#66532a;background:#fff9e8;border:1px solid #f0d68d;margin:2px 0 17px;padding:0;position:relative;box-shadow:0 5px 14px #a9831b12}.important-banner-open{border-radius:var(--corner);width:100%;color:inherit;text-align:left;background:0 0;gap:4px;padding:13px 42px 13px 15px;display:grid}.important-banner-open>span{color:#9c6a12;font-size:11px;font-weight:800}.important-banner-open strong{color:#655128;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.important-banner-close{color:#8d6a20;background:#f4e4ae;border-radius:50%;width:25px;height:25px;padding:0;font-size:18px;line-height:1;position:absolute;top:10px;right:10px}.calendar-card,.day-card,.tip-card,.board-section,.special-page{border:1px solid var(--line);background:#fff;border-radius:20px}.calendar-card{padding:27px 29px 21px}.section-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.eyebrow{color:#8f97a7;letter-spacing:.02em;margin:0 0 7px;font:700 11px Plus Jakarta Sans}.today{color:var(--violet);margin:0 0 7px;font:700 12px Plus Jakarta Sans}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:27px}h2{margin:0;font-size:20px}h3{margin-bottom:0}.month-controls{align-items:center;gap:7px;display:flex}.calendar-actions{justify-items:end;gap:8px;display:grid}.month-controls select,.month-controls button{color:#687083;background:#fff;border:1px solid #e0e3eb;border-radius:9px;height:34px;padding:0 9px}.month-controls .today-button{color:#6457bf;width:auto;padding:0 11px;font:700 12px/1 Plus Jakarta Sans}.month-controls button{width:34px;padding:0;font:800 25px/1 Plus Jakarta Sans}.month-controls .calendar-arrow{place-items:center;padding:0 0 2px;line-height:1;display:grid}.month-controls .date-input{color:#687083;background:#fff;border:1px solid #e0e3eb;border-radius:9px;width:132px;height:34px;padding:0 8px;font:12px Gowun Dodum}.timetable-trigger{color:#35405a;background:#fbfcff;border:1px solid #d9deea;border-radius:10px;min-width:172px;height:36px;font-size:12px;font-weight:800}.timetable-trigger:hover{color:var(--violet);background:#f0efff}.timetable-alert{color:#fff;vertical-align:middle;background:#e76c75;border-radius:9px;place-items:center;min-width:42px;height:17px;margin-left:4px;padding:0 4px;font:800 9px Plus Jakarta Sans;display:inline-grid}.modal-backdrop:has(.timetable-modal){padding:8px}.modal:has(.timetable-modal){width:min(820px,100vw - 16px);padding:22px 18px}.timetable-modal{min-width:0}.timetable-modal h2{margin-bottom:18px}.timetable-toolbar{justify-content:space-between;align-items:center;gap:9px;margin-bottom:8px;display:flex}.timetable-tabs{gap:6px;display:flex}.timetable-tabs button,.timetable-edit{color:#657087;background:#fff;border:1px solid #dfe3ec;border-radius:8px;height:31px;padding:0 10px;font-size:11px;font-weight:700}.timetable-tabs button.active{color:#594cc4;background:#eeeaff;border-color:#7768db}.timetable-edit{color:#594cc4}.timetable-range{color:#566078;margin:0 0 5px;font-size:12px;font-weight:800}.timetable-note{color:#8b92a3;margin:0 0 11px;font-size:11px}.timetable-scroll{overflow-x:auto}.timetable-table{table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:center;border:1px solid #dfe3ec;border-radius:12px;width:100%;min-width:0;overflow:hidden}.timetable-table th,.timetable-table td{overflow-wrap:anywhere;border-bottom:1px solid #e7eaf1;border-right:1px solid #e7eaf1;height:48px;padding:5px 3px;font-size:12px}.timetable-table tr>:last-child{border-right:0}.timetable-table tbody tr:last-child>*{border-bottom:0}.timetable-table thead th{color:#5143ae;background:#f1efff;font-weight:800}.timetable-table tbody th{color:#4e576b;background:#fafbfe;width:13%}.timetable-table small{color:#949bad;margin-top:2px;font-size:10px;font-weight:500;display:block}.timetable-table td.changed{color:#69511c;background:#fff7cf;font-weight:800}.timetable-table td input{color:#394155;text-align:center;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d1c8f4;border-radius:5px;padding:4px 1px}.timetable-save-actions{justify-content:flex-end;margin-top:13px}.modal .timetable-save-actions button{box-sizing:border-box;height:48px;margin:0}.modal .timetable-save-actions .primary{margin-top:0}.weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekdays{border-bottom:1px solid var(--line);color:#959eaf;text-align:center;margin-top:26px;font-size:13px}.weekdays span{padding:0 0 13px}.weekdays span:first-child{color:#d9959a}.weekdays span:last-child{color:#91addb}.calendar-days button{color:#40495d;text-align:left;vertical-align:top;background:#fff;border-bottom:1px solid #eef0f5;border-right:1px solid #eef0f5;min-height:75px;padding:13px;display:block;position:relative}.calendar-days button:nth-child(7n+1){border-left:1px solid #eef0f5}.calendar-days .muted{color:#c9ced9}.calendar-days .day-number{z-index:0;line-height:1;position:absolute;top:13px;left:13px}.calendar-days .selected .day-number{color:#fff}.calendar-days .selected .day-number:before{z-index:-1;background:var(--violet);content:"";border-radius:50%;width:27px;height:27px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.calendar-days .is-today:not(.selected) .day-number{color:var(--violet);font-weight:700}.calendar-days button:nth-child(7n+1):not(.selected) .day-number{color:#c65c63}.calendar-days button:nth-child(7n):not(.selected) .day-number{color:#5e83c4}.calendar-days .muted:not(.selected) .day-number{color:#c9ced9}.calendar-days.rows-5 button{min-height:90px}.calendar-days.rows-4 button{min-height:112px}.calendar-dots{flex-direction:column;align-items:center;gap:3px;max-width:calc(100% - 16px);display:flex;position:absolute;bottom:11px;left:50%;overflow:visible;transform:translate(-50%)}.calendar-marker{color:#697286;border-radius:999px;align-items:center;gap:0;width:30px;min-width:30px;height:13px;padding:0;font-style:normal;line-height:1;display:inline-flex;position:relative}.calendar-marker i{border-radius:999px;width:100%;height:100%;display:block;position:absolute;inset:0}.marker-symbol{z-index:1;color:#fff;text-align:center;width:100%;font:800 9px/1 Arial,sans-serif;position:relative}.calendar-marker b{display:none}.calendar-more{color:#737d91;font:800 12px/1 Plus Jakarta Sans}.legend{color:#80899a;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:17px;font-size:11px;display:grid}.legend>div{background:color-mix(in srgb, var(--violet) 6%, #fff);border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px 11px;padding:9px 10px;display:flex}.legend b{color:#697286;font-size:10px}.legend .legend-type{align-items:center;gap:4px;display:inline-flex}.legend .legend-type span{background:color-mix(in srgb, var(--violet) 18%, #fff);width:14px;height:14px;color:var(--violet);border-radius:4px;place-items:center;font:800 9px/1 Arial,sans-serif;display:inline-grid}.category-chip{color:color-mix(in srgb, var(--violet) 55%, #697286);font:inherit;background:0 0;align-items:center;gap:5px;padding:0;display:flex}.category-chip:hover{color:var(--violet);text-underline-offset:3px;text-decoration:underline}.legend i,.item-line>i{border-radius:50%;flex:none;width:8px;height:8px}.right-column{gap:20px;display:grid}.day-card,.tip-card{padding:23px}.count{background:color-mix(in srgb, var(--violet) 14%, #fff);width:25px;height:25px;color:var(--violet);border-radius:50%;place-items:center;font:700 11px Plus Jakarta Sans;display:grid}.empty{color:#9ba3b2;text-align:center;margin:26px 0 10px;font-size:12px;line-height:1.7}.compact-list{gap:8px;margin-top:18px;display:grid}.item-line{text-align:left;align-items:center;gap:9px;display:flex}.item-line>div{gap:3px;display:grid}.item-line b{font-size:13px}.item-line span{color:#9099a9;font-size:10px}.upcoming-list time{justify-items:end;gap:3px;display:grid}.d-day{color:#6758d0;font-size:11px;font-weight:800}.d-day.urgent{color:#df4545}.category-summary{color:#687286;align-items:center;gap:9px;margin:3px 0 15px;font-size:12px;display:flex}.category-summary i{border-radius:50%;width:13px;height:13px}.category-list-button{color:#5e50c8;background:#fafaff;border:1px solid #dddff0;border-radius:9px;width:100%;padding:12px;font-size:12px;font-weight:800}.category-color-form{border-top:1px solid #eceef4;gap:11px;margin-top:18px;padding-top:17px;display:grid}.category-colors{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.color-card{color:#788195;border:1px solid #e1e4ee;border-radius:9px;grid-template-columns:24px 1fr;align-items:center;gap:3px 7px;padding:9px;display:grid}.color-card.selected{background:#f2fbff;border-color:#bcdceb}.color-card span{grid-column:1/-1;font-size:10px;font-weight:800}.color-card i{border-radius:50%;width:23px;height:23px;box-shadow:inset 0 0 0 1px #00000010}.color-card b{color:#596378;font:800 10px Plus Jakarta Sans}.color-suggestions>span{color:#697286;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.color-suggestions>div{align-items:center;gap:9px;display:flex}.color-suggestions button,.custom-color{color:#7a8497;border:2px solid #0000;border-radius:50%;place-items:center;width:29px;height:29px;padding:0;font-size:16px;line-height:1;display:grid;position:relative}.color-suggestions button.chosen{border-color:#333b4f;box-shadow:0 0 0 2px #fff}.custom-color{cursor:pointer;background:#fff;border-color:#dce1eb}.custom-color input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.category-item-list{gap:8px;margin-top:17px;display:grid}.category-item-list button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.category-item-list button:hover{background:#faf9ff;border-color:#cfc8ff}.category-item-list time{color:#7568d7;margin-left:auto;font:700 10px Plus Jakarta Sans}.primary{background:var(--violet);color:#fff;border-radius:9px;padding:10px 13px;font-size:13px;font-weight:700}.primary.add{width:100%;margin-top:19px;padding:13px;font-size:15px}.full{width:100%;margin-top:18px}.tip-card>p{color:color-mix(in srgb, var(--violet) 75%, #1f3155);margin-bottom:13px;font-size:12px;font-weight:700}.tip-card h3{font-size:18px}.tip-card span{color:#697286;margin-top:8px;font-size:12px;line-height:1.7;display:block}.tip-card button{color:#2e6eaf;background:0 0;margin-top:16px;padding:0;font-size:11px;font-weight:700}.board-section,.special-page{margin-top:25px;padding:27px 29px;scroll-margin-top:20px}.upcoming-list,.post-list,.feedback-list{gap:9px;margin-top:19px;display:grid}.upcoming-list>button,.post,.feedback-list button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:11px;padding:14px 15px}.upcoming-list>button{align-items:center;gap:12px;display:flex}.upcoming-list>button:hover,.post:hover,.feedback-list button:hover{background:#faf9ff;border-color:#cfc8ff}.upcoming-list time{color:#7568d7;margin-left:auto;font:700 10px Plus Jakarta Sans}.post>div{justify-content:space-between;align-items:center;display:flex}.post div span{background:var(--soft);color:#6759ca;border-radius:5px;padding:3px 7px;font:700 10px Plus Jakarta Sans}.post time,.feedback-list time{color:#969eae;font:10px Plus Jakarta Sans}.post h3{margin:10px 0 6px;font-size:15px}.post p,.feedback-list p{color:#687184;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.65;display:-webkit-box;overflow:hidden}.post small{color:#685bc7;margin-top:10px;font-size:10px;display:block}footer{color:#9aa1ad;text-align:center;padding:34px 0 8px;font-size:11px}.special-page{max-width:900px;margin:0 auto}.special-page>.section-head>button:not(.primary){color:#667084;background:#fff;border:1px solid #e0e3eb;border-radius:9px;padding:10px 13px;font-size:12px;font-weight:700}.tips-grid{grid-template-columns:repeat(2,1fr);gap:13px;margin-top:23px;display:grid}.tips-grid article{border:1px solid var(--line);border-radius:13px;padding:18px}.tips-grid span{color:var(--violet);font:700 10px Plus Jakarta Sans}.tips-grid h3{margin:9px 0 7px;font-size:16px}.tips-grid p{color:#727b8c;margin:0;font-size:12px;line-height:1.65}.tip-tabs{border-bottom:1px solid var(--line);gap:7px;margin-top:22px;display:flex}.tip-tabs button{color:#858e9f;background:0 0;border-bottom:2px solid #0000;padding:10px 12px;font-size:12px;font-weight:700}.tip-tabs button.active{border-color:var(--violet);color:#6457c7}.community-tips{margin-top:21px}.content-refresh{color:#7189a1;margin:13px 0 0;font-size:11px;font-weight:700}.community-tip-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.community-tip-head p{color:#737c8d;margin:0;font-size:12px}.community-tip-list{gap:10px;margin-top:16px;display:grid}.community-tip-list button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:11px;padding:15px}.community-tip-list button:hover{background:#faf9ff;border-color:#cfc8ff}.community-tip-list span{color:var(--violet);font:700 10px Plus Jakarta Sans}.community-tip-list p{color:#596274;white-space:pre-wrap;margin:8px 0 0;font-size:13px;line-height:1.7}.community-tip-list h3{margin:8px 0 5px;font-size:15px}.feedback-intro{background:#f8f7ff;border:1px solid #e4e0ff;border-radius:14px;margin-top:22px;padding:19px}.feedback-intro h2{margin-bottom:9px;font-size:18px}.feedback-intro p{color:#656e80;margin-bottom:10px;font-size:13px}.feedback-intro small{color:#a06565;font-size:11px}.feedback-view{width:min(900px,100%);margin:0 auto}.feedback-back{color:#687184;background:#fff;border:1px solid #e0e3eb;border-radius:9px;padding:9px 11px;font-size:12px;font-weight:700}.feedback-view .special-page{width:100%}.easter-egg-page{width:min(900px,100%);margin:0 auto}.easter-event-list,.easter-report-form,.easter-report-list{border-radius:var(--corner);background:#fff;border:1px solid #e1e5ef;margin-top:18px;padding:18px}.easter-event-list h2,.easter-report-form h2,.easter-report-list h2{color:#30384b;margin:0 0 12px;font-size:16px}.easter-event-list article,.easter-report-list article{background:#f8f6ff;border-radius:12px;align-items:flex-start;gap:11px;padding:13px;display:flex}.easter-event-list>button{text-align:left;background:#f8f6ff;border:0;border-radius:12px;align-items:flex-start;gap:11px;width:100%;padding:13px;display:flex}.easter-event-list>button+button{margin-top:8px}.easter-event-list>button>b{color:#7568c9;margin-left:auto;font-size:24px;line-height:1}.easter-event-list article>span,.easter-report-list article>span{font-size:22px}.easter-event-list strong,.easter-report-list strong{color:#49406d;font-size:14px}.easter-event-list p,.easter-report-list p{color:#687184;white-space:pre-wrap;margin:4px 0 0;font-size:13px;line-height:1.6}.easter-report-list{gap:9px;display:grid}.easter-report-list h2{margin-bottom:3px}.easter-report-list small{color:#8d95a5;margin-top:7px;font-size:11px;display:block}.easter-report-meta{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.easter-report-meta small{margin-top:7px}.egg-review{border-radius:999px;margin-top:7px;padding:3px 7px;font-size:11px}.egg-review.pending{color:#6d778b;background:#edf0f7}.egg-review.valid{color:#18764c;background:#dcf5e7}.egg-review.invalid{color:#b33f49;background:#ffe1e1}.easter-report-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.easter-report-actions button{border:1px solid var(--line);color:var(--violet);background:#fff;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:800}.easter-report-actions .delete{color:#bd4350;border-color:#efb8be}.easter-report-list textarea{resize:vertical;width:100%;min-height:80px}.easter-report-files{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.easter-report-files a{border:1px solid var(--line);color:var(--violet);background:#fff;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:800;text-decoration:none}.easter-event-list small{color:#6f61c3;margin-top:7px;font-size:11px;font-weight:800;display:inline-block}.easter-report-form{gap:11px;display:grid}.easter-report-form h2{margin-bottom:0}.easter-report-form label{color:#576174;gap:6px;font-size:13px;font-weight:700;display:grid}.easter-report-form textarea{resize:vertical;min-height:86px}.easter-report-form .primary{justify-self:end;margin:0}.easter-admin-settings{border-radius:var(--corner);background:#fbf9ff;border:1px solid #ddd8f3;gap:10px;margin-top:18px;padding:18px;display:grid}.easter-admin-settings h2{color:#40385e;margin:0;font-size:16px}.easter-admin-settings article{background:#f2efff;border-radius:12px;gap:10px;padding:13px;display:grid}.easter-admin-settings article>strong{color:#4c436e;font-size:14px}.easter-period-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.easter-period-inputs label{color:#656078;gap:5px;font-size:11px;font-weight:700;display:grid}.easter-period-inputs input{width:100%;padding:8px;font-size:12px}.easter-admin-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.easter-admin-actions label{color:#5d5870;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.easter-admin-actions input{width:auto}.easter-admin-actions button{color:#6256b9;background:#fff;border:1px solid #cfc6f3;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:800}.easter-admin-settings>label,.easter-create-form label{color:#5e5874;gap:6px;font-size:12px;font-weight:800;display:grid}.easter-admin-settings textarea{resize:vertical;min-height:90px}.easter-create-form{gap:11px;display:grid}.easter-create-form .primary{justify-self:end;margin:0}.easter-event-detail{border-radius:var(--corner);background:#fff;border:1px solid #e1e5ef;gap:15px;margin-top:18px;padding:20px;display:flex}.easter-event-detail>span{font-size:30px}.easter-event-detail p{color:#5e687b;white-space:pre-wrap;margin:0;line-height:1.7}.easter-event-detail dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0;display:grid}.easter-event-detail dl div{background:#f8f6ff;border-radius:10px;padding:10px}.easter-event-detail dt{color:#77718b;font-size:11px;font-weight:700}.easter-event-detail dd{color:#4a4365;margin:4px 0 0;font-size:12px;font-weight:800}:root[data-theme=dark] .easter-event-list,:root[data-theme=dark] .easter-report-form,:root[data-theme=dark] .easter-report-list{background:#202a3c;border-color:#3a475f}:root[data-theme=dark] .easter-admin-settings{background:#242c41;border-color:#4b426d}:root[data-theme=dark] .easter-admin-settings h2,:root[data-theme=dark] .easter-admin-settings article>strong{color:#eee9ff}:root[data-theme=dark] .easter-admin-settings article{background:#302c4a}:root[data-theme=dark] .easter-period-inputs label,:root[data-theme=dark] .easter-admin-actions label{color:#d2cce3}:root[data-theme=dark] .easter-admin-actions button{color:#d9d1ff;background:#262f45;border-color:#61598a}:root[data-theme=dark] .easter-admin-settings>label,:root[data-theme=dark] .easter-create-form label{color:#d2cce3}:root[data-theme=dark] .easter-event-list h2,:root[data-theme=dark] .easter-report-form h2,:root[data-theme=dark] .easter-report-list h2{color:#f1f4fb}:root[data-theme=dark] .easter-event-list article,:root[data-theme=dark] .easter-report-list article,:root[data-theme=dark] .easter-event-list>button{background:#29364c}:root[data-theme=dark] .easter-event-list>button:hover{background:#34435d}:root[data-theme=dark] .easter-event-list>button>b{color:#c9c0ff}:root[data-theme=dark] .easter-event-list strong,:root[data-theme=dark] .easter-report-list strong{color:#e9ddff}:root[data-theme=dark] .easter-event-list p,:root[data-theme=dark] .easter-report-list p,:root[data-theme=dark] .easter-report-form label{color:#c6d0e1}:root[data-theme=dark] .easter-report-files a,:root[data-theme=dark] .easter-report-actions button{color:#d9ccff;background:#252f43;border-color:#3a475f}:root[data-theme=dark] .egg-review.pending{color:#d1d9e8;background:#313d52}:root[data-theme=dark] .egg-review.valid{color:#bceccd;background:#194b39}:root[data-theme=dark] .egg-review.invalid{color:#ffd0d4;background:#542f38}:root[data-theme=dark] .easter-event-list small{color:#c9c0ff}:root[data-theme=dark] .easter-event-detail{background:#202a3c;border-color:#3a475f}:root[data-theme=dark] .easter-event-detail p{color:#d1daea}:root[data-theme=dark] .easter-event-detail dl div{background:#29364c}:root[data-theme=dark] .easter-event-detail dt{color:#aab7cd}:root[data-theme=dark] .easter-event-detail dd{color:#ece8ff}:root[data-theme=dark] .easter-report-form textarea,:root[data-theme=dark] .easter-admin-settings input:not([type=checkbox]),:root[data-theme=dark] .easter-admin-settings textarea{color:#edf0fa;background:#1b2333;border-color:#3b4860}:root[data-theme=dark] .easter-admin-settings input[type=date]::-webkit-calendar-picker-indicator{filter:invert()}.feedback-list button{position:relative}.feedback-statuses{gap:5px;display:flex;position:absolute;top:14px;right:15px}.feedback-list b{color:#398861;background:#e1f5e9;border-radius:5px;padding:3px 6px;font:700 9px Plus Jakarta Sans;display:inline-block}.feedback-statuses b{padding:4px 7px;font:800 12px/1.25 Plus Jakarta Sans,sans-serif}.feedback-list b.processed{color:#2776a4;background:#dff1ff}.feedback-list b.feedback-reply-badge{color:#c64452;background:#ffe1e5;margin-left:6px}.feedback-list span{color:#7668d6;margin-top:8px;font-size:10px;display:block}.feedback-replies{border-top:1px solid var(--line);gap:9px;margin-top:18px;padding-top:15px;display:grid}.feedback-replies h3{color:#4c566a;margin:0;font-size:14px}.feedback-replies article{background:#f7fbff;border:1px solid #dce4ee;border-radius:10px;grid-template-columns:1fr auto;gap:5px 10px;padding:11px;display:grid}.feedback-replies article b{color:#37769a;font-size:12px}.feedback-replies article time{color:#8b96a8;font-size:10px}.feedback-replies article p{white-space:pre-wrap;color:#566174;grid-column:1/-1;margin:0;font-size:13px;line-height:1.65}.feedback-replies>.empty{margin:0}.feedback-reply-form{gap:8px;margin-top:3px;display:grid}.feedback-reply-form textarea{min-height:78px}.feedback-reply-form .primary{justify-self:end;margin:0;padding:9px 12px;font-size:12px}:root[data-theme=dark] .feedback-replies article{background:#252f43;border-color:#3b4860}:root[data-theme=dark] .feedback-replies h3{color:#edf0fa}:root[data-theme=dark] .feedback-replies article b{color:#9ed0f0}:root[data-theme=dark] .feedback-replies article p{color:#dce4f2}:root[data-theme=dark] .feedback-list b.feedback-reply-badge{color:#ffb8c0;background:#5a2d3a}.toast{z-index:12;color:#a55555;background:#fff;border:1px solid #efd3d3;border-radius:10px;align-items:center;gap:18px;padding:12px 14px;font-size:12px;display:flex;position:fixed;top:22px;right:24px;box-shadow:0 12px 30px #2426391a}.toast button{color:#a55555;background:0 0;font-size:17px}.news-list{gap:9px;margin:16px 0;display:grid}.news-item{border-radius:var(--corner);text-align:left;background:#fafbff;border:1px solid #e4e6ee;width:100%;padding:12px;display:block}.news-item:hover{background:#f8f7ff;border-color:#c9c4f4}.important-news{color:#9a6813;background:#fff0ba;border-radius:999px;margin-bottom:6px;padding:3px 7px;font-size:10px;display:inline-block}.news-item h3{color:#454d61;margin:0;font-size:15px}.news-list p{white-space:pre-wrap;color:#4f596e;margin:0;font-size:13px;line-height:1.7}.news-list time{color:#9ba3b2;margin-top:7px;font-size:10px;display:block}.news-admin-list{gap:7px;margin-top:12px;display:grid}.news-admin-list>div{border:1px solid #e4e6ee;border-radius:8px;align-items:center;gap:8px;padding:8px;display:flex}.news-admin-list span{color:#687286;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.news-admin-list .danger,.news-admin-list .edit{margin:0;padding:6px 8px;font-size:10px}.important-toggle{cursor:pointer;background:#faf9ff;border:1px solid #dddaf5;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:12px;display:flex}.important-toggle>span{color:#49536a;gap:3px;font-size:13px;font-weight:800;display:grid}.important-toggle small{color:#8c96a8;font-size:10px;font-weight:500}.important-toggle input{opacity:0;pointer-events:none;position:absolute}.important-toggle i{background:#cdd4e2;border-radius:999px;flex:none;width:40px;height:23px;transition:background .18s;position:relative}.important-toggle i:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #2b315f30}.important-toggle input:checked+i{background:#7565d9}.important-toggle input:checked+i:after{transform:translate(17px)}.sidebar,.calendar-card,.day-card,.tip-card,.board-section,.special-page,.feedback-intro,.modal,.attachment-preview,.meal-grid article,.important-toggle,.news-admin-list>div,.mobile-menu>button,button:not(.close):not(.important-banner-close),input:not([type=checkbox]):not([type=radio]),textarea,select{border-radius:var(--corner)}.meal-note{color:#8a93a4;margin:5px 0 18px;font-size:12px}.meal-weeks{gap:11px;display:grid}.meal-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.meal-grid article{background:#fff;border:1px solid #dce3ee;border-radius:12px;min-height:148px;padding:14px}.meal-empty{min-height:0}.meal-grid article>b{color:#5f52c8;font-size:13px}.meal-grid article.today-meal{background:#ecf8ff;border-color:#79bfe5;box-shadow:inset 0 0 0 1px #c7ecff}.meal-grid article.today-meal>b{color:#277ca9}.meal-today{color:#24749e;vertical-align:middle;background:#bce9ff;border-radius:5px;margin-left:6px;padding:2px 5px;font-size:9px;font-weight:800;display:inline-block}.meal-grid ul{color:#566074;gap:4px;margin:10px 0 0;padding:0;font-size:12px;line-height:1.45;list-style:none;display:grid}.meal-grid li:before{color:#8d81df;content:"•";margin-right:5px}.meal-grid .holiday{background:#fff7e0}.meal-grid .holiday>b{color:#bf8134}.meal-grid textarea{resize:vertical;border:1px solid #cbd5e4;border-radius:7px;width:100%;min-height:92px;margin-top:9px;padding:7px;font-size:11px;line-height:1.4}.meal-grid li.highlighted-food{color:#4f4317;font-weight:800}.meal-grid li.highlighted-food span{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(#0000 15%,#fff29a 15% 90%,#0000 90%);border-radius:3px;padding:1px 3px}.meal-easter-egg{color:color-mix(in srgb, var(--violet) 42%, #a7afbc);background:0 0;border:0;border-radius:8px;margin:28px auto 4px;padding:8px 12px;font-size:11px;display:block}.meal-easter-egg:hover{color:var(--violet);text-underline-offset:3px;text-decoration:underline}.meal-egg-layer{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.meal-egg-backdrop{cursor:default;background:#090b11d1;width:100%;height:100%;position:absolute;inset:0}.meal-egg-card{border:1px solid color-mix(in srgb, var(--violet) 40%, #fff);background:color-mix(in srgb, var(--violet) 8%, #fff);width:min(100%,390px);color:var(--ink);text-align:center;border-radius:24px;justify-items:center;gap:17px;padding:42px 30px 34px;animation:.22s cubic-bezier(.2,.85,.25,1.2) both meal-egg-pop;display:grid;position:relative;box-shadow:0 24px 70px #0000004d}.meal-egg-card>span{filter:drop-shadow(0 7px 7px #42281738);font-size:82px;line-height:1}.meal-egg-card p{color:var(--ink);margin:0;font-size:16px;font-weight:800;line-height:1.55}.meal-egg-close{width:32px;height:32px;color:var(--muted);background:0 0;border-radius:50%;font-size:25px;line-height:1;position:absolute;top:12px;right:14px}@keyframes meal-egg-pop{0%{opacity:0;transform:translateY(16px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.meal-food-picks{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.meal-food-picks button{color:#75601a;background:#fffdf1;border:1px solid #e2d794;border-radius:6px;padding:4px 5px;font-size:9px;font-weight:800}.meal-food-picks button.selected{color:#5e4a10;background:#fff19a;border-color:#d6b62f}.meal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.meal-actions button{color:#647087;background:#fff;border:1px solid #d6dcef;border-radius:10px;justify-content:center;align-items:center;min-height:38px;padding:9px 13px;font-size:12px;font-weight:800;transition:transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 2px 5px #1e27510a}.meal-actions button:hover{transform:translateY(-1px);box-shadow:0 5px 11px #1e275117}.meal-actions button.edit{color:#2376a5;background:#e8f7ff;border-color:#9ccfeb}.meal-actions button:last-child{color:#6254c5;background:#f5f3ff;border-color:#d8d2f7}.upcoming-list>button:hover,.post:hover,.feedback-list button:hover,.community-tip-list button:hover{border-color:color-mix(in srgb, var(--violet) 42%, #fff);background:color-mix(in srgb, var(--violet) 7%, #fff)}.upcoming-list time,.post div span,.post small,.tip-tabs button.active,.content-refresh,.feedback-list span{color:var(--violet)}.feedback-intro{border-color:color-mix(in srgb, var(--violet) 30%, #fff);background:color-mix(in srgb, var(--violet) 9%, #fff)}.feedback-back,.special-page>.section-head>button:not(.primary),.meal-actions button{border-color:color-mix(in srgb, var(--violet) 22%, #d6dcef);color:color-mix(in srgb, var(--violet) 72%, #46536b)}.feedback-list b.processed{background:color-mix(in srgb, var(--violet) 16%, #fff);color:color-mix(in srgb, var(--violet) 78%, #293a5b)}.meal-grid article{border-color:color-mix(in srgb, var(--violet) 18%, #dce3ee)}.meal-grid article>b,.meal-grid li:before{color:var(--violet)}.meal-grid article.today-meal{border-color:color-mix(in srgb, var(--violet) 52%, #fff);background:color-mix(in srgb, var(--violet) 13%, #fff);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--violet) 24%, #fff)}.meal-grid article.today-meal>b,.meal-today{color:color-mix(in srgb, var(--violet) 82%, #22304e)}.meal-today{background:color-mix(in srgb, var(--violet) 28%, #fff)}.meal-actions button.edit{border-color:color-mix(in srgb, var(--violet) 37%, #fff);background:color-mix(in srgb, var(--violet) 12%, #fff);color:color-mix(in srgb, var(--violet) 78%, #263653)}.meal-actions button:last-child{border-color:color-mix(in srgb, var(--violet) 34%, #fff);background:color-mix(in srgb, var(--violet) 10%, #fff);color:var(--violet)}:root[data-theme=dark] .feedback-intro,:root[data-theme=dark] .meal-grid article:not(.today-meal),:root[data-theme=dark] .feedback-list button,:root[data-theme=dark] .feedback-back,:root[data-theme=dark] .meal-actions button{background:#222c3e}:root[data-theme=dark] .meal-grid article.today-meal{border-color:color-mix(in srgb, var(--violet) 58%, #3b4860);background:color-mix(in srgb, var(--violet) 27%, #20293a);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--violet) 44%, #20293a)}:root[data-theme=dark] .meal-grid article.today-meal>b,:root[data-theme=dark] .meal-today{color:color-mix(in srgb, var(--violet) 48%, #f0ecff)}:root[data-theme=dark] .meal-grid ul{color:#f4f7ff}:root[data-theme=dark] .meal-grid li.highlighted-food{color:#2f2707}:root[data-theme=dark] .meal-easter-egg{color:color-mix(in srgb, var(--violet) 45%, #9eaabd)}:root[data-theme=dark] .meal-egg-card{border-color:color-mix(in srgb, var(--violet) 47%, #3b4860);background:#20293a}:root[data-theme=dark] .meal-egg-card p{color:#edf0fa}.cleaning-current,.cleaning-empty,.cleaning-editor,.cleaning-roster{border:1px solid var(--line);border-radius:var(--corner);background:color-mix(in srgb, var(--violet) 5%, #fff);margin-top:22px;padding:22px}.cleaning-current{text-align:center;justify-items:center;gap:7px;display:grid}.cleaning-current p,.cleaning-current small,.cleaning-empty p,.cleaning-editor p{color:var(--muted);margin:0;font-size:13px}.cleaning-current strong{color:var(--violet);font:800 clamp(34px,8vw,52px)/1 Plus Jakarta Sans}.cleaning-current span{color:var(--ink);font-size:15px;font-weight:800}.cleaning-empty{text-align:center}.cleaning-empty strong{color:var(--ink);font-size:16px}.cleaning-empty p{margin-top:9px}.cleaning-editor{gap:13px;display:grid}.cleaning-editor label{color:var(--ink);gap:7px;font-size:13px;font-weight:800;display:grid}.cleaning-group-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.cleaning-editor textarea,.cleaning-editor input,.cleaning-editor select{border:1px solid var(--line);width:min(100%,420px);color:var(--ink);background:#fff;padding:10px}.cleaning-editor textarea{resize:vertical;min-height:122px}.cleaning-editor .secondary{justify-self:start}.cleaning-members{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.cleaning-members b{background:color-mix(in srgb, var(--violet) 15%, #fff);color:var(--violet);border-radius:999px;padding:7px 10px;font-size:13px}.cleaning-members em{color:var(--muted);font-size:13px;font-style:normal}.substitute-picker{justify-items:center;gap:9px;margin-top:5px;display:grid}.substitute-candidates{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 5%, #fff);border-radius:12px;justify-items:center;gap:7px;padding:11px;display:grid}.substitute-candidates>div{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.substitute-candidates label{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-size:12px;font-weight:800;display:inline-flex}.substitute-candidates input{accent-color:var(--violet)}.substitute-admin-actions{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.substitute-picker>button{border:1px solid color-mix(in srgb, var(--violet) 35%, #fff);background:color-mix(in srgb, var(--violet) 10%, #fff);color:var(--violet);font-weight:800}.substitute-admin-actions button{border:1px solid var(--violet);background:var(--violet);color:#fff;box-shadow:0 3px 8px color-mix(in srgb, var(--violet) 26%, transparent);font-weight:800}.substitute-admin-actions .secondary{border-color:color-mix(in srgb, var(--violet) 35%, #fff);box-shadow:none;color:var(--violet);background:0 0}.substitute-picker>div{background:color-mix(in srgb, var(--violet) 12%, #fff);border-radius:12px;justify-items:center;gap:5px;padding:11px 15px;display:grid}.substitute-picker strong{font:800 18px/1.3 Plus Jakarta Sans}.substitute-picker .secondary{color:var(--violet);background:0 0;border:0;padding:5px 9px;font-size:12px}.cleaning-roster h2{margin:0 0 14px;font-size:16px}.cleaning-roster ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.cleaning-roster li{color:var(--ink);border-radius:10px;align-items:center;gap:10px;padding:10px 11px;display:flex}.cleaning-roster li.current{background:color-mix(in srgb, var(--violet) 14%, #fff);color:var(--violet);font-weight:800}.cleaning-roster li span{background:var(--soft);width:23px;height:23px;color:var(--violet);border-radius:50%;place-items:center;font:800 10px Plus Jakarta Sans;display:grid}.cleaning-group-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.cleaning-group-list article{border:1px solid var(--line);background:#fff;border-radius:10px;padding:13px}.cleaning-group-list article.current{border-color:var(--violet);background:color-mix(in srgb, var(--violet) 11%, #fff)}.cleaning-group-list b{color:var(--violet);font-size:13px}.cleaning-group-list p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.55}.cleaning-whiteout-egg{color:#4a2c2a;text-align:center;cursor:pointer;background:#fffaf6;border:1px dashed #9c735d;border-radius:12px;margin:28px auto 0;padding:12px 16px;font-size:13px;font-weight:800;display:none}:root[data-whiteout=true] .cleaning-whiteout-egg{display:block;color:#4a2c2a!important}.cleaning-egg-layer{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.cleaning-egg-backdrop{cursor:default;background:#090b11d1;border:0;width:100%;height:100%;position:absolute;inset:0}.cleaning-egg-card{color:#4a2c2a;text-align:center;background:#fffaf6;border:1px solid #c9a78f;border-radius:24px;justify-items:center;gap:17px;width:min(100%,390px);padding:42px 30px 34px;animation:.22s cubic-bezier(.2,.85,.25,1.2) both meal-egg-pop;display:grid;position:relative;box-shadow:0 24px 70px #0000004d}.cleaning-egg-card>span{filter:drop-shadow(0 9px 8px #4a2c2a33);font-size:82px;line-height:1}.cleaning-egg-card p{color:#4a2c2a;margin:0;font-size:17px;font-weight:900;line-height:1.5}.cleaning-egg-close{color:#4a2c2a;cursor:pointer;background:0 0;border:0;width:34px;height:34px;padding:0;font-size:28px;line-height:1;position:absolute;top:12px;right:14px}:root[data-whiteout=true] .cleaning-egg-card,:root[data-whiteout=true] .cleaning-egg-card p,:root[data-whiteout=true] .cleaning-egg-close{color:#4a2c2a!important}:root[data-theme=dark] .cleaning-current,:root[data-theme=dark] .cleaning-empty,:root[data-theme=dark] .cleaning-editor,:root[data-theme=dark] .cleaning-roster{background:#252f43;border-color:#3b4860}:root[data-theme=dark] .cleaning-editor textarea,:root[data-theme=dark] .cleaning-editor input,:root[data-theme=dark] .cleaning-editor select{color:var(--ink);background:#1b2333;border-color:#3b4860}:root[data-theme=dark] .cleaning-roster li.current{background:color-mix(in srgb, var(--violet) 25%, #252f43)}:root[data-theme=dark] .cleaning-members b{background:color-mix(in srgb, var(--violet) 28%, #1b2333);color:#eeeaff}:root[data-theme=dark] .substitute-picker>button,:root[data-theme=dark] .substitute-picker>div{background:color-mix(in srgb, var(--violet) 22%, #1b2333);border-color:#4a5670}:root[data-theme=dark] .substitute-candidates,:root[data-theme=dark] .substitute-candidates label{background:#1b2333;border-color:#3b4860}:root[data-theme=dark] .substitute-admin-actions button:not(.secondary){background:var(--violet);border-color:var(--violet);color:#fff}:root[data-theme=dark] .cleaning-group-list article{background:#1b2333;border-color:#3b4860}:root[data-theme=dark] .cleaning-group-list article.current{background:color-mix(in srgb, var(--violet) 25%, #252f43)}@media (max-width:650px){.cleaning-group-inputs,.cleaning-group-list{grid-template-columns:1fr}}.modal-backdrop{z-index:60;background:#25233882;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:min(510px,100%);max-height:calc(100vh - 40px);padding:28px;position:relative;overflow:auto;box-shadow:0 20px 60px #2022374b}.modal h2{margin-bottom:20px;font-size:22px}.close{color:#7b8393;background:0 0;border-radius:7px;width:27px;height:27px;font-size:24px;line-height:1;position:absolute;top:16px;right:17px}.modal form{gap:13px;display:grid}.modal label{color:#586174;gap:7px;font-size:12px;display:grid}.modal input,.modal textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #dde0e8;border-radius:8px;padding:10px 11px}.modal textarea{resize:vertical;min-height:125px}.modal .primary{margin-top:4px}.helper,.form-error{color:#8d96a6;margin:0;font-size:11px}.back-to-choice{color:#685bd6;text-align:left;background:0 0;margin:-9px 0 2px;padding:0;font-size:11px;font-weight:700}.form-error{color:#c65d5d}.choice{grid-template-columns:1fr 1fr;gap:12px;display:grid}.choice button{min-height:150px;color:var(--ink);text-align:left;background:#fff;border:1px solid #e0e3eb;border-radius:13px;gap:9px;padding:18px;display:grid}.choice button:hover{background:#faf9ff;border-color:#a297ed}.choice b{color:#6b5ed1;background:#eeeaff;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.choice strong{font-size:14px}.choice span{color:#8992a2;font-size:11px;line-height:1.6}.danger{color:#c85c5c;background:#fff;border:1px solid #f0d2d2;border-radius:8px;margin-top:5px;padding:9px 12px;font-size:12px}.modal-actions{justify-content:flex-end;gap:7px;margin-top:20px;display:flex}.modal-actions button{color:#657083;background:#fff;border:1px solid #dde0e8;border-radius:8px;min-width:90px;height:48px;margin:0;padding:8px 11px;font-size:12px}.modal-actions .danger{margin:0}.danger,.modal-actions .danger{color:#bf4d56;background:#fff0f1;border-color:#efb7bc}.edit,.primary.edit,.modal-actions .edit{color:#277d9b;background:#e8f7ff;border-color:#a9dced}.danger:hover,.modal-actions .danger:hover{background:#ffe2e5}.edit:hover,.primary.edit:hover,.modal-actions .edit:hover{background:#d7f1fc}.schedule-button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px}.schedule-button.important-item,.upcoming-list>button.important-item{border-color:color-mix(in srgb, #ef6c77 48%, var(--line));background:linear-gradient(100deg,#fff2f3,#fff);box-shadow:inset 3px 0 #e85c69}.item-line.important b{color:#9f3440}.important-item-label{color:#fff;letter-spacing:-.02em;vertical-align:1px;background:#e85c69;border-radius:5px;margin-right:6px;padding:2px 5px;font-size:10px;font-style:normal;font-weight:800;display:inline-block}.new-item-label{background:var(--violet);color:#fff;letter-spacing:.01em;vertical-align:1px;border-radius:5px;margin-right:6px;padding:2px 5px;font-size:10px;font-style:normal;font-weight:800;display:inline-block}:root[data-theme=dark] .schedule-button.important-item,:root[data-theme=dark] .upcoming-list>button.important-item{background:linear-gradient(100deg,#422b35,#252f43);border-color:#884c59;box-shadow:inset 3px 0 #e87884}:root[data-theme=dark] .item-line.important b{color:#ffd5d9}.detail-text{white-space:pre-wrap;color:#586174;font-size:14px;line-height:1.8}.file{background:var(--soft);color:#6457bf;border-radius:8px;margin-top:9px;padding:9px;font-size:12px;text-decoration:none;display:block}.attachment-preview{color:#6457bf;background:#fafbff;border:1px solid #e0e4ef;border-radius:9px;margin-top:9px;text-decoration:none;display:grid;overflow:hidden}.attachment-visual{background:#f3f5fa;border-radius:0;place-items:center;min-height:166px;display:grid;overflow:hidden}.attachment-preview img{object-fit:contain;background:#f3f5fa;width:100%;max-height:260px;display:block}.attachment-visual.image-preview{cursor:zoom-in}.file-visual{color:#69758a;justify-items:center;gap:9px;display:grid}.file-visual b{color:#6457bf;background:#fff;border:1px solid #cfd8e7;border-radius:9px;place-items:center;width:66px;height:82px;font-size:13px;display:grid;box-shadow:0 5px 12px #394b6b12}.file-visual span{font-size:11px}.attachment-info{color:#566174;background:#fafbff;justify-content:space-between;align-items:center;gap:8px;padding:9px;font-size:12px;display:flex}.attachment-info>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0;overflow:hidden}.attachment-info>div,.attachment-viewer-actions{flex:none;gap:5px;display:flex}.attachment-info button,.attachment-info a{color:#5f52c8;background:#fff;border:1px solid #d9dfeb;border-radius:7px;padding:6px 7px;font-size:10px;font-weight:800;text-decoration:none}.attachment-edit-list{color:#566174;background:#fafbff;border:1px solid #dde3ee;border-radius:10px;gap:7px;margin:4px 0 12px;padding:11px;display:grid}.attachment-edit-list>b{color:#4b556a;font-size:12px}.attachment-edit-list>div{background:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;font-size:11px;display:flex}.attachment-edit-list>div.removed{opacity:.55;text-decoration:line-through}.attachment-edit-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attachment-edit-list button{color:#c55761;background:#fff8f8;border:1px solid #efb6ba;border-radius:6px;flex:none;padding:4px 7px;font-size:10px;font-weight:800}.attachment-edit-list .removed button{color:#477ca0;background:#f4f9ff;border-color:#c9ddec}.attachment-edit-list small{color:#8993a4;font-size:10px}.pdf-upload-option{color:#596379;background:#faf9ff;border:1px solid #dcd8f5;border-radius:10px;gap:7px;margin:2px 0 12px;padding:11px;display:grid}.pdf-upload-option>b{color:#5447bd;font-size:12px}.pdf-upload-option p,.pdf-upload-option small{margin:0;font-size:10px;line-height:1.5}.pdf-upload-option small{color:#8b94a5}.pdf-upload-option label{cursor:pointer;align-items:center;gap:7px;font-size:11px;font-weight:800;display:flex}.pdf-upload-option label.disabled{color:#a1a8b5;cursor:not-allowed}.pdf-upload-option input{width:auto;height:auto}.modal:has(.image-viewer){width:min(920px,100%);padding:20px}.image-viewer{gap:10px;padding-top:15px;display:grid}.image-viewer img{object-fit:contain;background:#f3f5fa;border-radius:10px;width:100%;max-height:calc(100vh - 130px);display:block}.image-viewer iframe{background:#f3f5fa;border:0;border-radius:10px;width:100%;height:min(70vh,680px)}.image-viewer .file{text-align:center;flex:1;margin:0}.image-viewer .file.download{color:#25749e;background:#eef7ff}.attachment-preview iframe{pointer-events:none;background:#fff;border:0;width:100%;height:260px}.site-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:24px;display:grid}.site-status-grid article{border:1px solid var(--line);border-radius:var(--corner);background:#fafbff;gap:11px;min-height:155px;padding:20px;display:grid}.site-status-grid span,.site-status-grid small,.status-checked{color:#7d8799;font-size:12px}.site-status-grid strong{color:var(--ink);font:800 27px/1 Plus Jakarta Sans}.site-status-grid .status-normal{color:#368766;font-size:20px}.status-checked{margin:18px 0 0}.site-status-tabs{border-bottom:1px solid var(--line);gap:8px;margin:18px 0;display:flex}.site-status-tabs button{color:#7d8799;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px;font-weight:800}.site-status-tabs button.active{border-bottom-color:var(--violet);color:var(--violet)}.member-panel{gap:12px;display:grid}.member-panel>p{color:var(--ink);margin:4px 0 0;font-weight:800}.member-panel>small{color:#7d8799}.member-panel ul{gap:8px;margin:4px 0 0;padding:0;list-style:none;display:grid}.member-panel li{border:1px solid var(--line);background:#fafbff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.member-panel li>div{gap:3px;display:grid}.member-panel li span{color:#7d8799;font-size:12px}.member-panel li button,.member-detail-actions button{color:var(--violet);white-space:nowrap;background:#fff;border:1px solid #dcdff0;border-radius:9px;padding:8px 11px;font-weight:800}.member-detail{border:1px solid var(--line);background:#fafbff;border-radius:14px;gap:13px;padding:18px;display:grid}.member-detail>div:first-child{gap:4px;display:grid}.member-detail span,.member-detail p{color:#7d8799;margin:0;font-size:13px}.member-verified,.member-unverified{border-radius:999px;width:max-content;padding:3px 7px;font-size:11px;font-weight:900}.member-verified{background:color-mix(in srgb, var(--violet) 14%, #fff);color:var(--violet)}.member-unverified{color:#788196;background:#f1f3f7}.member-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.member-detail-actions .delete{color:#c54848;border-color:#f1b7b7}.member-detail-actions button:disabled{opacity:.55;cursor:wait}.mobile-feedback,.mobile-admin{display:none}.secondary{color:#667084;background:#fff;border:1px solid #dde0e8;border-radius:9px;padding:10px 13px;font-size:13px;font-weight:700}.picker-head{justify-content:space-between;align-items:center;padding-right:34px;display:flex}.picker-head div{gap:6px;display:flex}.picker-head button{color:#687083;background:#fff;border:1px solid #e0e3eb;border-radius:8px;width:31px;height:31px;font:800 22px/1 Plus Jakarta Sans}.picker-weekdays,.picker-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.picker-weekdays{color:#929aaa;margin-top:5px;padding:11px 0 8px;font-size:11px}.picker-weekdays span:first-child{color:#d9959a}.picker-weekdays span:last-child{color:#91addb}.picker-days{border-top:1px solid var(--line)}.picker-days button{color:#424b60;background:#fff;place-items:center;height:43px;display:grid}.picker-days button:hover{background:#faf9ff}.picker-days .muted{color:#cbd0da}.picker-days .selected span{color:#fff;background:#222739;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.picker-days .is-today:not(.selected){color:var(--violet);font-weight:700}.picker-days button:nth-child(7n+1):not(.selected){color:#c65c63}.picker-days button:nth-child(7n):not(.selected){color:#5e83c4}.picker-days .muted:not(.selected){color:#cbd0da}@media (max-width:900px){.sidebar{width:190px}.sidebar .brand strong{font-size:14px}main{width:calc(100% - 190px);margin-left:190px;padding:28px 23px}.top-grid{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr}}@media (max-width:650px){.app-shell{display:block}.sidebar{display:none}main{width:100%;margin:0;padding:22px 14px 84px}.mobile-topbar{z-index:9;border-bottom:1px solid color-mix(in srgb, var(--violet) 22%, #dce3ef);background:color-mix(in srgb, var(--violet) 10%, #f5f9ffbf);-webkit-backdrop-filter:blur(11px)saturate(125%);backdrop-filter:blur(11px)saturate(125%);color:var(--ink);align-items:center;gap:10px;margin:-22px -14px 18px;padding:18px 14px 12px;font-size:17px;display:flex;position:sticky;top:0;box-shadow:0 5px 14px #66738a14}.mobile-menu-trigger{color:#667084;background:0 0;border:0;border-radius:0;place-items:center;width:39px;height:39px;padding:0;font:800 23px/1 Plus Jakarta Sans;display:grid;position:relative;transform:translateY(-3px)}.mobile-alert-dot{background:#e75462;border:2px solid #f4f8ff;border-radius:50%;width:9px;height:9px;position:absolute;top:1px;right:1px;box-shadow:0 1px 3px #51333a55}:root[data-theme=dark] .mobile-alert-dot{border-color:#20293a}.mobile-topbar span{color:#6c5ed2;background:#eeeaff;border-radius:9px;place-items:center;width:29px;height:29px;padding:0;font-size:0;line-height:1;display:grid;position:relative;transform:none}.mobile-topbar span:after{color:#6c5ed2;content:"✦";font:700 17px/1 Plus Jakarta Sans;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-menu-backdrop{z-index:30;will-change:background-color;background:#1f263245;animation:.15s ease-out both mobile-backdrop-in;display:block;position:fixed;inset:0}.mobile-menu{border:1px solid color-mix(in srgb, var(--violet) 31%, #b9d6ed);background:linear-gradient(180deg, color-mix(in srgb, var(--violet) 28%, #e6f4ff) 0%, color-mix(in srgb, var(--violet) 16%, #eef8ff) 58%, color-mix(in srgb, var(--violet) 8%, #f7fbff) 100%);will-change:transform, opacity;border-left:0;border-radius:0 22px 22px 0;align-content:start;gap:0;width:min(285px,82vw);min-height:100%;max-height:100%;padding:19px 14px;animation:.18s cubic-bezier(.2,.8,.2,1) both mobile-menu-in;display:grid;overflow-y:auto;box-shadow:12px 0 30px #24263920}.mobile-menu-backdrop.closing{animation:.17s ease-in both mobile-backdrop-out}.mobile-menu.closing{animation:.17s ease-in both mobile-menu-out}.mobile-menu-head{border-bottom:1px solid color-mix(in srgb, var(--violet) 24%, #b9d8ef);color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:10px;padding:4px 7px 12px;display:flex}.mobile-menu-head button{color:color-mix(in srgb, var(--violet) 53%, #647189);background:0 0;padding:0 5px;font-size:24px;line-height:1}.mobile-menu>button{border:0;border-bottom:1px solid color-mix(in srgb, var(--violet) 24%, #b9d8ef);color:color-mix(in srgb, var(--violet) 68%, #465f7a);text-align:left;background:0 0;border-radius:0;align-items:center;padding:12px 11px;font-size:14px;display:flex}.mobile-menu>button .badge{margin-left:auto}.mobile-menu>button:hover{background:color-mix(in srgb, var(--violet) 17%, transparent);color:color-mix(in srgb, var(--violet) 83%, #304c6a)}.mobile-menu-section-label{border-top:1px solid color-mix(in srgb, var(--violet) 24%, #b9d8ef);color:color-mix(in srgb, var(--violet) 64%, #52759c);letter-spacing:.05em;margin:12px 7px 2px;padding-top:8px;font-size:10px;font-weight:800}.mobile-menu>button.mobile-menu-admin{color:color-mix(in srgb, var(--violet) 72%, #3f6381)}.mobile-menu>button.mobile-menu-my-page{border-top:1px solid color-mix(in srgb, var(--violet) 26%, #a9cfe8);color:color-mix(in srgb, var(--violet) 76%, #345b7c);border-bottom:0;margin-top:auto;font-weight:800}.my-page{border-radius:18px;min-height:52vh;padding:36px 20px}.my-page-back{color:#63718a;background:0 0;border:0;margin:0 auto 36px;display:inline-block}@keyframes mobile-backdrop-in{0%{background:0 0}to{background:#1f263245}}@keyframes mobile-backdrop-out{0%{background:#1f263245}to{background:0 0}}@keyframes mobile-menu-in{0%{opacity:.96;transform:translate(-104%)}to{opacity:1;transform:translate(0)}}@keyframes mobile-menu-out{0%{opacity:1;transform:translate(0)}to{opacity:.96;transform:translate(-104%)}}@media (prefers-reduced-motion:reduce){.mobile-menu-backdrop,.mobile-menu,.mobile-menu-backdrop.closing,.mobile-menu.closing{animation:none}}.calendar-card,.day-card,.tip-card,.board-section,.special-page{border-radius:15px;padding:19px}.site-status-grid{grid-template-columns:1fr}.now-bar{align-items:flex-start;gap:8px;margin:2px 0 18px}.now-bar>span{margin-top:3px;font-size:22px}.now-bar p{font-size:23px;line-height:1.38}.mobile-greeting-break,.calendar-card .section-head{display:block}.calendar-card h1{white-space:nowrap}.calendar-card .month-controls{justify-content:flex-end}.calendar-card .calendar-actions{justify-items:stretch;margin-top:13px}.calendar-days button{min-height:53px;padding:8px}.calendar-days.rows-5 button{min-height:64px}.calendar-days.rows-4 button{min-height:80px}.calendar-days .day-number{width:auto;height:auto;font-size:12px;line-height:1;display:block;top:8px;left:8px}.calendar-days .selected .day-number:before{width:20px;height:20px}.right-column,.tips-grid,.choice,.legend{grid-template-columns:1fr}.meal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.meal-grid article{min-height:128px;padding:10px}.meal-grid ul{font-size:10px}.month-controls .date-input{width:116px;font-size:11px}.timetable-trigger{width:100%;min-width:0}.modal:has(.timetable-modal){width:calc(100vw - 10px);padding:18px 8px 12px}.timetable-modal h2{margin-bottom:13px;font-size:20px}.timetable-toolbar{flex-direction:column;align-items:stretch}.timetable-tabs{width:100%}.timetable-tabs button{flex:1;padding:0 5px;font-size:10px}.timetable-edit{width:100%}.timetable-table th,.timetable-table td{height:44px;padding:4px 1px;font-size:11px}.timetable-table small{font-size:8px}.community-tip-head{flex-direction:column;align-items:flex-start}.weekdays{margin-top:19px}.board-section{margin-top:17px}.calendar-dots{gap:3px;max-width:calc(100% - 12px);bottom:7px;left:50%}.calendar-marker{width:26px;min-width:26px;height:11px;padding:0}.calendar-marker i{border-radius:999px;width:26px;height:11px}.calendar-marker.event-marker,.calendar-marker.event-marker i{border-radius:3px}.calendar-dots.multiple .calendar-marker{width:26px;min-width:26px;height:11px}.calendar-dots.multiple .calendar-marker i{width:26px;height:11px}.marker-symbol{font-size:8px}.calendar-more{font-size:13px}.calendar-marker b{display:none}.mobile-feedback{z-index:8;color:#fff;background:#7465dc;border-radius:999px;padding:13px 17px;font-size:13px;font-weight:700;display:block;position:fixed;bottom:16px;right:16px;box-shadow:0 8px 20px #5146a852}.mobile-admin{color:#687184;background:#fff;border:1px solid #dde0e8;border-radius:11px;width:100%;margin-top:9px;padding:13px;font-size:12px;font-weight:700;display:block}.mobile-admin.on{color:#6256cd;background:#f0edff;border-color:#c9c1ff}.feedback-back{margin-bottom:3px;padding:8px;font-size:11px}}.account-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:16px;font-size:14px;display:flex}.account-bar button{color:#5144b8;cursor:pointer;background:#fff;border:1px solid #d5dcef;border-radius:12px;padding:10px 16px}.account-bar button:disabled{opacity:.6;cursor:wait}.account-dialog{box-sizing:border-box;color:#262b40;background:#fff;border:1px solid #d5dcef;border-radius:24px;width:min(440px,100vw - 32px);max-height:90dvh;padding:30px;overflow-y:auto}.account-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#19203973}.account-dialog h2{margin:0 0 24px;font-size:26px}.account-dialog .account-close{float:right;border:0;padding:0 8px;font-size:26px}.account-dialog form,.account-dialog label{text-align:left;flex-direction:column;gap:10px;display:flex}.account-dialog form{gap:18px}.class-code-help{vertical-align:middle;align-items:center;gap:7px;margin-left:2px;display:inline-flex}.class-code-help-button{color:#5e6b83;cursor:pointer;background:0 0;border:1px solid #9daac2;border-radius:50%;place-items:center;width:19px;height:19px;padding:0;font-size:13px;font-weight:800;line-height:1;display:inline-grid}.class-code-help>span{color:#69738b;max-width:220px;font-size:12px;font-weight:400;line-height:1.35}.account-dialog input{box-sizing:border-box;border:1px solid #cbd3e4;border-radius:12px;width:100%;padding:12px;font-size:16px}.account-dialog p{color:#69738b;margin:0;font-size:14px;line-height:1.6}.account-dialog .account-error{color:#b42335}.account-dialog .account-submit{color:#fff;background:#7562dd}.site-loading{z-index:1000;background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--violet) 16%, transparent), transparent 40%), var(--page-bg);min-height:100dvh;color:var(--ink);text-align:center;place-content:center;justify-items:center;gap:13px;padding:24px;display:grid;position:fixed;inset:0;width:100%!important;margin:0!important}.site-loading-mark{border:1px solid color-mix(in srgb, var(--violet) 28%, var(--line));background:color-mix(in srgb, var(--violet) 12%, #fff);width:64px;height:64px;color:var(--violet);box-shadow:0 14px 34px color-mix(in srgb, var(--violet) 16%, transparent);border-radius:22px;place-items:center;font-size:34px;display:grid}.site-loading h1{letter-spacing:-.04em;margin:5px 0 0;font-size:22px}.site-loading p{color:var(--muted);margin:0;font-size:15px}.site-loading-dots{align-items:center;gap:7px;height:10px;display:flex}.site-loading-dots i{background:var(--violet);border-radius:50%;width:7px;height:7px;animation:.8s ease-in-out infinite site-loading-bounce}.site-loading-dots i:nth-child(2){opacity:.74;animation-delay:.12s}.site-loading-dots i:nth-child(3){opacity:.5;animation-delay:.24s}.mobile-pull-refresh{display:none}@media (max-width:650px){.mobile-pull-refresh{z-index:32;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;background:#14233c26;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.mobile-pull-refresh-content{border:1px solid color-mix(in srgb, var(--violet) 30%, var(--line));min-width:190px;color:var(--ink);text-align:center;background:#fffffff0;border-radius:22px;justify-items:center;gap:7px;padding:21px 25px;display:grid;box-shadow:0 16px 40px #18263d33}.mobile-pull-refresh-content span{width:44px;height:44px;color:var(--violet);place-items:center;font-size:43px;line-height:1;display:grid}.mobile-pull-refresh-content strong{font-size:15px}.mobile-pull-refresh.refreshing span{border:3px solid color-mix(in srgb, var(--violet) 22%, transparent);border-top-color:var(--violet);border-radius:50%;font-size:0;animation:.75s ease-in-out both mobile-pull-spin}:root[data-theme=dark] .mobile-pull-refresh-content{background:#202b3ef5;border-color:#435370}}@keyframes mobile-pull-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.mobile-pull-refresh.refreshing span{animation:none}}.app-shell-pending{visibility:hidden}@keyframes site-loading-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.today-briefing-layer{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#122139a1;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.today-briefing{border:1px solid color-mix(in srgb, var(--violet) 34%, #fff);background:var(--board-surface,#fff);width:min(100%,560px);max-height:min(760px,100dvh - 36px);color:var(--ink);border-radius:25px;grid-template-rows:auto minmax(0,1fr) auto;animation:.7s cubic-bezier(.18,.84,.27,1) both today-briefing-rise;display:grid;overflow:hidden;box-shadow:0 28px 80px #101a2b66}.today-briefing>header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:20px 21px 15px;display:flex}.today-briefing>header>span{background:color-mix(in srgb, var(--violet) 15%, #fff);border-radius:14px;place-items:center;width:42px;height:42px;font-size:23px;display:grid}.today-briefing header p,.today-briefing footer p{color:var(--muted);margin:0;font-size:12px;font-weight:800}.today-briefing header h1{color:var(--ink);letter-spacing:-.05em;margin:3px 0 0;font-size:22px}.today-briefing-scroll{overscroll-behavior:contain;min-height:0;padding:16px 20px 22px;overflow-y:auto}.today-briefing-scroll>section{border:1px solid color-mix(in srgb, var(--violet) 14%, var(--line));background:color-mix(in srgb, var(--violet) 4%, #fff);border-radius:16px;margin-bottom:13px;padding:15px}.today-briefing-scroll>.today-featured-schedules{border-color:color-mix(in srgb, var(--violet) 26%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--violet) 13%, #fff), color-mix(in srgb, var(--violet) 4%, #fff));padding:18px 0 16px 15px}.today-featured-schedules>.today-briefing-head{padding-right:15px}.today-featured-schedules>.today-briefing-head h2{letter-spacing:-.06em;font-size:22px}.today-schedule-slider{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin-top:14px;padding:0 15px 3px 0;display:flex;overflow-x:auto}.today-schedule-slider::-webkit-scrollbar{display:none}.today-schedule-slider button{border:1px solid color-mix(in srgb, var(--violet) 24%, #fff);background:var(--board-surface,#fff);min-width:min(285px,100vw - 105px);min-height:165px;box-shadow:0 8px 18px color-mix(in srgb, var(--violet) 14%, transparent);color:inherit;text-align:left;cursor:pointer;scroll-snap-align:start;border-radius:16px;align-content:start;gap:7px;padding:17px;display:grid;position:relative;overflow:hidden}.today-schedule-slider button:focus-visible{outline:3px solid var(--violet);outline-offset:2px}.today-schedule-slider button>i{border-radius:99px;width:38px;height:5px}.today-schedule-slider button small{color:var(--violet);font-size:12px;font-weight:900}.today-schedule-slider button h2{color:var(--ink);letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:19px;overflow:hidden}.today-schedule-slider button p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.today-briefing-head{justify-content:space-between;align-items:center;gap:9px;display:flex}.today-briefing-head h2{color:var(--ink);margin:0;font-size:15px}.today-briefing-head b,.today-briefing-head span{background:color-mix(in srgb, var(--violet) 18%, #fff);min-width:25px;height:25px;color:var(--violet);border-radius:9px;place-items:center;font-size:12px;display:grid}.today-briefing-list,.today-meal-list{gap:8px;margin:13px 0 0;padding:0;list-style:none;display:grid}.today-briefing-list li{grid-template-columns:9px minmax(0,1fr);align-items:center;column-gap:8px;display:grid}.today-briefing-list i{border-radius:50%;width:8px;height:8px}.today-briefing-list span{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;overflow:hidden}.today-briefing-list small{color:var(--muted);grid-column:2;font-size:11px}.today-meal-list li,.today-cleaning-members{color:var(--ink);font-size:13px;line-height:1.6}.today-meal-list li:before{content:"·";color:var(--violet);margin-right:7px;font-weight:900}.today-cleaning-group{background:var(--violet);color:#fff;border-radius:10px;margin-top:13px;padding:6px 10px;font-size:16px;display:inline-block}.today-cleaning-members{color:var(--muted);margin:9px 0 0}.today-briefing-empty,.today-briefing-end{color:var(--muted);margin:13px 0 0;font-size:13px;line-height:1.5}.today-briefing-end{text-align:center;padding:3px 0 10px;font-weight:800}.today-briefing>footer{padding:14px 20px calc(17px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--violet) 5%, #fff);gap:9px;display:grid}.today-briefing>footer .primary{min-height:45px}.today-briefing>footer .primary:disabled{cursor:not-allowed;color:#edf0f5;background:#bcc4d0}:root[data-theme=dark] .today-briefing{background:#1d293b;border-color:#3b4d68}:root[data-theme=dark] .today-briefing>header,:root[data-theme=dark] .today-briefing>footer{background:#202d41;border-color:#354763}:root[data-theme=dark] .today-briefing-scroll>section{background:#253248;border-color:#354763}:root[data-theme=dark] .today-briefing-scroll>.today-featured-schedules{background:linear-gradient(135deg, color-mix(in srgb, var(--violet) 23%, #253248), #253248)}:root[data-theme=dark] .today-schedule-slider button{background:#202d41;border-color:#40526f}:root[data-theme=dark] .today-briefing :is(h1,h2,span,strong,li){color:#f1f5ff}:root[data-theme=dark] .today-briefing :is(p,small){color:#c6d0e2}@keyframes today-briefing-rise{0%{opacity:0;transform:translateY(48px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.today-briefing{animation:none}}@media (max-width:650px){.today-briefing-layer{align-items:end;padding:0}.today-briefing{border-radius:25px 25px 0 0;width:100%;max-height:min(88dvh,760px)}.today-briefing-scroll{padding:15px 16px 20px}.today-briefing>header{padding:18px 17px 14px}.today-briefing>footer{padding-left:16px;padding-right:16px}}@media (max-width:800px){.account-bar{margin-top:12px}}.my-page{border:1px solid var(--line);border-radius:var(--corner);text-align:center;background:#fff;padding:20px}.my-page h1{color:var(--ink);margin:6px 0 12px;font-size:clamp(26px,7vw,34px)}.my-page p{color:var(--muted);margin:0 auto 24px;line-height:1.6}.my-page-eyebrow{letter-spacing:.12em;font:800 12px/1 Plus Jakarta Sans;color:var(--violet)!important}.my-page-login,.my-page-logout,.my-page-save{background:var(--violet);color:#fff;border:0;border-radius:14px;width:min(100%,300px);padding:14px;font-weight:800}.my-page-logout{color:#5c6680;background:#fff;border:1px solid #d5dcef}.my-page-placeholder{color:#8a94a9;border:1px dashed #cfd6e6;border-radius:14px;width:min(100%,300px);margin:0 auto 14px;padding:18px}.my-page-back{display:none}.my-page-tabs{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 5%, #fff);border-radius:12px;gap:6px;margin:0 auto 18px;padding:4px;display:inline-flex}.my-page-tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:9px 15px;font-weight:800}.my-page-tabs button.selected{background:var(--violet);color:#fff}.my-account-summary{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 5%, #fff);width:min(100%,360px);color:var(--muted);border-radius:14px;gap:10px;margin:0 auto;padding:20px;display:grid}.my-account-summary strong{color:var(--ink);font-size:18px}.my-account-summary .my-page-logout{width:100%;margin-top:8px}.surface-transparency-settings{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 6%, #fff);text-align:left;border-radius:14px;gap:10px;width:min(100%,430px);margin:22px auto 0;padding:15px;display:grid}.surface-transparency-settings>div{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;display:flex}.surface-transparency-settings output{background:color-mix(in srgb, var(--violet) 13%, #fff);color:var(--violet);border-radius:8px;padding:5px 8px;font-size:13px;font-weight:900}.surface-transparency-settings input[type=range]{width:100%;accent-color:var(--violet);cursor:pointer}.surface-transparency-settings small{color:var(--muted);line-height:1.55}.surface-details-toggle{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 8%, #fff);color:var(--violet);border-radius:9px;justify-self:start;padding:7px 10px;font-size:13px;font-weight:900}.surface-opacity-details{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 4%, #fff);border-radius:11px;gap:11px;padding:12px;display:grid}.surface-opacity-details label{gap:6px;display:grid}.surface-opacity-details label>span{color:var(--ink);justify-content:space-between;align-items:center;font-size:13px;font-weight:800;display:flex}.surface-opacity-details output{color:var(--violet);background:0 0;border-radius:6px;padding:3px 6px;font-size:12px}.personal-settings{text-align:left;gap:17px;width:min(100%,430px);margin:0 auto 16px;display:grid}.personal-settings>label,.personal-settings fieldset{color:var(--ink);border:0;gap:8px;padding:0;font-weight:800;display:grid}.personal-settings input[type=date]{border:1px solid var(--line);width:min(100%,260px);min-height:44px;color:var(--ink);background:#fff;border-radius:11px;justify-self:start;padding:9px 12px;font-size:16px}.personal-settings legend{padding:0}.theme-options,.accent-options{flex-wrap:wrap;gap:8px;display:flex}.theme-options button{border:1px solid var(--line);color:#63708a;background:#fff;border-radius:10px;min-width:92px;padding:9px 10px;font-weight:800}.theme-options button.selected{border-color:var(--violet);background:var(--soft);color:var(--violet)}.personal-settings small{color:var(--muted);font-weight:400;line-height:1.5}.accent-options>button{background:var(--choice-color);border:3px solid #fff;border-radius:50%;outline:1px solid #d5dced;width:32px;height:32px}.accent-options>button.selected{outline:3px solid var(--violet)}.accent-options .color-picker-trigger{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 7%, #fff);width:auto;height:34px;color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:800;display:inline-flex}.color-picker-trigger i{outline:1px solid color-mix(in srgb, var(--violet) 40%, #cbd4e5);border:2px solid #fff;border-radius:50%;width:18px;height:18px}.color-picker-layer{z-index:70;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#141d2f85;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.color-picker-sheet{background:#fff;border:1px solid #ffffffe0;border-radius:26px;width:min(100%,580px);max-height:min(760px,100dvh - 36px);padding:22px;overflow:auto;box-shadow:0 22px 70px #121f3645}.color-picker-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.color-picker-heading div{gap:2px;display:grid}.color-picker-heading span{color:var(--muted);font-size:12px;font-weight:800}.color-picker-heading b{color:var(--ink);font:800 28px/1 Plus Jakarta Sans,sans-serif}.color-picker-heading button{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);background:#fff;border-radius:50%;font-size:30px;line-height:1}.color-picker-sheet>p{color:var(--muted);margin:16px 0 14px;font-size:14px}.whiteout-color-note{background:#fffdf3;border:1px dashed #b8a783;border-radius:11px;padding:9px 11px;font-weight:800;color:#5d4a1a!important;margin:12px 0 0!important;font-size:13px!important}.accent-grid{border:1px solid #d9dfeb;border-radius:18px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.accent-grid button{aspect-ratio:1;background:var(--choice-color);border:1px solid #fff3}.accent-grid button:last-child{background:#fff;border-color:#fff3}.accent-grid button.selected{outline-offset:-5px;box-shadow:inset 0 0 0 2px var(--ink);z-index:1;outline:4px solid #fff;position:relative}.accent-grid button:disabled{cursor:not-allowed;filter:grayscale(.5);opacity:.2}.accent-grid button.puzzle-picked{box-shadow:inset 0 0 0 3px #fff, 0 0 0 2px color-mix(in srgb, var(--choice-color) 72%, #fff);outline-color:#fff}.palette-puzzle-hint{text-align:center;font-weight:800;color:var(--violet)!important;margin:14px 0 0!important}.palette-egg-layer{z-index:80;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.palette-egg-backdrop{background:#080c18c7;border:0;width:100%;height:100%;position:absolute;inset:0}.palette-egg-card{border:1px solid color-mix(in srgb, var(--violet) 45%, #fff);background:color-mix(in srgb, var(--violet) 8%, #fff);border-radius:24px;justify-items:center;gap:15px;width:min(100%,320px);padding:40px 28px 32px;animation:.22s cubic-bezier(.2,.85,.25,1.2) both meal-egg-pop;display:grid;position:relative;box-shadow:0 24px 70px #0005}.palette-egg-card>span{filter:drop-shadow(0 9px 8px #00000035);font-size:82px;line-height:1}.palette-egg-card p{margin:0;font-size:18px;font-weight:900;color:#111!important}.palette-egg-close{width:34px;height:34px;color:var(--ink);background:0 0;border:0;padding:0;font-size:28px;line-height:1;position:absolute;top:10px;right:12px}.color-picker-sheet .custom-accent{border:1px solid var(--line);background:#fff;border-radius:12px;width:max-content;margin-top:18px;padding:9px 11px}.color-picker-confirm{background:var(--confirm-color,var(--violet));color:#fff;border:0;border-radius:14px;width:100%;margin-top:16px;padding:13px 18px;font-size:15px;font-weight:900}.custom-accent{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.custom-accent input{background:0 0;border:0;width:34px;height:30px;padding:0}.settings-message{font-size:13px;font-weight:800;color:var(--violet)!important;margin:-4px 0 0!important}:root[data-theme=dark] .personal-settings input[type=date],:root[data-theme=dark] .theme-options button{background:#252f43}:root[data-theme=dark] .accent-options .color-picker-trigger{color:#edf0fa;background:#252f43;border-color:#3b4860}:root[data-theme=dark] .color-picker-sheet{background:#20293a;border-color:#3b4860}:root[data-theme=dark] .color-picker-heading b{color:#edf0fa}:root[data-theme=dark] .color-picker-confirm{color:#fff}:root[data-theme=dark] .color-picker-heading button,:root[data-theme=dark] .color-picker-sheet .custom-accent{color:#edf0fa;background:#252f43;border-color:#3b4860}:root[data-theme=dark] .accent-grid{border-color:#3b4860}:root[data-theme=dark] .whiteout-color-note{background:#39331f;border-color:#7c714d;color:#fff0af!important}:root[data-theme=dark] .surface-transparency-settings{background:color-mix(in srgb, var(--violet) 14%, #20293a);border-color:#3b4860}:root[data-theme=dark] .surface-transparency-settings output{background:color-mix(in srgb, var(--violet) 26%, #252f43);color:#eff2ff}:root[data-theme=dark] .surface-details-toggle,:root[data-theme=dark] .surface-opacity-details{color:#edf0fa;background:#252f43;border-color:#3b4860}@media (min-width:580px){.accent-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}.birthday-celebration{z-index:100;color:#fff;background:#07070b;position:fixed;inset:0;overflow:hidden}.birthday-firework-canvas{display:block;position:absolute;inset:0}.birthday-celebration-close{z-index:2;color:#fff;background:#ffffff12;border:1px solid #ffffff73;border-radius:50%;width:44px;height:44px;font-size:30px;line-height:1;position:absolute;top:22px;right:24px}.birthday-message{z-index:1;pointer-events:none;grid-template-rows:auto 1fr auto;justify-items:center;padding:clamp(78px,14vh,140px) 24px clamp(28px,7vh,80px);animation:.75s cubic-bezier(.2,.85,.22,1) both birthday-message-in;display:grid;position:absolute;inset:0}.birthday-message h2{text-align:center;color:#fff7cb;letter-spacing:-.05em;text-shadow:0 0 22px #f6b1e377;max-width:820px;margin:0;font-size:clamp(28px,6vw,62px);line-height:1.25}.birthday-cake{filter:drop-shadow(0 14px 24px #0009);align-self:end;font-size:clamp(116px,22vw,250px);animation:.9s cubic-bezier(.16,.86,.24,1) .18s both birthday-cake-rise}@keyframes birthday-message-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes birthday-cake-rise{0%{opacity:0;transform:translateY(70vh)rotate(-8deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@media (prefers-reduced-motion:reduce){.birthday-message,.birthday-cake{animation:none}}:root{--board-surface:color-mix(in srgb, var(--violet) 4%, #fff);--board-surface-strong:color-mix(in srgb, var(--violet) 14%, #fff);--board-shadow:0 14px 32px color-mix(in srgb, var(--violet) 13%, transparent)}body{background:radial-gradient(circle at 92% -8%, color-mix(in srgb, var(--violet) 32%, transparent) 0 17%, transparent 36%), linear-gradient(160deg, color-mix(in srgb, var(--violet) 9%, #f8fbff), var(--page-bg) 52%, color-mix(in srgb, var(--violet) 6%, #f5f8ff))}.sidebar{background:linear-gradient(165deg, color-mix(in srgb, var(--violet) 24%, var(--sidebar-bg)), var(--sidebar-bg) 58%, color-mix(in srgb, var(--violet) 8%, var(--sidebar-bg)));width:238px;box-shadow:var(--board-shadow);border:0;border-radius:28px;margin:12px 0 12px 12px;padding:18px 13px}.brand{box-shadow:0 8px 18px color-mix(in srgb, var(--violet) 11%, transparent);border:0;border-radius:18px;margin:0 3px 18px;padding:14px 12px}.brand span{border-radius:12px;width:34px;height:34px}.sidebar nav{gap:3px}.nav{border-radius:13px;min-height:44px;padding:11px 12px}.nav:hover,.nav.active{background:color-mix(in srgb, var(--violet) 21%, #fff);box-shadow:inset 3px 0 0 var(--violet)}.side-bottom{padding:12px 3px 1px}.admin{min-height:43px;box-shadow:0 6px 15px color-mix(in srgb, var(--violet) 10%, transparent);border:0;border-radius:13px}main{width:min(1260px,100% - 262px);margin-left:262px;padding:36px clamp(24px,5vw,72px) 68px}.now-bar{background:linear-gradient(115deg, color-mix(in srgb, var(--violet) 22%, #fff), var(--board-surface));box-shadow:var(--board-shadow);border-radius:20px;margin:0 0 20px;padding:18px 20px}.now-bar>span{font-size:31px}.now-bar p{font-size:clamp(20px,2.1vw,29px)}.important-banner{box-shadow:var(--board-shadow);border:0;border-radius:18px;overflow:hidden}.calendar-card,.day-card,.tip-card,.board-section,.special-page{box-shadow:var(--board-shadow);border:0;border-radius:24px}.calendar-card{background:var(--board-surface);padding:30px}.day-card{background:var(--board-surface)}.tip-card{background:linear-gradient(145deg, color-mix(in srgb, var(--violet) 72%, #242c62), color-mix(in srgb, var(--violet) 42%, #1f5486))}.board-section{background:var(--board-surface)}.calendar-days button{background:color-mix(in srgb, var(--violet) 2%, #fff)}.calendar-days button:hover{background:color-mix(in srgb, var(--violet) 10%, #fff)}.calendar-days .selected{background:color-mix(in srgb, var(--violet) 24%, #fff)}.month-controls .today-button{background:var(--violet);color:#fff;border:0}.timetable-trigger{background:var(--board-surface-strong);border:0}.post,.upcoming-list>button{border-radius:16px}.mobile-dock{display:none}@media (max-width:650px){body{background:linear-gradient(160deg, color-mix(in srgb, var(--violet) 18%, #f8fbff), var(--page-bg) 48%, color-mix(in srgb, var(--violet) 6%, #fff));min-width:0}.app-shell{min-height:100dvh;display:block}.sidebar{display:none}main{width:100%;min-height:100dvh;margin:0;padding:76px 14px 108px}.mobile-topbar{z-index:15;border-bottom:1px solid color-mix(in srgb, var(--violet) 18%, transparent);background:color-mix(in srgb, var(--page-bg) 74%, transparent);height:64px;box-shadow:0 8px 20px color-mix(in srgb, var(--violet) 8%, transparent);-webkit-backdrop-filter:blur(7px)saturate(1.1);backdrop-filter:blur(7px)saturate(1.1);grid-template-columns:43px 38px minmax(0,1fr);align-items:center;gap:7px;padding:0 16px;display:grid;position:fixed;top:0;left:0;right:0}.mobile-topbar strong{color:var(--ink);letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;font:800 17px/1 Plus Jakarta Sans,sans-serif;overflow:hidden}.mobile-topbar>span{background:color-mix(in srgb, var(--violet) 18%, #fff);width:34px;height:34px;color:var(--violet);border-radius:12px;place-items:center;font-size:19px;display:grid}.mobile-menu-trigger{background:color-mix(in srgb, var(--violet) 10%, #fff);width:40px;height:40px;color:var(--violet);border-radius:13px;font-size:23px}.important-banner{border-radius:17px;margin:0 0 12px}.important-banner-open{padding:13px 42px 13px 15px}.now-bar{border-radius:19px;align-items:flex-start;gap:11px;margin:0 0 15px;padding:15px}.now-bar>span{margin-top:1px;font-size:27px}.now-bar p{letter-spacing:-.055em;font-size:18px;line-height:1.38}.top-grid{flex-direction:column;gap:14px;display:flex}.calendar-card{border-radius:23px;width:100%;padding:19px 14px 14px}.calendar-card .section-head{display:block}.calendar-card .eyebrow{margin-bottom:4px;font-size:10px}.calendar-card .today{margin-bottom:5px;font-size:11px}.calendar-card h1{letter-spacing:-.06em;font-size:26px}.calendar-actions{grid-template-columns:1fr;gap:8px;margin-top:16px;display:grid}.calendar-card .month-controls{grid-template-columns:minmax(0,1fr) 48px 38px 38px;gap:7px;width:100%;display:grid}.month-controls .date-input{height:40px;width:100%!important}.month-controls .today-button{border-radius:12px;width:auto;height:40px;padding:0}.month-controls .calendar-arrow{background:var(--board-surface-strong);width:38px;height:40px;color:var(--violet);border-radius:12px}.timetable-trigger{border-radius:12px;height:42px;font-size:12px}.weekdays{margin-top:19px;font-size:11px}.weekdays span{padding-bottom:9px}.calendar-days button{border-color:color-mix(in srgb, var(--violet) 8%, #e9edf5);min-height:54px;padding:7px}.calendar-days.rows-5 button{min-height:60px}.calendar-days.rows-4 button{min-height:72px}.calendar-days .day-number{font-size:12px;top:8px;left:8px}.legend{gap:7px;padding-top:12px}.legend>div{border-radius:12px;min-height:38px;padding:8px}.right-column{gap:12px;width:100%}.day-card,.tip-card{border-radius:21px;padding:18px}.day-card .section-head h2{font-size:17px}.day-card .empty{margin:18px 0 6px}.tip-card{min-height:148px}.tip-card h3{font-size:23px}.board-section,.special-page{border-radius:23px;margin-top:15px;padding:19px 16px}.board-section .section-head h2{font-size:20px}.post-list{gap:10px}.post{border-radius:16px;padding:15px}footer{margin:24px 0 8px;padding-bottom:0;font-size:11px}.mobile-admin{background:var(--board-surface-strong);border:0;border-radius:15px;margin:14px 0 0}.mobile-dock{z-index:25;right:12px;bottom:max(12px, env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--violet) 20%, #fff);background:color-mix(in srgb, var(--page-bg) 77%, #fff);min-height:66px;box-shadow:0 15px 35px color-mix(in srgb, var(--violet) 25%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.35);backdrop-filter:blur(18px)saturate(1.35);border-radius:22px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;padding:5px 7px;display:grid;position:fixed;left:12px}.mobile-dock button{min-height:54px;color:var(--muted);background:0 0;border-radius:16px;place-content:center;gap:3px;display:grid;position:relative}.mobile-dock button span{font:700 21px/1 Plus Jakarta Sans,sans-serif}.mobile-dock button b{font-size:9px}.mobile-dock button.active{border:1px solid color-mix(in srgb, var(--violet) 62%, #7c8da8);background:color-mix(in srgb, var(--violet) 31%, #fff);color:color-mix(in srgb, var(--violet) 82%, #18283d);box-shadow:0 5px 12px color-mix(in srgb, var(--violet) 23%, transparent), inset 0 1px 0 #ffffffa6}.mobile-dock button.active b{color:currentColor;font-weight:900}.dock-alert{background:#ed595e;border:1px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:calc(50% - 17px)}.mobile-menu{border-radius:0 26px 26px 0;width:min(82vw,340px);box-shadow:14px 0 46px #17254d3b}.mobile-menu>button{border-radius:12px;min-height:47px}:root[data-theme=dark] .mobile-topbar,:root[data-theme=dark] .mobile-dock{background:#171f31d6}:root[data-theme=dark] .calendar-card,:root[data-theme=dark] .day-card,:root[data-theme=dark] .board-section,:root[data-theme=dark] .special-page{background:#1b2537}:root[data-theme=dark] .calendar-days button{background:#202b3e}:root[data-theme=dark] .mobile-dock button.active{background:color-mix(in srgb, var(--violet) 34%, #1b2537)}}body,.sidebar,main,.mobile-topbar,.mobile-dock,.calendar-card,.day-card,.tip-card,.board-section,.special-page,.modal,.important-banner,.meal-grid article,.post,.upcoming-list>button,.nav,.admin,.mobile-menu,.mobile-menu>button{transition:background-color .28s,background .28s,color .22s,border-color .28s,box-shadow .28s}:root[data-theme=dark] main,:root[data-theme=dark] .modal,:root[data-theme=dark] .mobile-menu,:root[data-theme=dark] .color-picker-sheet{color:#f3f6ff}:root[data-theme=dark] main :is(h1,h2,h3,p,span,b,strong,label,small,li,dt,dd,time),:root[data-theme=dark] .modal :is(h1,h2,h3,p,span,b,strong,label,small,li,dt,dd,time),:root[data-theme=dark] .mobile-menu :is(p,span,b,strong,small){color:#edf2ff}:root[data-theme=dark] main .legend .legend-type span{color:#154b67;background:#d8f7ff;width:16px;height:16px;font-size:11px}:root[data-theme=dark] main .feedback-statuses b{color:#124e34;background:#d9f4e7}:root[data-theme=dark] main .feedback-statuses b.processed{color:#164e75;background:#d8edff}:root[data-theme=dark] main :is(input,textarea,select){color:#f4f7ff;background:#202b3e}:root[data-theme=dark] main button{color:#edf2ff}:root[data-theme=dark] .calendar-days .muted .day-number{color:#96a1b8}:root[data-theme=dark] .calendar-days button:nth-child(7n+1):not(.selected) .day-number{color:#ff9fa8}:root[data-theme=dark] .calendar-days button:nth-child(7n):not(.selected) .day-number{color:#9ec7ff}.sidebar{border:1px solid color-mix(in srgb, var(--violet) 19%, #ffffffa8);background:color-mix(in srgb, var(--sidebar-bg) 72%, transparent);box-shadow:14px 20px 48px color-mix(in srgb, var(--violet) 18%, transparent), inset 0 1px 0 #ffffff9c;-webkit-backdrop-filter:blur(20px)saturate(1.2);backdrop-filter:blur(20px)saturate(1.2)}:root[data-theme=dark] .sidebar{border-color:color-mix(in srgb, var(--violet) 32%, #52627a);background:#1a2638b8;box-shadow:14px 20px 48px #00000038,inset 0 1px #ffffff0f}.now-bar{box-shadow:none;background:0 0;border-radius:0;padding:0}.now-bar>span{background:color-mix(in srgb, var(--violet) 15%, #fff);border-radius:14px;place-items:center;width:40px;height:40px;font-size:23px;display:grid}.now-bar p{color:var(--ink);font-size:clamp(20px,2.1vw,28px)}:root[data-theme=dark] .now-bar p{color:#f1f5ff}:root[data-theme=dark] .now-bar>span{background:color-mix(in srgb, var(--violet) 26%, #202c42);box-shadow:inset 0 0 0 1px #ffffff12}.important-banner-open{align-items:center;gap:8px;min-height:45px;padding:11px 43px 11px 15px;display:flex}.important-banner-open>span{flex:none;margin:0}.important-banner-open strong{min-width:0;line-height:1.25}.meal-week-selector{border:1px solid color-mix(in srgb, var(--violet) 20%, #d9e1ef);background:color-mix(in srgb, var(--violet) 6%, #fff);border-radius:16px;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;margin-bottom:13px;padding:7px;display:grid}.meal-month-selector{grid-template-columns:42px minmax(0,240px) 42px;justify-content:center;align-items:center;gap:10px;margin-bottom:12px;display:grid}.meal-month-field{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--violet) 25%, #d9e1ef);background:var(--card,#fff);width:100%;min-width:0;height:42px;color:var(--ink);cursor:pointer;border-radius:11px;justify-self:center;place-items:center;font-size:14px;display:grid;position:relative;overflow:hidden}.meal-month-field>span{pointer-events:none;white-space:nowrap}.meal-month-field input{box-sizing:border-box;opacity:0;cursor:pointer;width:100%;min-width:0;max-width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0}.meal-month-field:focus-within{outline:2px solid var(--violet);outline-offset:2px}.meal-month-selector>button{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--violet) 25%, #d9e1ef);background:color-mix(in srgb, var(--violet) 10%, #fff);width:100%;min-width:0;height:42px;color:var(--violet);border-radius:11px;padding:0;font-size:26px;font-weight:800}.meal-day-empty{color:var(--muted);margin:13px 0 0;font-size:13px;line-height:1.45}:root[data-theme=dark] .meal-month-field{color:#f3f7ff;background:#263347;border-color:#465974}:root[data-theme=dark] .meal-month-field input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] .meal-month-selector>button{color:#d8d0ff;background:#2a3750;border-color:#465974}.meal-week-selector>button{background:color-mix(in srgb, var(--violet) 13%, #fff);width:36px;height:36px;color:var(--violet);border-radius:11px;justify-self:center;font:800 25px/1 Plus Jakarta Sans,sans-serif}.meal-week-selector>button:disabled{opacity:.35;cursor:default}.meal-week-selector>div{text-align:center;gap:2px;min-width:0;display:grid}.meal-week-selector span{color:var(--muted);font-size:10px;font-weight:800}.meal-week-selector strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}:root[data-theme=dark] .meal-week-selector{background:#202b3e;border-color:#3a4c67}:root[data-theme=dark] .meal-week-selector>button{color:#d8d0ff;background:#2a3750}:root[data-theme=dark] .meal-week-selector strong{color:#f2f6ff}@media (max-width:650px){.meal-month-selector{grid-template-columns:40px minmax(0,1fr) 40px}.meal-month-field{max-width:200px}main{padding-top:84px;padding-bottom:114px}.now-bar{margin:0 2px 14px}.now-bar p{font-size:18px;line-height:1.4}.important-banner-open{gap:6px;min-height:43px;padding-right:39px}.important-banner-open>span{font-size:10px}.important-banner-open strong{font-size:13px}.mobile-feedback{bottom:91px}.section-head{gap:10px}.special-page>.section-head{flex-direction:column;align-items:stretch}.special-page>.section-head .meal-actions{justify-content:stretch;width:100%}.special-page>.section-head .meal-actions button{flex:1 1 0;min-width:0;padding:9px 7px;font-size:11px}.meal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.meal-grid article{min-width:0;min-height:132px;padding:9px}.meal-grid article>b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.meal-grid ul{overflow-wrap:anywhere;gap:4px;font-size:10px}.meal-grid li:before{margin-right:3px}.meal-week-selector{border-radius:14px;margin-bottom:10px}.meal-week-selector strong{font-size:12px}.meal-week-selector>button{width:34px;height:34px}}body,.sidebar,main,.mobile-topbar,.mobile-dock,.calendar-card,.day-card,.tip-card,.board-section,.special-page,.modal,.important-banner,.meal-grid article,.post,.upcoming-list>button,.nav,.admin,.mobile-menu,.mobile-menu>button{transition-duration:.82s,.82s,.62s,.82s,.82s}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell{background:radial-gradient(circle at 72% 0%, color-mix(in srgb, var(--violet) 15%, transparent), transparent 38%), #172033}:root[data-theme=dark] main{background:0 0}:root[data-theme=dark] .calendar-card,:root[data-theme=dark] .day-card,:root[data-theme=dark] .board-section,:root[data-theme=dark] .special-page,:root[data-theme=dark] .post,:root[data-theme=dark] .upcoming-list>button,:root[data-theme=dark] .news-item{background:#151d2b;border-color:#2d3b52}:root[data-theme=dark] .calendar-card,:root[data-theme=dark] .day-card,:root[data-theme=dark] .board-section,:root[data-theme=dark] .special-page{background:#1d293a;border-color:#40516a}:root[data-theme=dark] .calendar-days button{background:#243045;border-color:#40516a}:root[data-theme=dark] .mobile-menu{background:linear-gradient(#26364b,#1b293c)}@media (max-width:650px){main{padding-top:80px}.mobile-topbar{box-sizing:border-box;align-items:center;gap:10px;height:64px;min-height:64px;margin:0;padding:0 16px;display:flex;top:0;left:0;right:0}.mobile-topbar>span{flex:0 0 36px;width:36px;height:36px;margin:0;position:static;transform:none}.mobile-topbar>span:after{content:none}.mobile-topbar strong{flex:1;min-width:0}.calendar-card .month-controls{grid-template-columns:148px 48px 40px 40px;justify-content:space-between;align-items:center;gap:0}.month-controls .date-input{min-width:0;max-width:148px;width:148px!important}.month-controls .today-button{width:48px;min-width:48px}.month-controls .calendar-arrow{width:40px;min-width:40px;grid-column:auto!important}.mobile-menu-backdrop{justify-content:flex-end;display:flex}.mobile-menu{border:1px solid color-mix(in srgb, var(--violet) 31%, #b9d6ed);border-right:0;border-radius:26px 0 0 26px;box-shadow:-14px 0 46px #17254d3b}.mobile-menu>button.mobile-menu-my-page{z-index:1;background:color-mix(in srgb, var(--sidebar-bg) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-left:-14px;margin-right:-14px;padding:15px 25px;position:sticky;bottom:-19px}.mobile-dock{background:color-mix(in srgb, var(--page-bg) 70%, transparent);-webkit-backdrop-filter:blur(26px)saturate(1.35);backdrop-filter:blur(26px)saturate(1.35)}:root[data-theme=dark] .mobile-topbar,:root[data-theme=dark] .mobile-dock{background:#0d1320c2}:root[data-theme=dark] .mobile-menu{background:linear-gradient(#26364b,#1b293c)}}@keyframes mobile-menu-in{0%{opacity:.96;transform:translate(-104%)}to{opacity:1;transform:translate(0)}}@keyframes mobile-menu-out{0%{opacity:1;transform:translate(0)}to{opacity:.96;transform:translate(-104%)}}html{background:#edf5ff;transition:background-color 1.15s cubic-bezier(.2,.75,.25,1)}html[data-theme=dark]{background:#172033}body{background-color:#edf5ff;transition:background-color 1.15s cubic-bezier(.2,.75,.25,1),color .8s}:root[data-theme=dark] body{background-color:#172033}:root[data-theme=dark] .count{color:#fff;background:#465d82;border:1px solid #62779a;box-shadow:0 2px 8px #0b122233}:root[data-theme=dark] .post,:root[data-theme=dark] .upcoming-list>button,:root[data-theme=dark] .news-item,:root[data-theme=dark] .community-tip-list button,:root[data-theme=dark] .meal-grid article,:root[data-theme=dark] .cleaning-group-list article{background:#2b3a50;border-color:#526887}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .mobile-topbar,:root[data-theme=dark] .mobile-menu,:root[data-theme=dark] .mobile-dock,:root[data-theme=dark] main{color:#f2f6ff}:root[data-theme=dark] :is(.eyebrow,.today,.empty,.meal-note,.meal-week-selector span,.weekdays,.calendar-more,.category-summary,.color-card,.color-suggestions>span,.post time,.post small,.news-list time,.feedback-list span,.feedback-replies article time,.timetable-range,.timetable-note,.timetable-table small,.site-status-grid span,.site-status-grid small,.status-checked,.member-panel>small,.member-panel li span,.member-detail span,.member-detail p,.attachment-info,.attachment-edit-list small,.file-visual,.pdf-upload-option small,.pdf-upload-option label.disabled,.easter-event-detail dt,.easter-event-list small,.mobile-menu-section-label,.my-page p,.personal-settings small){color:#c9d5e9}:root[data-theme=dark] :is(.category-list-button,.category-item-list time,.file,.attachment-info button,.attachment-info a,.back-to-choice,.feedback-list span,.d-day:not(.urgent),.site-status-tabs button.active){color:#cfc6ff}:root[data-theme=dark] :is(.calendar-days .muted,.calendar-days .muted .day-number,.picker-days .muted,.picker-weekdays,.picker-weekdays span){color:#aebbd0}:root[data-theme=dark] :is(.modal,.account-dialog,.category-panel,.member-panel li,.member-detail,.site-status-grid article,.feedback-replies article,.attachment-preview,.attachment-info,.attachment-edit-list,.pdf-upload-option,.easter-event-detail,.easter-report-list,.easter-event-list,.easter-report-form,.easter-admin-settings){border-color:#526887}:root[data-theme=dark] :is(.modal label,.modal legend,.account-dialog label,.personal-settings>label,.personal-settings fieldset,.easter-create-form label,.easter-period-inputs label,.feedback-reply-form label){color:#e7eefb}:root[data-theme=dark] :is(input,textarea,select)::placeholder{color:#aebbd0;opacity:1}:root[data-theme=dark] :is(button:disabled,input:disabled,textarea:disabled,select:disabled){color:#aebbd0;opacity:.72}:root[data-theme=dark] :is(button,input,textarea,select):focus-visible{outline-offset:2px;outline:2px solid #bdb2ff}:root[data-theme=dark] .toast{color:#ffdce1;background:#3b2730;border-color:#8b5260;box-shadow:0 14px 30px #0005}:root[data-theme=dark] .toast button{color:#ffdce1}:root[data-theme=dark] .meal-grid li.highlighted-food,:root[data-theme=dark] .meal-grid li.highlighted-food span{text-shadow:none;color:#20242d!important}:root[data-theme=dark] .meal-grid li.highlighted-food span{background:linear-gradient(#0000 14%,#ffe66a 14% 91%,#0000 91%)}.tip-card>p{color:#f0f8ff}.tip-card h3{color:#fff}.tip-card span{color:#e5f1ff}.tip-card button{color:#fff}:root[data-theme=dark] :is(.calendar-card,.day-card,.tip-card,.board-section,.special-page,.post,.upcoming-list>button,.news-item,.feedback-list>button,.meal-grid article,.cleaning-group-list article,.easter-event-list,.easter-event-detail,.site-status-grid article){border:1px solid #50617a6b}@media (max-width:650px){.mobile-dock{border-radius:20px;min-height:58px;padding:4px 6px}.mobile-dock button{border-radius:14px;gap:2px;min-height:46px}.mobile-dock button span{font-size:19px}.calendar-card .month-controls{grid-template-columns:126px 48px 40px 40px;justify-content:end;gap:6px}.month-controls .date-input{max-width:126px;width:126px!important}.month-controls .calendar-arrow+.calendar-arrow{margin-left:-3px}:root[data-theme=dark] .mobile-topbar>span{background:color-mix(in srgb, var(--violet) 18%, #eaf7ff);color:var(--violet)!important}.mobile-menu-backdrop{justify-content:flex-start}.mobile-menu{border-right:1px solid color-mix(in srgb, var(--violet) 31%, #b9d6ed);border-left:0;border-radius:0 26px 26px 0;box-shadow:14px 0 46px #17254d3b}.mobile-menu-head{padding:4px 2px 15px}.mobile-menu-brand{align-items:center;gap:9px;min-width:0;display:flex}.mobile-menu-brand>span{background:color-mix(in srgb, var(--violet) 18%, #fff);width:32px;height:32px;color:var(--violet);border-radius:11px;flex:0 0 32px;place-items:center;font-size:18px;display:grid}.mobile-menu-brand strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:root[data-theme=dark] .mobile-menu-brand>span{background:color-mix(in srgb, var(--violet) 22%, #1b293c);color:var(--violet)}}@media (max-width:390px){.calendar-card .month-controls{grid-template-columns:minmax(0,1fr) 44px 36px 36px;gap:4px}.month-controls .date-input{max-width:none;width:100%!important}.month-controls .calendar-arrow+.calendar-arrow{margin-left:-2px}}body{isolation:isolate;position:relative;background:0 0!important}body:before{content:"";z-index:-1;background:var(--fixed-site-background,var(--page-bg));pointer-events:none;background-position:50%;background-size:cover;position:fixed;inset:0}:root[data-whiteout=true]{--fixed-site-background:#fff}:root[data-limited-event=aurora]{--fixed-site-background:radial-gradient(circle at 18% 15%, #93e8df 0, transparent 28%), radial-gradient(circle at 82% 12%, #bda2ff 0, transparent 30%), var(--page-bg)}:root[data-limited-event=sunset]{--fixed-site-background:radial-gradient(circle at 12% 16%, #ffc98c 0, transparent 31%), radial-gradient(circle at 82% 11%, #fa9eb8 0, transparent 31%), var(--page-bg)}:root[data-limited-event=midnight]{--fixed-site-background:radial-gradient(circle at 76% 9%, #506cbb 0, transparent 34%), radial-gradient(circle at 8% 75%, #39457d 0, transparent 33%), #141c35}:root[data-limited-event=festival]{--fixed-site-background:radial-gradient(circle at 18% 8%, #fa9cce 0, transparent 30%), radial-gradient(circle at 85% 22%, #ab88fc 0, transparent 33%), var(--page-bg)}:root[data-limited-event=mint]{--fixed-site-background:radial-gradient(circle at 19% 14%, #9aead1 0, transparent 30%), radial-gradient(circle at 80% 8%, #b2dfd4 0, transparent 31%), var(--page-bg)}:root[data-limited-event][style*=--limited-event-image]{--fixed-site-background:var(--limited-event-image)}:root[data-theme=dark][data-limited-event] .app-shell{background:0 0!important}:root[data-limited-event-tone=dark] .now-bar p{color:#fff!important}:root[data-limited-event-tone=light] .now-bar p{color:#182033!important}@media (max-width:650px){:root[data-limited-event-mobile=aurora]{--fixed-site-background:radial-gradient(circle at 18% 15%, #93e8df 0, transparent 28%), radial-gradient(circle at 82% 12%, #bda2ff 0, transparent 30%), var(--page-bg)}:root[data-limited-event-mobile=sunset]{--fixed-site-background:radial-gradient(circle at 12% 16%, #ffc98c 0, transparent 31%), radial-gradient(circle at 82% 11%, #fa9eb8 0, transparent 31%), var(--page-bg)}:root[data-limited-event-mobile=midnight]{--fixed-site-background:radial-gradient(circle at 76% 9%, #506cbb 0, transparent 34%), radial-gradient(circle at 8% 75%, #39457d 0, transparent 33%), #141c35}:root[data-limited-event-mobile=festival]{--fixed-site-background:radial-gradient(circle at 18% 8%, #fa9cce 0, transparent 30%), radial-gradient(circle at 85% 22%, #ab88fc 0, transparent 33%), var(--page-bg)}:root[data-limited-event-mobile=mint]{--fixed-site-background:radial-gradient(circle at 19% 14%, #9aead1 0, transparent 30%), radial-gradient(circle at 80% 8%, #b2dfd4 0, transparent 31%), var(--page-bg)}:root[data-limited-event-mobile][style*=--limited-event-mobile-image]{--fixed-site-background:var(--limited-event-mobile-image)}:root[data-limited-event-mobile-tone=dark] .now-bar p{color:#fff!important}:root[data-limited-event-mobile-tone=light] .now-bar p{color:#182033!important}}@media (max-width:760px){.limited-event-dates{grid-template-columns:1fr}.limited-event-message{grid-template-columns:1fr;gap:7px}.limited-event-bg{flex:29%;min-width:0}}@media (max-width:650px){.toast{z-index:35;justify-content:space-between;top:78px;left:14px;right:14px}.mobile-dock button{color:#202938}.mobile-dock button.active{color:#17202e}:root[data-theme=dark] .mobile-dock button{color:#dce5f4}:root[data-theme=dark] .mobile-dock button.active{color:#fff}}.calendar-marker{width:auto;min-width:50px;height:18px;padding:0 7px}.calendar-marker i{border-radius:7px}.calendar-marker.event-marker,.calendar-marker.event-marker i{border-radius:6px}.calendar-marker b{z-index:1;color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:800 10px/1 Gowun Dodum,sans-serif;display:block;position:relative;overflow:hidden}.marker-symbol{display:none}@media (max-width:650px){.mobile-dock{border:1.5px solid color-mix(in srgb, var(--violet) 54%, #b6e6ff);box-shadow:0 15px 35px color-mix(in srgb, var(--violet) 30%, transparent), 0 0 0 1px #fff6}:root[data-theme=dark] .mobile-dock{border-color:color-mix(in srgb, var(--violet) 58%, #70839d);box-shadow:0 15px 35px #00000052,0 0 0 1px #50627b}.calendar-days button{min-height:66px}.calendar-days.rows-5 button{min-height:72px}.calendar-days.rows-4 button{min-height:88px}.calendar-dots{bottom:8px}.calendar-marker,.calendar-dots.multiple .calendar-marker{width:auto;min-width:42px;max-width:46px;height:16px;padding:0 4px}.calendar-marker i,.calendar-dots.multiple .calendar-marker i{border-radius:6px;width:100%;height:100%}.calendar-marker.event-marker,.calendar-marker.event-marker i{border-radius:5px}.calendar-marker b{font-size:8px;display:block}.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-grid article{min-height:150px;padding:12px}.meal-grid article>b,.meal-grid ul,.meal-week-selector span{font-size:13px;line-height:1.45}.timetable-tabs button,.timetable-table td,.timetable-table th,.timetable-table small{font-size:12px}.timetable-table td{height:56px;padding:6px 3px}.calendar-card .eyebrow,.calendar-card .today,.weekdays,.mobile-dock button b,.important-banner-open>span,.special-page>.section-head .meal-actions button{font-size:12px}.mobile-menu-footer{gap:9px;margin-top:auto;padding-top:14px;display:grid}.mobile-menu-footer>button{border:1px solid color-mix(in srgb, var(--violet) 26%, #a9cfe8);background:color-mix(in srgb, var(--sidebar-bg) 89%, transparent);width:100%;min-height:48px;color:color-mix(in srgb, var(--violet) 76%, #345b7c);text-align:left;border-radius:14px;align-items:center;padding:12px 13px;font-size:14px;font-weight:800;display:flex}.mobile-menu-footer .mobile-menu-admin-toggle{background:color-mix(in srgb, var(--violet) 15%, var(--sidebar-bg));color:color-mix(in srgb, var(--violet) 84%, #294f6d);justify-content:center}.mobile-menu-footer .mobile-menu-admin-toggle.on{border-color:color-mix(in srgb, var(--violet) 62%, #8ddcca);background:color-mix(in srgb, var(--violet) 32%, #1e696f);color:#fff}:root[data-theme=dark] .mobile-menu-footer>button{color:#dbe8f7;background:#202d40;border-color:#3b526d}:root[data-theme=dark] .mobile-menu-footer .mobile-menu-admin-toggle{background:color-mix(in srgb, var(--violet) 22%, #1b293c);color:#e7edff}:root[data-theme=dark] .mobile-menu-footer .mobile-menu-admin-toggle.on{background:color-mix(in srgb, var(--violet) 46%, #1b3e4b);color:#fff}}@media (max-width:390px){.calendar-card .month-controls{grid-template-columns:minmax(0,1fr) 44px 36px 36px;gap:4px}.month-controls .date-input{max-width:none;width:100%!important}.month-controls .today-button{width:44px;min-width:44px}.month-controls .calendar-arrow{width:36px;min-width:36px}}:is(.calendar-card,.day-card,.tip-card,.board-section,.post,.upcoming-list>button),.calendar-days button{background-color:color-mix(in srgb, #fff var(--main-surface-opacity), transparent)!important}:root[data-theme=dark] :is(.calendar-card,.day-card,.tip-card,.board-section,.post,.upcoming-list>button){background-color:color-mix(in srgb, #1b2333 var(--main-surface-opacity), transparent)!important}:root[data-theme=dark] .calendar-days button{background-color:color-mix(in srgb, #20293a var(--main-surface-opacity), transparent)!important}.legend>div,.month-controls :is(select,.date-input,button:not(.today-button)),.timetable-trigger{background:color-mix(in srgb, #fff var(--main-surface-opacity), transparent)!important}:root[data-theme=dark] .legend>div,:root[data-theme=dark] .month-controls :is(select,.date-input,button:not(.today-button)),:root[data-theme=dark] .timetable-trigger{background:color-mix(in srgb, #252f43 var(--main-surface-opacity), transparent)!important}.sidebar :is(strong,span,b,p,button),:is(.calendar-card,.day-card,.tip-card,.board-section) :is(h1,h2,h3,p,span,strong,b,small,button,label,output){text-shadow:0 1px 2px rgb(255 255 255/var(--main-surface-text-halo)), 0 1px 3px rgb(0 0 0/calc(var(--main-surface-text-halo) * .58))}.sidebar :is(strong,span,b,p,button){text-shadow:0 1px 2px rgb(255 255 255/var(--sidebar-surface-text-halo)), 0 1px 3px rgb(0 0 0/calc(var(--sidebar-surface-text-halo) * .58))}:is(.special-page,.my-page) :is(h1,h2,h3,p,span,strong,b,small,button,label,output){text-shadow:0 1px 2px rgb(255 255 255/var(--tabs-surface-text-halo)), 0 1px 3px rgb(0 0 0/calc(var(--tabs-surface-text-halo) * .58))}:is(.calendar-card,.day-card,.tip-card,.board-section,.post,.upcoming-list>button,.calendar-days button){background-color:color-mix(in srgb, #fff var(--main-surface-readable-opacity), transparent)!important}:is(.special-page,.my-page,.meal-grid article,.feedback-list>button,.community-tip-list button,.cleaning-current,.cleaning-empty,.cleaning-editor,.cleaning-roster,.cleaning-group-list article,.easter-event-list,.easter-event-detail){background-color:color-mix(in srgb, #fff var(--tabs-surface-readable-opacity), transparent)!important}.sidebar{background:color-mix(in srgb, var(--sidebar-bg) var(--sidebar-surface-readable-opacity), transparent)!important}.legend>div,.month-controls :is(select,.date-input,button:not(.today-button)),.timetable-trigger{background:color-mix(in srgb, #fff var(--main-surface-readable-opacity), transparent)!important}.schedule-button.important-item,.upcoming-list>button.important-item{background:color-mix(in srgb, #fff5f5 var(--main-surface-readable-opacity), transparent)!important}:root[data-theme=dark] :is(.calendar-card,.day-card,.tip-card,.board-section,.post,.upcoming-list>button,.calendar-days button){background-color:color-mix(in srgb, #1b2333 var(--main-surface-readable-opacity), transparent)!important}:root[data-theme=dark] :is(.special-page,.my-page,.meal-grid article,.feedback-list>button,.community-tip-list button,.cleaning-current,.cleaning-empty,.cleaning-editor,.cleaning-roster,.cleaning-group-list article,.easter-event-list,.easter-event-detail){background-color:color-mix(in srgb, #1b2333 var(--tabs-surface-readable-opacity), transparent)!important}:root[data-theme=dark] .sidebar{background:color-mix(in srgb, var(--sidebar-bg) var(--sidebar-surface-readable-opacity), transparent)!important}:root[data-theme=dark] .legend>div,:root[data-theme=dark] .month-controls :is(select,.date-input,button:not(.today-button)),:root[data-theme=dark] .timetable-trigger{background:color-mix(in srgb, #252f43 var(--main-surface-readable-opacity), transparent)!important}:root[data-theme=dark] .schedule-button.important-item,:root[data-theme=dark] .upcoming-list>button.important-item{background:color-mix(in srgb, #422b35 var(--main-surface-readable-opacity), transparent)!important}.timetable-trigger{box-shadow:inset 0 0 0 1px #ffffff8c;border:1px solid color-mix(in srgb, var(--violet) 38%, #b9c7dc)!important}:root[data-theme=dark] .timetable-trigger{box-shadow:inset 0 0 0 1px #ffffff17;border-color:color-mix(in srgb, var(--violet) 48%, #61738f)!important}.assessment-view-all{border:1px solid color-mix(in srgb, var(--violet) 38%, var(--line));background:color-mix(in srgb, var(--violet) 9%, #fff);width:100%;color:var(--ink);font:inherit;cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:8px;margin-top:15px;padding:13px 16px;font-weight:800;display:flex}.assessment-view-all:hover,.assessment-back:hover{border-color:var(--violet)}.assessment-board{gap:20px;display:grid}.assessment-board-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.assessment-board-head h1{margin:4px 0 5px}.assessment-board-head span{color:var(--muted);font-size:13px}.assessment-back{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#ffffffe6;border-radius:11px;flex:none;padding:10px 13px}.assessment-admin-tools{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 5%, #fff);border-radius:16px;gap:10px;padding:15px;display:grid}.assessment-admin-tools form{flex-wrap:wrap;align-items:end;gap:9px;display:flex}.assessment-admin-tools label{min-width:145px;color:var(--ink);flex:1;gap:5px;font-size:12px;display:grid}.assessment-admin-tools input:not([type=color]),.assessment-form-fields :is(input,select){border:1px solid var(--line);color:#25283a;min-height:40px;font:inherit;background:#fff;border-radius:9px;padding:8px 10px}.assessment-admin-tools .assessment-color-label{flex:0 0 74px;min-width:74px}.assessment-admin-tools .assessment-arts-check{flex:none;align-items:center;gap:7px;min-width:112px;min-height:40px;font-size:14px;display:flex}.assessment-arts-check input{width:16px;height:16px;accent-color:var(--violet)}.assessment-admin-tools input[type=color]{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;height:40px;padding:4px}.assessment-admin-tools button{background:var(--violet);color:#fff;min-height:40px;font:inherit;cursor:pointer;border:0;border-radius:9px;padding:8px 13px;font-weight:800}.assessment-admin-tools .assessment-add-item{width:100%}.assessment-subjects{gap:15px;display:grid}.assessment-subject{border:1px solid var(--line);background:#ffffffe0;border-radius:17px;padding:17px}.assessment-subject-head{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:12px;display:flex}.assessment-subject-head i{border-radius:50%;width:11px;height:11px}.assessment-subject-head h2{margin:0;font-size:19px}.assessment-arts-badge{background:color-mix(in srgb, var(--violet) 14%, #fff);color:var(--ink);border-radius:7px;padding:3px 7px;font-size:12px}.assessment-subject-head span{color:var(--muted);margin-left:auto;font-size:12px}.assessment-subject-list{gap:9px;display:grid}.assessment-row{border:1px solid var(--line);background:#ffffffeb;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.assessment-row.completed{opacity:.75}.assessment-row-main{min-width:0;color:var(--ink);text-align:left;flex-wrap:wrap;flex:1;align-items:center;gap:7px;padding:0;display:flex}.assessment-row-main strong{font-size:15px}.assessment-row-main small{color:var(--muted);white-space:pre-line;flex-basis:100%}.assessment-kind{background:color-mix(in srgb, var(--violet) 18%, #fff);color:color-mix(in srgb, var(--violet) 80%, #222);border-radius:7px;padding:3px 7px;font-size:11px;font-weight:800}.assessment-kind.exam{color:#0b6d96;background:#dff4ff}.assessment-row-meta{color:var(--muted);font-size:14px}.assessment-complete-toggle,.assessment-state{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 7%, #fff);color:var(--ink);font:inherit;border-radius:8px;flex:none;padding:7px 9px;font-size:12px}.assessment-complete-toggle{cursor:pointer}.assessment-edit,.assessment-subject-add{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 7%, #fff);color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;flex:none;padding:7px 9px;font-size:12px}.assessment-subject-add{margin-left:5px}.assessment-complete-toggle[aria-pressed=true],.assessment-state.done{border-color:color-mix(in srgb, var(--mint) 55%, var(--line));background:color-mix(in srgb, var(--mint) 18%, #fff);color:#14684c}.assessment-subject-empty{color:var(--muted);margin:0;padding:15px}.assessment-entry-form{border:1px solid var(--line);background:#fffffff0;border-radius:17px;gap:14px;padding:17px;display:grid}.assessment-entry-form h2{margin:0;font-size:20px}.assessment-entry-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.assessment-entry-fields label{color:var(--ink);gap:6px;font-size:14px;display:grid}.assessment-entry-fields .assessment-entry-wide{grid-column:1/-1}.assessment-entry-fields :is(input:not([type=checkbox]),select,textarea){border:1px solid var(--line);color:#25283a;width:100%;min-height:42px;font:inherit;background:#fff;border-radius:9px;padding:9px 11px}.assessment-entry-fields textarea{resize:vertical;min-height:82px}.assessment-entry-fields .assessment-entry-check{grid-column:1/-1;align-items:center;gap:8px;display:flex}.assessment-entry-check input{accent-color:var(--violet)}.assessment-entry-actions{flex-wrap:wrap;gap:8px;display:flex}.assessment-entry-actions button{border:1px solid var(--line);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:9px;padding:8px 15px}.assessment-entry-actions button:first-child{border-color:var(--violet);background:var(--violet);color:#fff;font-weight:800}.assessment-entry-actions button.assessment-delete{color:#a53242;border-color:#bb5964;margin-left:auto}:root[data-theme=dark] .assessment-view-all,:root[data-theme=dark] .assessment-back,:root[data-theme=dark] .assessment-admin-tools,:root[data-theme=dark] .assessment-subject,:root[data-theme=dark] .assessment-row{color:#edf0fa;background:#283449e0;border-color:#46556d}:root[data-theme=dark] .assessment-kind{color:#fff;background:#51489b}:root[data-theme=dark] .assessment-kind.exam{color:#e7f8ff;background:#23556d}:root[data-theme=dark] main .assessment-arts-badge{color:#fff;background:#4b4280;font-weight:700}:root[data-theme=dark] .assessment-complete-toggle,:root[data-theme=dark] .assessment-state{color:#edf0fa;background:#303d53;border-color:#52617a}:root[data-theme=dark] .assessment-edit,:root[data-theme=dark] .assessment-subject-add,:root[data-theme=dark] .assessment-entry-form,:root[data-theme=dark] .assessment-entry-actions button:not(:first-child){color:#edf0fa;background:#283449;border-color:#46556d}:root[data-theme=dark] .assessment-entry-fields :is(input:not([type=checkbox]),select,textarea){color:#edf0fa;background:#303d53;border-color:#52617a}:root[data-theme=dark] .assessment-complete-toggle[aria-pressed=true],:root[data-theme=dark] .assessment-state.done{color:#fff;background:#205c4a}@media (max-width:600px){.assessment-board-head{flex-direction:column}.assessment-back{width:100%}.assessment-admin-tools form{align-items:stretch}.assessment-admin-tools form>button{width:100%}.assessment-row{flex-wrap:wrap;align-items:flex-start}.assessment-complete-toggle,.assessment-state{margin-left:auto}.assessment-entry-fields{grid-template-columns:1fr}.assessment-entry-fields .assessment-entry-wide{grid-column:1}}.my-page-tabs{flex-wrap:wrap;justify-content:center;max-width:100%}.grade-calculator{text-align:left;width:min(100%,860px);color:var(--ink);gap:16px;margin:3px auto 20px;display:grid}.grade-heading h2{margin:0 0 5px;font-size:clamp(23px,4vw,28px)}.my-page .grade-heading p{color:var(--muted);margin:0;font-size:15px}.grade-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.grade-summary>div{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 6%, #fff);border-radius:14px;align-content:start;gap:7px;min-width:0;padding:16px;display:grid}.grade-summary span{color:var(--muted);font-size:14px}.grade-summary strong{color:var(--ink);overflow-wrap:anywhere;font-size:clamp(18px,2.5vw,23px);line-height:1.3}.grade-summary small{color:var(--muted);font-size:13px}.my-page .grade-method{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.grade-subjects{gap:14px;display:grid}.grade-subject{border:1px solid var(--line);background:#ffffffeb;border-radius:16px;padding:17px}.grade-subject-head{align-items:center;gap:9px;margin-bottom:12px;display:flex}.grade-subject-head i{border-radius:50%;width:11px;height:11px}.grade-subject-head h3{margin:0;font-size:20px}.grade-arts{background:color-mix(in srgb, var(--violet) 14%, #fff);color:var(--ink);border-radius:7px;padding:4px 7px;font-size:12px}.grade-subject-total{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.grade-subject-total strong{font-size:18px}.grade-subject-total span{color:var(--violet);font-size:17px;font-weight:800}.grade-subject-total small{color:var(--muted);margin-left:auto;font-size:13px}.grade-entries{gap:8px;display:grid}.grade-entry{border:1px solid var(--line);background:#fffffff5;border-radius:11px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px 15px;padding:12px;display:flex}.grade-entry-title{flex-wrap:wrap;flex:200px;align-items:center;gap:6px;min-width:0;display:flex}.grade-entry-title b{background:color-mix(in srgb, var(--violet) 15%, #fff);color:var(--ink);border-radius:6px;padding:4px 6px;font-size:12px}.grade-entry-title strong{font-size:16px}.grade-entry-title small{color:var(--muted);font-size:13px}.grade-input-wrap{white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:flex}.grade-input-wrap input{border:1px solid color-mix(in srgb, var(--violet) 24%, var(--line));color:#25283a;width:88px;min-height:42px;font:inherit;text-align:right;background:#fff;border-radius:9px;padding:8px 9px;font-size:16px}.grade-input-wrap input:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.grade-row-message{color:var(--muted);flex:0 0 100%;font-size:13px}.my-page .grade-empty{border:1px dashed var(--line);color:var(--muted);border-radius:10px;margin:0;padding:15px}:root[data-theme=dark] .grade-summary>div,:root[data-theme=dark] .grade-subject,:root[data-theme=dark] .grade-entry{background:#283449;border-color:#46556d}:root[data-theme=dark] .grade-input-wrap input{color:#edf0fa;background:#303d53;border-color:#52617a}:root[data-theme=dark] .grade-entry-title b,:root[data-theme=dark] .grade-arts{color:#fff;background:#4b4280}@media (max-width:600px){.my-page-tabs button{padding:9px 10px;font-size:14px}.grade-summary{grid-template-columns:1fr}.grade-summary>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px}.grade-summary small{text-align:right;grid-column:2}.grade-subject{padding:14px}.grade-entry{align-items:flex-start}.grade-entry-title{flex-basis:100%}.grade-input-wrap{margin-left:auto}}.calendar-days button{border-color:rgb(58 79 112/var(--calendar-grid-line-strength))!important}:root[data-theme=dark] .calendar-days button{border-color:rgb(148 174 211/var(--calendar-grid-line-strength))!important}.meal-card-open{width:100%;color:inherit;text-align:left;background:0 0;padding:0;display:block}.meal-card-open>b{color:var(--violet);font-size:13px}.meal-grid article.today-meal .meal-card-open>b{color:color-mix(in srgb, var(--violet) 82%, #22304e)}.meal-grid article.holiday .meal-card-open>b{color:#bf8134}:root[data-theme=dark] .meal-grid article.today-meal .meal-card-open>b{color:color-mix(in srgb, var(--violet) 48%, #f0ecff)}:is(.meal-card-open:hover>b,.meal-card-open:focus-visible>b){text-underline-offset:3px;text-decoration:underline}.meal-card-open:focus-visible{outline:2px solid var(--violet);outline-offset:5px}.meal-allergy-editor{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:12px;display:grid}.meal-allergy-editor>strong{color:var(--ink);font-size:12px}.meal-allergy-editor label{color:var(--ink);overflow-wrap:anywhere;gap:4px;font-size:11px;display:grid}.meal-allergy-editor input{border:1px solid var(--line);background:var(--panel);width:100%;min-width:0;color:var(--ink);padding:7px;font-size:12px}.meal-detail-layer{z-index:100;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.meal-detail-backdrop{background:#0a1220b8;width:100%;height:100%;position:absolute;inset:0}.meal-detail-card{--meal-detail-surface:#fff;--meal-detail-item-surface:#f5f7fc;border:1px solid var(--line);background:var(--meal-detail-surface);width:min(100%,520px);max-height:min(84dvh,760px);color:var(--ink);border-radius:22px;padding:30px;position:relative;overflow-y:auto;box-shadow:0 24px 70px #0000004d}.meal-detail-card :is(h2,p,strong,span,button){text-shadow:none}.meal-detail-card h2{margin:4px 42px 22px 0;font-size:clamp(24px,5vw,32px)}.meal-detail-close{background:var(--meal-detail-item-surface);width:40px;height:40px;color:var(--ink);place-items:center;font-size:27px;line-height:1;display:grid;position:absolute;top:18px;right:18px}.meal-detail-card ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.meal-detail-card li{border:1px solid var(--line);background:var(--meal-detail-item-surface);border-radius:12px;gap:5px;padding:13px 15px;display:grid}.meal-detail-card li strong{color:var(--ink);font-size:17px;line-height:1.4}.meal-detail-card li strong.highlighted-food{color:#473900;text-underline-offset:2px;-webkit-text-decoration:underline #ead24e;text-decoration:underline #ead24e;text-decoration-thickness:5px}.meal-detail-card li span{color:var(--muted);font-size:14px;line-height:1.45}:root[data-theme=dark] .meal-detail-card li strong.highlighted-food{color:#ffe789}:root[data-theme=dark] .meal-detail-card{--meal-detail-surface:#1b2333;--meal-detail-item-surface:#263249}@media (max-width:650px){.meal-card-open>b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.meal-detail-layer{padding:14px}.meal-detail-card{padding:24px 19px}}
