:root{--sumi:#1f1d1a;--nibi:#3a3631;--gofun:#f3efe6;--kinari:#ece5d6;--shu:#c8442d;--aku:#a39c8e;--ink-soft:#5b544a;--mincho:"Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--gothic:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;--phone:480px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--sumi);height:100%;color:var(--gofun);font-family:var(--gothic);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.7}body{overscroll-behavior:none;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}h1,h2,h3,p,dl,dd,ul{margin:0}:focus-visible{outline:2px solid var(--shu);outline-offset:2px}.app{grid-template-columns:1fr minmax(0, var(--phone)) 1fr;height:100dvh;display:grid;overflow:hidden}.phone{flex-direction:column;grid-column:2;min-width:0;height:100dvh;display:flex;position:relative;overflow:hidden}@media (width>=600px){.phone{border-inline:1px solid var(--nibi)}}.side-note{display:none}@media (width>=960px){.side-note{max-width:340px;color:var(--aku);grid-area:1/1;place-self:end;padding:40px 48px 48px 32px;font-size:15px;display:block}.side-title{font-family:var(--mincho);color:var(--gofun);margin-bottom:8px;font-size:22px}.keys{grid-template-columns:auto 1fr;gap:4px 16px;margin-top:20px;display:grid}.keys dt{color:var(--gofun);white-space:nowrap}.keys dd{white-space:nowrap}}.skip-link{z-index:50;background:var(--kinari);color:var(--sumi);border:0;padding:8px 12px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.topbar{padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--nibi);flex:none}.topbar-row{justify-content:space-between;align-items:center;padding:8px 8px 0 16px;display:flex}.logo{font-family:var(--mincho);letter-spacing:.08em;font-size:21px;font-weight:700;line-height:1.4}.logo a{color:inherit;text-decoration:none}.fav-link{min-height:44px;color:var(--gofun);background:0 0;border:0;align-items:center;gap:6px;padding:0 12px;font-size:16px;text-decoration:none;display:inline-flex}.fav-link svg{color:var(--shu)}.topbar-links{align-items:center;display:flex}.info-link{min-width:44px;min-height:44px;color:var(--gofun);justify-content:center;align-items:center;display:inline-flex}.info-link svg{color:var(--gofun);opacity:.8}.about-body{max-width:40em;padding:8px 20px 40px;font-size:16px;line-height:1.8}.about-body h2{font-family:var(--mincho);margin:24px 0 8px;font-size:19px}.about-body p,.about-body li{margin:0 0 8px}.about-body ol,.about-body ul{padding-left:1.4em}.about-body a{color:inherit}.tabs{touch-action:pan-x;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain;--fade-l:0px;--fade-r:0px;-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent);-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent);padding:0 8px;scroll-padding-inline:8px;display:flex;overflow-x:auto}.tabs[data-more-left]{--fade-l:28px}.tabs[data-more-right]{--fade-r:40px}.tabs::-webkit-scrollbar{display:none}.tab:hover,.icon-button:hover,.fav-link:hover{color:var(--gofun)}.favorites .icon-button:hover,.sheet .icon-button:hover{color:var(--shu)}.tab{min-height:44px;color:var(--aku);white-space:nowrap;scroll-snap-align:start;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;padding:0 10px;font-size:15px;text-decoration:none;display:inline-flex}.tab[aria-current=page]{color:var(--gofun);border-bottom-color:var(--shu)}.feed{touch-action:pan-y;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;outline:none;flex:1;min-height:0;overflow-y:auto}.feed::-webkit-scrollbar{display:none}.slide{-webkit-user-select:none;user-select:none;scroll-snap-align:start;scroll-snap-stop:always;height:100%;padding:12px 16px calc(12px + env(safe-area-inset-bottom));content-visibility:auto;contain-intrinsic-size:auto 100dvh;grid-template-rows:minmax(0,1fr) auto auto;display:grid}.slide-stage{min-height:0;position:relative}.stage-button{background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset:0}.slide-img,.fav-thumb img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.slide-img{-webkit-touch-callout:none;box-shadow:0 14px 28px -16px #000000b3}.img-placeholder{background:var(--nibi);opacity:.35;max-width:100%;height:100%}.img-error{border:1px dashed var(--aku);width:100%;height:100%;min-height:160px;color:var(--gofun);text-align:center;align-content:center;place-items:center;gap:8px;padding:16px;display:grid}.counter{color:var(--aku);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.counter-now{color:var(--shu);font-size:16px;font-weight:700}.zoom-button{width:44px;height:44px;color:var(--gofun);background:#1f1d1ab8;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:4px;right:4px}.zoom-button:hover{color:var(--gofun)}.slide-text{margin-top:14px}.slide-kicker{color:var(--aku);flex-wrap:wrap;gap:0 12px;font-size:14px;display:flex}.slide-cat{color:var(--gofun)}.hook{font-family:var(--mincho);word-break:auto-phrase;overflow-wrap:anywhere;text-wrap:pretty;margin:2px 0 4px;font-size:clamp(22px,6.2vw,27px);font-weight:700;line-height:1.45}.slide-source{color:var(--aku);overflow-wrap:anywhere;font-size:14px}.actions{grid-template-columns:minmax(0,1fr) repeat(3,auto);align-items:center;gap:2px;margin-top:12px;display:grid}.reveal-button{background:var(--kinari);min-height:48px;color:var(--sumi);letter-spacing:.04em;border:0;border-radius:2px;justify-content:center;align-items:center;padding:0 18px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.reveal-button:hover{background:#fff}.icon-button{min-width:48px;min-height:48px;color:inherit;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0 6px;text-decoration:none;display:inline-flex}.icon-label{font-size:12px;line-height:1.2}.fav-button[aria-pressed=true]{color:var(--shu)}.text-button{min-height:44px;color:inherit;text-underline-offset:4px;background:0 0;border:0;padding:0 4px;text-decoration:underline;text-decoration-thickness:1px}.slide-end{text-align:left;grid-template-rows:none;align-content:center;gap:16px;padding:32px 24px}.end-mark{font-family:var(--mincho);color:var(--shu);font-size:64px;line-height:1}.end-title{font-family:var(--mincho);word-break:auto-phrase;font-size:24px;line-height:1.5}.end-text{color:var(--aku)}.end-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.status,.empty{flex:1;align-content:center;justify-items:start;gap:14px;padding:32px 24px;display:grid}.empty-title{font-family:var(--mincho);font-size:22px}.overlay{z-index:20;background:#100e0c99;justify-content:center;align-items:flex-end;animation:.16s ease-out fade;display:flex;position:fixed;inset:0}.sheet{width:min(100%, var(--phone));background:var(--kinari);max-height:88dvh;color:var(--sumi);border-radius:6px 6px 0 0;flex-direction:column;animation:.2s cubic-bezier(.2,.8,.2,1) rise;display:flex}.sheet-head{justify-content:space-between;align-items:center;padding:8px 8px 0 20px;display:flex}.sheet-kicker{font-family:var(--mincho);color:var(--shu);letter-spacing:.2em;font-size:14px;font-weight:700}.sheet-body{overscroll-behavior:contain;padding:0 18px 8px;overflow-y:auto}.sheet-title{font-family:var(--mincho);word-break:auto-phrase;margin-bottom:8px;font-size:19px;line-height:1.45}.sheet-short{font-size:16px;line-height:1.7}.sheet-detail{margin-top:12px;font-size:15px;line-height:1.75}.more-button{color:var(--sumi);margin-top:8px;font-weight:700}.inference{border-left:3px solid var(--aku);background:#1f1d1a0d;margin-top:18px;padding:12px 14px}.inference h3,.record h3{margin-bottom:4px;font-size:15px}.record{border-top:1px solid #1f1d1a33;margin-top:18px;padding-top:12px;font-size:14px;line-height:1.6}.record dl{grid-template-columns:5em minmax(0,1fr);gap:4px 10px;display:grid}.record dt{color:var(--ink-soft)}.record dd{overflow-wrap:anywhere}.record-links{gap:4px;margin-top:12px;padding:0;list-style:none;display:grid}.record-links a{color:var(--sumi);text-underline-offset:4px;padding:6px 0;display:inline-block}.attribution{color:var(--ink-soft);overflow-wrap:anywhere;margin-top:8px;font-size:14px}.sheet-actions{padding:8px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #1f1d1a26;align-items:center;gap:4px;display:flex}.sheet-actions .reveal-button{background:var(--sumi);color:var(--gofun);margin-left:auto}.zoom{z-index:30;background:#141210;grid-template-rows:minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.zoom-stage{touch-action:none;cursor:zoom-in;place-items:center;padding:12px;display:grid;overflow:hidden}.zoom-stage[data-zoomed=true]{cursor:grab}.zoom-stage img{object-fit:contain;transform-origin:50%;will-change:transform;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:auto;max-height:100%}.zoom-bar{padding:4px 8px calc(8px + env(safe-area-inset-bottom)) 16px;border-top:1px solid var(--nibi);justify-content:space-between;align-items:center;gap:8px;display:flex}.zoom-title{font-family:var(--mincho);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.zoom-controls{flex:none;display:flex}.zoom-sign{font-size:24px;line-height:1}.favorites{background:var(--kinari);min-height:0;color:var(--sumi);padding-top:env(safe-area-inset-top);flex:1;overflow-y:auto}.favorites-head{background:var(--kinari);border-bottom:1px solid #1f1d1a33;align-items:center;gap:4px;padding:6px 16px 6px 4px;display:flex;position:sticky;top:0}.favorites-head h1{font-family:var(--mincho);font-size:21px}.favorites-count{color:var(--ink-soft);margin-left:auto}.favorites .empty{min-height:60dvh}.favorites .empty .reveal-button{background:var(--sumi);color:var(--gofun)}.fav-list{padding:0;list-style:none}.fav-item{border-bottom:1px solid #1f1d1a26;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-right:12px;display:grid}.fav-open{text-align:left;color:inherit;background:0 0;border:0;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;padding:12px 0 12px 16px;display:grid}.fav-thumb{background:var(--sumi);justify-content:center;align-items:center;width:88px;height:88px;display:flex}.fav-thumb .img-placeholder,.fav-thumb .img-error{min-height:0;font-size:12px}.fav-text{gap:2px;min-width:0;display:grid}.fav-hook{font-family:var(--mincho);font-size:17px;font-weight:700;line-height:1.5}.fav-meta{color:var(--ink-soft);overflow-wrap:anywhere;font-size:14px}.toast-region{left:0;right:0;bottom:calc(96px + env(safe-area-inset-bottom));z-index:40;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--gofun);max-width:min(100%,440px);color:var(--sumi);border-radius:3px;gap:6px;padding:10px 16px;animation:.16s ease-out fade;display:grid;box-shadow:0 8px 24px -10px #0009}.toast-url{border:1px solid var(--aku);width:100%;color:var(--sumi);background:#fff;padding:6px 8px;font-size:16px}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@keyframes fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation:none!important}}@media (height<=700px){.topbar-row{padding:2px 4px 0 12px}.logo{font-size:18px}.fav-link{min-height:40px}.tab{min-height:40px;font-size:14px}.slide{padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.slide-text{margin-top:8px}.slide-kicker{font-size:13px}.hook{margin:0 0 2px;font-size:20px;line-height:1.4}.slide-source{font-size:13px}.actions{margin-top:8px}.reveal-button{min-height:44px}.icon-button{min-width:44px;min-height:44px}}@media (width<=360px){.actions .icon-button{padding:0 2px}.reveal-button{padding:0 12px}}.slide-ghost{content-visibility:hidden}.about-missing{background:#b03a2e1f;padding:0 4px}
