:root{--green:#35a56f;--green-dark:#1f7a4f;--green-soft:#e4f6ec;--sun:#ffc94d;--coral:#ff7d6b;--sky:#5bb7e5;--grape:#9b84e8;--bg:#fffbf2;--card:#fff;--ink:#26332c;--muted:#62716a;--line:#ebe7d8;--danger:#cf3f35;--primary-rgb:53 165 111;--shadow-rgb:60 70 40;--tint:var(--tint);--header-bg:#fffbf2e0;--footer-bg:#20362b;--footer-ink:#cfe3d6;--footer-mute:#9db5a5;--hero-a:#dff5e8;--hero-b:#fff0c9;--hero-title:#1c3a2b;--hero-text:#3f5a4c;--soft-hover:#d3efe0;--soft-tint:#f7fcf9;--dash:#cfe0d5;--done-line:#bfe5cf;--thumb-a:#e4f6ec;--thumb-b:#fff2cc;--import-b:#fff6dc;--map-bg:#eaf1ec;--today:#fff6dc;--blank:#faf8f1;--art-sun:#ffc94d;--art-hill1:#7fd1a3;--art-hill2:#35a56f;--art-tree1:#2f9460;--art-tree2:#3aa86d;--art-roof:#ff7d6b;--art-flower:#ff9fb2;--radius:20px;--radius-sm:12px;--shadow:0 1px 2px rgb(var(--shadow-rgb) / 6%), 0 8px 24px rgb(var(--shadow-rgb) / 7%);--shadow-hover:0 2px 4px rgb(var(--shadow-rgb) / 8%), 0 14px 32px rgb(var(--shadow-rgb) / 12%);--maxw:1440px;--gutter:clamp(16px, 3vw, 44px)}.tone-coral{--tone:#ff7d6b;--tone-bg:#ffe9e5;--tone-ink:#a8362a}.tone-sky{--tone:#5bb7e5;--tone-bg:#def2fc;--tone-ink:#1b6a93}.tone-sun{--tone:#ffc94d;--tone-bg:#fff2cc;--tone-ink:#8a5a00}.tone-grape{--tone:#9b84e8;--tone-bg:#ece7fb;--tone-ink:#5a3fb5}.tone-green{--tone:#35a56f;--tone-bg:#e4f6ec;--tone-ink:#1f7a4f}.tone-rose{--tone:#ff8fab;--tone-bg:#ffe6ed;--tone-ink:#a8365a}.ec-red{--tone:#e5483d;--tone-bg:#fde7e4;--tone-ink:#b3261e}.ec-orange{--tone:#f08a24;--tone-bg:#ffecd2;--tone-ink:#94480a}.ec-green{--tone:#35a56f;--tone-bg:#def3e5;--tone-ink:#1c6b45}.ec-blue{--tone:#3a82e0;--tone-bg:#e0ebfb;--tone-ink:#1c58b0}.ec-purple{--tone:#8a63d9;--tone-bg:#ebe3fa;--tone-ink:#6a3db8}.ec-pink{--tone:#e0568f;--tone-bg:#fce2ee;--tone-ink:#a62d63}.ec-gray{--tone:#9a978f;--tone-bg:#ebe9e4;--tone-ink:#55534e}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);min-height:100dvh;color:var(--ink);letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word;flex-direction:column;margin:0;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,system-ui,sans-serif;font-size:17px;line-height:1.65;display:flex}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.02em;margin:0 0 .5em;line-height:1.3}h1{font-size:1.9rem;font-weight:800}h2{font-size:1.35rem;font-weight:700}h3{font-size:1.05rem;font-weight:700}p{margin:0 0 1em}img,svg{max-width:100%;display:block}:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:6px}.container{max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto}main.container{flex:1 0 auto;width:100%;padding-top:24px;padding-bottom:56px}@media (prefers-reduced-motion:no-preference){.rise{animation:.5s both rise}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}.site-header{z-index:20;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{max-width:var(--maxw);padding:10px var(--gutter);grid-template-columns:1fr auto;align-items:center;gap:6px 12px;margin:0 auto;display:grid}.header-inner>.logo{grid-area:1/1}.header-inner>.auth{grid-area:1/2}.header-inner>.nav{grid-row:2}.logo{color:var(--green-dark);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.12rem;font-weight:800;display:inline-flex}.auth{align-items:center;gap:6px;display:flex}.nav{scrollbar-width:none;grid-column:1/-1;gap:4px;margin:0 -4px;padding:2px 4px;display:flex;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;color:var(--muted);border-radius:999px;padding:7px 14px;font-size:.95rem;font-weight:600;transition:background .15s,color .15s}.nav a:hover{background:var(--green-soft);color:var(--green-dark)}.nav a[aria-current=page]{background:var(--green);color:#fff}.nav-staff{align-items:center}.mode-pill{background:var(--green-soft);color:var(--green-dark);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:.92rem;font-weight:800}@media (min-width:900px){.header-inner{grid-template-columns:auto 1fr auto;gap:24px;padding-top:12px;padding-bottom:12px}.header-inner>.nav{grid-area:1/2;justify-content:center}.header-inner>.auth{grid-column:3}}.site-footer{background:var(--footer-bg);color:var(--footer-ink);flex:none;margin-top:8px;font-size:.9rem}.footer-inner{max-width:var(--maxw);padding:18px var(--gutter) 10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 32px;margin:0 auto;display:flex}.footer-brand .logo{color:#fff;gap:8px;margin-bottom:2px;font-size:1rem}.footer-brand p{color:var(--footer-mute);margin:0;font-size:.85rem;line-height:1.5}.footer-brand .sep{opacity:.6}.footer-links{flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.footer-links a:hover,.footer-brand a:hover{color:#fff;text-decoration:underline}.footer-bottom{width:calc(100% - 2 * var(--gutter));max-width:calc(var(--maxw) - 2 * var(--gutter));color:var(--footer-mute);border-top:1px solid #ffffff1f;justify-content:space-between;gap:12px;margin:0 auto;padding:8px 0 12px;font-size:.78rem;display:flex}.footer-bottom a:hover{color:#fff}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (max-width:720px){.grid.cols-3,.grid.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.grid.cols-2{grid-template-columns:1fr}.grid{gap:12px}}.content-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start}@media (max-width:420px){.content-grid{grid-template-columns:1fr}}.content-grid.equal{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:stretch}.content-grid.equal>.card{flex-direction:column;display:flex}.content-grid.equal>.card textarea{flex:auto}.content-grid.equal>.card .actions{margin-top:auto;padding-top:20px}.form-note{margin:10px 0 0;font-size:.86rem;line-height:1.55}.muted{color:var(--muted)}.prose{white-space:pre-wrap}.article-body{max-width:62em;margin-left:auto;margin-right:auto;padding:28px;font-size:1.05rem;line-height:1.9}@media (max-width:520px){.article-body{padding:20px}}.inline{display:inline}.section{margin-top:44px}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-head h2{margin:0}.section-head .more{color:var(--green-dark);font-size:.92rem;font-weight:600}.section-head .more:hover{text-decoration:underline}.hint{color:var(--muted);margin-left:6px;font-size:.92rem;font-weight:500}.page-header{background:var(--tone-bg);color:var(--tone-ink);border-radius:var(--radius);align-items:center;gap:16px;margin-bottom:24px;padding:22px 26px;display:flex;position:relative;overflow:hidden}.page-header:after{content:"";background:var(--tone);opacity:.18;border-radius:50%;width:150px;height:150px;position:absolute;top:-40px;right:-30px}.page-header h1{margin:0;font-size:1.7rem}.page-header p{opacity:.85;margin:2px 0 0;font-size:.95rem}.page-header-icon{width:62px;height:62px;box-shadow:var(--shadow);background:#fff;border-radius:18px;flex:none;place-items:center;font-size:2.2rem;display:grid}@media (max-width:520px){.page-header{padding:18px}.page-header h1{font-size:1.4rem}.page-header-icon{width:52px;height:52px;font-size:1.8rem}}.empty{text-align:center;color:var(--muted);border:2px dashed var(--line);border-radius:var(--radius);background:#fff;padding:48px 16px}.empty-icon{margin-bottom:6px;font-size:2.6rem}.empty strong{color:var(--ink);display:block}.empty p{margin:4px 0 0;font-size:.92rem}.hero{background:linear-gradient(135deg, var(--hero-a) 0%, var(--hero-b) 100%);border-radius:32px;grid-template-columns:1.1fr .9fr;align-items:center;gap:12px;padding:40px 44px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";opacity:.35;background:#fff;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-80px;left:-60px}.hero-text{position:relative}.chip{color:var(--green-dark);box-shadow:var(--shadow);background:#fff;border-radius:999px;margin-bottom:14px;padding:4px 12px;font-size:.85rem;font-weight:700;display:inline-block}.hero h1{color:var(--hero-title);margin-bottom:.35em;font-size:2.6rem;font-weight:800}.hero p{color:var(--hero-text);max-width:30em;font-size:1.08rem}.hero-cta{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.hero-art{width:100%;height:auto;position:relative}@media (max-width:820px){.hero{border-radius:26px;grid-template-columns:1fr;padding:22px 20px 4px}.hero h1{font-size:1.9rem}.hero-cta{margin-top:16px}.hero-art{max-width:260px;margin:0 auto}}.quick{--quick-gap:14px;gap:var(--quick-gap);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:22px;display:grid}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:18px 10px 16px;transition:transform .18s,box-shadow .18s,border-color .18s}.tile:hover{box-shadow:var(--shadow-hover);border-color:var(--tone);transform:translateY(-4px)}.tile-icon{background:var(--tone-bg);border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 10px;font-size:1.9rem;display:grid}.tile strong{font-size:1rem;display:block}.tile small{color:var(--muted);font-size:.8rem}@media (max-width:900px){.quick{grid-template-columns:repeat(3,1fr)}}@media (max-width:520px){.quick{--quick-gap:10px}.tile{padding:14px 6px 12px}.tile small{display:none}.tile-icon{width:50px;height:50px;font-size:1.6rem}}.home-cols{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:20px;margin-top:44px;display:grid}.home-cols .section{margin-top:0}@media (max-width:860px){.home-cols{grid-template-columns:1fr;gap:36px}}.home-cols:has(>.promo){grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.home-cols:has(>.promo)>.promo{grid-row:1/span 2}@media (min-width:1100px){.home-cols:has(>.promo){grid-template-columns:minmax(0,6fr) minmax(0,4.4fr) minmax(0,5fr)}.home-cols:has(>.promo)>.promo{grid-row:auto}}@media (max-width:860px){.home-cols:has(>.promo){grid-template-columns:1fr}.home-cols:has(>.promo)>.promo{grid-row:auto}}.meal-today{gap:10px;padding:16px;display:grid}.meal-item{background:var(--tone-bg);border-radius:var(--radius-sm);grid-template-columns:84px 1fr;align-items:center;gap:10px;padding:16px 18px;display:grid}.meal-item .label{color:var(--tone-ink);align-items:center;gap:6px;font-size:.95rem;font-weight:700;display:flex}.meal-item p{margin:0;font-weight:600;line-height:1.5}@media (max-width:520px){.meal-today{padding:12px}.meal-item{grid-template-columns:72px 1fr;padding:12px 14px}}.date-badge{background:var(--tone-bg,var(--green-soft));min-width:54px;color:var(--tone-ink,var(--green-dark));border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;padding:6px 4px;line-height:1.1;display:inline-flex}.date-badge b{font-size:1.35rem;font-weight:800}.date-badge small{opacity:.85;font-size:.72rem;font-weight:600}.event-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.event-list li{border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);background:#fff;align-items:center;gap:14px;padding:12px 14px;display:flex}.event-list .body{flex:1;min-width:0}.event-list .body strong{display:block}.event-list .body .muted{margin-top:2px;font-size:.9rem}.btn{border:2px solid var(--green);background:var(--green);color:#fff;min-height:44px;font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:.98rem;font-weight:700;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--green-dark);border-color:var(--green-dark)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:default}.btn.ghost{color:var(--green-dark);background:0 0}.btn.ghost:hover{background:var(--green-soft)}.btn.soft{background:var(--green-soft);border-color:var(--green-soft);color:var(--green-dark)}.btn.soft:hover{background:var(--soft-hover);border-color:var(--soft-hover)}.btn.white{color:var(--green-dark);box-shadow:var(--shadow);background:#fff;border-color:#fff}.btn.white:hover{background:var(--soft-tint)}.btn.danger{color:var(--danger);background:0 0;border-color:#f0b9b4}.btn.danger:hover{border-color:var(--danger);background:#fdeceb}.btn.small{min-height:36px;padding:4px 14px;font-size:.88rem}label{margin:14px 0 5px;font-size:.94rem;font-weight:700;display:block}input[type=text],input[type=email],input[type=password],input[type=date],textarea,select{border:1.5px solid var(--line);border-radius:var(--radius-sm);width:100%;min-height:46px;font:inherit;color:var(--ink);background:#fff;padding:10px 14px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:130px;line-height:1.6}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgb(var(--primary-rgb) / 18%);outline:none}input[type=file]{border:2px dashed var(--dash);border-radius:var(--radius-sm);background:var(--soft-tint);width:100%;font:inherit;padding:12px}.check{cursor:pointer;align-items:center;gap:10px;font-weight:600;display:flex}.check input{width:20px;height:20px;accent-color:var(--green)}.form-narrow{max-width:440px;margin:28px auto}.form-card{max-width:880px}.form-narrow h1{font-size:1.6rem}.actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.flash{border-radius:var(--radius-sm);margin-bottom:18px;padding:12px 16px;font-size:.95rem;font-weight:600}.flash.ok{background:var(--green-soft);color:var(--green-dark)}.flash.err{color:var(--danger);background:#fdeceb}.month-nav{justify-content:center;align-items:center;gap:14px;margin-bottom:20px;font-size:1.25rem;font-weight:800;display:flex}.month-nav a{border:1.5px solid var(--line);width:42px;height:42px;color:var(--green-dark);background:#fff;border-radius:50%;place-items:center;font-size:1.4rem;line-height:1;transition:background .15s;display:grid}.month-nav a:hover{background:var(--green-soft)}.month-nav span{text-align:center;min-width:8.5em}.table-wrap{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px}tbody tr:last-child>*{border-bottom:0}thead th{background:var(--tint);white-space:nowrap;color:var(--muted);font-size:.88rem}tbody th{white-space:nowrap;font-weight:700}tr.weekend th{color:var(--danger)}tr.today>*{background:var(--today)}.today-tag{background:var(--coral);color:#fff;vertical-align:middle;border-radius:999px;margin-left:6px;padding:0 8px;font-size:.72rem;font-weight:700;display:inline-block}td input[type=text]{min-width:130px;min-height:38px;padding:6px 10px}@media (max-width:640px){.table-wrap.stack{box-shadow:none;background:0 0;border:0;overflow:visible}.stack table,.stack tbody,.stack tr,.stack th,.stack td{display:block}.stack thead{display:none}.stack tr{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-bottom:12px;overflow:hidden}.stack tr.today{border-color:#f1d98c}.stack tbody th{background:var(--tint);border-bottom:1px solid var(--line);padding:10px 14px}.stack td{border-bottom:1px solid var(--line);grid-template-columns:52px 1fr;gap:8px;padding:9px 14px;display:grid}.stack td:last-child{border-bottom:0}.stack td:before{content:attr(data-label);color:var(--muted);font-size:.88rem;font-weight:700}.stack td input[type=text]{min-width:0}}.cal{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:28px;display:grid;overflow:hidden}.cal .dow{background:var(--tint);text-align:center;color:var(--muted);padding:8px 0;font-size:.85rem;font-weight:700}.cal .dow.sun,.cal .day.sun .num{color:var(--danger)}.cal .dow.sat,.cal .day.sat .num{color:#3b6fd6}.cal .day{background:#fff;min-height:104px;padding:6px 7px;font-size:.8rem}.cal .day.blank{background:var(--blank)}.cal .num{border-radius:50%;place-items:center;min-width:26px;height:26px;font-weight:700;display:inline-grid}.cal .day.today .num{background:var(--coral);color:#fff}.cal .ev{background:var(--tone-bg);color:var(--tone-ink);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;margin-top:3px;padding:2px 7px;font-weight:600;display:block;overflow:hidden}@media (max-width:640px){.cal{display:none}}.gallery-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;transition:transform .18s,box-shadow .18s;display:block;overflow:hidden}.gallery-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.thumb{aspect-ratio:4/3;background:linear-gradient(135deg, var(--thumb-a), var(--thumb-b));position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.gallery-card:hover .thumb img{transform:scale(1.05)}.thumb.none{color:var(--muted);place-items:center;font-size:2rem;display:grid}.count{color:#fff;background:#0000008c;border-radius:999px;padding:1px 9px;font-size:.78rem;font-weight:700;position:absolute;bottom:8px;right:8px}.gallery-card .info{padding:12px 14px 14px}.gallery-card h3{-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0 0 2px;font-size:1rem;display:-webkit-box;overflow:hidden}.gallery-card .meta{color:var(--muted);font-size:.85rem}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:20px;display:grid}.photo-grid a,.photo-grid button{border-radius:var(--radius-sm);width:100%;font:inherit;cursor:zoom-in;background:#eee;border:0;padding:0;display:block;overflow:hidden}.photo-grid img{width:100%;transition:transform .3s}.photo-grid a:hover img,.photo-grid button:hover img{transform:scale(1.03)}.back-link{color:var(--muted);margin-bottom:14px;font-weight:600;display:inline-block}.back-link:hover{color:var(--green-dark)}.pager{justify-content:center;gap:10px;margin-top:28px;display:flex}.badge{color:var(--muted);vertical-align:middle;background:#eee;border-radius:999px;margin-left:8px;padding:1px 10px;font-size:.75rem;font-weight:700;display:inline-block}.badge.warn{color:#8a5a00;background:#fff2cc}.info-list{gap:12px;margin:0 0 18px;padding:0;list-style:none;display:grid}.info-list li{align-items:flex-start;gap:14px;display:flex}.info-list .ico{background:var(--tone-bg);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-size:1.3rem;display:grid}.info-list .k{color:var(--muted);font-size:.82rem;font-weight:600;display:block}.info-list .v{font-size:1.05rem;font-weight:700}.subnav{scrollbar-width:none;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:999px;gap:6px;margin-bottom:24px;padding:6px;display:flex;overflow-x:auto}.subnav::-webkit-scrollbar{display:none}.subnav a{white-space:nowrap;color:var(--muted);border-radius:999px;padding:7px 16px;font-size:.93rem;font-weight:600}.subnav a:hover{background:var(--green-soft);color:var(--green-dark)}.subnav a[aria-current=page]{background:var(--green);color:#fff}.subnav-sep{background:var(--line);flex:none;width:1px;margin:6px}.dash-card{transition:transform .18s,box-shadow .18s;display:block}.dash-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.dash-card .tile-icon{margin:0 0 12px}.dash-card h2{margin-bottom:4px}.dash-card p{color:var(--muted);margin:0;font-size:.94rem}.keep-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:6px;display:grid}.keep-grid label{margin:0;font-size:.82rem;font-weight:500}.keep-grid img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%}.keep-item{align-content:start;gap:6px;display:grid;position:relative}.keep-item .cover-btn,.keep-item .cover-del{border:1.5px solid var(--line);min-height:36px;font:inherit;color:var(--green-dark);cursor:pointer;background:#fff;border-radius:999px;padding:4px 8px;font-size:.8rem;font-weight:700}.keep-item .cover-btn:hover{border-color:var(--green);background:var(--green-soft)}.keep-item .cover-del{color:var(--danger);border-color:#f0b9b4}.cover-done{background:var(--green);color:#fff;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:800;position:absolute;top:6px;left:6px}@media (max-width:520px){body{font-size:16px}h1{font-size:1.6rem}main.container{padding-top:16px}.footer-links{gap:4px 14px}}input[type=file]::file-selector-button{background:var(--green);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;margin-right:12px;padding:7px 16px;font-weight:700}input[type=file]::file-selector-button:hover{background:var(--green-dark)}@media (min-width:1200px){body{font-size:18px}main.container{padding-top:32px}h1{font-size:2.1rem}.page-header{margin-bottom:30px;padding:28px 34px}.page-header h1{font-size:1.9rem}.hero{grid-template-columns:1fr 1fr;gap:28px;padding:30px 56px}.hero h1{font-size:2.9rem}.hero p{font-size:1.15rem}.hero-art{justify-self:end;max-width:400px}.quick{--quick-gap:18px;margin-top:22px}.tile{padding:16px 12px 14px}.tile-icon{width:58px;height:58px;margin-bottom:8px;font-size:1.9rem}.home-cols{gap:32px;margin-top:56px}.section{margin-top:56px}.grid{gap:22px}.cal .day{min-height:128px;padding:8px 10px;font-size:.88rem}.cal .ev{padding:3px 9px}th,td{padding:14px 18px}}.contact-card{flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;display:flex}.info-row{grid-template-columns:1fr;gap:16px;margin-top:28px;display:grid}.info-row .contact-card{margin-top:0}@media (min-width:1100px){.info-row{grid-template-columns:repeat(3,minmax(0,1fr))}.info-row .contact-card{flex-wrap:nowrap;height:100%}.info-row .contact-card .contact-body{min-width:0}.info-row .contact-card .btn{flex:none}}.contact-card.link-card{transition:transform .18s,box-shadow .18s,border-color .18s}.contact-card.link-card:hover{box-shadow:var(--shadow-hover);border-color:var(--tone);transform:translateY(-2px)}.contact-card .tile-icon{flex:none;margin:0}.contact-card .contact-body{flex:1;min-width:180px}.contact-card p{color:var(--muted);margin:0;font-size:.95rem}.contact-card strong{margin-bottom:2px;display:block}.contact-card a:hover{text-decoration:underline}@media (min-width:1000px){.event-list.wide{grid-template-columns:1fr 1fr}}.location-grid{align-items:start;gap:20px;display:grid}.map-box{border-radius:var(--radius);border:1px solid var(--line);min-height:340px;box-shadow:var(--shadow);background:var(--map-bg);position:relative;overflow:hidden}.map-canvas{position:absolute;inset:0}.map-overlay{text-align:center;color:var(--muted);background:var(--map-bg);place-items:center;padding:24px;font-weight:600;display:grid;position:absolute;inset:0}@media (min-width:900px){.location-grid{grid-template-columns:minmax(320px,400px) 1fr}.map-box{min-height:520px}}@media (min-width:1200px){.map-box{min-height:600px}}.map-box iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.flash.warn{color:#7a5200;background:#fff2cc}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.filter-bar .tab{border:1.5px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:6px 14px;font-size:.92rem;font-weight:600}.filter-bar .tab:hover{border-color:var(--green);color:var(--green-dark)}.filter-bar .tab[aria-current=true]{background:var(--green);border-color:var(--green);color:#fff}.search-form{align-items:center;gap:8px;margin-left:auto;display:flex}.search-form input[type=text]{min-width:180px;min-height:38px;padding:6px 12px}.file-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.file-card{border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);background:#fff;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.file-icon{background:var(--tone-bg);border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:1.4rem;display:grid}.file-body{flex:1;min-width:220px}.file-body strong{display:block}.file-meta{color:var(--muted);font-size:.86rem;line-height:1.5}.file-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}@media (max-width:520px){.search-form{width:100%;margin-left:0}.search-form input[type=text]{flex:1}}.import-panel{background:linear-gradient(135deg, var(--thumb-a), var(--import-b));border:1px solid var(--line);border-radius:var(--radius);margin-bottom:20px;padding:18px 20px}.import-panel p{margin:6px 0 12px;font-size:.93rem}.import-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.import-row input[type=file]{flex:1;width:auto;min-width:220px}.import-note{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin:-8px 0 20px;font-size:.92rem;display:flex}.crop-grid,.crop-extras{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:14px;display:grid}.crop-card{border:1.5px solid var(--green);border-radius:var(--radius-sm);cursor:pointer;background:#fff;margin:0;font-weight:500;display:block;overflow:hidden}.crop-card.off{border-color:var(--line);opacity:.45}.crop-card img{width:100%;height:auto}.crop-head{background:var(--soft-tint);align-items:center;gap:8px;padding:6px 10px;font-size:.9rem;font-weight:700;display:flex}.crop-head input{width:18px;height:18px;accent-color:var(--green)}.crop-head em{color:var(--danger);font-size:.8rem;font-style:normal;font-weight:600}.meal-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:16px;display:grid}.meal-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;transition:transform .18s,box-shadow .18s;display:block;overflow:hidden}.meal-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.meal-card.today{border:2px solid var(--coral)}.meal-card-head{background:var(--tint);padding:8px 14px;font-weight:800;display:block}.meal-card.weekend .meal-card-head{color:var(--danger)}.meal-card img{width:100%;height:auto;display:block}.meal-extra{margin-top:32px}.meal-extra img{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;max-width:100%;height:auto}.meal-extra summary{cursor:pointer;padding:10px 0;font-weight:700}.today-image{max-width:420px;padding:8px;display:block}.today-image img{border-radius:10px;width:100%;height:auto}.allergy-note{color:var(--muted);text-align:center;margin-top:16px;font-size:.88rem}.cal .day.holiday{background:#fff7f6}.cal .day.holiday .num{color:var(--danger)}.cal .ev.holiday{color:var(--danger);background:#fdeceb}.event-list li.holiday-item{background:#fff7f6;border-color:#f4cfca}.holiday-tag{color:var(--danger);vertical-align:middle;background:#fdeceb;border-radius:999px;margin-left:6px;padding:0 8px;font-size:.74rem;font-weight:700;display:inline-block}tr.blocked>*{background:var(--tint);color:var(--muted)}td.blocked-cell{text-align:center;font-size:.92rem}.blocked-clear{justify-content:center;margin-top:6px;font-size:.88rem;font-weight:600}.blocked-clear small{font-weight:500}@media (max-width:640px){.stack td.blocked-cell{display:block}.stack td.blocked-cell:before{content:none}}.promo{margin-top:28px}.promo-stage{border-radius:var(--radius);background:var(--green-soft);place-items:center;padding:18px;display:grid}.promo-frame{border-radius:var(--radius);box-shadow:var(--shadow);background:#000;margin:0 auto;position:relative;overflow:hidden}.promo-frame.embed{aspect-ratio:16/9;width:100%;max-width:720px}.promo-frame.portrait{aspect-ratio:9/16;max-width:100%;height:min(64vh,540px)}.promo-frame iframe{background:#000;border:0;width:100%;height:100%;position:absolute;inset:0}.promo-frame.file{width:fit-content;max-width:min(100%,720px)}.promo-frame.file video{background:#000;width:auto;max-width:100%;height:auto;max-height:min(64vh,540px);display:block}.promo-caption{text-align:center;margin:10px 0 0}.support-grid{gap:18px;max-width:860px;margin:0 auto;display:grid}.support-grid h2{margin-bottom:.4em}.account-box{border-radius:var(--radius-sm);background:#fff4f2;border:1px solid #f6d3cd;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px;padding:14px 16px;display:flex}.account-box .k{color:var(--danger);font-size:.82rem;font-weight:700}.account-box strong{word-break:break-all;font-size:1.05rem}.name-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.name-chips li{color:#8a3a2f;background:#fff4f2;border-radius:999px;padding:4px 14px;font-size:.95rem;font-weight:600}.card.thanks{background:linear-gradient(135deg, #fff, var(--soft-tint))}.newsletter-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.newsletter-list a{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s,transform .15s;display:flex}.newsletter-list a:hover{border-color:var(--green);transform:translateY(-2px)}.newsletter-page-list{max-width:860px;margin:0 auto}.newsletter-page-list a{gap:14px;padding:14px 18px}.nl-item-icon{background:var(--tone-bg,var(--green-soft));border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:1.5rem;display:grid}.nl-item-body{flex:1;gap:2px;min-width:0;display:grid}.nl-item-body strong{overflow-wrap:anywhere}@media (max-width:1100px){.quick{flex-wrap:wrap;justify-content:center;display:flex}.quick .tile{flex:0 0 calc((100% - 2 * var(--quick-gap)) / 3)}}.about-section{max-width:65.1rem;margin:36px auto 0}.about-section h2{margin-bottom:12px}@media (max-width:520px){.tile strong{font-size:.88rem}}.meal-week{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:10px;margin-bottom:12px;display:grid}.meal-slot.empty{min-height:1px}.meal-card{border-radius:12px}.meal-card-head{padding:5px 10px;font-size:.82rem}.zoom-btn{cursor:zoom-in;width:100%;font:inherit;background:0 0;border:0;padding:0;display:block}.zoom-btn img{width:100%;height:auto;display:block}.zoom-btn.wide{max-width:640px}.zoom-btn.wide img{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.zoom-dialog{background:0 0;border:0;max-width:96vw;max-height:96vh;padding:0;overflow:visible}.zoom-dialog::backdrop{background:#000000b8}.zoom-dialog img{background:#fff;border-radius:10px;width:auto;max-width:96vw;height:auto;max-height:92vh;display:block}.zoom-close{width:40px;height:40px;box-shadow:var(--shadow);cursor:pointer;z-index:1;background:#fff;border:0;border-radius:50%;font-size:1.1rem;position:absolute;top:-14px;right:-14px}@media (max-width:900px){.meal-week{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.meal-week>.meal-card{scroll-snap-align:start;flex:0 0 min(64vw,240px)}.meal-week>.meal-slot{display:none}}.today-meal{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:14px;display:flex}.today-meal-img{border:1px solid var(--line);border-radius:10px;flex:none;width:min(100%,260px);overflow:hidden}.today-meal-info{justify-items:center;gap:6px;width:100%;display:grid}.today-meal-info p{margin:0;font-size:.9rem}.nl-new{margin-bottom:20px}.nl-new h2{margin-bottom:10px}.nl-new-row{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.nl-new-row .field label,.nl-new-row .field>span{margin:0 0 5px;font-size:.94rem;font-weight:700;display:block}@media (max-width:720px){.nl-new-row{grid-template-columns:1fr}}.nl-help{margin-bottom:20px}.nl-help summary{cursor:pointer;font-weight:700}.nl-help ol{gap:6px;margin:12px 0 8px;padding-left:1.3em;display:grid}.drop{border-radius:var(--radius-sm)}.drop.on input[type=file]{border-color:var(--green);background:var(--green-soft)}.upload-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.up-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:10px 12px}.up-row.done{background:var(--green-soft);border-color:var(--done-line)}.up-row.failed,.up-row.bad{background:#fff6f5;border-color:#f0b9b4}.up-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.up-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.up-name small{color:var(--muted);font-weight:400}.up-fields{grid-template-columns:1fr 160px;gap:8px;margin-top:8px;display:grid}.up-fields input,.up-fields select{min-height:40px;padding:6px 12px}.up-err{color:var(--danger);margin:6px 0 0;font-size:.88rem;font-weight:600}@media (max-width:520px){.up-fields{grid-template-columns:1fr}}html[data-theme=spring]{--green:#c9467f;--green-dark:#9c2d5e;--green-soft:#fde7f0;--primary-rgb:201 70 127;--shadow-rgb:110 50 80;--bg:#fff8fa;--line:#f1dbe4;--ink:#33262d;--muted:#79636d;--tint:#f9eef2;--header-bg:#fff8fae0;--footer-bg:#4a2a3a;--footer-ink:#f3d9e5;--footer-mute:#c9a3b6;--hero-a:#ffe3ee;--hero-b:#e6f5d6;--hero-title:#5a1f3a;--hero-text:#7a4a5f;--soft-hover:#fbd3e3;--soft-tint:#fff5f9;--dash:#ebc8d6;--done-line:#f0c2d5;--thumb-a:#fde7f0;--thumb-b:#e6f5d6;--import-b:#f1f8e6;--map-bg:#f5ebef;--today:#fff1d6;--blank:#fdf6f8;--art-sun:#ffd25e;--art-hill1:#c8e6a9;--art-hill2:#8cc873;--art-tree1:#f19ac0;--art-tree2:#f8bfd7;--art-roof:#e8739b;--art-flower:#ff9fb2}html[data-theme=summer]{--green:#0a7aa8;--green-dark:#075a7c;--green-soft:#dff3fb;--primary-rgb:10 122 168;--shadow-rgb:30 80 110;--bg:#f6fcff;--line:#d5e8ef;--ink:#1f2f38;--muted:#587583;--tint:#eaf5f9;--header-bg:#f6fcffe0;--footer-bg:#10364a;--footer-ink:#cde6f0;--footer-mute:#8fb7c8;--hero-a:#cfeefc;--hero-b:#fff3bf;--hero-title:#0b3a52;--hero-text:#35637a;--soft-hover:#c6e8f6;--soft-tint:#f3fbff;--dash:#bddbe7;--done-line:#b6dcec;--thumb-a:#dff3fb;--thumb-b:#fff3bf;--import-b:#fff8d6;--map-bg:#e6f1f5;--today:#fff6d0;--blank:#f3f9fb;--art-sun:#ffc233;--art-hill1:#7fdcc4;--art-hill2:#1fa78a;--art-tree1:#1f9d55;--art-tree2:#2fb36b;--art-roof:#ff7d6b;--art-flower:#ffb07a}html[data-theme=autumn]{--green:#c2570f;--green-dark:#8f3f08;--green-soft:#fdebd9;--primary-rgb:194 87 15;--shadow-rgb:100 60 30;--bg:#fffaf3;--line:#efe0cd;--ink:#33291f;--muted:#7a6654;--tint:#f7eddf;--header-bg:#fffaf3e0;--footer-bg:#3d2616;--footer-ink:#ecd9c3;--footer-mute:#bf9f80;--hero-a:#ffe2c2;--hero-b:#f6e8b0;--hero-title:#4a2208;--hero-text:#6d4a2e;--soft-hover:#fbdcbd;--soft-tint:#fff8ef;--dash:#e8cfae;--done-line:#efcba4;--thumb-a:#fdebd9;--thumb-b:#f6e8b0;--import-b:#fbefc9;--map-bg:#f3ebe0;--today:#ffeccb;--blank:#fbf6ee;--art-sun:#ffb347;--art-hill1:#e8c07a;--art-hill2:#c98a3c;--art-tree1:#e0742a;--art-tree2:#f0a03a;--art-roof:#c8512f;--art-flower:#f0a03a}html[data-theme=winter]{--green:#3d6fc4;--green-dark:#27498a;--green-soft:#e3edfb;--primary-rgb:61 111 196;--shadow-rgb:40 60 100;--bg:#f7faff;--line:#d8e3f3;--ink:#222b3a;--muted:#5f6c82;--tint:#edf2fa;--header-bg:#f7faffe0;--footer-bg:#1b2a4a;--footer-ink:#d1def3;--footer-mute:#93a7c9;--hero-a:#dbe9ff;--hero-b:#f1f6ff;--hero-title:#17305e;--hero-text:#47608a;--soft-hover:#d3e2f8;--soft-tint:#f4f8ff;--dash:#c4d5ee;--done-line:#bdd0ee;--thumb-a:#e3edfb;--thumb-b:#f1f6ff;--import-b:#f1f6ff;--map-bg:#e9eff7;--today:#fff4d6;--blank:#f3f6fb;--art-sun:#ffe9a8;--art-hill1:#fff;--art-hill2:#dce8f7;--art-tree1:#6f9fc9;--art-tree2:#a9c8e6;--art-roof:#6d8fd0;--art-flower:#a9c8e6}.hero-art .only-spring,.hero-art .only-summer,.hero-art .only-autumn,.hero-art .only-winter{display:none}html[data-theme=spring] .hero-art .only-spring,html[data-theme=summer] .hero-art .only-summer,html[data-theme=autumn] .hero-art .only-autumn,html[data-theme=winter] .hero-art .only-winter{display:inline}.hero-art .art-sun{transform-box:fill-box;transform-origin:50%}html[data-theme=summer] .hero-art .art-sun{transform:scale(1.18)}html[data-theme=winter] .hero-art .art-sun{opacity:.75}.hero-art .fall{opacity:0;animation:fall var(--dur,10s) linear infinite;animation-delay:var(--delay,0s);translate:0 -12px}@keyframes fall{0%{opacity:0;translate:0 -12px}10%{opacity:.9}90%{opacity:.9}to{translate:var(--sway,20px) 350px;opacity:0}}@media (prefers-reduced-motion:reduce){.hero-art .fall{translate:0 var(--sy,100px);opacity:.85;animation:none}}.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (max-width:720px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.theme-card{border:2px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:#fff;flex-direction:column;gap:6px;margin:0;padding:14px;font-weight:500;display:flex;position:relative}.theme-card:hover{border-color:var(--green)}.theme-card.on{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 2px var(--green)}.theme-card input{opacity:0;cursor:pointer;position:absolute;inset:0}.theme-card:has(input:focus-visible){outline:3px solid var(--sky);outline-offset:2px}.theme-sw{border:1px solid #0000001a;border-radius:999px;height:22px;display:flex;overflow:hidden}.theme-sw i{flex:1}.theme-name{font-size:1.05rem;font-weight:800}.theme-card small{color:var(--muted);line-height:1.4}html[data-theme=winter] .hero-art .art-flowers{display:none}.theme-grid+.flash{margin-top:14px}.lb-dialog{color:#fff;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden}.lb-dialog::backdrop{background:#000000eb}.lb{grid-template-rows:auto 1fr;width:100%;height:100%;display:grid}.lb-top{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.lb-count{background:#ffffff24;border-radius:999px;padding:4px 14px;font-size:.95rem;font-weight:700}.lb-close{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;width:46px;height:46px;font-size:1.3rem}.lb-close:hover,.lb-nav:hover{background:#ffffff4d}.lb-stage{touch-action:pan-y;place-items:center;min-height:0;padding:0 64px 16px;display:grid;position:relative}.lb-img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:6px;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 92px)}.lb-nav{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:52px;height:52px;padding-bottom:4px;font-size:2rem;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lb-nav.prev{left:8px}.lb-nav.next{right:8px}@media (max-width:640px){.lb-stage{padding:0 0 12px}.lb-nav{background:#0006;width:44px;height:44px;font-size:1.7rem}.lb-nav.prev{left:6px}.lb-nav.next{right:6px}}.staff-sub{margin:-6px 0 18px;font-size:1.02rem}.tile{position:relative}.tile-dot{background:var(--coral);color:#fff;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 7px;font-size:.78rem;font-weight:800;display:grid;position:absolute;top:10px;right:12px;box-shadow:0 2px 6px #0000002e}.badge.sv-on{background:var(--green-soft);color:var(--green-dark)}.sv-list{margin:0;gap:12px;max-width:860px;margin-inline:auto;padding:0;list-style:none;display:grid}.sv-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:16px 20px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}a.sv-card:hover{border-color:var(--green);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.sv-card strong{flex:220px;font-size:1.08rem}.sv-card .btn{margin-left:auto}.sv-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1 0 100%;font-size:.92rem;display:-webkit-box;overflow:hidden}.sv-badge{background:var(--green-soft);color:var(--green-dark);border-radius:999px;padding:2px 12px;font-size:.78rem;font-weight:800;display:inline-block}.sv-badge.off{color:var(--muted);background:#eee}.sv-due{color:var(--danger);font-size:.85rem;font-weight:700}.sv-list.closed .sv-card{box-shadow:none;opacity:.7}.sv-intro{max-width:860px;margin:0 auto 18px}.sv-form{gap:16px;max-width:860px;margin:0 auto;display:grid}.sv-q{border:1.5px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);background:#fff;margin:0;padding:20px 22px}.sv-q.err{border-color:var(--danger);box-shadow:0 0 0 3px #cf3f3524}.sv-q legend{align-items:center;gap:8px;padding:0 8px;font-size:1.08rem;font-weight:800;line-height:1.4;display:flex}.sv-q .num{background:var(--green);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.85rem;display:inline-grid}.sv-q .req{color:var(--danger)}.sv-q .opt{color:var(--muted);font-size:.85rem;font-weight:500}.sv-help{margin:4px 0 10px;font-size:.9rem}.sv-pills{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.sv-pill{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;min-height:52px;margin:0;padding:12px 20px;font-size:1.02rem;font-weight:700;transition:border-color .12s,background .12s;display:inline-flex;position:relative}.sv-pill:hover{border-color:var(--green)}.sv-pill.on{border-color:var(--green);background:var(--green-soft);color:var(--green-dark);box-shadow:0 0 0 2px var(--green)}.sv-pill input,.sv-face input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}:is(.sv-pill:has(input:focus-visible),.sv-face:has(input:focus-visible)){outline:3px solid var(--sky);outline-offset:2px}.sv-faces{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.sv-face{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:4px;margin:0;padding:10px 2px 8px;font-weight:600;transition:transform .12s,border-color .12s;display:flex;position:relative}.sv-face .e{filter:grayscale(.7);opacity:.75;font-size:2.3rem;line-height:1;transition:filter .12s,opacity .12s,transform .12s}.sv-face .t{color:var(--muted);text-align:center;word-break:keep-all;font-size:.74rem;line-height:1.25}.sv-face:hover .e{filter:none;opacity:1}.sv-face.on{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 2px var(--green)}.sv-face.on .e{filter:none;opacity:1;transform:scale(1.15)}.sv-face.on .t{color:var(--green-dark);font-weight:800}@media (max-width:420px){.sv-face .e{font-size:1.9rem}.sv-face .t{font-size:.68rem}}.sv-q input[type=text],.sv-q textarea{margin-top:12px}.sv-num{text-align:center;width:8em;margin-top:12px;font-size:1.2rem;font-weight:700}.sv-err{color:var(--danger);margin:10px 0 0;font-size:.92rem;font-weight:700}.sv-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.sv-submit{min-width:220px;min-height:56px;font-size:1.1rem}.sv-thanks{text-align:center;max-width:640px;margin:20px auto;padding:36px 24px}.sv-thanks-icon{font-size:3.4rem}.sv-new{margin-bottom:20px}.sv-new h2{margin-bottom:10px}.sv-templates{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}@media (max-width:720px){.sv-templates{grid-template-columns:1fr}}.sv-tpl{border:2px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:#fff;flex-direction:column;gap:4px;margin:0;padding:14px 16px;font-weight:500;display:flex;position:relative}.sv-tpl input{opacity:0;cursor:pointer;position:absolute;inset:0}.sv-tpl:has(input:checked){border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 2px var(--green)}.sv-tpl:has(input:focus-visible){outline:3px solid var(--sky);outline-offset:2px}.sv-tpl strong{font-size:1.02rem}.sv-tpl small{color:var(--muted);line-height:1.4}.sv-new-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:4px;display:flex}.sv-new-title{flex:280px;margin:0}.sv-new-title span{margin-bottom:5px;font-size:.94rem;font-weight:700;display:block}.pop-dialog{color:#fff;background:0 0;border:0;width:min(92vw,520px);max-width:none;max-height:none;margin:auto;padding:0;overflow:visible}.pop-dialog::backdrop{background:#0009}.pop{gap:10px;display:grid}.pop-stage{touch-action:pan-y;place-items:center;display:grid;position:relative}.pop-link{line-height:0;display:block}.pop-img{object-fit:contain;-webkit-user-select:none;user-select:none;background:#fff;border-radius:16px;width:100%;height:auto;max-height:calc(100dvh - 150px);box-shadow:0 18px 50px #0006}.pop-nav{color:#fff;cursor:pointer;background:#00000073;border:0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0 0 3px;font-size:1.6rem;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.pop-nav:hover{background:#000000a6}.pop-nav.prev{left:8px}.pop-nav.next{right:8px}.pop-dialog:focus{outline:none}.pop-dots{background:#0006;border-radius:999px;justify-content:center;gap:8px;width:fit-content;margin:0 auto;padding:7px 12px;display:flex}.pop-dots button{cursor:pointer;background:#ffffff73;border:0;border-radius:50%;width:10px;height:10px;padding:0}.pop-dots button.on{background:#fff;border-radius:999px;width:22px}.pop-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.pop-skip,.pop-close{min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:8px 18px;font-size:.95rem;font-weight:700}.pop-skip{color:#fff;background:#ffffff29}.pop-skip:hover{background:#ffffff47}.pop-close{color:var(--ink);background:#fff}.pop-close:hover{background:var(--soft-tint,#fff7e8)}.pop-note{background:#ffffff29;border-radius:999px;padding:6px 14px;font-size:.88rem;font-weight:600}@media print{.pop-dialog{display:none!important}}.staff-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:18px;display:flex}.staff-head h1{margin:0}.staff-head .month-nav{margin:0;font-size:1.1rem}.staff-head .month-nav a{width:38px;height:38px}.staff-head .month-nav span{min-width:7.5em}.plan-layout{align-items:start;gap:20px;display:grid}@media (min-width:900px){.plan-layout{grid-template-columns:340px minmax(0,1fr);gap:28px}.plan-form{position:sticky;top:96px}}.plan-form h2{margin-bottom:2px}.plan-form>label:first-of-type{margin-top:8px}.plan-submit{width:100%;margin-top:18px}.plan-list .section-head h2{align-items:center;gap:10px;display:flex}.count-pill{background:var(--green-soft);color:var(--green-dark);border-radius:999px;padding:2px 11px;font-size:.8rem;font-weight:700}.plan-list .empty{padding:40px 16px;line-height:1.7}.pt{gap:16px;max-width:760px;display:grid}.pt-drop{border:2px dashed var(--dash);border-radius:var(--radius);background:var(--soft-tint);cursor:pointer;text-align:center;justify-items:center;gap:4px;margin:0;padding:44px 16px;display:grid}.pt-drop:hover,.pt-drop.over{border-color:var(--green);background:var(--green-soft)}.pt-drop input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.pt-drop:focus-within{outline:3px solid var(--sky);outline-offset:2px}.pt-ico{font-size:2.4rem}.pt-result{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.pt-result img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:12px;width:160px;max-height:200px}.pt-result p{margin:0 0 4px}.head-actions{flex-wrap:wrap;gap:8px;display:flex}.flash-toast{z-index:200;border-radius:14px;align-items:center;gap:10px;max-width:min(92vw,560px);padding:12px 14px 12px 16px;font-size:.98rem;font-weight:700;line-height:1.45;animation:.22s ease-out ft-in;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 10px 34px #00000038}.flash-toast.ok{color:#fff;background:#1f6b46}.flash-toast.err{color:#fff;background:#b3261e}.flash-toast .ft-msg{overflow-wrap:anywhere}.flash-toast .ft-x{color:#fff;cursor:pointer;background:#ffffff38;border:0;border-radius:50%;flex:none;width:30px;height:30px;font-size:.9rem}.flash-toast .ft-x:hover{background:#ffffff5c}@keyframes ft-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.flash-toast{animation:none}}@media print{.flash-toast{display:none!important}}.event-list .series-tag{background:var(--tone-bg,#ece8dc);color:var(--tone-ink,#55534e);border-radius:999px;margin:2px 0 0;padding:1px 9px;font-size:.76rem;font-weight:700;display:inline-block}.event-list .del-forms{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.cal-only-group{margin-top:14px;display:none}.cal-only-group summary{cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--green-dark);background:#fff;padding:12px 16px;font-weight:700;list-style:none}.cal-only-group summary::-webkit-details-marker{display:none}.cal-only-group[open] summary{margin-bottom:10px}@media (max-width:640px){.cal-only-group{display:block}}.vis-chips{flex-wrap:wrap;gap:4px 6px;margin-top:4px;display:flex}.vis-chip{color:var(--muted);background:#eee;border-radius:999px;padding:1px 9px;font-size:.76rem;font-weight:700}.event-list details.vis{margin-top:6px}.event-list details.vis summary{cursor:pointer;color:var(--green-dark);font-size:.82rem;font-weight:700;display:inline-block}.event-list details.vis summary:hover{text-decoration:underline}.event-list details.vis form{background:var(--soft-tint,#fff7e8);border:1px solid var(--line);border-radius:12px;justify-items:start;gap:8px;margin-top:8px;padding:12px 14px;display:grid}.event-list details.vis .check{margin:0;font-size:.9rem}.event-list details.vis .vis-cal{color:var(--muted);margin:0;font-size:.84rem;font-weight:600}.file-bundle{align-items:center}.file-bundle .bundle-count{background:var(--tone-bg);color:var(--tone-ink);margin-left:6px}.bundle-files{flex:100%;margin-top:2px}.bundle-files summary{cursor:pointer;color:var(--green-dark);font-size:.88rem;font-weight:700}.bundle-files summary:hover{text-decoration:underline}.bundle-files ul{gap:4px;max-height:360px;margin:10px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.bundle-files li{background:var(--tint,#f6efe2);border-radius:10px;align-items:center;gap:10px;padding:6px 10px;display:flex}.bundle-files .bf-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.bundle-files li form{display:inline}.bundle-box{border:1.5px dashed var(--dash,var(--line));background:var(--soft-tint,#fff7e8);border-radius:14px;margin-top:14px;padding:12px 14px}.bundle-box .check{margin:0}.bundle-box label[for=bundle-title]{margin-top:12px}@media (max-width:640px){.file-bundle .file-actions{flex:100%}.bundle-files li{flex-wrap:wrap}.bundle-files .bf-name{flex:100%}}
