:root{--s-build:"20260325b";--s-primary:#a97142;--s-primary-dark:#8d5d36;--s-primary-light:#a971421a;--s-accent:#2f2f2f;--s-success:#48bb78;--s-success-dark:#38a169;--s-danger:#e53e3e;--s-danger-dark:#c53030;--s-danger-light:#e53e3e26;--s-warning:#ed8936;--s-bg:beige;--s-bg-subtle:#efefe5;--s-surface:#fffffff2;--s-white:#fff;--s-border:#d5d0c8;--s-text:#2f2f2f;--s-text-secondary:#6b645c;--s-text-muted:#9a948c;--s-radius-sm:8px;--s-radius-md:12px;--s-radius-lg:16px;--s-spacing-xs:4px;--s-spacing-sm:8px;--s-spacing-md:16px;--s-spacing-lg:24px;--s-spacing-xl:32px;--s-shadow-sm:0 1px 3px #0000001a;--s-shadow-md:0 4px 6px #0000001a;--s-shadow-lg:0 10px 15px #0000001a;--s-heat-free:#c6f6d5;--s-heat-few:#fefcbf;--s-heat-some:#fed7aa;--s-heat-many:#feb2b2;--s-heat-all:#fc8181}.s-body{background:linear-gradient(135deg, var(--s-primary) 0%, var(--s-text-secondary) 50%, var(--s-bg) 100%);color:var(--s-text);background-attachment:fixed;flex-direction:column;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;display:flex}.s-card{background:var(--s-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--s-radius-lg);padding:var(--s-spacing-xl);box-shadow:var(--s-shadow-md);border:1px solid var(--s-border);margin-bottom:var(--s-spacing-lg)}.s-top-bar{padding:var(--s-spacing-md) var(--s-spacing-lg);background:var(--s-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--s-border);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.s-btn{justify-content:center;align-items:center;gap:var(--s-spacing-sm);border-radius:var(--s-radius-sm);cursor:pointer;border:none;padding:10px 20px;font-family:inherit;font-size:.9375rem;font-weight:600;transition:all .2s;display:inline-flex}.s-btn-primary{background:var(--s-primary);color:var(--s-white)}.s-btn-primary:hover:not(:disabled){background:var(--s-primary-dark);box-shadow:var(--s-shadow-md);transform:translateY(-1px)}.s-btn-primary:disabled{opacity:.5;cursor:not-allowed}.s-btn-secondary{background:var(--s-bg-subtle);color:var(--s-text);border:1px solid var(--s-border)}.s-btn-secondary:hover:not(:disabled){background:var(--s-border)}.s-btn-danger{background:var(--s-danger);color:var(--s-white)}.s-btn-danger:hover:not(:disabled){background:var(--s-danger-dark)}.s-btn-sm{padding:6px 12px;font-size:.8125rem}.s-form-group{margin-bottom:var(--s-spacing-md)}.s-form-group label{color:var(--s-text);margin-bottom:var(--s-spacing-xs);font-size:.875rem;font-weight:600;display:block}.s-form-group input{border:1px solid var(--s-border);border-radius:var(--s-radius-sm);width:100%;color:var(--s-text);background:var(--s-white);padding:10px 14px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.s-form-group input:focus{border-color:var(--s-primary);box-shadow:0 0 0 3px var(--s-primary-light);outline:none}.s-form-row{gap:var(--s-spacing-md);grid-template-columns:1fr 1fr;display:grid}.s-form-error{color:var(--s-danger);margin-top:var(--s-spacing-xs);font-size:.8rem}.s-share-box{align-items:center;gap:var(--s-spacing-sm);background:var(--s-bg-subtle);border:1px solid var(--s-border);border-radius:var(--s-radius-sm);padding:var(--s-spacing-sm) var(--s-spacing-md);display:flex}.s-share-box input{color:var(--s-text);background:0 0;border:none;outline:none;flex:1;font-family:monospace;font-size:.875rem}.s-toast{bottom:var(--s-spacing-lg);right:var(--s-spacing-lg);background:var(--s-accent);color:var(--s-white);padding:var(--s-spacing-md) var(--s-spacing-lg);border-radius:var(--s-radius-sm);box-shadow:var(--s-shadow-lg);opacity:0;z-index:200;font-size:.875rem;font-weight:500;transition:all .3s;position:fixed;transform:translateY(100px)}.s-toast.visible{opacity:1;transform:translateY(0)}.s-toast.success{background:var(--s-success-dark)}.s-toast.error{background:var(--s-danger)}.s-spinner{border:2px solid var(--s-border);border-top-color:var(--s-primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite s-spin;display:inline-block}@keyframes s-spin{to{transform:rotate(360deg)}}.s-modal-overlay{z-index:150;padding:var(--s-spacing-lg);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.s-modal-content{background:var(--s-white);border-radius:var(--s-radius-lg);padding:var(--s-spacing-xl);box-shadow:var(--s-shadow-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.s-calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.s-calendar-month{color:var(--s-accent);padding:var(--s-spacing-md) 0 var(--s-spacing-sm);font-size:1rem;font-weight:700}.s-calendar-header{text-align:center;color:var(--s-text-muted);padding:var(--s-spacing-xs) 0;text-transform:uppercase;font-size:.75rem;font-weight:600}.s-calendar-cell{aspect-ratio:1;border-radius:var(--s-radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;min-height:48px;font-size:.875rem;font-weight:500;transition:all .15s;display:flex;position:relative}.s-calendar-cell:hover:not(.s-cell-empty){border-color:var(--s-primary);z-index:1;transform:scale(1.05)}.s-cell-empty{cursor:default}.s-cell-day{font-size:.875rem;line-height:1}.s-cell-count{opacity:.8;margin-top:2px;font-size:.625rem;line-height:1}.s-cell-today .s-cell-day{text-underline-offset:2px;font-weight:700;text-decoration:underline}.s-cell-selected{box-shadow:inset 0 0 0 2px var(--s-danger);border-color:var(--s-danger)!important}.heat-free{background:var(--s-heat-free);color:var(--s-text)}.heat-few{background:var(--s-heat-few);color:var(--s-text)}.heat-some{background:var(--s-heat-some);color:var(--s-text)}.heat-many{background:var(--s-heat-many);color:var(--s-white)}.heat-all{background:var(--s-heat-all);color:var(--s-white)}@media (width<=640px){.s-form-row{grid-template-columns:1fr}.s-card{padding:var(--s-spacing-lg)}.s-share-box{flex-direction:column}.s-share-box input{text-align:center;width:100%}.s-calendar-cell{min-height:36px;font-size:.75rem}.s-cell-count{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:0s!important;animation-duration:0s!important}}
