*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--yellow:#F9C22E;--yellow-dk:#C8960C;--yellow-lt:#FEF3C7;--dark:#1a1a2e;--prio-high:#EF4444;--prio-mid:#F97316;--prio-low:#22C55E;--bg:#f2f2f7;--card:#ffffff;--text:#1c1c1e;--sub:#8e8e93;--border:#e5e5ea}body,html{height:100%;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic UI,sans-serif;color:var(--text)}.app,body,html{background:var(--bg);overflow:hidden}.app{display:flex;flex-direction:column;height:100dvh;max-width:430px;margin:0 auto;position:relative}.header{background:linear-gradient(135deg,var(--yellow),var(--yellow-dk));padding:calc(env(safe-area-inset-top, 0px) + 16px) 20px 16px;flex-shrink:0}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.header h1{font-size:26px;font-weight:900;color:var(--dark)}.pokeball-icon{width:38px;height:38px;background:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 8px rgba(0,0,0,.15)}.header-sub{font-size:12px;color:#5a4a00;margin-bottom:10px}.stats{display:flex;gap:8px;flex-wrap:wrap}.stat-chip{background:rgba(255,255,255,.5);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700;color:var(--dark)}.main-tabs{display:flex;background:white;padding:8px 16px;gap:8px;border-bottom:1px solid var(--border);flex-shrink:0}.main-tab{flex:1 1;padding:7px 4px;border-radius:12px;font-size:13px;font-weight:700;color:var(--sub);background:none;border:none;cursor:pointer;font-family:inherit;transition:all .2s}.main-tab.active{background:var(--yellow);color:var(--dark)}.content{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:80px}.content::-webkit-scrollbar{display:none}.sub-tabs{display:flex;gap:8px;padding:12px 16px 0}.sub-tab{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;color:var(--sub);background:none;border:none;cursor:pointer;font-family:inherit;transition:all .15s}.sub-tab.active{background:var(--yellow);color:var(--dark)}.task-section{padding:12px 16px 8px}.section-label{font-size:12px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;padding-left:4px}.task-card{background:var(--card);border-radius:18px;padding:14px 14px 14px 16px;margin-bottom:10px;display:flex;align-items:flex-start;gap:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);position:relative;overflow:hidden;cursor:pointer;transition:transform .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.task-card:active{transform:scale(.98)}.task-card.done{opacity:.5}.task-card.done .task-title{text-decoration:line-through;color:var(--sub)}.task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:18px 0 0 18px}.task-card.prio-high:before{background:var(--prio-high)}.task-card.prio-mid:before{background:var(--prio-mid)}.task-card.prio-low:before{background:var(--prio-low)}.poke-avatar{width:60px;height:60px;flex-shrink:0;background:var(--yellow-lt);border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1.5px solid #fde68a}.poke-avatar img{width:56px;height:56px;object-fit:contain}.task-content{flex:1 1;min-width:0}.task-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:3px}.prio-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:8px;color:white}.prio-badge.high{background:var(--prio-high)}.prio-badge.mid{background:var(--prio-mid)}.prio-badge.low{background:var(--prio-low)}.due-badge{font-size:11px;color:var(--sub)}.due-badge.overdue{color:var(--prio-high);font-weight:700}.task-memo{font-size:12px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.check-btn{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--border);background:white;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:17px;cursor:pointer;transition:all .2s;font-size:14px}.check-btn.checked{background:var(--yellow);border-color:var(--yellow-dk);color:var(--dark)}.empty-state{text-align:center;padding:48px 0;color:var(--sub);font-size:15px}.fab{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom, 0px));right:calc(50% - 195px + 16px);width:58px;height:58px;background:linear-gradient(135deg,var(--yellow),var(--yellow-dk));border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--dark);font-weight:900;box-shadow:0 4px 20px rgba(249,194,46,.5);cursor:pointer;z-index:20;font-family:inherit}@media (max-width:430px){.fab{right:16px}}.import-btn{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom, 0px));left:calc(50% - 195px + 16px);width:46px;height:46px;background:white;border-radius:50%;border:2px solid var(--yellow);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 12px rgba(0,0,0,.1);cursor:pointer;z-index:20}@media (max-width:430px){.import-btn{left:16px}}.tab-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);display:flex;padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px));z-index:20}.tab-btn{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--sub);cursor:pointer;background:none;border:none;font-family:inherit;padding:0;transition:color .15s}.tab-btn.active{color:var(--yellow-dk)}.tab-btn .icon{font-size:22px;display:block}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:100;display:flex;align-items:flex-end}.modal{width:100%;max-width:430px;margin:0 auto;background:#f2f2f7;border-radius:28px 28px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom, 0px));max-height:88dvh;overflow-y:auto;scrollbar-width:none;animation:slideUp .3s ease}.modal::-webkit-scrollbar{display:none}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-handle{width:40px;height:4px;background:#c7c7cc;border-radius:2px;margin:0 auto 18px}.modal-title{font-size:18px;font-weight:800;color:var(--text);margin-bottom:16px}.field-label{font-size:12px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;margin-top:14px}.field-input{width:100%;background:white;border:none;border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;color:var(--text);outline:none;box-shadow:0 1px 4px rgba(0,0,0,.06)}textarea.field-input{resize:none;height:72px}.prio-row{display:flex;gap:8px}.prio-btn{flex:1 1;padding:10px 0;border-radius:12px;border:2px solid var(--border);background:white;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s}.prio-btn.sel-high{background:var(--prio-high);color:white;border-color:var(--prio-high)}.prio-btn.sel-mid{background:var(--prio-mid);color:white;border-color:var(--prio-mid)}.prio-btn.sel-low{background:var(--prio-low);color:white;border-color:var(--prio-low)}.poke-selected-preview{display:flex;align-items:center;gap:10px;background:var(--yellow-lt);border-radius:14px;padding:10px 14px;margin-bottom:8px;border:1.5px solid #fde68a}.poke-selected-preview img{width:48px;height:48px;object-fit:contain}.poke-selected-preview span{font-size:15px;font-weight:700;color:var(--text)}.poke-search-wrap input{width:100%;background:white;border:none;border-radius:12px;padding:10px 14px;font-size:14px;font-family:inherit;outline:none;box-shadow:0 1px 4px rgba(0,0,0,.06);margin-bottom:8px}.poke-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:4px;gap:4px;max-height:220px;overflow-y:auto;background:white;border-radius:14px;padding:8px;scrollbar-width:none}.poke-grid::-webkit-scrollbar{display:none}.poke-grid-label{grid-column:1/-1;font-size:11px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.5px;padding:4px 2px 2px}.poke-cell{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:4px 2px;border-radius:10px;transition:background .12s;position:relative}.poke-cell:hover{background:var(--yellow-lt)}.poke-cell.selected{background:var(--yellow)}.poke-cell img{width:44px;height:44px;object-fit:contain}.poke-cell-name{font-size:9px;color:var(--sub);text-align:center;margin-top:1px;line-height:1.2}.fav-btn{position:absolute;top:1px;right:1px;font-size:11px;opacity:.35;cursor:pointer;background:none;border:none;padding:0;line-height:1;transition:opacity .15s,transform .15s}.fav-btn.on{opacity:1;transform:scale(1.2)}.save-btn{width:100%;margin-top:20px;background:linear-gradient(135deg,var(--yellow),var(--yellow-dk));color:var(--dark);border:none;border-radius:16px;font-size:16px;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 4px 16px rgba(249,194,46,.4)}.calendar-section,.save-btn{padding:16px}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cal-nav-title{font-size:18px;font-weight:800;color:var(--text)}.cal-nav-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--yellow-lt);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit}.cal-grid-head{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.cal-dow{text-align:center;font-size:11px;font-weight:700;color:var(--sub);padding:4px 0}.cal-dow:first-child{color:var(--prio-high)}.cal-dow:last-child{color:#3B82F6}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.cal-day{aspect-ratio:1;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative;font-size:14px;font-weight:600;color:var(--text);transition:background .15s;background:none;border:none;font-family:inherit;padding:0}.cal-day:not([disabled]):hover{background:var(--yellow-lt)}.cal-day.other-month{color:#c7c7cc}.cal-day.today{background:var(--yellow);color:var(--dark);font-weight:900}.cal-day.selected{background:var(--dark);color:white}.dot-row{display:flex;gap:2px;position:absolute;bottom:4px}.dot{width:5px;height:5px;border-radius:50%}.dot.high{background:var(--prio-high)}.dot.mid{background:var(--prio-mid)}.dot.low{background:var(--prio-low)}.cal-task-list{margin-top:16px}.cal-empty{text-align:center;padding:24px 0;color:var(--sub);font-size:14px}