:root{--bg:#f6f7f9;--fg:#1c1e21;--muted:#6b7280;--surface:#fff;--border:#d8dce1;--accent:#3b82f6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#16181d;--fg:#e6e8eb;--muted:#9aa1ab;--surface:#1f2229;--border:#383d47}}*{box-sizing:border-box}.todo-app{flex-direction:column;gap:.75rem;display:flex;position:relative}.todo-toolbar{justify-content:space-between;gap:.5rem;display:flex}.todo-search{border:1px solid var(--border);background:var(--surface);min-width:0;max-width:16rem;color:var(--fg);border-radius:6px;flex:1;padding:.4rem .6rem;font-size:.9rem}.todo-add{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;width:2.2rem;height:2.2rem;font-size:1.2rem;line-height:1}.todo-dialog{border:1px solid var(--border);background:var(--surface);min-width:16rem;color:var(--fg);border-radius:10px;padding:1rem}.todo-dialog::backdrop{background:#00000059}.todo-dialog h2{margin:0 0 .75rem;font-size:1rem}.todo-dialog form{flex-direction:column;gap:.75rem;display:flex}.todo-dialog input{border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:6px;padding:.4rem .6rem;font-size:.9rem}.todo-dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.todo-dialog-actions button{cursor:pointer;border-radius:6px;padding:.35rem .9rem;font-size:.85rem}.todo-dialog-actions button[type=button]{border:1px solid var(--border);color:var(--fg);background:0 0}.todo-dialog-actions button[type=submit]{background:var(--accent);color:#fff;border:none}.todo-dialog-actions button[type=submit]:disabled{opacity:.45;cursor:default}.toast{background:var(--fg);color:var(--bg);white-space:nowrap;pointer-events:none;border-radius:999px;padding:.4rem .9rem;font-size:.8rem;animation:.2s ease-out toast-in;position:absolute;bottom:.25rem;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;translate:0 6px}}.todo-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.todo-list li{border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .5rem;display:flex}.todo-list li label{cursor:pointer;overflow-wrap:anywhere;align-items:center;gap:.5rem;min-width:0;display:flex}.todo-list li.done label{color:var(--muted);text-decoration:line-through}.todo-list li>button{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1rem;line-height:1}.todo-list li>button:hover{color:#dc2626}.todo-empty{color:var(--muted);margin:0;font-size:.9rem}.todo-loading{color:var(--muted);margin:0;font-size:.9rem;animation:1s ease-in-out infinite alternate todo-loading-pulse}@keyframes todo-loading-pulse{0%{opacity:1}to{opacity:.35}}.todo-loaded{color:#16a34a;margin:0;font-size:.8rem}.todo-status{color:var(--muted);margin:0;font-size:.8rem}body{background:var(--bg);color:var(--fg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.6}.topbar{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.85rem 1rem;display:flex;position:sticky;top:0}.topbar-left{flex:1;align-items:center;gap:.6rem;display:flex}.topbar-spacer{flex:1}.back-link{color:var(--muted);white-space:nowrap;font-size:.85rem;text-decoration:none}.back-link:hover{color:var(--fg)}.topbar h1{white-space:nowrap;margin:0;font-size:.95rem;font-weight:700}.about-button{border:1px solid var(--border);width:1.4rem;height:1.4rem;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;font-size:.8rem;line-height:1}.about-button:hover{color:var(--fg);border-color:var(--fg)}.topbar-selects{gap:.75rem;display:flex}.topbar-selects label{color:var(--muted);align-items:center;gap:.4rem;font-size:.9rem;display:flex}.topbar-selects select{border:1px solid var(--border);background:var(--surface);min-width:9rem;color:var(--fg);border-radius:6px;padding:.4rem .6rem;font-size:.95rem}.about-dialog{border:1px solid var(--border);background:var(--surface);max-width:32rem;color:var(--fg);border-radius:10px;padding:1.25rem}.about-dialog::backdrop{background:#00000059}.about-dialog h2{margin:0 0 .5rem;font-size:1rem}.about-dialog p{color:var(--muted);margin:0;font-size:.9rem}.about-dialog-actions{justify-content:flex-end;margin-top:1rem;display:flex}.about-dialog-actions button{border:1px solid var(--border);color:var(--fg);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .9rem;font-size:.85rem}.panes{grid-template-columns:1fr 1fr;gap:1.25rem;max-width:90rem;margin:0 auto;padding:1.25rem;display:grid}@media (width<=60rem){.panes{grid-template-columns:1fr}}.pane{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.75rem;min-width:0;padding:1rem;display:flex}.pane-head{align-items:center;gap:.5rem;display:flex}.pane-title{font-size:1.1rem;font-weight:700}.fw-badge{color:#fff;letter-spacing:.02em;border-radius:999px;padding:.15rem .7rem;font-size:.85rem;font-weight:700;display:inline-block}.demo{border:1px dashed var(--border);border-radius:8px;min-height:13rem;padding:.9rem}.demo-frame{border:none;width:100%;min-height:11rem;display:block}.file-tabs{flex-wrap:wrap;gap:.25rem;display:flex}.file-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px 6px 0 0;padding:.25rem .7rem;font-family:ui-monospace,monospace;font-size:.8rem}.file-tabs button.active{background:var(--bg);color:var(--fg);font-weight:600}.code{min-width:0}.code pre{border-radius:8px;max-height:30rem;margin:0;padding:.9rem;font-size:.78rem;line-height:1.55;overflow:auto}.code pre.plain{background:var(--bg)}@media (prefers-color-scheme:dark){.code .shiki,.code .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}@media (width>=60.0625rem){html,body{height:100%}body{flex-direction:column;display:flex}.panes{flex:1;min-height:0}.pane{min-height:0;overflow-y:auto}.code{flex-direction:column;flex:1;min-height:0;display:flex}.code pre{flex:1;min-height:14rem;max-height:none}}
