:root{--white:#fff;--bg:#fff;--surface:#fff;--surface2:#fafafa;--surface3:#f0f0f0;--line:#e4e4e4;--border:#e4e4e4;--text-h:#1a1a1a;--text:#6b6b6b;--text-muted:#aaa;--accent:#1a1a1a;--accent2:#1a1a1a;--accent-light:#fafafa;--accent-glow:transparent;--success:#1a1a1a;--danger:#1a1a1a;--danger-light:#fafafa;--step-num:#ebebeb;--radius:0px;--radius-sm:0px;--radius-xs:0px;--shadow-sm:none;--shadow:none;--shadow-lg:none;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:15px/1.85 Noto Sans JP,-apple-system,BlinkMacSystemFont,Hiragino Sans,Meiryo,system-ui,sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);min-height:100svh;color:var(--text-h)}input,button,select,textarea{font:inherit}button{cursor:pointer;background:0 0;border:none}code{background:var(--surface2);border:1px solid var(--line);color:var(--text-h);border-radius:0;padding:2px 6px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.82em}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(.92)}to{transform:scale(1)}}@keyframes checkDraw{0%{stroke-dashoffset:20px}to{stroke-dashoffset:0}}@keyframes xpFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-24px)}}@keyframes levelUpBounce{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes levelUpOverlay{0%{opacity:0;transform:translateY(8px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1}to{opacity:0;transform:translateY(-4px)}}@keyframes cardCheck{0%,to{background-color:#0000}50%{background-color:var(--surface2)}}@keyframes rowSlideIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.checklist-view,.admin-view{max-width:720px;margin:0 auto;padding:0 24px 100px}.checklist-view{animation:.35s ease-out fadeIn}.admin-view{animation:.3s ease-out slideInRight}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;margin-bottom:32px;padding:48px 0 32px;animation:.4s ease-out fadeSlideUp;display:flex}.app-title{color:var(--text-h);letter-spacing:.01em;font-family:DM Serif Display,serif;font-size:32px;font-weight:400;line-height:1.2}.today-date{color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase;margin-top:8px;font-size:10px;font-weight:600}.icon-btn{border:1px solid var(--line);width:38px;height:38px;color:var(--text-muted);background:0 0;border-radius:0;justify-content:center;align-items:center;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.icon-btn:hover{border-color:var(--text-h);color:var(--text-h);background:var(--surface2)}.icon-btn.success{color:var(--text-h)}.icon-btn.success:hover{background:var(--surface2)}.icon-btn.danger{color:var(--text-h)}.icon-btn.danger:hover{background:var(--surface2);border-color:var(--text-h)}.btn{border:1px solid var(--line);letter-spacing:.18em;text-transform:uppercase;border-radius:100px;align-items:center;gap:8px;padding:10px 22px;font-size:11px;font-weight:600;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.btn-primary{background:var(--text-h);color:#fff;border-color:var(--text-h)}.btn-primary:hover{color:var(--text-h);background:#fff}.btn-secondary{color:var(--text-h);border:1px solid var(--text-h);background:0 0}.btn-secondary:hover{background:var(--text-h);color:#fff}.btn-ghost{color:var(--text-muted);background:0 0;border:1px solid #0000;padding:10px 16px}.btn-ghost:hover{color:var(--text-h);border-color:var(--line)}.level-section{background:var(--surface);border:1px solid var(--line);margin-bottom:24px;padding:32px;animation:.4s ease-out 50ms both fadeSlideUp;position:relative;overflow:hidden}.level-row{z-index:1;flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:18px;display:flex;position:relative}.level-badge{color:var(--text-h);border:1px solid var(--line);letter-spacing:.18em;text-transform:uppercase;background:0 0;border-radius:100px;padding:4px 14px;font-size:10px;font-weight:600;transition:transform .25s}.level-badge.leveled-up{animation:.5s levelUpBounce}.xp-label{color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:12px}.completion-label{color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.15em;text-transform:uppercase;margin-left:auto;font-size:10px;font-weight:600}.xp-bar{background:var(--line);z-index:1;height:4px;position:relative}.xp-fill{background:var(--text-h);height:100%;transition:width .5s}.xp-pop{color:var(--text-h);letter-spacing:.05em;pointer-events:none;z-index:10;font-size:12px;font-weight:600;animation:1s forwards xpFloat;position:absolute;top:0;right:4px}.filter-row{margin-bottom:24px;animation:.35s 80ms both fadeSlideUp;position:relative}.filter-chips{scrollbar-width:none;flex-wrap:nowrap;gap:8px;margin:0 -24px;padding:4px 24px;display:flex;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{border:1px solid var(--line);color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;background:0 0;border-radius:100px;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:500;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.filter-chip:hover{border-color:var(--text-h);color:var(--text-h)}.filter-chip.active{background:var(--text-h);color:#fff;border-color:var(--text-h)}.filter-chip-count{letter-spacing:.05em;font-variant-numeric:tabular-nums;opacity:.7;font-size:10px;font-weight:600}.levelup-overlay{z-index:100;pointer-events:none;background:#ffffffd9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.levelup-card{background:var(--surface);border:1px solid var(--line);text-align:center;padding:48px 56px;animation:2.4s forwards levelUpOverlay}.levelup-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.2em;margin-bottom:12px;font-size:10px;font-weight:600}.levelup-level{color:var(--text-h);letter-spacing:0;font-family:DM Serif Display,serif;font-size:56px;font-weight:400;line-height:1}.categories{flex-direction:column;gap:24px;display:flex}.category-block{background:var(--surface);border:1px solid var(--line);animation:.4s both fadeSlideUp;animation-delay:calc(var(--cat-index,0) * 60ms + .1s);overflow:hidden}.category-header{border:none;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:18px 24px;transition:background .2s;display:flex}.category-header:hover{background:var(--surface2)}.category-block.collapsed .category-header{border-bottom-color:#0000}.category-name{color:var(--text-h);letter-spacing:0;font-family:DM Serif Display,serif;font-size:18px;font-weight:400;line-height:1.2}.category-meta{align-items:center;gap:12px;display:flex}.category-count{color:var(--text-muted);border:1px solid var(--line);font-variant-numeric:tabular-nums;letter-spacing:.05em;border-radius:100px;padding:2px 10px;font-size:11px;font-weight:500}.category-chevron{color:var(--text-muted);transition:transform .25s}.category-block.collapsed .category-chevron{transform:rotate(-90deg)}.category-body{animation:.3s fadeSlideUp}.subcategory-block{border-top:1px solid var(--line)}.subcategory-block:first-child{border-top:none}.subcategory-header{background:var(--surface2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 24px 10px;display:flex}.subcategory-name{color:var(--text-h);text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:600}.subcategory-count{color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:11px}.items-list{padding:0}.item-card{border-bottom:1px solid var(--line);text-align:left;width:100%;animation:.35s both fadeSlideUp;animation-delay:calc(var(--item-index,0) * 40ms + .15s);background:0 0;align-items:center;gap:18px;padding:18px 24px;transition:background .2s;display:flex;position:relative}.items-list .item-card:last-child{border-bottom:none}.item-card:hover{background:var(--surface2)}.item-card.just-checked{animation:.5s cardCheck}.item-checkbox{border:1px solid var(--line);color:#fff;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:border-color .2s,background .2s;display:flex}.item-card:hover .item-checkbox{border-color:var(--text-h)}.item-card.checked .item-checkbox{background:var(--text-h);border-color:var(--text-h);animation:.3s checkPop}.item-checkbox svg{width:11px;height:9px;overflow:visible}.item-checkbox svg path{stroke-dasharray:20;stroke-dashoffset:0}.item-card.checked .item-checkbox svg path{animation:.25s 50ms both checkDraw}.item-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.item-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.item-title{color:var(--text-h);letter-spacing:.01em;font-size:14px;font-weight:500;line-height:1.5;transition:color .2s}.item-card.checked .item-title{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.item-tag{color:var(--text-muted);border:1px solid var(--line);letter-spacing:.05em;background:0 0;border-radius:100px;flex-shrink:0;padding:1px 8px;font-size:10px;font-weight:500}.item-card.checked .item-tag{opacity:.5}.item-desc{color:var(--text-muted);letter-spacing:.01em;font-size:12px;font-weight:300;line-height:1.6}.xp-badge{color:var(--text-h);border:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;font-variant-numeric:tabular-nums;background:0 0;border-radius:100px;flex-shrink:0;padding:3px 10px;font-size:10px;font-weight:600;transition:border-color .2s}.item-card.checked .xp-badge{color:var(--text-muted);border-color:var(--line)}.empty-state{text-align:center;color:var(--text-muted);padding:80px 24px;font-size:14px;font-weight:300;line-height:2;animation:.5s fadeIn}.empty-state p:first-child{opacity:.4;margin-bottom:16px;font-size:24px}.admin-section{background:var(--surface);border:1px solid var(--line);margin-bottom:24px;padding:32px;animation:.35s both fadeSlideUp}.admin-section:nth-child(2){animation-delay:50ms}.admin-section:nth-child(3){animation-delay:.1s}.section-title{color:var(--text-h);letter-spacing:.01em;margin-bottom:6px;font-family:DM Serif Display,serif;font-size:22px;font-weight:400;line-height:1.3}.section-hint{color:var(--text-muted);letter-spacing:.02em;margin-bottom:20px;font-size:12px;font-weight:300;line-height:1.7}.section-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.header-actions{flex-wrap:wrap;gap:8px;display:flex}.btn.active{background:var(--text-h);color:#fff;border-color:var(--text-h)}.bulk-panel{border:1px solid var(--text-h);background:var(--surface2);margin-bottom:24px;padding:22px;animation:.2s scaleIn}.bulk-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.bulk-panel-title{color:var(--text-h);text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600}.bulk-panel-quick{gap:16px;display:flex}.btn-text{color:var(--text-h);letter-spacing:.05em;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px;background:0 0;border:none;padding:4px 0;font-size:11px;font-weight:500;transition:text-decoration-color .2s}.btn-text:hover{-webkit-text-decoration-color:var(--text-h);text-decoration-color:var(--text-h)}.btn-text-danger{color:var(--text-h);letter-spacing:.05em;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px;opacity:.65;background:0 0;border:none;margin-left:auto;padding:8px 12px;font-size:11px;font-weight:500;transition:opacity .2s,text-decoration-color .2s}.btn-text-danger:hover:not(:disabled){opacity:1;-webkit-text-decoration-color:var(--text-h);text-decoration-color:var(--text-h)}.btn-text-danger:disabled{opacity:.3;cursor:not-allowed}.bulk-empty{color:var(--text-muted);text-align:center;padding:20px 0;font-size:13px;font-weight:300}.bulk-cat-list{background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:0;margin-bottom:18px;display:flex}.bulk-cat-item{border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;padding:14px 18px;transition:background .15s;display:flex}.bulk-cat-item:last-child{border-bottom:none}.bulk-cat-item:hover,.bulk-cat-item.checked{background:var(--surface2)}.bulk-cat-item input[type=checkbox]{opacity:0;pointer-events:none;position:absolute}.bulk-cat-check{border:1px solid var(--line);color:#fff;background:#fff;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:background .15s,border-color .15s;display:flex}.bulk-cat-item.checked .bulk-cat-check{background:var(--text-h);border-color:var(--text-h)}.bulk-cat-check svg{width:11px;height:9px}.bulk-cat-name{color:var(--text-h);letter-spacing:.01em;flex:1;font-size:13px;font-weight:500}.bulk-cat-count{color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:11px}.bulk-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-danger{background:var(--text-h);color:#fff;border-color:var(--text-h)}.btn-danger:hover:not(:disabled){color:var(--text-h);background:#fff}.btn-danger:disabled{opacity:.3;cursor:not-allowed;color:var(--text-muted);border-color:var(--line);background:0 0}.csv-actions{flex-wrap:wrap;gap:10px;display:flex}.csv-error{color:var(--text-h);background:var(--surface2);border-left:2px solid var(--text-h);margin-top:12px;padding:14px 18px;font-size:13px;font-weight:500;animation:.2s fadeSlideUp}.csv-preview-box{border:1px solid var(--line);margin-top:20px;animation:.25s scaleIn;overflow:hidden}.preview-info{color:var(--text-h);background:var(--surface2);border-bottom:1px solid var(--line);letter-spacing:.05em;padding:12px 20px;font-size:12px;font-weight:600}.preview-scroll{max-height:300px;overflow:auto}.preview-table{border-collapse:collapse;width:100%;font-size:13px}.preview-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.18em;background:var(--surface2);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px;font-size:10px;font-weight:600;position:sticky;top:0}.preview-table td{border-bottom:1px solid var(--line);color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding:11px 14px;font-weight:300;overflow:hidden}.preview-table tr:last-child td{border-bottom:none}.preview-table tr:hover td{background:var(--surface2)}.preview-actions{background:var(--surface2);border-top:1px solid var(--line);gap:10px;padding:14px 20px;display:flex}.search-input{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--text-h);background:0 0;border-radius:0;outline:none;margin-bottom:24px;padding:10px 0;font-size:14px;transition:border-color .2s}.search-input::placeholder{color:var(--text-muted);letter-spacing:.05em}.search-input:focus{border-bottom-color:var(--text-h)}.admin-list{flex-direction:column;gap:0;display:flex}.item-row{border:1px solid var(--line);background:0 0;border-bottom:none;grid-template-columns:36px 1fr auto auto;align-items:flex-start;gap:16px;padding:18px 20px;font-size:13px;transition:background .15s;animation:.25s both rowSlideIn;display:grid}.admin-list .item-row:last-child{border-bottom:1px solid var(--line)}.item-row:hover{background:var(--surface2)}.item-row.editing{background:var(--surface2);border:1px solid var(--text-h);grid-template-columns:1fr auto;animation:.2s scaleIn}.item-row.editing+.item-row{border-top:none}.item-row.inactive{opacity:.45}.item-row-body{flex-direction:column;gap:6px;min-width:0;display:flex}.item-row-meta{letter-spacing:.05em;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.cell-cat{color:var(--text-h);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.cell-sep{color:var(--text-muted);font-size:10px}.cell-sub{color:var(--text-muted);font-weight:500}.cell-tag{color:var(--text-muted);border:1px solid var(--line);letter-spacing:.05em;border-radius:100px;padding:1px 8px;font-size:10px}.cell-title{color:var(--text-h);overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.5}.cell-desc{color:var(--text-muted);overflow-wrap:anywhere;font-size:12px;font-weight:300;line-height:1.5}.cell-xp{color:var(--text-h);font-variant-numeric:tabular-nums;letter-spacing:.05em;white-space:nowrap;align-self:center;font-size:13px;font-weight:600}.row-actions{align-self:center;gap:6px;display:flex}.row-actions-edit{align-self:flex-end}.editor-grid{grid-template-columns:1fr 1fr 1fr 80px;gap:14px;margin-bottom:14px;display:grid}.editor-field{flex-direction:column;gap:6px;display:flex}.editor-field-full{margin-bottom:14px}.editor-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:600}.editor-field input{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--text-h);background:0 0;border-radius:0;outline:none;padding:8px 0;font-family:inherit;font-size:13px;transition:border-color .2s}.editor-field input::placeholder{color:var(--text-muted);font-size:12px}.editor-field input:focus{border-bottom-color:var(--text-h)}.xp-input{text-align:right}.toggle-pill{border:1px solid var(--line);background:var(--line);border-radius:100px;flex-shrink:0;width:30px;height:18px;margin-top:2px;transition:background .25s,border-color .25s;position:relative}.toggle-pill:after{content:"";border:1px solid var(--line);background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .25s,border-color .25s;position:absolute;top:2px;left:2px}.toggle-pill.on{background:var(--text-h);border-color:var(--text-h)}.toggle-pill.on:after{border-color:var(--text-h);transform:translate(12px)}.table-empty{text-align:center;color:var(--text-muted);letter-spacing:.05em;border:1px solid var(--line);padding:48px;font-size:13px;font-weight:300;animation:.3s fadeIn}@media (width<=600px){.checklist-view,.admin-view{padding:0 18px 80px}.app-header{margin-bottom:24px;padding:36px 0 24px}.app-title{font-size:24px}.level-section{margin-bottom:20px;padding:24px}.admin-section{padding:22px 18px}.category-name{font-size:16px}.category-header{padding:16px 18px}.subcategory-header{padding:12px 18px 8px}.item-card{gap:14px;padding:16px 18px}.item-row{grid-template-columns:32px 1fr auto;gap:12px;padding:16px}.item-row .cell-xp{display:none}.item-row .row-actions{grid-column:1/-1;justify-content:flex-end}.filter-chips{margin:0 -18px;padding-left:18px;padding-right:18px}.editor-grid{grid-template-columns:1fr 1fr}.editor-grid .editor-field-xp{grid-column:1/-1;max-width:120px}.levelup-card{padding:32px 36px}.levelup-level{font-size:42px}}@media (width<=400px){.editor-grid{grid-template-columns:1fr}}
