:root{--text:#374151;--text-secondary:#6b7280;--text-heading:#111827;--bg:#f8fafc;--bg-card:#fff;--border:#e5e7eb;--accent:#6366f1;--accent-hover:#4f46e5;--accent-light:#6366f114;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px #0000000d, 0 2px 4px #0000000a;--radius:12px;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-theme=dark]{--text:#d1d5db;--text-secondary:#9ca3af;--text-heading:#f3f4f6;--bg:#0f172a;--bg-card:#1e293b;--border:#334155;--accent:#818cf8;--accent-hover:#6366f1;--accent-light:#818cf81a;--shadow:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 6px #0000004d, 0 2px 4px #0003}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6;transition:background .3s,color .3s}#root{flex-direction:column;min-height:100vh;display:flex}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.search-bar{justify-content:center;padding:24px 16px 0;display:flex}.search-bar__form{background:var(--bg-card);border:2px solid var(--border);border-radius:28px;gap:0;width:100%;max-width:600px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.search-bar__form:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light)}.search-bar__input{color:var(--text-heading);background:0 0;border:none;outline:none;flex:1;padding:12px 20px;font-size:16px}.search-bar__input::placeholder{color:var(--text-secondary)}.search-bar__button{width:48px;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;transition:color .2s;display:flex}.search-bar__button:hover{color:var(--accent)}.clock{text-align:center;padding:32px 16px}.clock__time{color:var(--text-heading);letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:72px;font-weight:700;line-height:1}.clock__date{color:var(--text-secondary);margin-top:8px;font-size:18px}@media (width<=640px){.clock__time{font-size:48px}.clock__date{font-size:16px}}.tool-links{padding:8px 16px 40px}.tool-links__header{max-width:880px;margin:0 auto 14px}.tool-links__title{color:var(--text-heading);font-size:20px;font-weight:700}.tool-links__subtitle{color:var(--text-secondary);margin-top:2px;font-size:13px}.tool-links__filter{background:var(--bg-card);border:1.5px solid var(--border);max-width:880px;color:var(--text-secondary);border-radius:12px;align-items:center;gap:8px;margin:0 auto 24px;padding:0 14px;transition:border-color .2s,box-shadow .2s;display:flex}.tool-links__filter:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light)}.tool-links__filter-input{color:var(--text-heading);background:0 0;border:none;outline:none;flex:1;padding:10px 4px;font-size:14px}.tool-links__filter-input::placeholder{color:var(--text-secondary)}.tool-links__groups{flex-direction:column;gap:28px;max-width:880px;margin:0 auto;display:flex}.tool-links__group-head{align-items:center;gap:8px;display:flex}.tool-links__group-icon{font-size:18px;line-height:1}.tool-links__group-title{color:var(--text-heading);font-size:16px;font-weight:600}.tool-links__group-count{color:var(--text-secondary);background:var(--accent-light);border-radius:999px;margin-left:auto;padding:2px 10px;font-size:12px}.tool-links__group-desc{color:var(--text-secondary);margin:2px 0 12px;font-size:13px}.tool-links__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.tool-links__card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow);align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.tool-links__card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-2px)}.tool-links__card-icon{background:var(--accent-light);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.tool-links__card-body{flex-direction:column;min-width:0;display:flex}.tool-links__card-name{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.tool-links__card-desc{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.tool-links__empty{text-align:center;border:1.5px dashed var(--border);border-radius:var(--radius);color:var(--text-secondary);padding:20px;font-size:13px}.tool-links__empty code{background:var(--accent-light);color:var(--accent);border-radius:5px;padding:1px 6px;font-size:12px}.tool-links__no-result{text-align:center;max-width:880px;color:var(--text-secondary);border:1.5px dashed var(--border);border-radius:var(--radius);margin:0 auto;padding:32px;font-size:14px}.todo{padding:0 16px 32px}.todo__card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);max-width:480px;box-shadow:var(--shadow);margin:0 auto;overflow:hidden}.todo__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.todo__title{color:var(--text-heading);font-size:16px;font-weight:600}.todo__count{color:var(--text-secondary);font-size:13px}.todo__form{border-bottom:1px solid var(--border);gap:8px;padding:12px 20px;display:flex}.todo__input{border:1px solid var(--border);color:var(--text-heading);background:var(--bg);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:14px;transition:border-color .2s}.todo__input:focus{border-color:var(--accent)}.todo__input::placeholder{color:var(--text-secondary)}.todo__add-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .2s}.todo__add-btn:hover{background:var(--accent-hover)}.todo__list{max-height:300px;list-style:none;overflow-y:auto}.todo__item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 20px;transition:background .2s;display:flex}.todo__item:last-child{border-bottom:none}.todo__item:hover{background:var(--accent-light)}.todo__checkbox{border:2px solid var(--border);cursor:pointer;color:#0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:background .2s,border-color .2s;display:flex}.todo__checkbox--done{background:var(--accent);border-color:var(--accent);color:#fff}.todo__text{color:var(--text-heading);flex:1;font-size:15px;transition:color .2s,-webkit-text-decoration .2s,text-decoration .2s}.todo__text--done{color:var(--text-secondary);text-decoration:line-through}.todo__delete{width:28px;height:28px;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:background .2s,color .2s;display:flex}.todo__delete:hover{color:#ef4444;background:#ef44441a}.todo__empty{text-align:center;color:var(--text-secondary);padding:32px 20px;font-size:14px}.app{flex-direction:column;align-items:center;min-height:100vh;display:flex}.top-bar{justify-content:space-between;align-items:center;width:100%;padding:14px 20px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand__logo{background:var(--accent-light);width:38px;height:38px;box-shadow:var(--shadow);border-radius:11px;justify-content:center;align-items:center;font-size:20px;display:flex}.brand__name{color:var(--text-heading);letter-spacing:.5px;font-size:19px;font-weight:700}.theme-toggle{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:20px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:border-color .2s,color .2s;display:flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle__icon{font-size:16px;line-height:1}.main-content{flex:1;width:100%;max-width:960px;padding:8px 0 48px}.greeting{text-align:center;color:var(--text-heading);letter-spacing:-.5px;padding:8px 16px 0;font-size:26px;font-weight:700}.greeting__comma{color:var(--text-heading);font-weight:400}.greeting__name{color:var(--accent)}.greeting__wave{animation:1.5s ease-in-out infinite wave;display:inline-block}.visitor-form{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:12px 16px 0;font-size:13px;display:flex}.visitor-form__ask{white-space:nowrap}.visitor-form__input{border:1px solid var(--border);width:190px;color:var(--text-heading);background:var(--bg-card);border-radius:8px;outline:none;padding:7px 12px;font-size:13.5px;transition:border-color .2s}.visitor-form__input:focus{border-color:var(--accent)}.visitor-form__input::placeholder{color:var(--text-secondary)}.visitor-form__btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:7px 16px;font-size:13.5px;font-weight:500;transition:background .2s}.visitor-form__btn:hover{background:var(--accent-hover)}.visitor-form__cancel{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:12.5px}.visitor-form__cancel:hover{color:var(--accent)}.visitor-logged{justify-content:center;padding:4px 16px 0;display:flex}.visitor-logged__switch{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:14px;padding:4px 10px;font-size:12.5px;transition:color .2s}.visitor-logged__switch:hover{color:var(--accent)}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}50%{transform:rotate(-5deg)}75%{transform:rotate(10deg)}}@media (width<=640px){.greeting{font-size:22px}.brand__name{font-size:17px}.theme-toggle{padding:7px 11px;font-size:12px}}
