:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Avenir,Helvetica,Arial,sans-serif;line-height:1.5}:root,:root[data-theme=dark]{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;color:#ffffffde;--primary-color:#fbf0df;--primary-hover:#f3d5a3;--background:#242424;--surface:#1a1a1a;--border:#333;--text-primary:#ffffffde;--text-secondary:#fff9;--success:#4ade80;--danger:#ef4444;--warning:#f59e0b;background-color:#242424}:root[data-theme=light]{--buncss-light:initial;--buncss-dark: ;color-scheme:light;color:#000000de;--primary-color:#2563eb;--primary-hover:#1d4ed8;--background:#fff;--surface:#f8fafc;--border:#e2e8f0;--text-primary:#000000de;--text-secondary:#0009;--success:#16a34a;--danger:#dc2626;--warning:#d97706;background-color:#fff}*{box-sizing:border-box}body{background-color:var(--background);color:var(--text-primary);overscroll-behavior:none;overflow-x:hidden;-webkit-tap-highlight-color:transparent;min-width:320px;min-height:100vh;margin:0;padding:0}.app{overflow-x:hidden;max-width:100%;min-height:100vh;margin:0;padding:1rem}.app-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:1rem;margin-bottom:2rem}.header-main{display:flex;flex:1;align-items: center;gap:1.5rem}.app-header h1{margin:0;font-size:2rem;font-weight:700}.header-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.add-counter-button,.reset-all-button{background:var(--primary-color);color:var(--background);cursor:pointer;touch-action:manipulation;border:none;border-radius:12px;min-height:48px;padding:.75rem 1.25rem;transition:all .2s;font-size:1rem;font-weight:600}.add-counter-button:hover,.reset-all-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.add-counter-button:active,.reset-all-button:active{transform:translateY(0)}.reset-all-button{background:var(--surface);color:var(--text-primary);border:2px solid var(--border)}.reset-all-button:hover{background:var(--border);border-color:var(--primary-color)}.add-counter-form{background:var(--surface);border:2px solid var(--border);display:flex;border-radius:16px;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem}.counter-name-input,.counter-max-input,.counter-default-input{background:var(--background);color:var(--text-primary);border:2px solid var(--border);outline:none;border-radius:12px;min-height:48px;padding:.75rem 1rem;transition:border-color .2s;font-size:1rem}.counter-name-input:focus,.counter-max-input:focus,.counter-default-input:focus{border-color:var(--primary-color)}.counter-name-input::placeholder,.counter-max-input::placeholder,.counter-default-input::placeholder{color:var(--text-secondary)}.default-value-section{display:flex;flex-direction:column;gap:.75rem}.input-label{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:600}.default-value-controls{display:flex;flex-direction:column;gap:.75rem}.counter-default-input{flex:1}.quick-set-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.quick-set-button{background:var(--surface);color:var(--text-secondary);border:2px solid var(--border);cursor:pointer;touch-action:manipulation;white-space:nowrap;border-radius:8px;padding:.5rem .75rem;transition:all .2s;font-size:.85rem;font-weight:600}.quick-set-button:hover{background:var(--border);color:var(--primary-color);border-color:var(--primary-color)}.quick-set-button:active{transform:scale(.95)}.form-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.confirm-button,.cancel-button{cursor:pointer;touch-action:manipulation;border:2px solid;border-radius:12px;flex:1;min-width:120px;min-height:48px;padding:.75rem 1.25rem;transition:all .2s;font-size:1rem;font-weight:600}.confirm-button{background:var(--success);color:#fff;border-color:var(--success)}.confirm-button:hover{background:#22c55e;border-color:#22c55e}.cancel-button{color:var(--text-secondary);border-color:var(--border);background:0 0}.cancel-button:hover{background:var(--surface);color:var(--text-primary);border-color:var(--primary-color)}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem 1rem}.empty-state p{margin:.5rem 0;font-size:1.1rem}.loading-state{display:flex;text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items: center;min-height:50vh}.loading-spinner{border:3px solid var(--border);border-top:3px solid var(--primary-color);animation:spin 1s linear infinite;border-radius:50%;width:40px;height:40px;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading-state p{margin:0;font-size:1.1rem}.counters-grid{display:grid;grid-template-columns:repeat(auto-fit,320px);overflow-x:hidden;justify-content:center;gap:1.5rem;padding-bottom:2rem}.counter{background:var(--surface);border:2px solid var(--border);display:flex;position:relative;box-sizing:border-box;border-radius:20px;flex-direction:column;justify-content:center;align-items: center;gap:1rem;width:320px;height:280px;padding:1.5rem;transition:border-color .3s,transform .3s}.counter:hover{border-color:var(--primary-color);transform:translateY(-2px)}.counter-header{display:flex;justify-content:space-between;align-items: center;width:100%;margin-bottom:.5rem}.counter-header-actions{display:flex;align-items: center;gap:.5rem}.counter-value-section{display:flex;justify-content:center;align-items:baseline;gap:.25rem}.counter-label{color:var(--text-primary);text-align:center;flex:1;margin:0;font-size:1.25rem;font-weight:600}.app.maximized .counter-label{text-align:center}.counter-remove,.counter-rotate{color:var(--text-secondary);cursor:pointer;display:flex;touch-action:manipulation;background:0 0;border:none;border-radius:8px;justify-content:center;align-items: center;min-width:32px;min-height:32px;padding:.25rem;transition:all .2s;font-size:1.5rem;line-height:1}.counter-remove:hover{background:var(--danger);color:#fff;transform:scale(1.1)}.counter-rotate:hover{background:var(--primary-color);color:var(--background);transform:scale(1.1)rotate(90deg)}.counter-value{color:var(--primary-color);text-shadow:0 2px 4px #0000004d;user-select:none;font-size:4rem;font-weight:700;line-height:1}.counter-max-small{color:var(--text-secondary);opacity:.7;font-size:1.5rem;font-weight:400;line-height:1}.counter-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items: center;gap:.75rem;width:100%}.counter-button{background:var(--surface);color:var(--text-primary);border:2px solid var(--border);cursor:pointer;display:flex;touch-action:manipulation;user-select:none;border-radius:16px;justify-content:center;align-items: center;min-height:60px;transition:all .2s;font-size:1.5rem;font-weight:700}.counter-button:disabled{opacity:.3;cursor:not-allowed;transform:none!important}.counter-button:not(:disabled):hover{transform:translateY(-2px)scale(1.02)}.counter-button:not(:disabled):active{transform:translateY(0)scale(.98)}.counter-increment{background:var(--success);border-color:var(--success);color:#fff;font-size:2rem}.counter-increment:not(:disabled):hover{background:#22c55e;border-color:#22c55e}.counter-decrement{background:var(--warning);border-color:var(--warning);color:#fff;font-size:2rem}.counter-decrement:not(:disabled):hover{background:#d97706;border-color:#d97706}.counter-reset{background:var(--background);border-color:var(--border);white-space:nowrap;min-height:48px;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.counter-reset:not(:disabled):hover{background:var(--border);border-color:var(--primary-color);color:var(--primary-color)}@media (max-width:640px){.app{padding:.75rem}.default-value-controls,.quick-set-buttons{gap:.5rem}.quick-set-button{flex:1;min-width:60px}.app-header{flex-direction:column;align-items:stretch;gap:1rem}.app-header h1{text-align:center;font-size:1.75rem}.header-buttons{justify-content:center}.counters-grid{grid-template-columns:1fr;justify-content:center;gap:1rem}.counter{width:100%;max-width:320px;height:280px;margin:0 auto;padding:1.25rem}.counter-value{font-size:3.5rem}.form-buttons{flex-direction:column}.confirm-button,.cancel-button{flex:none}}@media (max-width:480px){.counter-value{font-size:3rem}.counter-controls{gap:.5rem}.counter-button{min-height:56px}.counter-reset{padding:.5rem;font-size:.8rem}}@media (min-width:768px){.app{max-width:1200px;margin:0 auto;padding:2rem}.app.maximized{max-width:none;margin:0;padding:0}.counters-grid{grid-template-columns:repeat(auto-fit,320px);justify-content:center;gap:2rem}}@media (hover:none) and (pointer:coarse){.counter-button:hover,.add-counter-button:hover,.reset-all-button:hover,.confirm-button:hover,.cancel-button:hover,.counter:hover{transform:none}}.collection-selector,.collection-dropdown{position:relative}.collection-current{background:var(--surface);color:var(--text-primary);border:2px solid var(--border);cursor:pointer;display:flex;touch-action:manipulation;border-radius:12px;align-items: center;gap:.5rem;min-width:180px;padding:.75rem 1rem;transition:all .2s;font-size:.95rem}.collection-current:hover{border-color:var(--primary-color);background:var(--border)}.collection-name{text-align:left;flex:1;font-weight:500}.collection-arrow{transition:transform .2s;font-size:.7rem}.collection-arrow.open{transform:rotate(180deg)}.collection-menu{position:absolute;background:var(--surface);border:2px solid var(--border);z-index:100;animation:dropdownFadeIn .2s ease-out;border-radius:12px;margin-top:.5rem;top:100%;left:0;right:0;box-shadow:0 4px 12px #0000004d}.collection-list{padding:.5rem 0}.collection-item{color:var(--text-primary);text-align:left;cursor:pointer;display:flex;touch-action:manipulation;background:0 0;border:none;justify-content:space-between;align-items: center;width:100%;padding:.75rem 1rem;transition:background-color .2s}.collection-item:hover{background:var(--border)}.collection-item.active{background:var(--success);color:#000}.collection-item.active .collection-item-name{color:#000}.collection-item.active .collection-item-count{color:#000;opacity:.8}.collection-item-main{flex:1}.collection-item-name{display:block;font-weight:500}.collection-item-count{opacity:.7;display:block;font-size:.8rem}.collection-active-indicator{margin-left:.5rem;font-weight:700}.collection-actions{border-top:1px solid var(--border);padding:.5rem}.collection-manage-button{background:var(--primary-color);color:var(--background);cursor:pointer;touch-action:manipulation;border:none;border-radius:8px;width:100%;padding:.5rem;transition:background-color .2s;font-weight:600}.collection-manage-button:hover{background:var(--primary-hover)}.collection-manager-overlay{position:fixed;display:flex;z-index:1000;background:#000c;justify-content:center;align-items: center;padding:1rem;inset:0}.collection-manager{background:var(--background);border:2px solid var(--border);overflow:hidden;display:flex;border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:80vh}.collection-manager-header{display:flex;border-bottom:1px solid var(--border);justify-content:space-between;align-items: center;padding:1.5rem}.collection-manager-header h2{color:var(--text-primary);margin:0;font-size:1.5rem}.collection-manager-close{color:var(--text-secondary);cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:8px;padding:.25rem;transition:all .2s;font-size:1.5rem}.collection-manager-close:hover{background:var(--danger);color:#fff}.collection-manager-content{overflow-y:auto;flex:1;padding:1.5rem}.collection-manager-actions{margin-bottom:2rem}.collection-create-button{background:var(--success);color:#fff;cursor:pointer;touch-action:manipulation;border:none;border-radius:12px;padding:.75rem 1.25rem;transition:background-color .2s;font-weight:600}.collection-create-button:hover{background:#22c55e}.collection-create-form{background:var(--surface);border:2px solid var(--border);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.collection-create-form h3{color:var(--text-primary);margin:0 0 1rem}.collection-name-input{background:var(--background);color:var(--text-primary);border:2px solid var(--border);outline:none;border-radius:8px;width:100%;margin-bottom:1rem;padding:.75rem;transition:border-color .2s;font-size:1rem}.collection-name-input:focus{border-color:var(--primary-color)}.collection-duplicate-section{margin-bottom:1.5rem}.collection-duplicate-section label{display:flex;color:var(--text-primary);cursor:pointer;align-items: center;gap:.5rem;margin-bottom:.75rem}.collection-duplicate-select{background:var(--background);color:var(--text-primary);border:2px solid var(--border);outline:none;border-radius:8px;width:100%;padding:.5rem}.collection-form-buttons{display:flex;gap:.75rem}.collection-form-confirm,.collection-form-cancel{cursor:pointer;touch-action:manipulation;border-radius:8px;flex:1;padding:.75rem;transition:background-color .2s;font-weight:600}.collection-form-confirm{background:var(--success);color:#fff;border:none}.collection-form-confirm:hover{background:#22c55e}.collection-form-cancel{background:var(--surface);color:var(--text-secondary);border:2px solid var(--border)}.collection-form-cancel:hover{background:var(--border);color:var(--text-primary)}.collection-list-manager h3{color:var(--text-primary);margin:0 0 1rem}.collection-items{display:flex;flex-direction:column;gap:1rem}.collection-manager-item{background:var(--surface);border:2px solid var(--border);border-radius:12px;padding:1rem;transition:border-color .2s}.collection-manager-item.active{border-color:var(--primary-color)}.collection-item-info{display:flex;justify-content:space-between;align-items: center;gap:1rem}.collection-item-main{flex:1}.collection-item-name{color:var(--text-primary);display:flex;align-items: center;gap:.5rem;margin:0 0 .5rem;font-size:1.1rem}.collection-active-badge{background:var(--success);color:#fff;border-radius:12px;padding:.25rem .5rem;font-size:.7rem;font-weight:600}.collection-item-details{display:flex;color:var(--text-secondary);gap:1rem;font-size:.85rem}.collection-item-actions{display:flex;flex-wrap:wrap;gap:.5rem}.collection-action-button{background:var(--surface);color:var(--text-primary);border:2px solid var(--border);cursor:pointer;touch-action:manipulation;border-radius:8px;padding:.5rem .75rem;transition:all .2s;font-size:.85rem}.collection-action-button:hover{border-color:var(--primary-color);background:var(--border)}.collection-action-button:disabled{opacity:.5;cursor:not-allowed}.collection-switch{background:var(--success);color:#fff;border-color:var(--success)}.collection-switch:hover{background:#22c55e;border-color:#22c55e}.collection-delete{background:var(--danger);color:#fff;border-color:var(--danger)}.collection-delete:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.collection-edit-form{display:flex;align-items: center;gap:.5rem;width:100%}.collection-edit-input{background:var(--background);color:var(--text-primary);border:2px solid var(--border);outline:none;border-radius:8px;flex:1;padding:.5rem}.collection-edit-input:focus{border-color:var(--primary-color)}.collection-edit-buttons{display:flex;gap:.25rem}.collection-edit-save,.collection-edit-cancel{cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:4px;padding:.25rem;transition:background-color .2s;font-size:1.2rem}.collection-edit-save{color:var(--success)}.collection-edit-save:hover{background:var(--success);color:#fff}.collection-edit-cancel{color:var(--danger)}.collection-edit-cancel:hover{background:var(--danger);color:#fff}.theme-toggle{background:var(--surface);border:2px solid var(--border);cursor:pointer;position:relative;touch-action:manipulation;border-radius:24px;width:60px;height:32px;padding:4px;transition:all .3s}.theme-toggle:hover{border-color:var(--primary-color);transform:scale(1.05)}.theme-toggle-track{position:relative;width:100%;height:100%}.theme-toggle-thumb{background:var(--primary-color);position:absolute;display:flex;border-radius:50%;justify-content:center;align-items: center;width:24px;height:24px;transition:all .3s;top:0;box-shadow:0 2px 4px #0003}:root[data-theme=dark] .theme-toggle-thumb{left:0}:root[data-theme=light] .theme-toggle-thumb{background:var(--warning);left:calc(100% - 24px)}.theme-icon{user-select:none;font-size:12px;line-height:1}.floating-maximize-button,.floating-minimize-button{position:fixed;background:var(--surface);color:var(--text-primary);border:2px solid var(--border);cursor:pointer;z-index:1000;touch-action:manipulation;display:flex;border-radius:50%;justify-content:center;align-items: center;width:56px;height:56px;transition:all .3s;bottom:20px;right:20px;box-shadow:0 4px 12px #0000004d}.floating-maximize-button:hover,.floating-minimize-button:hover{background:var(--primary-color);color:var(--background);border-color:var(--primary-color);transform:scale(1.1)}.floating-maximize-button:active,.floating-minimize-button:active{transform:scale(.95)}.fullscreen-exit-icon,.fullscreen-enter-icon{pointer-events:none;flex-shrink:0}.app.maximized{overflow-y:auto;overflow-x:hidden;width:100vw;min-height:100vh;margin:0;padding:0}@media (orientation:portrait){.app.maximized .counters-grid{display:grid;grid-template-columns:1fr;grid-template-rows:calc(50vh - 1rem)calc(50vh - 1rem);grid-auto-rows:calc(50vh - 1rem);overflow-y:auto;overflow-x:hidden;place-items: center;gap:1rem;min-height:100vh;margin:0;padding:1rem}.app.maximized .counter{overflow:hidden;border-radius:24px;width:100%;max-width:min(100vw - 2rem,50vh - 1rem);height:100%;max-height:calc(50vh - 1rem);padding:1rem;transition:transform .2s,box-shadow .2s;transform:none}}@media (orientation:landscape){.app.maximized .counters-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:calc(100vh - 2rem);overflow-y:auto;overflow-x:hidden;place-items: center;gap:1rem;min-height:100vh;margin:0;padding:1rem}.app.maximized .counter{overflow:hidden;border-radius:24px;width:100%;max-width:min(50vw - 1.5rem,100vh - 2rem);height:100%;max-height:calc(100vh - 2rem);padding:1rem;transition:transform .2s,box-shadow .2s;transform:none}}.app.maximized .counter:hover{transform:scale(1.02);box-shadow:0 8px 24px #0006}.app.maximized .counter-value{margin:.5rem 0;font-size:4rem}.app.maximized .counter-button{min-height:60px;font-size:1.8rem}.app.maximized .counter-reset{min-height:48px;font-size:.9rem}@media (max-width:768px){.header-main{flex-direction:column;align-items:stretch;gap:1rem}.collection-current{min-width:unset}.collection-manager{max-height:90vh;margin:.5rem}.collection-manager-content{padding:1rem}.collection-item-actions{flex-direction:column}.collection-action-button{text-align:center}.theme-toggle{width:56px;height:30px}.theme-toggle-thumb{width:22px;height:22px}:root[data-theme=light] .theme-toggle-thumb{left:calc(100% - 22px)}.floating-maximize-button,.floating-minimize-button{width:52px;height:52px;bottom:16px;right:16px}.app.maximized .counter-value{font-size:3.5rem}.app.maximized .counter-button{min-height:56px;font-size:1.6rem}.app.maximized .counter-reset{min-height:44px;font-size:.85rem}@media (orientation:portrait){.app.maximized .counters-grid{grid-template-rows:calc(50vh - .75rem)calc(50vh - .75rem);grid-auto-rows:calc(50vh - .75rem);gap:.75rem;padding:.75rem}.app.maximized .counter{max-width:min(100vw - 1.5rem,50vh - .75rem);max-height:calc(50vh - .75rem)}}@media (orientation:landscape){.app.maximized .counters-grid{grid-auto-rows:calc(100vh - 1rem);gap:.5rem;padding:.5rem}.app.maximized .counter{max-width:min(50vw - .75rem,100vh - 1rem);max-height:calc(100vh - 1rem)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
