.lodnor-note-pin{box-sizing:border-box;min-width:26px;height:26px;padding:0 var(--space-3);color:var(--graphite-9);font:var(--weight-semibold) var(--size-12) / 1 var(--type-core);font-variant-numeric:var(--numeric);background:var(--glow-4);border-radius:var(--radius-full) var(--radius-full) var(--radius-full) var(--space-2);box-shadow:var(--shadow-raised);border:0;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.lodnor-note-pin[data-size=sm]{min-width:var(--space-8);height:var(--space-8)}.lodnor-note-pin[data-tone=done]{color:var(--text-display);background:var(--surface-sunk);box-shadow:none}.lodnor-note-pin[data-tone=ghost]{opacity:.6;pointer-events:none}.lodnor-note-pin[data-placed]{animation:lodnor-pop-in var(--dur-pop) ease-out both;position:absolute;translate:-50% -100%}button.lodnor-note-pin{cursor:pointer;transition:transform var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard)}button.lodnor-note-pin:before{content:"";border-radius:var(--radius-full);position:absolute;inset:-9px}button.lodnor-note-pin:hover,button.lodnor-note-pin[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface-card), var(--shadow-float)}button.lodnor-note-pin:focus-visible{outline:var(--ring-focus-outline);outline-offset:var(--ring-focus-offset)}
.lodnor-meter{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.lodnor-meter__head{justify-content:space-between;gap:var(--space-5);font:var(--weight-regular) var(--size-15) / 1.4 var(--type-core);color:var(--text-body);display:flex}.lodnor-meter__value{color:var(--text-display);font-weight:var(--weight-semibold);font-variant-numeric:var(--numeric);white-space:nowrap}.lodnor-meter__track{background:var(--surface-sunk);border-radius:var(--radius-full);height:6px;display:block;overflow:hidden}.lodnor-meter[data-size=thin] .lodnor-meter__track{height:var(--space-2)}.lodnor-meter__fill{height:100%;background:var(--line-ink);border-radius:var(--radius-full);max-inline-size:100%;transition:inline-size .8s var(--ease-settle);display:block}.lodnor-meter[data-tone=accent] .lodnor-meter__fill{background:var(--action-accent)}@media (forced-colors:active){.lodnor-meter__track{border:1px solid canvastext}.lodnor-meter__fill{background:canvastext}}
.lodnor-avatar{box-sizing:border-box;width:44px;height:44px;color:var(--text-display);font:var(--weight-semibold) var(--size-13) / 1 var(--type-core);letter-spacing:var(--tracking-normal);background:var(--surface-sunk);border-radius:var(--radius-full);-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.lodnor-avatar[data-size="32"]{width:32px;height:32px;font-size:var(--size-12)}.lodnor-avatar[data-size="40"]{width:40px;height:40px}.lodnor-avatar[data-size="80"]{width:80px;height:80px;font:var(--weight-regular) var(--size-32) / 1 var(--type-display)}.lodnor-avatar[data-ring=true]{box-shadow:inset 0 0 0 var(--stroke-heavy) var(--line-ink)}.lodnor-avatar__photo{object-fit:cover;width:100%;height:100%}
.lodnor-upvote{align-items:center;gap:var(--space-3);min-width:var(--touch-min);min-height:var(--control-h);padding:0 var(--space-5);color:var(--text-display);font:var(--weight-semibold) var(--size-14) / 1 var(--type-core);font-variant-numeric:var(--numeric);background:var(--surface-card);border:var(--stroke-thin) solid var(--line-rule);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-control);flex:none;display:inline-flex}.lodnor-upvote[data-size=sm]{min-height:var(--control-h-sm);font-size:var(--size-13);position:relative}.lodnor-upvote[data-size=sm]:before{content:"";inset:calc((var(--control-h-sm) - var(--touch-min)) / 2) 0;position:absolute}.lodnor-upvote:hover{border-color:var(--line-strong)}.lodnor-upvote[aria-pressed=true]{color:var(--lodnor-on-solid);background:var(--action-solid);border-color:var(--action-solid)}.lodnor-upvote[aria-pressed=true] .lodnor-upvote__icon{transform:translateY(-1px)}.lodnor-upvote__icon{transition:transform var(--dur-base) var(--ease-draw)}.lodnor-upvote:focus-visible{outline:var(--ring-focus-outline);outline-offset:var(--ring-focus-offset)}
.lodnor-timeline{margin:0;padding:0;list-style:none;position:relative}.lodnor-timeline__item{grid-template-columns:var(--space-7) minmax(0, 1fr);gap:var(--space-5);display:grid}.lodnor-timeline__spine{flex-direction:column;align-items:center;display:flex}.lodnor-timeline__dot{box-sizing:border-box;background:var(--surface-card);border:var(--stroke-heavy) solid var(--line-ink);border-radius:var(--radius-full);width:11px;height:11px;margin-top:18px}.lodnor-timeline__item[data-current=true] .lodnor-timeline__dot{background:var(--line-ink)}.lodnor-timeline__line{width:var(--stroke-hair);background:var(--line-rule);flex:1}.lodnor-timeline__item:last-child .lodnor-timeline__line{background:linear-gradient(var(--line-rule), transparent)}.lodnor-timeline__row{gap:var(--space-5);width:100%;margin:0 0 var(--space-3);color:inherit;font:inherit;text-align:start;border-radius:var(--radius-2);transition:background-color var(--dur-base) var(--ease-standard);background:0 0;border:0;grid-template-columns:84px minmax(0,1fr);padding:10px;text-decoration:none;display:grid}.lodnor-timeline__row:not(:has(.lodnor-timeline__thumb)){grid-template-columns:minmax(0,1fr)}.lodnor-timeline__item[data-current=true] .lodnor-timeline__row{background:var(--surface-card)}a.lodnor-timeline__row,button.lodnor-timeline__row{cursor:pointer}a.lodnor-timeline__row:hover,button.lodnor-timeline__row:hover:not(:disabled){background:var(--action-quiet-hover)}a.lodnor-timeline__row:focus-visible,button.lodnor-timeline__row:focus-visible{outline:var(--ring-focus-outline);outline-offset:0}button.lodnor-timeline__row:disabled{cursor:not-allowed;opacity:.6}.lodnor-timeline__thumb{background:var(--vellum-1) center / cover no-repeat;border:var(--stroke-hair) solid var(--line-hair);border-radius:6px;width:84px;height:58px}.lodnor-timeline__text{flex-direction:column;gap:3px;min-width:0;display:flex}.lodnor-timeline__title{color:var(--text-display);font:var(--weight-semibold) var(--size-14) / 1.3 var(--type-core)}.lodnor-timeline__when{color:var(--text-secondary);font-weight:var(--weight-regular)}.lodnor-timeline__caption{color:var(--text-secondary);font:var(--weight-regular) var(--size-13) / 1.4 var(--type-core)}.lodnor-timeline__quote{color:var(--text-body);font:var(--weight-regular) var(--size-15) / 1.35 var(--type-display)}
.app-shell{--app-shell-header-h:var(--topbar-h);--app-shell-tabbar-h:60px;min-height:100dvh;color:var(--text-body);font-family:var(--font-sans);background:var(--surface-page);flex-direction:column;display:flex}.app-shell-body{flex-direction:column;flex:auto;min-width:0;display:flex;position:relative}.app-shell-main{min-width:0;min-height:0;animation:lodnor-screen-in var(--dur-screen) ease-out;flex-direction:column;flex:auto;display:flex}.app-shell-main:focus{outline:none}.app-shell-main>.lodnor-sheet{width:100%;min-width:0;box-shadow:none;flex:auto}.app-shell-header{z-index:30;flex:0 0 var(--app-shell-header-h);align-items:center;gap:var(--space-4);height:var(--app-shell-header-h);background:var(--surface-page);border-bottom:var(--stroke-hair) solid var(--line-hair);padding:0 clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.app-shell-mark{width:var(--touch-min);height:var(--touch-min);color:var(--text-display);border-radius:var(--radius-1);transition:background-color var(--dur-fast) var(--ease-standard);flex:none;justify-content:center;align-items:center;margin-left:-6px;display:flex}.app-shell-mark .lodnor-brand-mark{width:32px;height:32px}.app-shell-mark:hover{background:var(--action-quiet-hover)}.app-shell-nav{gap:var(--space-2);margin-left:var(--space-7);display:flex}.app-shell-nav-link{align-items:center;gap:var(--space-4);height:var(--space-10);padding:0 var(--space-6);color:var(--text-secondary);font:var(--weight-medium) var(--size-15) / 1 var(--font-sans);border-radius:var(--radius-full);transition:background-color var(--dur-base) var(--ease-standard), color var(--dur-base) var(--ease-standard);text-decoration:none;display:flex;position:relative}.app-shell-nav-link:before{content:"";position:absolute;inset:-2px 0}.app-shell-nav-link:hover{color:var(--text-display);background:var(--action-quiet-hover)}.app-shell-nav-link[data-current=true]{color:var(--text-display);background:var(--surface-sunk)}.app-shell-badge{box-sizing:border-box;min-width:18px;height:18px;color:var(--text-on-accent);font:var(--weight-semibold) 11px / 18px var(--font-sans);font-variant-numeric:var(--numeric);text-align:center;background:var(--action-accent);border-radius:var(--radius-full);padding:0 5px}.app-shell-spacer{flex:1}.app-shell-new{flex:none}.app-shell-account{width:var(--touch-min);height:var(--touch-min);margin-left:var(--space-4);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.app-shell-account:hover .lodnor-avatar,.app-shell-account[aria-expanded=true] .lodnor-avatar{background:var(--action-quiet-press)}.app-shell-mark:focus-visible,.app-shell-nav-link:focus-visible,.app-shell-account:focus-visible,.app-shell-gauge:focus-visible,.app-shell-tab:focus-visible,.app-shell-tabbar-job:focus-visible,.app-shell-phonebar-back:focus-visible{outline:var(--ring-focus-outline);outline-offset:var(--ring-focus-offset)}.app-shell-gauge-tooltip{flex:none}.app-shell-gauge{align-items:center;gap:var(--space-4);height:var(--control-h-sm);padding:0 var(--space-5);color:var(--text-secondary);font:var(--weight-medium) var(--size-13) / 1 var(--font-sans);border:var(--stroke-thin) solid var(--line-hair);border-radius:var(--radius-full);transition:background-color var(--dur-fast) var(--ease-standard);text-decoration:none;display:inline-flex}.app-shell-gauge:hover{color:var(--text-display);background:var(--action-quiet-hover)}.app-shell-gauge-dot{background:var(--line-measure);border-radius:var(--radius-full);width:6px;height:6px;animation:lodnor-breathe var(--dur-breathe) ease-in-out infinite;flex:none}.app-shell-gauge-pct{color:var(--text-measure);font-variant-numeric:var(--numeric)}.app-shell-gauge-track{background:var(--line-hair);border-radius:var(--radius-full);width:36px;height:2px;display:block}.app-shell-gauge-track:after{content:"";width:var(--job,0%);background:var(--line-measure);border-radius:inherit;max-width:100%;height:100%;display:block}.app-shell-tabbar,.app-shell-phonebar{display:none}@media (max-width:720px){.app-shell{--lodnor-toast-inset-bottom:calc(var(--app-shell-tabbar-h) + 28px)}.app-shell-header{display:none}.app-shell[data-chrome=app]:not([data-presentation=editor]) .app-shell-body{padding-bottom:calc(var(--app-shell-tabbar-h) + var(--space-4) + env(safe-area-inset-bottom,0px))}.app-shell-tabbar{z-index:30;padding:var(--space-2) var(--space-4) calc(var(--space-2) + env(safe-area-inset-bottom,0px));background:var(--surface-stock);border-top:var(--stroke-thin) solid var(--line-rule);display:block;position:fixed;inset:auto 0 0}.app-shell-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.app-shell-tab{justify-content:center;align-items:center;gap:var(--space-2);min-height:52px;color:var(--text-secondary);font:var(--weight-medium) var(--size-12) / 15px var(--font-sans);border-radius:var(--radius-1);cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;text-decoration:none;display:flex;position:relative}.app-shell-tab[data-current=true]{color:var(--text-display);background:var(--surface-sunk)}.app-shell-tab[data-current=true]>svg{color:var(--text-accent)}.app-shell-tab .app-shell-badge{top:var(--space-2);min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;position:absolute;right:calc(50% - 20px)}.app-shell-tabbar-job{align-items:center;gap:var(--space-4);min-height:var(--control-h-sm);margin:0 var(--space-2) var(--space-2);padding:0 var(--space-5);color:var(--text-secondary);font:var(--weight-medium) var(--size-13) / 1.2 var(--font-sans);border-radius:var(--radius-1);text-decoration:none;display:flex;position:relative;overflow:hidden}.app-shell-tabbar-job:after{content:"";width:var(--job,0%);background:var(--line-measure);height:2px;position:absolute;inset:auto auto 0 0}.app-shell-tabbar-job-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-shell[data-presentation=editor] .app-shell-phonebar{align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--surface-page);border-bottom:var(--stroke-hair) solid var(--line-hair);flex:0 0 56px;display:flex}.app-shell-phonebar-back{width:var(--touch-min);height:var(--touch-min);color:var(--text-display);border-radius:var(--radius-full);justify-content:center;align-items:center;display:flex}.app-shell-phonebar-title{min-width:0;color:var(--text-display);font:var(--weight-semibold) var(--size-17) / 1.2 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.app-shell[data-presentation=editor]{--lodnor-toast-inset-bottom:var(--space-6)}}.app-shell[data-presentation=editor]{height:100dvh;overflow:hidden}.app-shell[data-presentation=editor] .app-shell-header{position:relative}.app-shell[data-presentation=editor] .app-shell-body{flex:1 1 0;min-height:0}.app-shell[data-presentation=editor] .app-shell-main{animation:none}.lt-app{background:var(--surface-stock);flex-direction:column;min-height:100dvh;display:flex}.lt-page{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.lt-page>.lodnor-sheet{width:100%;min-width:0;box-shadow:none;flex:auto}.lt-mark{text-indent:0;width:fit-content;max-width:100%;color:var(--text-display);line-height:0;text-decoration:none;display:inline-flex}.lodnor-state.workspace-state{width:min(720px,100%);min-height:0;box-shadow:none;background:0 0;border:0;flex:none;align-self:flex-start;gap:16px;padding:clamp(32px,6vw,80px) clamp(20px,4vw,56px)}.workspace-state-label{color:var(--text-display);font:500 18px / 1.4 var(--font-sans);margin:0}.workspace-state-icon{color:var(--text-secondary)}.workspace-state .lodnor-heading-2{letter-spacing:-.035em;max-width:22ch;font-size:clamp(26px,3vw,36px);font-weight:550}.workspace-state .lodnor-lead{overflow-wrap:anywhere;margin:0;font-size:16px}.workspace-state .lodnor-state-actions{margin-top:8px}@media (max-width:720px){.app-shell .workspace-state{padding:32px 20px}}.lt-error-reference{color:var(--text-secondary);overflow-wrap:anywhere;flex-basis:100%;font-size:14px;line-height:1.5}
.pocket-builder{--pocket-ink:#304333;--pocket-paper:#f3f0df;--pocket-accent:#a6442c;background:var(--pocket-paper);color:var(--pocket-ink);border:1px solid #c9ceb7;padding:clamp(16px,3vw,32px)}.pocket-heading,.pocket-bottom{justify-content:space-between;align-items:center;gap:12px;display:flex}.pocket-heading h2{font:550 clamp(26px, 3vw, 38px) / 1.1 var(--font-sans);letter-spacing:-.04em;margin:5px 0 0}.pocket-kicker,.pocket-intro,.pocket-instructions,.pocket-message,.pocket-footnote{font:400 13px / 1.5 var(--font-sans);margin:0}.pocket-kicker{color:var(--pocket-accent)}.pocket-intro{max-width:46ch;margin:14px 0 20px;font-size:15px}.pocket-toolbar{gap:8px;display:flex}.pocket-toolbar button{min-height:48px;color:var(--pocket-ink);font:500 13px / 1 var(--font-sans);cursor:pointer;background:#fbf9ef;border:1px solid #bbc3ad;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:4px;padding:4px 8px;display:flex}.pocket-toolbar button[aria-pressed=true]{color:#fff9e9;background:#304333;border-color:#304333}.pocket-toolbar svg{width:30px;height:36px}.pocket-eraser{width:24px;font-size:28px}.pocket-instructions{margin-top:14px}.pocket-land{background:#dfe5cd;border-radius:12px;grid-template-columns:repeat(5,minmax(0,1fr));max-width:460px;margin:14px auto;padding:10px;display:grid}.pocket-plot{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:5px;min-width:0;min-height:44px;padding:0}.pocket-plot svg{width:100%;max-height:78px;transition:transform .15s;display:block}.pocket-plot:hover svg{transform:translateY(-3px)}.pocket-plot[data-piece=home] svg,.pocket-plot[data-piece=tree] svg,.pocket-plot[data-piece=pond] svg{animation:.18s ease-out pocket-place}.pocket-builder button:focus-visible{outline:3px solid var(--pocket-accent);outline-offset:3px}.pocket-message{align-items:center;min-height:40px;display:flex}.pocket-goals{border-top:1px solid #c9ceb7;grid-template-columns:1fr 1fr;gap:10px 16px;margin:12px 0 0;padding:14px 0 0;list-style:none;display:grid}.pocket-goals li{font:400 13px / 1.4 var(--font-sans);gap:8px;display:flex}.pocket-goals li[data-complete=true]{color:#315f3c;font-weight:650}.pocket-footnote{margin-top:18px;font-size:12px}.trace-play-status{border:1px solid var(--line-rule);background:var(--surface-sketch);grid-area:playstatus;padding:16px 20px}.trace-play-status p{margin:4px 0 0}.trace-sheet:has(.pocket-builder){grid-template-areas:"head head""playstatus playstatus""source status""stages status"}.trace-sheet:has(.pocket-builder) .trace-progress-value{font-size:24px}.trace-sheet:has(.pocket-builder) .trace-percent-unit{font-size:16px}.trace-source-disclosure{margin-top:20px}.trace-source-disclosure>summary{cursor:pointer;min-height:44px;font:500 14px / 1.4 var(--font-sans);padding:12px 0;display:list-item}@keyframes pocket-place{0%{transform:translateY(-6px)}to{transform:translateY(0)}}@media (max-width:899px){.trace-sheet:has(.pocket-builder){grid-template-areas:"head""playstatus""source""status""stages"}}@media (max-width:420px){.pocket-toolbar button{flex-direction:column;padding:6px 2px}.pocket-goals{grid-template-columns:1fr}.pocket-land{padding:2px}}@media (prefers-reduced-motion:reduce){.pocket-plot svg{transition:none;animation:none!important}.pocket-plot:hover svg{transform:none}}
