*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0f172a;background:linear-gradient(#eef4ff 0%,#f7fafc 35%,#f8fafd 100%);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}a{color:#1d4ed8}.App{color:#0f172a;min-height:100vh}.main-content{width:min(100%,1100px);margin:0 auto;padding:0 1rem 2.5rem}@media (width>=768px){.main-content{padding:0 1.5rem 3rem}}.navigation{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border-bottom:1px solid #dbe4f3;margin-bottom:1.5rem;position:sticky;top:0}.nav-container{flex-wrap:wrap;justify-content:center;gap:.75rem;width:min(100%,1100px);margin:0 auto;padding:.85rem 1rem;display:flex}.nav-link{color:#1e293b;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:.55rem 1rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.nav-link:hover{background-color:#e2e8f0}.nav-link.active{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);border-color:#0000}.nav-link.active:hover{background:linear-gradient(135deg,#1d4ed8 0%,#6d28d9 100%)}@media (width<=640px){.nav-container{justify-content:stretch}.nav-link{flex:calc(50% - .75rem)}}.page{text-align:left;background:#ffffffe6;border:1px solid #dbe4f3;border-radius:20px;width:min(100%,920px);margin:0 auto;padding:clamp(1rem,2.6vw,2rem);box-shadow:0 14px 35px #0f172a14}.page h1{color:#0b1226;margin:0 0 1rem;font-size:clamp(1.55rem,3.6vw,2.25rem);line-height:1.2}.page p{color:#3a455a;margin:0}.page a{text-underline-offset:3px;margin-bottom:.45rem;font-weight:600;display:inline-block}.page button{border-radius:12px;min-height:44px}.ascii-art{background:#f8fbff;border:1px solid #cdd8ec;border-radius:14px;margin-top:1rem;padding:.9rem;overflow-x:auto}.ascii-art-pre{min-width:max-content;margin:0;font-size:clamp(.38rem,1.45vw,.72rem);line-height:1}.fortune-text{color:#1e293b;margin-top:1.1rem;font-size:clamp(1rem,2vw,1.2rem);font-weight:600}.todo-error{color:#b91c1c;background:#fff1f1;border:1px solid #fecaca;border-radius:12px;margin:0 0 1rem;padding:.8rem .95rem;font-weight:600}.todo-empty{color:#475569;margin-top:1rem;font-style:italic}.todo-input-row{grid-template-columns:1fr auto auto;gap:.75rem;margin-bottom:1.35rem;display:grid}.todo-input{color:#0f172a;background:#fff;border:1px solid #bfcae0;border-radius:14px;outline:none;width:100%;min-height:50px;padding:.75rem .9rem;font-size:1rem}.todo-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.todo-input::placeholder{color:#64748b}.todo-add-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);border:none;min-height:50px;padding:.65rem 1.35rem;font-size:1rem;font-weight:700}.todo-add-btn:disabled{opacity:.5;cursor:not-allowed}.todo-add-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8 0%,#6d28d9 100%)}.todo-section{margin-top:1.1rem}.todo-section-heading,.todo-completed-heading{color:#334155;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .6rem;font-size:.83rem}.todo-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.todo-item{background:#fefefe;border:1px solid #d5def0;border-radius:14px;align-items:center;gap:.7rem;padding:.5rem .65rem;display:flex}.todo-item.completed{background:#f8fafc}.todo-label{cursor:pointer;text-align:left;flex:1;align-items:center;gap:.75rem;min-height:44px;display:flex}.todo-checkbox{flex:none;width:1.35rem;height:1.35rem}.todo-text{color:#0f172a;word-break:break-word;font-size:1rem;line-height:1.35}.completed-text{color:#64748b;text-decoration:line-through}.todo-completed-time{color:#64748b;white-space:nowrap;font-size:.82rem}.todo-delete-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:1rem;display:inline-flex}.todo-delete-btn:hover{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.todo-due-select{color:#475569;cursor:pointer;appearance:auto;background:#f1f5f9;border:1px solid #d5def0;border-radius:10px;outline:none;flex:none;min-height:36px;padding:.25rem .5rem;font-size:.82rem;font-weight:600}.todo-due-select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.todo-due-select.due-soon{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.todo-due-select.due-nearTerm{color:#92400e;background:#fffbeb;border-color:#fcd34d}.todo-due-select.due-longTerm{color:#1e40af;background:#eff6ff;border-color:#93c5fd}.todo-due-create-select{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #bfcae0;border-radius:14px;outline:none;min-height:50px;padding:.5rem .7rem;font-size:.95rem}.todo-due-create-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}@media (width<=720px){.todo-input-row{grid-template-columns:1fr}.todo-add-btn{width:100%}.todo-item{flex-wrap:wrap;gap:.55rem;padding:.55rem}.todo-label{width:100%}.todo-completed-time{order:3;width:100%;margin-left:2.1rem}.todo-delete-btn{margin-left:auto}.todo-due-create-select{width:100%}}
