:root{--bg-color:#f3f4f6;--bg-color-glass:#ffffffe6;--text-color:#111827;--text-muted:#6b7280;--primary:#007aff;--primary-hover:#0062cc;--secondary:#10b981;--danger:#ef4444;--card-bg:#fff;--border-color:#e5e7eb;--font-family:"Inter", system-ui, -apple-system, sans-serif;--radius-lg:16px;--radius-md:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4{color:var(--text-color);margin-bottom:.5rem;font-weight:700}h1{font-size:2rem}h2{font-size:1.5rem}.app-container{max-width:800px;min-height:100vh;margin:0 auto;padding:16px 16px 80px}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:16px;padding:20px;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px #0000000d}.card.interactive:hover{cursor:pointer;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.form-group{margin-bottom:16px}.form-label{color:var(--text-muted);margin-bottom:8px;font-size:.875rem;font-weight:500;display:block}.form-input,.form-select{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-color);font-family:var(--font-family);padding:12px 16px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82f633}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 4px 6px #3b82f640}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)}.btn-danger{color:var(--danger);border:1px solid var(--danger);background-color:#0000}.btn-danger:hover{background-color:var(--danger);color:#fff}.bottom-nav{background:var(--card-bg);border-top:1px solid var(--border-color);z-index:100;height:64px;padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;height:100%;font-size:.75rem;text-decoration:none;transition:color .2s;display:flex}.nav-item.active{color:var(--primary)}.nav-item svg{width:24px;height:24px}.text-center{text-align:center}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.item-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.item-card{border-radius:var(--radius-lg);aspect-ratio:1;background-color:var(--card-bg);transition:transform .2s;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.item-card:hover{transform:scale(1.02)}.item-image{object-fit:cover;width:100%;height:100%}.item-overlay{color:#fff;background:linear-gradient(#0000,#000c);padding:12px;position:absolute;bottom:0;left:0;right:0}.item-title{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.badge{background:#ffffff1a;border-radius:12px;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-block}.app-header{justify-content:space-between;align-items:center;margin-bottom:24px;padding-top:16px;display:flex}.app-title{background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:800}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:flex-end;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border-radius:24px 24px 0 0;width:100%;max-width:800px;max-height:90vh;padding:24px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.box-number-badge{color:#fff;z-index:10;background:#000;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 4px #0003}.slide-in{animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.switch{width:50px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:var(--border-color);transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--primary)}input:checked+.slider:before{transform:translate(26px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}
