:root{--bg: #ffffff;--bg-side: #f6f6f7;--fg: #1f1f1f;--fg-muted: #6b6b6b;--border: #e4e4e7;--accent: #4356ff;--accent-soft: #eef0ff;--danger: #d23131;--warn: #c98a1a;--ok: #2f7e4b;--on-accent: #ffffff;--control-border: #8c8c99;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;--tap: 44px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #1e1e1e;--bg-side: #262626;--fg: #dadada;--fg-muted: #9d9d9d;--border: #3a3a3a;--accent: #7c8aff;--accent-soft: #2c3050;--danger: #e06c6c;--warn: #d9a13c;--ok: #4fb573;--on-accent: #1e1e1e;--control-border: #707070;color-scheme:dark}html:root{--mark-bg: rgba(255, 213, 0, .24)}}::placeholder{color:var(--fg-muted);opacity:1}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}html,body,#root{height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{position:fixed;inset:0}body{font:16px/1.45 var(--font);color:var(--fg);background:var(--bg);-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}select{font:inherit;font-size:16px;width:100%;min-height:var(--tap);margin-top:6px;padding:0 10px;border:1px solid var(--control-border);border-radius:10px;background:var(--bg);color:var(--fg)}input{font-size:16px;width:100%;min-height:var(--tap);padding:10px 12px;border:1px solid var(--control-border);border-radius:10px;background:var(--bg-side)}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent)}.app{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:var(--bg)}.app>:not(.screen){flex-shrink:0}.app--swiping{box-shadow:-10px 0 28px #0000002e}body:has(.app--swiping){background:var(--bg-side)}.topbar{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 6px) 8px 6px 16px;border-bottom:1px solid var(--border)}.topbar__title{line-height:var(--tap);flex:1;min-width:0;margin:0;font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen{position:relative;flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 16px 24px}.screen--reader{padding-bottom:40px;scrollbar-width:none;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent)}.screen--reader::-webkit-scrollbar{display:none}.tabbar{display:flex;border-top:1px solid var(--border);padding-bottom:max(0px,calc(env(safe-area-inset-bottom,0px) - 14px));background:var(--bg)}.tabbar__tab{flex:1;min-height:var(--tap);padding:0;border:0;background:none;font-size:13px;color:var(--fg-muted)}.topbar--review{display:grid;grid-template-columns:1fr auto 1fr;gap:4px;padding:calc(env(safe-area-inset-top,0px) + 2px) 4px 2px 6px;border-bottom:0}.topbar--review .sync-status{justify-self:start;min-width:var(--tap);justify-content:center}.topbar--review .sync-status__words{display:none!important}.topbar--review .icon-btn{justify-self:end}.topbar__review{display:flex;justify-content:center;min-width:0}.screen--review{display:flex;flex-direction:column;padding:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tabbar__tab[aria-selected=true]{color:var(--accent);font-weight:600}.icon-btn,.btn,.link-btn{min-height:var(--tap);min-width:var(--tap);border-radius:10px;cursor:pointer}.icon-btn{border:0;background:none;font-size:22px;line-height:1;color:var(--fg-muted)}.btn{padding:10px 14px;border:1px solid var(--border);background:var(--bg)}.btn--primary{width:100%;border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.btn--danger{color:var(--danger)}.btn--wide{width:100%}.btn:disabled{opacity:.55}.link-btn{display:inline-flex;align-items:center;padding:0 4px;border:0;background:none;color:var(--accent)}.back{margin-left:-8px;color:var(--accent)}.title{margin:4px 0;font-size:22px;font-weight:700}.lead{margin:0 0 16px;color:var(--fg-muted)}.muted{color:var(--fg-muted);font-size:14px}.section{margin:24px 0 6px;font-size:13px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.03em}.field{display:block;margin:10px 0}.field__label{display:block;margin-bottom:4px;font-size:14px;color:var(--fg-muted)}.stack>*+*{margin-top:10px}.problem{margin:12px 0;padding:12px;border:1px solid var(--danger);border-radius:10px}.problem p{margin:0 0 8px}.confirm{display:flex;flex-direction:column;max-height:var(--confirm-room, none);box-sizing:border-box}.confirm__question{flex:0 1 auto;min-height:3em;overflow-y:auto;overscroll-behavior:contain}.confirm__question--scrolls{margin-bottom:10px;border-bottom:1px solid var(--border)}.confirm__extra,.confirm__buttons{flex:none}.confirm__extra{margin-bottom:10px}.problem--quiet{border-color:var(--border)}.notice{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--border);font-size:14px}.notice p{flex:1;margin:0}.rows{margin:0;padding:0;list-style:none}.row{display:flex;align-items:center;gap:8px;min-height:var(--tap);padding:4px 0;border-bottom:1px solid var(--border)}.row__main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.row__button{flex:1;min-height:var(--tap);padding:0;border:0;background:none;text-align:left}.row__side{color:var(--fg-muted);font-size:14px}.install{margin:0 0 16px;padding:12px 14px 4px;border:1px solid var(--border);border-radius:12px;background:var(--bg-side)}.install__title{margin:0 0 4px;font-size:17px;font-weight:600}.install__text,.install__steps{margin:6px 0}.install__icon{margin-left:6px;vertical-align:-4px;color:var(--fg)}.repo-row{display:flex;align-items:center;gap:8px;padding:8px 0}.repo-row:disabled{cursor:default}.repo-row__name{flex:1;min-width:0;overflow-wrap:anywhere}.repo-row__meta{color:var(--fg-muted);font-size:14px}.repo-row__mark{color:var(--accent);font-size:14px;font-weight:600}.repo-picker__ways{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}.check{width:22px;height:22px;min-height:0;accent-color:var(--accent)}.sheet{margin:4px 0 10px;padding:4px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-side)}.sheet .row:last-child{border-bottom:0}.settings__version{text-align:right}.whats-new__toggle{display:flex;align-items:center;justify-content:space-between}.whats-new__chevron{display:inline-block;padding:0 4px;color:var(--fg-muted);font-size:20px;transition:transform .15s}.whats-new__toggle[aria-expanded=true] .whats-new__chevron{transform:rotate(90deg)}.whats-new{max-height:40vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.whats-new::-webkit-scrollbar{display:none}.whats-new__head{margin:10px 0 4px;font-size:15px}.whats-new__day{color:var(--fg-muted);font-weight:400}.whats-new__items{margin:0 0 10px;padding-left:20px;font-size:14px}.whats-new__line{margin:12px 0;border:0;border-top:1px solid var(--border)}.settings__erase{margin-top:48px}@media(prefers-reduced-motion:reduce){.whats-new__chevron{transition:none}}.progress{width:100%;height:8px;margin:16px 0 8px;border-radius:4px;background:var(--border);overflow:hidden}.progress__bar{height:100%;background:var(--accent);transition:width .2s ease}.camera{position:relative;width:100%;aspect-ratio:1;margin:12px 0;border-radius:16px;background:#000;overflow:hidden}.camera video{width:100%;height:100%;object-fit:cover}.guide-steps{padding-left:22px}.guide-steps li{margin:6px 0}.placeholder{padding-top:30vh;text-align:center;color:var(--fg-muted)}@media(prefers-reduced-motion:reduce){.progress__bar{transition:none}}.lazy-screen{min-height:100%}.lazy-screen--failed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 16px;text-align:center}.lazy-screen--failed p{margin:0;max-width:32ch}.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 120px);z-index:25;max-width:calc(100% - 32px);margin:0;padding:8px 14px;border-radius:999px;background:var(--fg);color:var(--bg);font-size:14px;overflow-wrap:anywhere;pointer-events:none;transform:translate(-50%);animation:toast-fade 2s ease-in forwards}.toast--top{top:calc(env(safe-area-inset-top,0px) + 60px);bottom:auto}@keyframes toast-fade{0%,75%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.tabbar__today{display:inline-flex;align-items:center;justify-content:center;gap:5px}:root{--kind-card: #8a63c9;--kind-drawing: #c08410;--kind-diagram: #e0682c;--card-link-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1.75' y='5.25' width='10' height='8' rx='1.25'/%3E%3Cpath d='M4.5 3h8.25a1.25 1.25 0 0 1 1.25 1.25v6.25'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){:root{--kind-card: #b394e6;--kind-drawing: #e0aa3e;--kind-diagram: #f08d5a}}.file-icon[data-kind=markdown]{background:var(--fg-muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 2.5a1 1 0 0 1 1-1h5l3 3v9a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1zM9.5 1.5v3h3M5.75 8h4.5M5.75 10.75h4.5'/%3E%3C/svg%3E") center / 16px 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 2.5a1 1 0 0 1 1-1h5l3 3v9a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1zM9.5 1.5v3h3M5.75 8h4.5M5.75 10.75h4.5'/%3E%3C/svg%3E") center / 16px 16px no-repeat}.file-icon[data-kind=card]{background:var(--kind-card);-webkit-mask:var(--card-link-icon) center / 16px 16px no-repeat;mask:var(--card-link-icon) center / 16px 16px no-repeat}.file-icon[data-kind=drawing]{background:var(--kind-drawing);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13l.8-3.2L11 2.6l2.4 2.4-7.2 7.2zM9.5 4l2.5 2.5'/%3E%3C/svg%3E") center / 16px 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13l.8-3.2L11 2.6l2.4 2.4-7.2 7.2zM9.5 4l2.5 2.5'/%3E%3C/svg%3E") center / 16px 16px no-repeat}.file-icon[data-kind=diagram]{background:var(--kind-diagram);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 2.5h5v4H2zM9 9.5h5v4H9zM4.5 6.5v3a1 1 0 0 0 1 1H9'/%3E%3C/svg%3E") center / 16px 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 2.5h5v4H2zM9 9.5h5v4H9zM4.5 6.5v3a1 1 0 0 0 1 1H9'/%3E%3C/svg%3E") center / 16px 16px no-repeat}.file-icon[data-kind=folder]{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m6.922 3.768-.644-.536A1 1 0 0 0 5.638 3H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H7.562a1 1 0 0 1-.64-.232' fill='%2390a4ae'/%3E%3C/svg%3E") center / 16px 16px no-repeat}.file-icon--open[data-kind=folder]{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.483 6H4.721a1 1 0 0 0-.949.684L2 12V5h12a1 1 0 0 0-1-1H7.562a1 1 0 0 1-.64-.232l-.644-.536A1 1 0 0 0 5.638 3H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h11l2.403-5.606A1 1 0 0 0 14.483 6' fill='%2390a4ae'/%3E%3C/svg%3E")}:root{--topbar-gear-size: 18px;--topbar-end-pull: -14px}.topbar__gear{font-size:var(--topbar-gear-size)}.topbar:not(.topbar--review) .topbar__gear{margin-left:var(--topbar-end-pull)}.topbar__kind{flex:none;width:16px;height:16px;margin-right:-2px}
