@layer components{html.jrn-snap{scroll-snap-type:y proximity}.jrn-slide{scroll-snap-align:start;scroll-margin-top:var(--header-h);min-height:calc(100svh - var(--header-h));display:grid;grid-template-columns:minmax(0,1fr);align-content:center;padding-block:clamp(2.5rem,5vh,4rem) calc(clamp(2.5rem,5vh,4rem) + 4rem);border-top:1px solid var(--color-hair)}.jrn-slide:first-child{border-top:0}.jrn-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}@media(min-width:1024px){.jrn-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(2rem,4vw,3.5rem)}}.jrn-tool{display:inline-flex;align-items:center;gap:.4rem;border:1px solid color-mix(in srgb,var(--color-acc) 35%,transparent);background:color-mix(in srgb,var(--color-acc) 9%,transparent);color:var(--color-accsoft);border-radius:999px;padding:.28rem .7rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.02em}.jrn-tool:before{content:"▸";opacity:.7}.jrn-chat{display:flex;flex-direction:column;gap:.6rem;min-height:9rem;padding:1rem}.jrn-q+.jrn-q{border-top:1px solid var(--color-hair)}.jrn-q-sum{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;cursor:pointer;list-style:none;font-family:var(--font-mono);font-size:.78rem;color:var(--color-muted);transition:color var(--duration-fast) linear,background var(--duration-fast) linear}.jrn-q-sum::-webkit-details-marker{display:none}.jrn-q-sum:hover{color:var(--color-fg);background:color-mix(in srgb,var(--color-acc) 6%,transparent)}.jrn-q[open]>.jrn-q-sum{color:var(--color-fg)}.jrn-q-n{color:var(--color-acc)}.jrn-q-chev{flex:none;margin-left:auto;width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--duration-fast) var(--ease-out)}.jrn-q[open]>.jrn-q-sum .jrn-q-chev{transform:translateY(2px) rotate(-135deg)}.jrn-q>.jrn-chat{min-height:0;padding-top:.25rem}.jrn-msg{display:flex}.js .jrn-msg{opacity:0;transform:translateY(8px);transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.js .jrn-msg.in{opacity:1;transform:none}.jrn-bubble{display:grid;width:fit-content;max-width:92%;padding:.6rem .95rem;font-size:.92rem;line-height:1.45}.jrn-bubble>span{grid-area:1 / 1}.jrn-ghost{visibility:hidden}.jrn-msg[data-who=owner]{justify-content:flex-end}.jrn-msg[data-who=owner] .jrn-bubble{background:color-mix(in srgb,var(--color-acc) 22%,transparent);color:var(--color-fg);border-radius:1rem 1rem .3rem}.jrn-msg[data-who=ai] .jrn-bubble{background:var(--color-panel2);border:1px solid var(--color-hair);color:var(--color-fgsoft);border-radius:1rem 1rem 1rem .3rem}.jrn-caret{display:inline-block;width:.5em;height:1em;margin-left:.15em;vertical-align:-.15em;background:var(--color-accsoft)}@media(prefers-reduced-motion:no-preference){.jrn-caret{animation:tdc-blink 1s steps(2,start) infinite}}@keyframes tdc-blink{to{visibility:hidden}}.js .jrn-panel{opacity:0;transform:translateY(10px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.js .jrn-panel.in{opacity:1;transform:none}.jrn-log{display:grid;gap:.45rem;font-family:var(--font-mono);font-size:.78rem;color:var(--color-muted)}.jrn-log>div{display:grid;grid-template-columns:5.5rem 1fr;gap:.75rem}.jrn-log b{color:var(--color-fg);font-weight:600}.jrn-swatches{display:flex;flex-wrap:wrap;gap:.6rem}.jrn-swatch{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.7rem;color:var(--color-muted)}.jrn-swatch i{width:1.35rem;height:1.35rem;border-radius:6px;border:1px solid rgb(255 255 255 / .18);box-shadow:inset 0 1px #ffffff1f}.jrn-strike{display:inline-flex;align-items:center;border:1px solid var(--color-hair);border-radius:999px;padding:.3rem .7rem;font-size:.78rem;color:var(--color-muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--color-warn) 70%,transparent);text-decoration-thickness:1.5px}.jrn-score{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,4vw,2.8rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.jrn-rail{position:fixed;right:clamp(.6rem,1.6vw,1.25rem);top:50%;transform:translateY(-50%);z-index:30;display:none;flex-direction:column;gap:.15rem}.jrn-snap .jrn-rail{display:flex}@media(max-width:1099px){.jrn-rail{display:none!important}}.jrn-dot{display:flex;align-items:center;gap:.6rem;padding:.32rem .5rem;border-radius:999px;color:var(--color-muted);font-family:var(--font-mono);font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.jrn-dot:before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:999px;background:var(--color-hair2);transition:background var(--duration-fast) linear,transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) linear}.jrn-dot span{opacity:0;transition:opacity var(--duration-fast) linear}.jrn-rail:hover .jrn-dot span,.jrn-dot:focus-visible span,.jrn-dot[data-on=true] span{opacity:1}.jrn-dot[data-on=true]{color:var(--color-fg)}.jrn-dot[data-on=true]:before{background:var(--color-acc);transform:scale(1.35);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-acc) 18%,transparent)}.jrn-bar{position:fixed;left:50%;bottom:1.15rem;transform:translate(-50%);z-index:30;display:none;align-items:center;gap:.35rem;padding:.3rem;border-radius:999px;border:1px solid var(--color-hair2);background:color-mix(in srgb,var(--color-panel) 88%,transparent);backdrop-filter:blur(10px);box-shadow:0 16px 40px -24px #000000e6}.jrn-snap .jrn-bar{display:flex}.jrn-bar button{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:999px;border:0;background:transparent;color:var(--color-fg);cursor:pointer;transition:background var(--duration-fast) linear,color var(--duration-fast) linear}.jrn-bar button:hover{background:color-mix(in srgb,var(--color-acc) 12%,transparent);color:var(--color-accsoft)}.jrn-bar button:disabled{opacity:.35;cursor:default;background:transparent;color:var(--color-fg)}.jrn-bar [data-jrn-count]{min-width:4.4rem;text-align:center;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:var(--color-muted);font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){html.jrn-snap{scroll-snap-type:none}.js .jrn-msg,.js .jrn-panel{opacity:1;transform:none;transition:none}}}
