:root{--bg:#fdfbf7;--surface:#fff;--text:#23256e;--muted:#6c6ea8;--border:#dddcef;--accent:#2e3192;--accent-soft:#e9e9f8;--on-accent:#fff;--blush:#f7dde2;--phrase:var(--blush);--translation:#c9221d;--grid:#e7e6f3;--cell:22px;--sheet-grid:var(--grid);--danger:#c0364a;--writing:var(--accent);--paper:#fffefb;--rule:#e6e6f4;--picked:var(--accent-soft);--picked-ink:var(--accent);--tape:var(--blush);--photo-frame:#fff;--shade:35 37 110;--kind-spelling:#fde3cf;--kind-foreign:#fff0a6;--kind-frame:#d9f2df;--kind-dialect:#dbe8ff;--kind-pronoun:#ece0f8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--display:"Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--hand:"Playpen Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--display);color:var(--text);line-height:1.5}:root[data-theme=dark]{--bg:#14152b;--surface:#1d1f3d;--text:#e4e4fb;--muted:#9d9fd2;--border:#36386c;--accent:#a7a9ff;--accent-soft:#2b2d5e;--on-accent:#14152b;--blush:#4d2c3d;--translation:#ff8f85;--grid:#222448;--sheet-grid:#303362;--danger:#ff7389;--writing:var(--text);--tape:#f7dde2;--paper:#191a36;--rule:#33365f;--photo-frame:#e9e8f5;--shade:0 0 0;--kind-ink:#23256e;--kind-fix:#c9221d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-palette=colorblind]{--translation:#b45309;--kind-spelling:#b9e0f7;--kind-foreign:#f4ec8a;--kind-frame:#dfa3c8;--kind-dialect:#eeb15a;--kind-pronoun:#7fb0e3;--kind-ink:#23256e;--kind-fix:#23256e;--picked:#009e73;--picked-ink:#fff}:root[data-theme=dark][data-palette=colorblind]{--translation:#e69f00;--danger:#f0864a;--kind-spelling:#9fd6f5;--kind-foreign:#f3ec84;--kind-frame:#d488b8;--kind-dialect:#e9a23b;--kind-pronoun:#6aa6e0;--kind-fix:#1b1d52;--picked:#009e73;--picked-ink:#fff}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit}body{background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:var(--cell) var(--cell);margin:0}.app{max-width:680px;margin:0 auto;padding:32px 16px 64px}.header h1{margin:0 0 4px;font-size:1.6rem}.page-title-row{align-items:center;gap:10px;display:flex}.page-title-row h1{margin-bottom:0}.muted{color:var(--muted);margin:0;font-size:.9rem}textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);resize:vertical;border-radius:8px;padding:12px}textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 16px}button:disabled{opacity:.45;cursor:default}button.chip{border-radius:999px;padding:2px 12px;font-size:.85rem}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.footer-actions{justify-content:center;gap:12px;margin-top:24px;display:flex}.word-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:24px 0 0;padding:0;list-style:none}.word-list li{border-top:1px solid var(--border);grid-template-columns:2.5rem minmax(0,8rem) 1fr 2.5rem;align-items:center;gap:12px;padding:8px 16px;display:grid}.word-list li:first-child{border-top:none}.rank,.count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.count{text-align:right}.word{overflow-wrap:anywhere;font-weight:600}.bar{background:var(--accent-soft);border-radius:4px;height:8px;overflow:hidden}.bar span{background:var(--accent);height:100%;display:block}button.mic{border-color:var(--accent);color:var(--accent);font-weight:600}button.mic.listening{background:var(--danger);border-color:var(--danger);color:var(--on-accent)}.interim{margin-top:8px;font-style:italic}.error{color:var(--danger);margin:8px 0 0;font-size:.9rem}.messages{flex-direction:column;gap:12px;margin-top:24px;display:flex}.turn{flex-direction:column;gap:12px;display:flex}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;max-width:85%;padding:10px 14px}.bubble.mai{background:var(--blush);border:1px solid #0000;border-bottom-left-radius:4px;align-self:flex-start}.mai-avatar{object-fit:contain;flex:none;width:36px;height:36px}.mai-row{align-items:flex-end;gap:8px;display:flex}.bubble.user{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px;align-self:flex-end}.speaker{color:var(--accent);font-size:.75rem;font-weight:600;display:block}.composer{background:var(--bg);border-top:1px solid var(--border);margin-top:20px;padding:12px 0 16px;position:sticky;bottom:0}button.send{margin-left:auto}button.link{color:var(--accent);background:0 0;border:none;margin:12px auto 0;padding:0;text-decoration:underline;display:block}.word-list li.suggested .word{color:var(--muted);font-weight:400}.suggested-label{color:var(--muted);font-size:.75rem;font-style:italic}.site-menu{left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));z-index:25;position:fixed}.site-menu.raised{bottom:calc(max(16px, env(safe-area-inset-bottom)) + 150px)}button.menu-fab{width:52px;height:52px;color:var(--text);background:var(--surface);border:1.5px solid var(--text);box-shadow:3px 3px 0 var(--text);border-radius:0;place-items:center;padding:0;font-size:1.4rem;line-height:1;display:grid}button.menu-fab[aria-expanded=true]{background:var(--accent-soft)}.menu-panel{z-index:10;background:var(--surface);border:1.5px solid var(--text);min-width:200px;max-width:calc(100vw - 100px);max-height:calc(100dvh - 40px);box-shadow:3px 3px 0 var(--text);flex-direction:column;padding:8px;display:flex;position:absolute;bottom:0;left:calc(100% + 10px);overflow-y:auto}.menu-panel a{color:var(--text);border-radius:0;padding:8px 12px;text-decoration:none}.menu-panel a:hover{background:var(--accent-soft)}.menu-panel a[aria-current=page]{color:var(--accent);background:var(--accent-soft);font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:0 0 4px;font-size:.75rem;font-weight:600}.card{background:var(--surface);border:1.5px solid var(--text);border-radius:12px;margin-top:24px;padding:20px}.card h2{margin:0;font-size:1.15rem}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.cheat-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 16px;margin:16px 0 0;padding:0;list-style:none;display:grid}.cheat-grid>li{border-bottom:1px solid var(--border);align-items:baseline;gap:8px;padding:4px 0;display:flex;position:relative}.cheat-grid>li[data-fit=small]{font-size:.875rem}.cheat-grid>li[data-fit=tiny],.cheat-grid>li[data-fit=clip]{gap:4px;font-size:.75rem}.cheat-grid>li:is([data-fit=tiny],[data-fit=clip]) .pos-tag{display:none}.cheat-grid>li[data-fit=clip] .cheat-trans-wrap{min-width:0}.cheat-grid>li[data-fit=clip] .cheat-trans-wrap>button.tip-trigger{text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.cheat-grid>li>.rank{text-align:right;min-width:1.75rem}.cheat-word{overflow-wrap:anywhere;font-weight:600}.cheat-translation{color:var(--translation);text-align:right;font-weight:500}.cheat-trans-wrap{margin-left:auto}.cheat-legend{margin-top:8px}.cheat-list>summary{cursor:pointer;align-items:center;list-style:none}.cheat-list>summary::-webkit-details-marker{display:none}.cheat-list>summary h2{margin-right:auto}.cheat-list>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.chevron{color:var(--accent);flex:none;transition:transform .15s}.cheat-list:not([open]) .chevron{transform:rotate(-90deg)}.cheat-list[open]>summary{margin-bottom:4px}button.tip-trigger{font:inherit;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:color-mix(in srgb, var(--translation) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--translation) 45%, transparent);text-underline-offset:3px;background:0 0;border:none;border-radius:2px;padding:0;font-weight:500}button.tip-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tip{z-index:20;width:min(320px,100vw - 24px);transform:translate(var(--shift,0px), var(--vshift,0px));padding-top:6px;position:absolute;top:100%;right:0}.tip.above{padding-top:0;padding-bottom:6px;top:auto;bottom:100%}.tip-box{background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px rgb(var(--shade) / .16);text-align:left;border-radius:10px;padding:10px 14px}.tip-box p{margin:0;line-height:1.4}.tip-en{color:var(--text)}.tip-box .tip-translated{color:var(--translation);margin-top:4px;font-weight:500}.tip-note{color:var(--text);font-size:.9rem}.tip-box>*+:not(.tip-head+*){border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.tip-box .tip-note-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px;font-size:.75rem;font-weight:600}.more-tag{color:var(--muted);margin-left:4px;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-block}.tip.pinned .tip-box{border-color:var(--accent)}.tip-options ul{margin:4px 0 0;padding:0;list-style:none}button.tip-option{text-align:left;background:0 0;border:none;border-radius:8px;grid-template-columns:1.25rem auto 1fr;align-items:baseline;column-gap:8px;width:calc(100% + 16px);min-height:36px;margin:0 -8px;padding:6px 8px;display:grid}button.tip-option:hover{background:var(--accent-soft)}button.tip-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.star{color:var(--muted);font-size:1.05rem;line-height:1}.tip-option.picked .star{color:var(--translation)}.tip-option-text{color:var(--translation);white-space:nowrap;font-weight:600}.tip-option-usage{color:var(--muted);font-size:.85rem}:root[data-theme=dark] .tip-box .tip-meaning,:root[data-theme=dark] .tip-option-usage{color:var(--text)}.default-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);grid-column:3;justify-self:start;font-size:.7rem;font-weight:600}.tip-head,.tip-backdrop{display:none}@media (width<=600px){.tip,.tip.above{z-index:50;width:min(380px,100vw - 32px);padding:0;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.tip-box{max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;padding-top:0;overflow-y:auto}.tip-backdrop{z-index:40;background:rgb(var(--shade) / .35);cursor:pointer;display:block;position:fixed;inset:0}.tip-head{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin:0 -14px 8px;padding:8px 8px 8px 14px;display:flex;position:sticky;top:0}button.tip-close{width:40px;height:40px;color:var(--muted);background:0 0;border:none;padding:0;font-size:1rem}}.annotated-root .sel-unit{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.annotated-root .sel-unit.sel-live .word-text{background:var(--phrase);box-shadow:-3px 0 0 var(--phrase), 3px 0 0 var(--phrase);border-radius:3px}button.tip-trigger.phrase-mark{cursor:pointer}button.tip-trigger.phrase-mark .fix-original{text-decoration:none}button.tip-trigger.phrase-mark .word-text{background:var(--phrase);border-radius:3px;padding:0 3px}.change-kind[data-kind=phrase]{background:var(--phrase)}.phrase-part+.phrase-part{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.phrase-parts>.word-options-label{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.phrase-part-head{margin-bottom:4px}.phrase-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}button.add-list{width:100%;color:var(--accent);border:1.5px dashed var(--border);background:0 0;border-radius:12px;margin-top:24px;padding:14px;font-weight:600;display:block}button.add-list:hover{border-color:var(--accent);background:var(--accent-soft)}.form-label{margin-bottom:8px;font-weight:600;display:block}.form-row{flex-wrap:wrap;gap:8px;display:flex}.form-row input{min-width:0;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:160px;padding:8px 12px}.form-row input:focus{outline:2px solid var(--accent);outline-offset:-1px}.empty-list{margin-top:12px}.custom-controls{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.custom-controls .link{margin:12px 0 0}button.link.danger-link{color:var(--danger)}button.remove-word{width:28px;height:28px;color:var(--muted);background:0 0;border:none;border-radius:6px;flex:none;margin-left:4px;padding:0;font-size:.75rem}button.remove-word:hover,button.remove-word:focus-visible{color:var(--danger);background:var(--accent-soft)}.tip.align-start{left:0;right:auto}button.tip-trigger.word-trigger{color:var(--text);-webkit-text-decoration-color:color-mix(in srgb, var(--text) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--text) 35%, transparent);font-weight:600}.pos-tag{color:var(--muted);margin-left:5px;font-size:.7rem;font-style:italic;font-weight:500}.pos-name{color:var(--accent);white-space:nowrap;font-size:.8rem;font-weight:600}.meaning-gloss{color:var(--text)}.meaning-example{color:var(--muted);margin-top:2px;font-style:italic;display:block}.label-chips{color:var(--muted);font-size:.75rem;font-style:italic}.region-badge{color:var(--accent);font-size:.72rem;font-weight:600}.tip-box .tip-meaning{color:var(--muted);font-size:.85rem}.attribution{margin-top:14px;font-size:.75rem}@media (width>=601px){.tip-box{overscroll-behavior:contain;max-height:min(60vh,460px);overflow-y:auto}}@media (width<=600px){.tip.align-start{left:50%;right:auto}}button.tip-trigger.word-trigger,.cheat-trans-wrap>button.tip-trigger{white-space:nowrap}.tip-parts ul{margin:2px 0 0;padding:0;list-style:none}.tip-box .part-name{color:var(--text);margin-top:6px;font-size:.8rem;font-weight:700}.tip-box .part-helper{color:var(--muted);margin-top:6px;font-size:.85rem}.part-helper .part-name{margin-right:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pronoun-table{border-collapse:collapse;width:100%;margin-top:4px;font-size:.85rem}.pronoun-table th,.pronoun-table td{text-align:left;vertical-align:top;border-top:1px solid var(--border);padding:3px 4px;line-height:1.3}.pronoun-table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-top:none;font-size:.72rem;font-weight:600}.pronoun-table tbody th{color:var(--text);font-weight:500}.pronoun-table tbody td{color:var(--translation);white-space:nowrap;font-weight:600}.pronoun-table thead th.highlight{color:var(--translation)}.pronoun-table tbody td:not(.highlight){opacity:.8;font-weight:500}.pronoun-table tbody tr{cursor:pointer}.pronoun-table tbody tr:hover,.pronoun-table tbody tr.picked{background:var(--accent-soft)}.pronoun-table .default-tag{display:block}.pronoun-note{color:var(--muted);font-size:.75rem;font-style:italic;font-weight:400;display:block}button.pronoun-star{color:var(--muted);background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1}.pronoun-table tr.picked button.pronoun-star{color:var(--translation)}.tip:has(.pronoun-table){width:min(460px,100vw - 24px)}.pronoun-tag{color:var(--muted);opacity:1;margin-left:3px;font-size:.68rem;font-style:italic;font-weight:400;display:inline-block}.pronoun-table td{white-space:normal}.pronoun-word{display:block}.speaker-toggle{align-items:center;gap:6px;margin:4px 0 2px;font-size:.8rem;display:flex}.speaker-toggle button.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tip-parts-list.with-table,.part-pronoun,.part-pronoun .tip-pronouns{flex-direction:column;min-height:0;display:flex}.tip-box:has(.tip-parts-list.with-table){flex-direction:column;min-height:0;display:flex}.tip-parts:has(.tip-parts-list.with-table){flex-direction:column;min-height:0;display:flex}.tip-parts-list.with-table>*,.part-pronoun>*,.part-pronoun .tip-pronouns>*{flex-shrink:0}.tip-box:has(.tip-parts-list.with-table)>*{flex-shrink:0}.tip-parts:has(.tip-parts-list.with-table)>*{flex-shrink:0}.tip-parts-list.with-table>.part-pronoun,.part-pronoun>.tip-pronouns,.part-pronoun .pronoun-table-scroll{flex-shrink:1;min-height:0}.tip-box:has(.tip-parts-list.with-table)>.tip-parts{flex-shrink:1;min-height:0}.tip-parts:has(.tip-parts-list.with-table)>.tip-parts-list{flex-shrink:1;min-height:0}.part-pronoun .pronoun-table-scroll{overscroll-behavior:contain;min-height:140px;overflow-y:auto}.part-pronoun .pronoun-table thead th{z-index:1;background:var(--surface);position:sticky;top:0}@media (width>=601px){.tip-box:has(.pronoun-table){max-height:calc(100vh - 24px)}}.language-pickers{flex-wrap:wrap;gap:12px 16px;margin-top:16px;display:flex}.language-picker{flex-direction:column;flex:200px;gap:6px;max-width:280px;font-weight:700;display:flex}.language-picker select{appearance:none;color:var(--text);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2323256e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 36px 8px 12px;font-size:1rem;font-weight:400}:root[data-theme=dark] .language-picker select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23e4e4fb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.language-picker select:hover{border-color:var(--accent)}.language-picker select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-note{margin-top:16px;font-size:.85rem}.my-words-intro p{margin:0 0 4px;font-weight:600}.my-words-intro ul{color:var(--muted);margin:0 0 12px;padding-left:20px;font-size:.9rem;line-height:1.5}.my-words-controls textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;font:inherit;color:var(--text);background:var(--surface);resize:vertical;border-radius:8px;padding:8px 10px}.my-words-controls .form-row{flex-wrap:wrap;align-items:center}.my-words-input textarea{flex:100%}.add-word-form.compact .my-words-input textarea{resize:none;flex:200px;min-width:0;height:38px;padding:7px 10px}.my-words-found{border:1px solid var(--border);background:var(--accent-soft);border-radius:8px;padding:10px 12px}.my-words-found p{margin:0}.my-words-status,.my-words-meta{margin-left:auto;font-size:.8rem}.my-words-controls .my-words-meta .link{font-size:inherit;margin:0;padding:0;display:inline}.cheat-pending{font-size:.85rem;font-style:italic}a.discover-link{border:1px solid var(--border);color:var(--text);background:var(--accent-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:6px 12px;font-size:.85rem;text-decoration:none;display:flex}a.discover-link:hover{border-color:var(--accent)}.custom-controls.my-words-controls{border-top:none;margin-top:12px;padding-top:0}.my-words-controls button.upload-words{padding:4px 12px;font-size:.85rem}.language-tag{color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600}.journal-new{margin-top:24px}.journal-list{margin:0;padding:0;list-style:none}.journal-editor .form-label{margin:16px 0 6px;font-weight:600;display:block}.journal-when{font:inherit;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 10px}.journal-sheet-frame{margin-top:16px;container-type:inline-size}.journal-sheet .tip{font-family:var(--display)}.journal-sheet{--line:1.9rem;font-family:var(--hand);border:1px solid var(--border);background-color:var(--paper);background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--line) - 1px), var(--rule) calc(var(--line) - 1px), var(--rule) var(--line));touch-action:pan-y;background-position:0 14px;border-radius:10px;position:relative;overflow:hidden}.journal-text{width:100%;font:inherit;font-size:.9rem;line-height:var(--line);color:var(--writing);resize:none;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:none;margin:0;padding:14px 18px 24px;display:block}textarea.journal-text{min-height:calc(var(--line) * 8 + 38px);overflow:hidden}textarea.journal-text:focus{outline:none}.journal-sheet.editing:focus-within{border-color:var(--accent)}.sheet-item{transform-origin:50%;-webkit-user-select:none;user-select:none;position:absolute}.sheet-item img{pointer-events:none;width:100%;height:auto;display:block}.sheet-item.photo img{border:6px solid var(--photo-frame);box-shadow:0 2px 8px rgb(var(--shade) / .25);border-bottom-width:18px}.journal-sheet.editing .sheet-item{cursor:grab;touch-action:none}.sheet-item.selected,.journal-sheet.editing .sheet-item:focus-visible{outline:2px dashed var(--accent);outline-offset:4px}.item-handle{width:28px;height:28px;color:var(--on-accent);background:var(--accent);border:2px solid var(--surface);touch-action:none;border-radius:50%;place-items:center;padding:0;font-size:.85rem;line-height:1;display:grid;position:absolute}.item-handle.remove{background:var(--danger);top:-14px;left:-14px}.item-handle.rotate{cursor:grab;top:-14px;right:-14px}.item-handle.resize{cursor:nwse-resize;bottom:-14px;right:-14px}.journal-tools{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.sticker-tray{border:1px dashed var(--border);border-radius:10px;flex-wrap:wrap;gap:8px;margin-top:12px;padding:10px;display:flex}.sticker-tray .muted{font-size:.85rem}.tray-sticker{position:relative}.tray-add{background:0 0;border:1px solid #0000;width:64px;height:64px;padding:4px}.tray-add:hover,.tray-add:focus-visible{border-color:var(--border);background:var(--accent-soft)}.tray-add img{object-fit:contain;width:100%;height:100%}.tray-remove{width:20px;height:20px;color:var(--muted);border-radius:50%;padding:0;font-size:.65rem;line-height:1;position:absolute;top:-6px;right:-6px}.journal-audio{margin-top:4px}.audio-recorder-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.audio-note{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.audio-note audio{max-width:100%;height:36px}.journal-nudge{background:var(--blush);border-radius:8px;margin:12px 0 0;padding:8px 12px;font-size:.9rem}.inline-link{font:inherit;color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.journal-correction{border-top:1px dashed var(--border);margin-top:16px;padding-top:12px}.journal-correction-label{text-transform:uppercase;letter-spacing:.05em;color:var(--translation);margin:0 0 6px;font-size:.75rem;font-weight:600}.journal-corrected{color:var(--translation);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding-left:1.4em;font-size:1.05rem;line-height:1.8;position:relative}.journal-notes{color:var(--muted);margin:10px 0 0;padding-left:18px;font-size:.85rem}.journal-notes s{color:var(--accent)}.journal-notes strong{color:var(--translation)}.journal-tip{font-style:italic}.journal-check-status{margin-top:12px}.journal-entry-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.journal-confirm{font-size:.9rem}button.chip.danger{color:var(--on-accent);background:var(--danger);border-color:var(--danger)}.modal-backdrop{z-index:50;background:rgb(var(--shade) / .35);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(560px,100%);max-height:calc(100dvh - 32px);box-shadow:0 10px 40px rgb(var(--shade) / .3);border-radius:12px;padding:20px;overflow:auto}.modal h2{margin:0 0 8px;font-size:1.15rem}.modal.confirm-dialog{border:1.5px solid var(--ink);width:min(320px,100%);box-shadow:3px 3px 0 var(--ink)}.confirm-dialog p{margin:0}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.sticker-canvas{touch-action:none;cursor:crosshair;border-radius:8px;max-width:100%;max-height:60dvh;margin:12px auto 0;display:block}.setting-toggle{cursor:pointer;align-items:flex-start;gap:10px;margin-top:12px;display:flex}.setting-toggle input{margin-top:4px}.setting-toggle>span{flex-direction:column;gap:2px;display:flex}.offline-packs{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.offline-pack{justify-content:space-between;align-items:center;gap:12px;display:flex}.offline-pack>span:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.offline-confirm{flex-shrink:0;gap:6px;display:flex}[data-kind=spelling],.kind-spelling .change-mark{background:var(--kind-spelling)}[data-kind=foreign],.kind-foreign .change-mark{background:var(--kind-foreign)}[data-kind=frame],.kind-frame .change-mark{background:var(--kind-frame)}[data-kind=dialect],.kind-dialect .change-mark{background:var(--kind-dialect)}[data-kind=pronoun],.kind-pronoun .change-mark{background:var(--kind-pronoun)}.journal-correction-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-bottom:6px;display:flex}.journal-correction-head .journal-correction-label{margin:0}.change-legend{color:var(--text);flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:.75rem;list-style:none;display:flex}.change-legend li{border-radius:999px;padding:1px 8px}.change-legend li.legend-info{align-items:center;padding:0 0 0 2px;display:flex}.journal-sentences{margin:0;padding:0;list-style:none}.journal-sentence{padding:6px 0;position:relative}.journal-sentence+.journal-sentence{border-top:1px dotted var(--border)}.sentence-mark{color:var(--muted);font-weight:700;position:absolute;left:0}.journal-sentence.changed .sentence-mark{color:var(--translation)}button.tip-trigger.change-mark{color:var(--translation);cursor:pointer;border-radius:4px;padding:0 2px;font-weight:700;text-decoration:none}.journal-sentence .journal-notes{margin:2px 0 0 1.4em;padding-left:0;list-style:none}.change-why{flex-direction:column;gap:4px;margin:0;font-size:.9rem;display:flex}.change-why strong{color:var(--translation)}.change-kind{border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:.75rem;font-weight:600}.journal-frames-panel{border:1px solid var(--border);background:var(--accent-soft);border-radius:10px;margin-top:12px;padding:12px}.journal-frames-panel>.muted{margin-bottom:8px;font-size:.85rem}.frames-browser .chips{flex-wrap:wrap;gap:6px;display:flex}button.chip.picked{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.frames-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}button.frame-option{text-align:left;flex-direction:column;align-items:flex-start;width:100%;height:100%;padding:8px 10px;font-size:.85rem;display:flex}.frame-text{color:var(--accent);font-size:.95rem;font-weight:600}.journal-corrected .tip-box{color:var(--text);white-space:normal;font-size:.9rem;font-weight:400;line-height:1.5}.choice-dot{vertical-align:super;opacity:.6;background:currentColor;border-radius:50%;width:5px;height:5px;margin-left:2px;display:inline-block}.change-why+.tip-options,.change-why+.meaning-chips{margin-top:10px}.meaning-chips+.tip-options{margin-top:8px}.change-why+.tip-meaning{margin-top:10px}.other-meanings{margin-top:8px;font-size:.85rem}.other-meanings summary{cursor:pointer;color:var(--accent);font-weight:600}.other-meanings ul{overflow-wrap:anywhere;max-height:240px;margin:6px -8px 0;padding:0 8px;list-style:none;overflow:hidden auto}.other-meanings button.tip-option{grid-template-columns:auto 1fr}.option-meaning{display:block}.option-meaning+.option-meaning{margin-top:2px}button.tip-trigger.word-mark{color:inherit;font-weight:inherit;cursor:pointer;border-radius:4px;text-decoration:none}button.tip-trigger.word-mark:hover,button.tip-trigger.word-mark[aria-expanded=true]{background:var(--accent-soft)}button.tip-trigger.word-mark.picked{background:var(--accent-soft);text-underline-offset:4px;font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.word-options-label{margin-top:10px}.word-options-label+.tip-options .tip-note-label{display:none}.tip-box>.word-options-label+.tip-options{border-top:none;margin-top:0;padding-top:0}.tip-box>.word-options-label:first-child{margin-top:0}.journal-page{--ink:var(--text);background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:var(--cell) var(--cell);min-height:100dvh}.journal-inner{max-width:680px;margin:0 auto;padding:20px 16px 96px}:root{--page-width:min(680px, 100vw - 32px)}@media (width>=900px){:root{--column:calc(2 * 363px + 3px);--column-left:calc(50% - var(--column) / 2);--page-width:var(--column)}.app,.journal-inner{max-width:var(--column);padding-inline:0}.journal-page .journal-corner{right:max(16px, env(safe-area-inset-right), calc(var(--column-left) - 32px - 46px))}:root .site-menu,:root .feedback{left:max(16px, env(safe-area-inset-left), calc(var(--column-left) - 32px - 3px - 52px))}:root .sign-in-nudge{--nudge-width:clamp(170px, calc(var(--column-left) - 32px - 3px - 16px), 260px);width:var(--nudge-width);left:max(16px, env(safe-area-inset-left), calc(var(--column-left) - 32px - 3px - var(--nudge-width)))}}.journal-page h1,.journal-page h2,.journal-page h3,.journal-page .entry-date-row,.journal-page .entry-week{font-family:var(--display)}.slashed:before{content:"/ ";opacity:.55;font-weight:500}.slashed:after{content:" /";opacity:.55;font-weight:500}button.icon-button{width:40px;height:40px;color:var(--ink);background:var(--surface);border:1.5px solid var(--ink);border-radius:0;place-items:center;padding:0;font-size:1.35rem;line-height:1;display:grid}button.icon-button:active{background:var(--accent-soft)}.journal-corner{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:25;align-items:center;gap:12px;display:flex;position:fixed}button.icon-button.new-entry-fab{width:46px;height:46px;font-size:1.45rem}@media (width<=600px){.journal-corner{position:absolute}.journal-top{min-height:46px;padding-right:60px}}.page-info-wrap{margin-right:auto;position:relative}button.tip-trigger.page-info{-webkit-text-stroke:.4px currentColor;width:16px;height:16px;color:var(--muted);border:1.2px solid;border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;line-height:1;text-decoration:none;display:grid;position:relative}button.tip-trigger.page-info:before{content:"";position:absolute;inset:-12px}button.tip-trigger.page-info[aria-expanded=true]{color:var(--ink)}.page-intro{color:var(--text);font-size:.9rem}.tip-box .page-intro p+p{margin-top:8px}.journal-page .journal-new{justify-content:center;margin-top:20px;display:flex}.journal-page button.primary,.journal-page button.chip,.journal-page .journal-sheet{border-radius:0}.journal-page button.chip{border-color:var(--ink)}.journal-entry{background:var(--surface);border:1.5px solid var(--ink);border-radius:12px;margin-top:20px;list-style:none}.journal-entry>:not(.entry-head){margin-left:14px;margin-right:14px}.entry-head{border-bottom:1.5px solid var(--ink)}.entry-date-row{border-bottom:1px solid var(--ink);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.entry-date-label{border-right:1px solid var(--ink);align-self:stretch;align-items:center;padding:8px 12px;font-size:.8rem;font-weight:700;display:flex}.entry-date{padding:8px 12px;font-size:.9rem;font-weight:500}.entry-date-row .language-tag{border-radius:3px;margin-right:10px}.entry-week{text-align:center;color:var(--muted);grid-template-columns:repeat(7,1fr);margin:0;padding:6px 4px;font-size:.78rem;list-style:none;display:grid}.entry-week li{white-space:nowrap;justify-self:center;padding:2px 6px}.entry-week li.today{color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;font-weight:700}.journal-page .journal-sheet-frame{margin-top:14px}.journal-page .journal-sheet{background-color:#0000;background-image:linear-gradient(to bottom, transparent calc(var(--line) - 1px), var(--sheet-grid) calc(var(--line) - 1px)), linear-gradient(90deg, transparent calc(var(--line) - 1px), var(--sheet-grid) calc(var(--line) - 1px));background-size:var(--line) var(--line);background-position:0 14px;border:none}.journal-page .journal-sheet.editing{outline:1px dashed var(--border)}.journal-page .journal-sheet.editing:focus-within{outline-color:var(--accent)}.sheet-item.photo:before{content:"";z-index:1;background:color-mix(in srgb, var(--tape) 80%, transparent);width:40%;height:18px;box-shadow:0 1px 2px rgb(var(--shade) / .12);position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-3deg)}.journal-page .sheet-item.photo img{border-radius:0}.journal-page .journal-correction{border-top:1.5px solid var(--ink);margin-top:16px;padding-top:12px}.journal-page h3.journal-correction-label{letter-spacing:0;text-transform:none;color:var(--translation);align-items:baseline;gap:8px;margin:0;font-size:1rem;font-weight:700;display:flex}.journal-correction-count{color:var(--muted);font-size:.75rem;font-weight:500}.journal-page h3.journal-correction-label:after{order:0}.journal-page .journal-correction-count{order:1}.journal-page .change-legend li{border-radius:0}.journal-page .journal-entry-actions{justify-content:flex-end}.journal-editor{background:var(--surface);border:1.5px solid var(--ink);margin-top:16px}.editor-bar{border-bottom:1.5px solid var(--ink);background:var(--surface);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.editor-bar h2{text-align:center;margin:0;font-size:1.1rem;font-weight:700}.editor-bar button.primary{padding:8px 18px}.editor-body{padding-bottom:12px}.editor-body>:not(.entry-head){margin-left:14px;margin-right:14px}.editor-date{flex-direction:column;gap:2px;padding:6px 12px;display:flex}.editor-date-error{color:var(--danger);font-size:.8rem;font-weight:600}.editor-date .journal-when{font-family:var(--display);background:0 0;border:none;padding:2px 0;font-weight:500}.editor-date .muted{font-size:.75rem}.editor-date .journal-when{appearance:none;text-align:left;width:100%;min-height:1.6em}.editor-date .journal-when::-webkit-date-and-time-value{text-align:left;margin:0}.editor-audio-note{margin-top:8px;font-size:.85rem}.editor-panel{border-top:1.5px solid var(--ink);background:var(--surface);padding:10px 14px 14px}.editor-panel-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.editor-panel-head h3{margin:0;font-size:.95rem}button.icon-button.small{width:30px;height:30px;font-size:.85rem}.editor-panel .sticker-tray{border-radius:0}button.make-sticker{border-color:var(--ink);border-radius:0}.editor-panel .journal-frames-panel,.editor-panel .frames-list button.frame-option{border-radius:0}.editor-toolbar{grid-template-columns:repeat(var(--tools,4), 1fr);border-top:1.5px solid var(--ink);background:var(--surface);display:grid}.editor-toolbar button{font-family:var(--display);color:var(--ink);background:0 0;border:none;border-radius:0;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:.75rem;font-weight:500;display:flex;position:relative}.editor-toolbar button:not(:first-of-type){border-left:1px solid var(--ink)}.editor-toolbar button span[aria-hidden]{font-size:1.2rem;line-height:1}.editor-toolbar button[aria-pressed=true]{background:var(--accent-soft)}.toolbar-dot{background:var(--translation);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:calc(50% - 18px)}@media (width<=600px){.journal-editor{z-index:30;background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:var(--cell) var(--cell);border:none;flex-direction:column;margin:0;display:flex;position:fixed;inset:0}.editor-bar{padding-top:max(8px, env(safe-area-inset-top))}.editor-body{overscroll-behavior:contain;background:var(--surface);flex:1;overflow-y:auto}.editor-body>:not(.entry-head){margin-left:10px;margin-right:10px}.editor-panel{max-height:45dvh;overflow-y:auto}.editor-toolbar{padding-bottom:env(safe-area-inset-bottom)}body.journal-editing{overflow:hidden}.journal-inner{padding:14px 12px 96px}.journal-entry>:not(.entry-head){margin-left:10px;margin-right:10px}.entry-date-row{grid-template-columns:auto 1fr}.entry-date-label{grid-row:span 2}.entry-date-row .language-tag{grid-column:2;justify-self:start;margin:0 0 8px 12px}.entry-week{font-size:.7rem}.entry-week li{padding:2px 4px}}.item-caption,.item-caption-input{z-index:2;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.item-caption{width:max(100%,96px);font-family:var(--hand);text-align:center;color:var(--writing);pointer-events:none;margin:0;font-size:.78rem;font-weight:500;line-height:1.25}.caption-arrow{opacity:.7;margin-right:3px}.item-caption s{opacity:.6}.caption-fix{color:var(--translation);display:block}.item-caption-input{width:max(130%,140px);font:inherit;text-align:center;color:var(--writing);background:var(--surface);border:1.5px solid var(--accent);border-radius:0;padding:4px 8px;font-size:16px}.journal-flow{display:flow-root}.wrap-float{pointer-events:none;-webkit-user-select:none;user-select:none;display:block}.wrap-float.left{float:left;clear:left}.wrap-float.right{float:right;clear:right}.journal-sheet.editing .journal-text{min-height:calc(var(--line) * 8 + 38px);cursor:text;outline:none}.journal-text.empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.sticker-ways{gap:8px;margin-top:8px;display:grid}button.sticker-way{text-align:left;border:1.5px solid var(--text);border-radius:0;grid-template-rows:auto auto;grid-template-columns:2rem 1fr;align-items:center;column-gap:10px;padding:12px;display:grid}.sticker-way-icon{text-align:center;grid-row:1/3;font-size:1.5rem}.sticker-way .muted{font-size:.85rem}.weekday-long{display:none}@media (width>=601px){.weekday-short{display:none}.weekday-long{display:inline}.entry-week li{white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}}.journal-page,.journal-page .journal-sheet{--line:2.75rem}.entry-paper{background-image:linear-gradient(to bottom, transparent calc(var(--line) - 1px), var(--sheet-grid) calc(var(--line) - 1px)), linear-gradient(90deg, transparent calc(var(--line) - 1px), var(--sheet-grid) calc(var(--line) - 1px));background-size:var(--line) var(--line);background-position:0 14px;margin-top:0}.journal-page .entry-paper .journal-sheet-frame{margin-top:0}.journal-page .entry-paper .journal-sheet{background:0 0}.journal-page .entry-paper .journal-correction{border-top:none;margin:0;padding:0 18px 12px}.journal-page .entry-paper h3.journal-correction-label{height:var(--line);font-size:.85rem;line-height:var(--line);align-items:baseline;gap:8px;margin:0;display:flex}.entry-paper .journal-sentence{padding:0}.entry-paper .journal-sentence+.journal-sentence{border-top:none}.entry-paper .journal-corrected{font-size:1.05rem;line-height:var(--line)}.entry-paper .audio-note,.entry-paper .journal-nudge,.entry-paper .journal-check-status{margin-left:18px;margin-right:18px}.entry-paper>.journal-nudge{margin-bottom:12px}.page-legend{margin-top:10px}.journal-page .journal-text{padding-top:20px}ruby.fix{ruby-position:over;ruby-align:center}.fix-new{font-family:var(--display);letter-spacing:0;color:var(--translation);border-radius:3px;padding:0 3px;font-size:.68em;font-weight:700;line-height:1.2}.fix-new[data-kind=spelling]{background:var(--kind-spelling)}.fix-new[data-kind=foreign]{background:var(--kind-foreign)}.fix-new[data-kind=frame]{background:var(--kind-frame)}.fix-new[data-kind=dialect]{background:var(--kind-dialect)}.fix-new[data-kind=pronoun]{background:var(--kind-pronoun)}:root[data-theme=dark] [data-kind],:root[data-palette=colorblind] [data-kind]{color:var(--kind-ink)}:root[data-theme=dark] .fix-new[data-kind],:root[data-theme=dark] [class*=kind-] .change-mark,:root[data-palette=colorblind] .fix-new[data-kind],:root[data-palette=colorblind] [class*=kind-] .change-mark{color:var(--kind-fix)}.fix-new.picked{background:var(--picked);color:var(--picked-ink)}.fix .fix-original{color:var(--writing);-webkit-text-decoration:underline dotted var(--translation);text-decoration:underline dotted var(--translation);text-underline-offset:4px}.fix.crossed .fix-original{-webkit-text-decoration:line-through var(--translation) 2px;text-decoration:line-through var(--translation) 2px}.journal-text.annotated button.tip-trigger.change-mark,.journal-text.annotated button.tip-trigger.word-mark{font-weight:inherit;color:inherit;line-height:inherit;background:0 0;padding:0}.journal-text.annotated button.tip-trigger.word-mark:hover,.journal-text.annotated button.tip-trigger.word-mark[aria-expanded=true]{background:var(--accent-soft)}.journal-text.annotated .change-wrap,.journal-text.annotated .word-wrap{position:relative}.journal-text.annotated .tip-box{color:var(--text);white-space:normal;font-size:.9rem;font-weight:400;line-height:1.5}.journal-sheet:not(.editing){overflow:visible}.journal-tap-hint{margin:0;font-size:.8rem}.nowrap{white-space:nowrap}.entry-paper{padding-bottom:36px;position:relative}.entry-paper .journal-text{padding-bottom:4px}.journal-entry>.entry-paper{border-radius:0 0 10.5px 10.5px;margin-left:0;margin-right:0}.editor-body>.editor-page{margin-left:0;margin-right:0}.entry-tools{height:var(--line);z-index:3;align-items:center;gap:6px;display:flex;position:absolute;bottom:8px;right:18px}.entry-tools .journal-confirm{background:var(--surface);border:1.5px solid var(--ink);padding:4px 6px;font-size:.85rem}.entry-tools .icon-button.small{opacity:.45;width:26px;height:26px;font-size:.85rem;transition:opacity .15s}.entry-tools .audio-bar .icon-button.small{opacity:1;font-size:.68rem}.entry-tools .icon-button.small:hover,.entry-tools .icon-button.small:focus-visible{opacity:1}.app{padding-bottom:96px}@media (width<=600px){body.journal-editing .site-menu,body.journal-editing .feedback{display:none}}.journal-text.annotated ruby.fix{place-items:center;display:inline-grid}.journal-text.annotated ruby.fix>.fix-original,.journal-text.annotated ruby.fix>.fix-new{grid-area:1/1}.journal-text.annotated .fix-new{white-space:nowrap;font-size:1em;display:block;transform:translateY(calc(-50% - .75em + 2px))}.entry-tools.with-audio{left:18px}.entry-tools .audio-bar{flex:1;min-width:0;height:32px}.entry-paper:has(.entry-tools.with-audio){padding-bottom:44px}div.audio-bar{align-items:center;gap:8px;min-width:0;display:flex}.entry-tools div.audio-bar{flex:1;height:auto;margin-right:10px}.audio-play{flex:none;font-size:.75rem}.audio-seek{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:40px;height:20px;margin:0}.audio-seek::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--blush) var(--progress,0%), var(--surface) var(--progress,0%));border:1.5px solid var(--text);height:6px}.audio-seek::-moz-range-track{background:linear-gradient(to right, var(--blush) var(--progress,0%), var(--surface) var(--progress,0%));border:1.5px solid var(--text);height:6px}.audio-seek::-webkit-slider-thumb{background:var(--text);appearance:none;border:none;border-radius:0;width:14px;height:14px;margin-top:-5.5px}.audio-seek::-moz-range-thumb{background:var(--text);border:none;border-radius:0;width:14px;height:14px}.audio-time{font-variant-numeric:tabular-nums;color:var(--text);flex:none;font-size:.75rem;font-weight:500}.sheet-item.photo img,.journal-page .sheet-item.photo img{box-shadow:none;border:none}.sheet-item.sticker img{filter:none}@media (width<=600px){.editor-body{flex-direction:column;display:flex}.editor-page,.editor-page .journal-sheet-frame,.editor-page .journal-sheet{flex-direction:column;flex:1;display:flex}.editor-page .journal-flow{flex:1}.editor-page .journal-sheet.editing .journal-text{min-height:100%}.journal-page .journal-text{font-size:15px}}.editor-toolbar-area{position:relative}button.record-nudge{z-index:2;max-width:220px;font-family:var(--display);text-align:left;color:var(--text);background:var(--blush);border:1.5px solid var(--text);box-shadow:2px 2px 0 var(--text);border-radius:12px;padding:8px 12px;font-size:.8rem;font-weight:500;line-height:1.35;display:block;position:absolute;bottom:calc(100% + 10px);right:6px}button.record-nudge:after{content:"";bottom:-7px;right:calc(50vw / var(--tools,4) - 6px - 6px);background:var(--blush);border-right:1.5px solid var(--text);border-bottom:1.5px solid var(--text);width:12px;height:12px;position:absolute;transform:rotate(45deg)}@media (width>=601px){button.record-nudge:after{right:calc(var(--page-width) / var(--tools,4) / 2 - 12px)}}.sticker-canvas.busy{opacity:.8;pointer-events:none}.account-form{margin-top:12px}.account-actions{gap:16px;display:flex}.account-actions button.link{margin:0}.feedback{left:max(16px, env(safe-area-inset-left));bottom:calc(max(16px, env(safe-area-inset-bottom)) + 52px + 12px);z-index:25;position:fixed}.feedback.raised{bottom:calc(max(16px, env(safe-area-inset-bottom)) + 150px + 52px + 12px)}button.feedback-fab{width:52px;height:52px;color:var(--text);background:var(--surface);border:1.5px solid var(--text);box-shadow:3px 3px 0 var(--text);border-radius:0;place-items:center;padding:0;font-size:1.3rem;line-height:1;display:grid}button.feedback-fab[aria-expanded=true]{background:var(--accent-soft)}.feedback-panel{z-index:10;background:var(--surface);border:1.5px solid var(--text);width:min(380px,100vw - 100px);max-height:calc(100dvh - 40px);box-shadow:3px 3px 0 var(--text);padding:16px;position:absolute;bottom:0;left:calc(100% + 10px);overflow-y:auto}.feedback-panel h2{margin:0 0 12px;font-size:1.1rem}.feedback-field{flex-direction:column;gap:4px;margin-bottom:12px;font-size:.9rem;font-weight:600;display:flex}.feedback-field input,.feedback-field textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:0;padding:8px 10px;font-size:1rem;font-weight:400}.feedback-field textarea{resize:vertical}button.feedback-attach{width:100%;color:var(--muted);border-style:dashed;border-radius:0}.feedback-image{align-items:center;gap:12px;display:flex}.feedback-image img{object-fit:contain;border:1px solid var(--border);max-width:120px;max-height:90px}.feedback-image button.link{margin:0}.feedback-actions{justify-content:flex-end;align-items:center;gap:16px;margin-top:16px;display:flex}.feedback-actions button.link,.feedback-sent p{margin:0}@media (width<=600px){.feedback-panel{width:auto;max-height:85dvh;padding-bottom:max(16px, env(safe-area-inset-bottom));box-shadow:0 -3px 0 var(--text);border-width:1.5px 0 0;position:fixed;bottom:0;left:0;right:0}}.tip-box button.link.wrong-word{color:var(--muted);border:1px solid var(--border);border-radius:999px;margin:10px 0 0 auto;padding:3px 10px;font-size:.75rem;line-height:1.4;display:block}.modal.word-feedback{border:1.5px solid var(--text);width:min(420px,100%);box-shadow:3px 3px 0 var(--text);border-radius:0;padding:16px}.modal.word-feedback h2{margin:0 0 12px;font-size:1.1rem}.sign-in-nudge{left:max(16px, env(safe-area-inset-left));bottom:calc(max(16px, env(safe-area-inset-bottom)) + 52px + 12px);z-index:25;background:var(--blush);border:1.5px solid var(--text);width:min(260px,100vw - 32px);box-shadow:3px 3px 0 var(--text);border-radius:12px;padding:10px 36px 10px 12px;position:fixed}.sign-in-nudge.raised{bottom:calc(max(16px, env(safe-area-inset-bottom)) + 150px + 52px + 12px)}.sign-in-nudge p{color:var(--text);margin:0;font-size:.9rem;line-height:1.35}.sign-in-nudge a{color:var(--accent);font-weight:600}button.sign-in-nudge-close{width:24px;height:24px;color:var(--muted);background:0 0;border:none;padding:0;font-size:.8rem;line-height:1;position:absolute;top:6px;right:6px}@media (width<=600px){body.journal-editing .sign-in-nudge{display:none}}.theme-choice{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.theme-choice button.chip{padding:4px 14px}.theme-choice button.chip.selected{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.month-picker{align-items:center;gap:2px;margin-left:-8px;display:flex}button.month-step{color:var(--text);background:0 0;border:none;padding:0 8px;font-size:1.6rem;line-height:1}button.month-step:disabled{opacity:.25}.month-current{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2323256e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 6px center no-repeat;border-radius:6px;align-items:center;padding:2px 24px 2px 6px;display:inline-flex;position:relative}:root[data-theme=dark] .month-current{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23e4e4fb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.month-current:hover,.month-current:focus-within{background-color:var(--accent-soft)}.month-label{letter-spacing:-.01em;color:var(--text);white-space:nowrap;font-size:1.35rem;font-weight:700}.month-current select{opacity:0;cursor:pointer;width:100%;font-size:16px;position:absolute;inset:0}.journal-month-empty{margin-top:24px}
