:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#faf8f4;--bg-card:#faf8f4;--fg:#1c1a16;--fg-muted:#6b655c;--fg-faint:#8c857a;--rule:#ddd6c7;--link:#7a5c2e;--overlay:#1c1a16c7;--overlay-fg:#f7f3ea;--nav-bg:#1c1a160f;--chip-bg:#1c1a160f;--chip-fg:#6b655c;--bar-bg:#faf8f4db;--bar-border:#1c1a161a;--bar-shadow:#1c1a1624;--like:#d4483b;--save:#7a5c2e;--font-fallback-gothic:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, system-ui, sans-serif;--font-fallback-mincho:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, "Yu Mincho Medium", "Source Han Serif JP", "MS PMincho", serif;--font-sans:"Noto Sans JP", var(--font-fallback-gothic);--font-biz-gothic:"BIZ UDPGothic", var(--font-fallback-gothic);--font-serif:"Noto Serif JP", var(--font-fallback-mincho);--font-biz-mincho:"BIZ UDPMincho", var(--font-fallback-mincho);--font-app:var(--font-sans);--body-size:1.0625rem;--body-leading:1.9;--gutter:1.375rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#131210;--bg-card:#131210;--fg:#e8e2d6;--fg-muted:#9c9486;--fg-faint:#7d766a;--rule:#34302a;--link:#cbab74;--overlay:#080807d6;--overlay-fg:#f2ece0;--nav-bg:#e8e2d614;--chip-bg:#e8e2d61a;--chip-fg:#a49b8c;--bar-bg:#1e1c19db;--bar-border:#e8e2d61f;--bar-shadow:#00000073;--like:#e8695c;--save:#cbab74}}html[data-font=biz-gothic]{--font-app:var(--font-biz-gothic)}html[data-font=serif]{--font-app:var(--font-serif)}html[data-font=biz-mincho]{--font-app:var(--font-biz-mincho)}html,body{overscroll-behavior:none;background:var(--bg);height:100%;color:var(--fg);margin:0;overflow:hidden}body{font-family:var(--font-app);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}#root{height:100dvh}*,:before,:after{box-sizing:border-box}a{color:var(--link);text-underline-offset:.2em}.feed{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;height:100dvh;display:flex;overflow:auto hidden}.feed::-webkit-scrollbar{display:none}.card{scroll-snap-align:center;scroll-snap-stop:always;background:var(--bg-card);flex:0 0 100%;justify-content:center;height:100%;display:flex;position:relative;overflow:hidden}.card__scroll{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;outline-offset:-3px;touch-action:manipulation;width:min(100%,40em);height:100%;overflow-y:auto}.card__scroll:focus{outline:none}.card__scroll:focus-visible{outline:2px solid var(--link)}.card__content{padding:calc(env(safe-area-inset-top,0px) + 3.5rem) var(--gutter) calc(env(safe-area-inset-bottom,0px) + 7rem)}.card__header{margin-bottom:2rem}.card__title{margin:0 0 .5rem;font-size:1.375rem;font-weight:700;line-height:1.5}.card__meta{font-family:var(--font-app);color:var(--fg-muted);margin:0;font-size:.8125rem;line-height:1.6}.card__dot{margin:0 .1em}.card__tags{flex-wrap:wrap;gap:.375rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.card__tag{background:var(--chip-bg);color:var(--chip-fg);font-family:var(--font-app);letter-spacing:.06em;white-space:nowrap;border-radius:999px;padding:.3rem .6rem;font-size:.6875rem;line-height:1}.card__body{font-size:var(--body-size);line-height:var(--body-leading);letter-spacing:.02em}.line{white-space:pre-wrap;overflow-wrap:break-word;margin:0}.line--blank{height:calc(var(--body-size) * var(--body-leading))}ruby{ruby-position:over}ruby>rt{color:inherit;letter-spacing:0;font-size:.5em;line-height:1.2}.card__footer{border-top:1px solid var(--rule);font-family:var(--font-app);color:var(--fg-muted);margin-top:3rem;padding-top:1.25rem;font-size:.8125rem;line-height:1.7}.card__source{margin:0}.card__note{color:var(--fg-faint);margin-top:.25rem;font-size:.75rem;display:block}.card__next-hint{color:var(--fg-faint);letter-spacing:.04em;margin:1.5rem 0 0}.action-bar{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);z-index:3;border:1px solid var(--bar-border);background:var(--bar-bg);box-shadow:0 2px 14px var(--bar-shadow);-webkit-backdrop-filter:blur(10px);border-radius:999px;gap:.25rem;padding:.3rem;transition:opacity .22s,transform .22s,visibility .22s;display:flex;position:absolute;transform:translate(-50%)}.action-bar--hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%)translateY(1.5rem)}.action-bar__button{width:2.875rem;height:2.875rem;color:var(--fg-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:999px;place-items:center;padding:0;transition:color .18s,transform .18s;display:grid}.action-bar__button svg{width:1.5rem;height:1.5rem}.action-bar__button:hover{color:var(--fg)}.action-bar__button:active{transform:scale(.9)}.action-bar__button--like.is-on{color:var(--like)}.action-bar__button--save.is-on,.action-bar__button--share.is-on{color:var(--save)}.action-bar__button.is-on{animation:.28s ease-out action-pop}@keyframes action-pop{0%{transform:scale(1)}45%{transform:scale(1.22)}to{transform:scale(1)}}.heart-burst{z-index:4;color:var(--like);pointer-events:none;animation:.72s ease-out forwards heart-burst;position:absolute}.heart-burst svg{width:5.5rem;height:5.5rem;filter:drop-shadow(0 2px 10px var(--bar-shadow));display:block}@keyframes heart-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(-8deg)}22%{opacity:.95;transform:translate(-50%,-50%)scale(1.15)rotate(-8deg)}45%{opacity:.95;transform:translate(-50%,-58%)scale(1)rotate(-6deg)}to{opacity:0;transform:translate(-50%,-130%)scale(.9)rotate(-4deg)}}.nav{background:var(--nav-bg);width:2.75rem;height:4.5rem;color:var(--fg-muted);font-family:var(--font-app);cursor:pointer;border:none;border-radius:.5rem;place-items:center;padding:0;font-size:1.75rem;line-height:1;display:none;position:fixed;top:50%;transform:translateY(-50%)}.nav:hover:not(:disabled){color:var(--fg)}.nav:disabled{opacity:.25;cursor:default}.nav--prev{left:.75rem}.nav--next{right:.75rem}@media (width>=48em){.nav{display:grid}}.top-bar{top:calc(env(safe-area-inset-top,0px) + .5rem);z-index:5;pointer-events:none;justify-content:space-between;align-items:center;gap:.5rem;padding:0 .75rem;display:flex;position:fixed;left:0;right:0}.top-bar__context,.top-bar__settings{border:1px solid var(--bar-border);background:var(--bar-bg);height:2.25rem;box-shadow:0 2px 10px var(--bar-shadow);-webkit-backdrop-filter:blur(10px);color:var(--fg-muted);font-family:var(--font-app);cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:999px;align-items:center;display:flex}.top-bar__context{gap:.25rem;max-width:60%;padding:0 .75rem;font-size:.8125rem}.top-bar__context-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-bar__caret{font-size:.625rem;line-height:1}.top-bar__settings{letter-spacing:.02em;justify-content:center;width:2.25rem;padding:0;font-size:.875rem}.top-bar__context:hover,.top-bar__settings:hover{color:var(--fg)}.top-bar__context:active,.top-bar__settings:active{transform:scale(.96)}.sheet{z-index:20;background:var(--overlay);justify-content:center;align-items:flex-end;animation:.18s ease-out sheet-fade;display:flex;position:fixed;inset:0}.sheet__panel{width:min(100%,30em);max-height:85dvh;padding:1rem var(--gutter) calc(env(safe-area-inset-bottom,0px) + 1.25rem);background:var(--bg);color:var(--fg);font-family:var(--font-app);box-shadow:0 -4px 24px var(--bar-shadow);border-radius:1rem 1rem 0 0;animation:.22s ease-out sheet-rise;overflow-y:auto}.sheet__title{letter-spacing:.08em;color:var(--fg-muted);margin:0 0 .75rem;font-size:.875rem;font-weight:700}.sheet__options{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.font-option{border:1px solid var(--rule);width:100%;color:var(--fg);text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:.75rem;flex-direction:column;gap:.35rem;padding:.75rem 1rem;display:flex}.font-option.is-selected{border-color:var(--link);box-shadow:inset 0 0 0 1px var(--link)}.font-option__name{color:var(--fg-muted);letter-spacing:.04em;font-size:.75rem}.font-option__sample{font-size:1.0625rem;line-height:1.6}.sheet__close{background:var(--nav-bg);width:100%;color:var(--fg-muted);cursor:pointer;touch-action:manipulation;border:none;border-radius:.75rem;margin-top:1rem;padding:.75rem;font-family:inherit;font-size:.875rem}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-rise{0%{transform:translateY(1.5rem)}to{transform:translateY(0)}}.tags-screen{height:100dvh;padding:calc(env(safe-area-inset-top,0px) + .75rem) var(--gutter) calc(env(safe-area-inset-bottom,0px) + 2rem);background:var(--bg);color:var(--fg);font-family:var(--font-app);overflow-y:auto}.tags-screen__header{justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.tags-screen__title{letter-spacing:.04em;margin:0;font-size:1.0625rem;font-weight:700}.tags-screen__close{background:var(--nav-bg);width:2.5rem;height:2.5rem;color:var(--fg-muted);cursor:pointer;touch-action:manipulation;border:none;border-radius:999px;place-items:center;padding:0;font-family:inherit;font-size:1.25rem;line-height:1;display:grid}.tags-screen__loading{color:var(--fg-muted);text-align:center;margin:2rem 0;font-size:.9375rem}.tag-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.tag-list__item{border:1px solid var(--rule);width:100%;min-height:3.25rem;color:var(--fg);text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-family:inherit;font-size:1rem;display:flex}.tag-list__item:active{background:var(--nav-bg)}.tag-list__count{color:var(--fg-faint);flex:none;font-size:.8125rem}.hint{padding:var(--gutter);background:var(--overlay);color:var(--overlay-fg);font-family:var(--font-app);text-align:center;z-index:10;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.hint__panel{max-width:22em}.hint__gesture{width:11rem;height:5.5rem;margin:0 auto 1.25rem;position:relative}.hint__arrow{opacity:.45;width:100%;position:absolute;top:0;left:0}.hint__arrow svg{width:100%;height:auto;display:block}.hint__hand{filter:drop-shadow(0 1px 3px #00000059);width:2.75rem;animation:2.2s ease-in-out infinite hint-swipe;position:absolute;top:2.25rem;left:calc(50% - 1.375rem)}.hint__hand svg{width:100%;height:auto;display:block}@keyframes hint-swipe{0%{opacity:0;transform:translate(3.25rem)rotate(8deg)}15%{opacity:1;transform:translate(2.5rem)rotate(6deg)}70%{opacity:1;transform:translate(-2.5rem)rotate(-6deg)}85%{opacity:0;transform:translate(-3.25rem)rotate(-8deg)}to{opacity:0;transform:translate(-3.25rem)rotate(-8deg)}}.hint__line{letter-spacing:.04em;margin:0 0 .75rem;font-size:1rem;line-height:1.7}.hint__line--main{margin-bottom:1rem;font-size:1.25rem}.hint__button{pointer-events:auto;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;margin-top:1.5rem;padding:.6rem 1.6rem;font-size:.9375rem}.splash{height:100dvh;color:var(--fg-muted);font-family:var(--font-app);place-items:center;font-size:.9375rem;display:grid}.fallback-banner{top:calc(env(safe-area-inset-top,0px) + .4rem);background:var(--nav-bg);color:var(--fg-faint);font-family:var(--font-app);pointer-events:none;z-index:5;border-radius:999px;margin:0;padding:.25rem .75rem;font-size:.6875rem;position:fixed;left:50%;transform:translate(-50%)}.toast{top:calc(env(safe-area-inset-top,0px) + 3.25rem);background:var(--overlay);max-width:min(90vw,22rem);color:var(--overlay-fg);font-family:var(--font-app);text-align:center;pointer-events:none;z-index:6;border-radius:999px;margin:0;padding:.5rem 1rem;font-size:.8125rem;animation:.18s ease-out toast-in;position:fixed;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-.4rem)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.feed{scroll-behavior:auto}.toast{animation:none}.hint__hand{animation:none;transform:translate(-2.5rem)}.hint__arrow{opacity:.7}.sheet,.sheet__panel{animation:none}.action-bar{transition:opacity .01ms}.action-bar__button.is-on{animation:none}.heart-burst{animation-duration:.3s}}
