.slider{appearance:none;cursor:pointer;background:0 0;outline:none}.slider-vertical{transform-origin:50%;background-image:repeating-linear-gradient(90deg,#999 0 1px,#0000 1px 5.26316%);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;width:100%;height:20px;transform:rotate(90deg)}.slider-vertical::-webkit-slider-track{background:0 0;height:20px}.slider-vertical::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#000;border:none;border-radius:0;width:2px;height:20px}@media (hover:hover){.slider-vertical::-webkit-slider-thumb:hover{background:#333}}.slider-vertical::-moz-range-track{background:0 0;height:20px}.slider-vertical::-moz-range-thumb{cursor:pointer;background:#000;border:none;border-radius:0;width:2px;height:20px}@media (hover:hover){.slider-vertical::-moz-range-thumb:hover{background:#333}}.slider-horizontal{width:100%;height:20px}.slider-horizontal::-webkit-slider-track{background:#e0e0e0;border-radius:10px;height:4px}.slider-horizontal::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#4a90e2;border-radius:50%;width:16px;height:16px;margin-top:-6px;transition:background .2s}@media (hover:hover){.slider-horizontal::-webkit-slider-thumb:hover{background:#357abd}}.slider-horizontal::-moz-range-track{background:#e0e0e0;border-radius:10px;height:4px}.slider-horizontal::-moz-range-thumb{cursor:pointer;background:#4a90e2;border:none;border-radius:50%;width:16px;height:16px;transition:background .2s}@media (hover:hover){.slider-horizontal::-moz-range-thumb:hover{background:#357abd}}.vertical-slider{touch-action:none}.vertical-slider:focus{outline:none}.slider-thumb{transition:opacity .2s,fill .2s}@media (hover:hover){.slider-thumb:hover{opacity:.8}}.vertical-slider:active .slider-thumb,.slider-thumb:active{opacity:.7}.bottom-nav{background:var(--bg-surface);background:color-mix(in srgb,var(--bg-surface),transparent 25%);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);z-index:1000;border-radius:32px;flex:none;justify-content:space-around;align-items:center;width:calc(100% - 40px);max-width:400px;height:64px;margin:0 auto 5px;padding:0 10px;display:flex;position:relative;box-shadow:0 8px 32px #0000001a}@media (min-width:640px){.bottom-nav{margin-bottom:2rem}}.nav-item{color:var(--text-secondary);border-radius:32px;flex-direction:column;flex:1;justify-content:center;align-items:center;height:100%;text-decoration:none;transition:all .2s;display:flex;position:relative}.nav-item .material-symbols-outlined{margin-bottom:2px;font-size:24px;transition:transform .2s}.nav-label{text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:500}.nav-item.active{color:var(--text-primary)}.nav-item.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;color:var(--primary-color);transform:translateY(-2px)}.nav-item:active{opacity:.6}.modal-overlay{width:100vw;height:100vh;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;height:100dvh;padding:1rem;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:20px;width:100%;max-width:450px;max-height:90%;animation:.3s ease-out modal-appear;overflow-y:auto;box-shadow:0 10px 25px #0000001a}@media (max-width:480px){.modal-overlay{padding:.75rem}.modal-content{border-radius:16px;max-height:95%}}@keyframes modal-appear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:center;align-items:center;min-height:48px;padding:1.5rem 1.5rem .5rem;transition:padding .38s cubic-bezier(.22,1,.36,1),min-height .38s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.modal-header--compact{align-items:flex-start;min-height:44px;padding:.45rem 1.5rem .35rem}.modal-close{cursor:pointer;color:#999;z-index:10;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex;position:absolute;top:.75rem;right:.75rem}@media (hover:hover){.modal-close:hover{background:var(--hover-bg);color:var(--text-primary)}}.modal-body{padding:0 1.5rem 1.5rem}@media (prefers-reduced-motion:reduce){.modal-header{transition:none}}.welcome-dismiss-checkbox{appearance:none;border:2px solid var(--border-color);background:var(--bg-surface);cursor:pointer;border-radius:4px;flex-shrink:0;place-content:center;width:18px;height:18px;margin:0;transition:border-color .15s,background-color .15s;display:grid}@media (hover:hover){.welcome-dismiss-checkbox:hover{border-color:var(--text-secondary)}}.welcome-dismiss-checkbox:focus{outline:none}.welcome-dismiss-checkbox:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.welcome-dismiss-checkbox:checked{border-color:var(--text-primary);background:var(--bg-surface)}.welcome-dismiss-checkbox:checked:after{content:"";border:solid var(--text-primary);border-width:0 2px 2px 0;width:4px;height:8px;margin-bottom:2px;transform:rotate(45deg)}.cookie-consent-banner{left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0));z-index:10050;pointer-events:none;padding:0 12px 10px;position:fixed}.cookie-consent-inner{pointer-events:auto;background:var(--bg-surface,#fff);max-width:min(560px,100%);color:var(--text-primary,#111);border:1px solid var(--border-color,#e5e5e5);border-radius:16px;flex-direction:column;gap:.85rem;margin:0 auto;padding:1rem 1.125rem;display:flex;box-shadow:0 -4px 24px #00000014,0 8px 32px #0000001f}.cookie-consent-text{color:var(--text-secondary,#444);margin:0;font-size:.8125rem;line-height:1.45}.cookie-consent-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.cookie-consent-btn{font:inherit;cursor:pointer;border:1px solid var(--border-color,#ddd);background:var(--bg-primary,#fafafa);color:var(--text-primary,#111);border-radius:10px;padding:.55rem 1rem;font-size:.875rem;font-weight:600}.cookie-consent-btn--muted{background:0 0}.cookie-consent-btn--primary{background:var(--primary-color,#111);color:var(--bg-surface,#fff);border-color:#0000}@media (hover:hover){.cookie-consent-btn:hover{filter:brightness(.96)}}:root{--bg-primary:#fcf8f2;--bg-surface:#fff;--text-primary:#1a1a1a;--text-secondary:#666;--primary-color:#000;--accent-color:#000;--border-color:#eee;--hover-bg:#0000000d;--indicator-color:#4caf50}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);background-image:var(--bg-gradient);color:var(--text-primary);min-height:100vh;background-attachment:fixed;min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s,color .3s}#root{min-height:100vh;min-height:100dvh}input:not([type=checkbox]):not([type=radio]),textarea,button,select{appearance:none}.collapsible-wrapper{grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);display:grid;overflow:hidden}.signup-save-btn{background:var(--primary-color);color:var(--bg-surface);cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:transform .2s,opacity .2s;display:flex}@media (hover:hover){.signup-save-btn:hover{opacity:.9;transform:translateY(-1px)}}.signup-save-btn span{font-size:1.2rem}.primaryButton{background:var(--primary-color);color:var(--bg-surface);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-weight:600;transition:opacity .2s;display:flex}.primaryButton:disabled{opacity:.5;cursor:not-allowed}.secondaryButton{border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-weight:600;transition:background .2s;display:flex}.collapsible-wrapper.expanded{grid-template-rows:1fr}.collapsible-content{visibility:hidden;opacity:0;min-height:0;transition:opacity .2s,visibility .2s}.collapsible-wrapper.expanded .collapsible-content{visibility:visible;opacity:1;transition:opacity .4s .1s,visibility .4s .1s}
