:root{--bg: #f2f4ee;--surface: #ffffff;--surface-2: #e8ebe2;--text: #1c2119;--muted: #6b7466;--line: #d3d8cb;--accent: #2f6f3e;--accent-text: #ffffff;--danger: #a5321f;--shadow: 0 1px 2px rgb(28 33 25 / .08), 0 8px 24px rgb(28 33 25 / .08);--radius: 10px;--tap: 44px;--font: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #161c14;--surface: #1f261d;--surface-2: #283026;--text: #e6ebe2;--muted: #97a291;--line: #38412f;--accent: #7fbf6a;--accent-text: #10160f;--danger: #e0796a;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 8px 24px rgb(0 0 0 / .35)}}*{box-sizing:border-box}html,body{margin:0;height:100%;min-height:100dvh}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5;overscroll-behavior:none;touch-action:manipulation}button,input{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:var(--accent);overflow-wrap:anywhere}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:-webkit-fill-available;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.header{flex:none;background:var(--surface-2);border-bottom:1px solid var(--line)}.statusbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-block:calc(4px + env(safe-area-inset-top)) 4px;padding-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right));background:var(--surface-2);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--muted);min-height:calc(24px + env(safe-area-inset-top))}.statusbar[data-status=error],.statusbar[data-status=sessionExpired]{color:var(--danger)}.statusbar[data-status=synced]{color:var(--accent)}.statusbar__group{display:inline-flex;align-items:center;gap:4px}.statusbar__sync{margin-inline-start:auto}.statusbar__label{font-variant-numeric:tabular-nums;white-space:nowrap}.statusbar__error,.statusbar__notice{flex:1 1 100%;order:9;color:var(--danger);font-size:10px}.statusbar__error{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon{display:block;flex:none}.icon--spin{animation:spin 1.1s linear infinite;transform-origin:50% 50%}@keyframes spin{to{transform:rotate(360deg)}}.titlebar{display:flex;align-items:stretch;gap:4px;background:var(--surface);padding-inline:max(6px,env(safe-area-inset-left)) max(6px,env(safe-area-inset-right))}.tabs{flex:1;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:none;padding:10px 14px;min-height:var(--tap);color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent}.tab[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}.tab--add{display:grid;place-items:center;padding-inline:12px;color:var(--muted)}.tab--add:hover{color:var(--accent)}.main{flex:1;min-height:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.carousel{height:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.page{flex:0 0 100%;height:100%;overflow-y:auto;scroll-snap-align:start;scroll-snap-stop:always;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.page__inner{display:flex;flex-direction:column;max-width:720px;margin:0 auto;padding-top:8px;padding-bottom:calc(88px + env(safe-area-inset-bottom) + var(--keyboard-inset, 0px));padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));min-height:100%}.empty{flex:1;margin:0;padding-top:25%;text-align:center;color:var(--muted);font-size:14px;cursor:pointer}.empty__hint{display:inline-block;margin-top:12px;font-size:12px;opacity:.75}.todos{flex:1;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;cursor:pointer}.todo{display:flex;align-items:center;gap:10px;padding:4px 6px 4px 12px;min-height:var(--tap);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:transform .16s ease,opacity .16s ease;will-change:transform}.todo:not([data-done]){cursor:grab}.todo[data-dragging]{cursor:grabbing}.todo[data-done]{opacity:.55;background:transparent}.todo[data-done] .todo__text{text-decoration:line-through}.todo[data-dragging]{position:relative;z-index:2;box-shadow:var(--shadow);border-color:var(--accent)}.todo__check{flex:none;appearance:none;width:22px;height:22px;margin:0;border:2px solid var(--muted);border-radius:6px;display:grid;place-items:center;cursor:pointer;touch-action:manipulation}.todo__check:checked{background:var(--accent);border-color:var(--accent)}.todo__check:checked:after{content:"";width:10px;height:6px;border-left:2px solid var(--accent-text);border-bottom:2px solid var(--accent-text);transform:translateY(-1px) rotate(-45deg)}.todo__text{flex:1;min-width:0;padding:6px 2px;overflow-wrap:anywhere;white-space:pre-wrap;cursor:text}.todo__input{flex:1;min-width:0;padding:6px 4px;background:transparent;border:none;border-bottom:2px solid var(--accent);outline:none;font-size:16px;user-select:text;-webkit-user-select:text}.todo__delete{flex:none;width:38px;height:38px;display:grid;place-items:center;color:var(--muted);border-radius:8px;touch-action:manipulation}.todo__delete:hover{color:var(--danger);background:var(--surface-2)}.todos__divider{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted);font-size:12px;font-family:var(--font-mono)}.todos__divider:after{content:"";flex:1;height:1px;background:var(--line)}.fab{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:56px;height:56px;display:grid;place-items:center;background:var(--accent);color:var(--accent-text);border-radius:50%;box-shadow:var(--shadow);z-index:3}.fab:hover{filter:brightness(1.08)}.fab:active{transform:scale(.94)}.menu{margin:0;padding:0;border:none;background:none;max-width:none;max-height:none;position:fixed;inset:0;width:100%;height:100%}.menu[open]{display:flex;align-items:flex-end;justify-content:center}.menu::backdrop{background:#00000073}.menu__sheet{width:100%;max-width:440px;max-height:calc(85dvh - var(--keyboard-inset, 0px));overflow-y:auto;margin-bottom:var(--keyboard-inset, 0px);padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));background:var(--surface);color:var(--text);border-radius:16px 16px 0 0;box-shadow:var(--shadow);transition:margin-bottom .15s ease-out}@media(min-width:640px){.menu[open]{align-items:center}.menu__sheet{border-radius:16px;padding-bottom:12px;margin-bottom:0;max-height:85dvh;transition:none}}.menu__account{padding:8px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.menu__account-name{font-weight:600;overflow-wrap:anywhere}.menu__account-note{margin-top:2px;color:var(--muted);font-size:12px}.menu__item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:12px;min-height:var(--tap);border-radius:var(--radius);text-align:start}.menu__item:hover:not(:disabled){background:var(--surface-2)}.menu__item:disabled{opacity:.4;cursor:default}.menu__item--primary{background:var(--accent);color:var(--accent-text);font-weight:600;justify-content:center}.menu__item--primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.menu__item--danger{color:var(--danger)}.menu__hint{color:var(--muted);font-size:12px;font-weight:400}.menu__item--primary .menu__hint{color:inherit;opacity:.8}.menu__rule{border:none;border-top:1px solid var(--line);margin:6px 0}.menu__note{margin:4px 0 12px;padding-inline:12px;color:var(--muted);font-size:13px}.menu__error{margin:8px 12px 0;color:var(--danger);font-size:13px}.menu__form{padding:4px}.menu__label{display:block;padding-inline:8px;color:var(--muted);font-size:13px}.menu__input{display:block;width:100%;margin-top:6px;padding:10px 12px;min-height:var(--tap);font-size:16px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);user-select:text;-webkit-user-select:text}.menu__actions{display:flex;gap:8px;margin-top:12px}.menu__close{display:block;width:100%;margin-top:8px;padding:12px;min-height:var(--tap);color:var(--muted);border-radius:var(--radius)}.menu__close:hover{background:var(--surface-2)}.archive-sheet{max-height:80vh;display:flex;flex-direction:column}.archive-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 12px;border-bottom:1px solid var(--line);margin-bottom:12px}.archive-title{margin:0;font-size:18px;font-weight:600}.archive-count{font-size:13px;color:var(--muted);background:var(--surface-2);padding:2px 8px;border-radius:9999px}.archive-empty{text-align:center;color:var(--muted);padding:32px 16px;margin:0}.archive-list{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:4px 2px;user-select:text;-webkit-user-select:text}.archive-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.archive-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px;border-bottom:1px solid var(--line);padding-bottom:8px}.archive-card__info{display:flex;flex-direction:column;gap:2px}.archive-card__title{margin:0;font-size:16px;font-weight:600;color:var(--text)}.archive-card__date{font-size:12px;color:var(--muted)}.archive-card__actions{display:flex;gap:6px;flex-shrink:0}.archive-card__btn{font-size:13px;padding:4px 10px;border-radius:6px;background:var(--surface);border:1px solid var(--line);color:var(--text)}.archive-card__btn:hover{background:var(--surface-2)}.archive-card__btn--danger{color:var(--danger)}.archive-card__todos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.archive-card__todo-empty{font-size:13px;color:var(--muted);padding:4px 0}.archive-card__todo{display:flex;align-items:flex-start;gap:8px;font-size:14px}.archive-card__todo-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;font-size:12px;color:var(--muted)}.archive-card__todo-check[data-done]{color:var(--accent)}.archive-card__todo-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.archive-card__todo-text{word-break:break-word}.archive-card__todo-text[data-done]{text-decoration:line-through;color:var(--muted)}.archive-card__todo-meta{font-size:11px;color:var(--muted)}.conflict-sheet{max-height:85vh;display:flex;flex-direction:column}.conflict-header{padding:4px 8px 12px;border-bottom:1px solid var(--line);margin-bottom:12px}.conflict-header__badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;color:#fff;background:var(--danger);padding:2px 8px;border-radius:4px;margin-bottom:6px}.conflict-title{margin:0 0 6px;font-size:18px;font-weight:600}.conflict-desc{margin:0;font-size:13px;color:var(--muted)}.conflict-list{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:4px 2px;user-select:text;-webkit-user-select:text}.conflict-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:10px}.conflict-card__header{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);border-bottom:1px dashed var(--line);padding-bottom:6px}.conflict-card__index{font-weight:700;color:var(--text)}.conflict-card__type{margin-left:auto;font-weight:600;color:var(--danger)}.conflict-card__base{display:flex;gap:6px;font-size:12px;color:var(--muted);background:var(--surface-2);padding:6px 8px;border-radius:6px}.conflict-options{display:flex;flex-direction:column;gap:8px}.conflict-option{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;transition:border-color .15s,background-color .15s}.conflict-option:hover{background:var(--surface-2)}.conflict-option--selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.conflict-option__head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.conflict-option__tag--local{color:var(--accent)}.conflict-option__tag--remote{color:#2563eb}.conflict-option__body{font-size:14px;padding-left:24px}.conflict-option__sub{font-size:12px;color:var(--muted);margin-left:6px}.conflict-option__deleted{color:var(--danger);font-style:italic}.conflict-actions{margin-top:16px;display:flex}.conflict-submit{width:100%;padding:12px;font-size:15px;font-weight:600}.git-log-sheet{max-height:85vh;display:flex;flex-direction:column}.git-log-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 12px;border-bottom:1px solid var(--line);margin-bottom:12px}.git-log-header__left{display:flex;align-items:center;gap:8px}.git-log-badge{font-family:var(--font-mono);font-size:12px;font-weight:700;background:var(--surface-2);padding:2px 8px;border-radius:4px;color:var(--accent)}.git-log-title{margin:0;font-size:18px;font-weight:600}.git-log-count{font-size:13px;color:var(--muted)}.git-log-empty{text-align:center;color:var(--muted);padding:32px 16px}.git-log-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:4px 2px;user-select:text;-webkit-user-select:text}.git-commit{border:1px solid var(--line);background:var(--bg);border-radius:var(--radius);overflow:hidden;transition:border-color .15s}.git-commit--head{border-color:var(--accent)}.git-commit__main{padding:10px 12px;cursor:pointer}.git-commit__main:hover{background:var(--surface-2)}.git-commit__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.git-commit__hash-row{display:flex;align-items:center;gap:6px}.git-commit__hash{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--accent);background:var(--surface);padding:1px 6px;border-radius:4px;border:1px solid var(--line)}.git-badge{font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;text-transform:uppercase}.git-badge--head{background:var(--accent);color:var(--accent-text)}.git-badge--merge{background:#2563eb;color:#fff}.git-commit__date{font-size:11px;color:var(--muted)}.git-commit__author{font-size:12px;color:var(--muted)}.git-commit__message{font-size:14px;font-weight:500;color:var(--text);margin-bottom:4px}.git-commit__parents{font-size:11px;color:var(--muted)}.git-commit__parent-hash{font-family:var(--font-mono);margin-right:4px}.git-commit__details{border-top:1px solid var(--line);background:var(--surface);padding:10px 12px;display:flex;flex-direction:column;gap:8px;font-size:13px}.git-commit__details-title{font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase}.git-commit__page-preview{display:flex;flex-direction:column;gap:4px}.git-commit__page-name{font-weight:600;display:flex;align-items:center;gap:6px}.git-commit__archived-tag{font-size:11px;color:var(--muted);font-weight:400}.git-commit__todos{list-style:none;margin:0;padding-left:16px;display:flex;flex-direction:column;gap:2px}.git-commit__todo[data-done]{text-decoration:line-through;color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.todo__input:focus,.todo__input:focus-visible{outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
