:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12100c;--bg-2:#1a1712;--line:#efe4cc24;--text:#efe4cc;--text-2:#c9bc9f;--muted:#8f8571;--gold:#c9a35a;--accent:#8a2b1f;--serif:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--sans:system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);font:16px/1.8 var(--sans);flex-direction:column;min-height:100vh;margin:0;display:flex}main{outline:none;flex:1}a{color:var(--gold)}a:hover{color:#e6c27a}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--serif);letter-spacing:.05em;font-weight:600;line-height:1.4}.muted{color:var(--muted)}.skip{color:#fff;z-index:100;background:#000;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}#site-header{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#12100ce0;position:sticky;top:0}#site-header .bar{align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:12px 24px;display:flex}.logo{color:var(--text);font-family:var(--serif);letter-spacing:.25em;align-items:center;gap:10px;font-size:1.05rem;text-decoration:none;display:inline-flex}.logo .mark{border-left:3px solid var(--gold);border-top:3px solid var(--gold);width:22px;height:22px;position:relative}.logo .mark:after{content:"";background:var(--accent);width:12px;height:12px;position:absolute;bottom:-2px;right:-2px}.logo.small{font-size:.9rem}nav{gap:6px;margin-left:auto;display:flex}nav a{color:var(--text-2);white-space:nowrap;border-radius:6px;padding:6px 12px;text-decoration:none}.logo{white-space:nowrap;flex:none}nav{min-width:0}nav a{flex:none}nav .user{text-overflow:ellipsis;vertical-align:bottom;max-width:10em;display:inline-block;overflow:hidden}#main:focus,#main:focus-visible{outline:none}nav a:hover{color:var(--text);background:#ffffff0d}nav a[aria-current=page]{color:var(--text);box-shadow:inset 0 -2px 0 var(--gold);border-radius:0}#site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:64px;font-size:.9rem}#site-footer .inner{flex-wrap:wrap;justify-content:space-between;gap:48px;max-width:1200px;margin:0 auto;padding:32px 24px 8px;display:flex}#site-footer ul{margin:0;padding:0;list-style:none}#site-footer .links{flex-wrap:wrap;gap:48px;display:flex}#site-footer li+li{margin-top:4px}#site-footer .copy{max-width:1200px;margin:0 auto;padding:8px 24px 32px;font-size:.8rem}.page{max-width:1200px;margin:0 auto;padding:40px 24px}.page.narrow{max-width:720px}main.wide .page,main.wide>div{max-width:1320px}.btn{cursor:pointer;font:inherit;letter-spacing:.05em;color:var(--text);background:#ffffff0a;border:1px solid #efe4cc4d;border-radius:8px;align-items:center;gap:10px;padding:10px 20px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.btn:hover{color:var(--text);background:#ffffff17}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:#a3392a;transform:translateY(-1px)}.btn.big{padding:14px 32px;font-size:1.1rem}.btn.danger{color:#f0a0a0;border-color:#d03b3b99}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn .price{opacity:.9;border-left:1px solid #fff6;padding-left:8px;font-weight:400}.badges{flex-wrap:wrap;gap:6px;display:flex}.badge{border:1px solid var(--line);color:var(--text-2);letter-spacing:.05em;white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.75rem}.badge.free{color:var(--gold);border-color:#c9a35a99}.badge.paid{color:var(--text);border-color:#efe4cc66}.badge.soon{color:var(--text);background:#ffffff14}.badge.owned{color:#8fd18f;border-color:#0ca30c99}.badge.plain{color:var(--muted);border-color:#0000}.notice{border-left:3px solid var(--gold);background:#c9a35a14;margin-bottom:20px;padding:12px 16px}.note{color:var(--muted);margin:8px 0 0;font-size:.85rem}.loading{place-items:center;height:60vh;display:grid}.loading:after{content:"";border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.typo-cover{aspect-ratio:16/9;text-align:center;background:radial-gradient(ellipse at 50% 120%, color-mix(in srgb, var(--accent) 45%, transparent), transparent 70%), linear-gradient(160deg, #221d16, #110f0b);border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;display:flex;position:relative;overflow:hidden}.typo-cover:before{content:"";border:1px solid #efe4cc26;position:absolute;inset:10px}.typo-cover .author,.typo-cover .year{letter-spacing:.3em;color:var(--text-2);font-size:.75rem}.typo-cover .name{font-family:var(--serif);letter-spacing:.2em;padding-left:.2em;font-size:clamp(1.3rem,3vw,2rem)}.hero{border-bottom:1px solid var(--line);align-items:flex-end;min-height:540px;display:flex;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{object-fit:cover;width:100%;height:100%;animation:30s ease-out forwards kenburns}.hero-media:after{content:"";background:linear-gradient(90deg, #12100cf2 0%, #12100cb3 40%, #12100c1a 75%), linear-gradient(0deg, var(--bg), transparent 40%);position:absolute;inset:0}@keyframes kenburns{0%{transform:scale(1.08)}to{transform:scale(1)}}.hero-text{width:100%;max-width:1200px;margin:0 auto;padding:64px 24px 56px;position:relative}.hero-text>*{max-width:560px;animation:.9s backwards rise}.hero-text h1{animation-delay:.1s}.hero-text .lead{animation-delay:.2s}.hero-text .cta{animation-delay:.3s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.eyebrow{color:var(--gold);letter-spacing:.35em;font-family:var(--serif);margin:0}.hero h1{letter-spacing:.15em;margin:8px 0 12px;font-size:clamp(2.4rem,6vw,4rem)}.hero h1 small{letter-spacing:.2em;color:var(--text-2);margin-top:4px;font-size:.35em;display:block}.hero .lead{color:var(--text-2);font-size:1.05rem}.cta{flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;display:flex}.cta .hint{flex-wrap:wrap;gap:6px;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-head h2{margin:0;font-size:1.6rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{font:inherit;border:1px solid var(--line);color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;padding:4px 14px;font-size:.9rem}.chips button[aria-selected=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.grid .empty{color:var(--muted)}.card a{height:100%;color:inherit;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:block;overflow:hidden}.card a:hover{border-color:#c9a35a80;transform:translateY(-4px);box-shadow:0 16px 40px #0006}.card .thumb{aspect-ratio:16/9;overflow:hidden}.card .thumb img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.card a:hover .thumb img{transform:scale(1.05)}.card.coming_soon .thumb{filter:saturate(.6)}.card .body{padding:16px 18px 20px}.card h3{margin:10px 0 0;font-size:1.3rem}.card .sub{color:var(--text-2);margin:0;font-size:.9rem}.card .orig,.card .meta{color:var(--muted);margin:6px 0 0;font-size:.82rem}.about{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;margin-top:64px;padding:32px}.about h2{margin-top:0}.about p{color:var(--text-2);margin-bottom:0}.title-page{max-width:1200px;margin:0 auto;padding:40px 24px}.title-top{grid-template-columns:1.4fr 1fr;align-items:start;gap:40px;display:grid}.title-media img,.title-media .typo-cover{border:1px solid var(--line);aspect-ratio:16/9;object-fit:cover;border-radius:12px;width:100%;box-shadow:0 20px 60px #00000080}.title-info h1{letter-spacing:.12em;margin:12px 0 0;font-size:clamp(2rem,4vw,2.8rem)}.title-info .sub{color:var(--text-2);margin:0 0 16px}.facts{gap:6px;margin:0 0 24px;display:grid}.facts div{grid-template-columns:6em 1fr;gap:12px;font-size:.92rem;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.action{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;padding:20px}.title-body{max-width:760px;margin-top:48px}.title-body .lead{color:var(--text);font-size:1.1rem}.title-body p{color:var(--text-2)}.features{color:var(--text-2);padding-left:1.2em}.features li::marker{color:var(--gold)}.tags{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.9rem;display:flex}.checkout{text-align:center}.checkout .order{border-collapse:collapse;text-align:left;min-width:320px;margin:24px auto}.checkout .order th,.checkout .order td{border-bottom:1px solid var(--line);padding:10px 16px}.checkout .order th{color:var(--muted);font-weight:400}.checkout .cta{justify-content:center}.checkout .purchase-terms{margin:16px auto 0}.loading.small{height:80px}.test-banner{color:#f5d28a;background:#fab2190f;border:1px dashed #fab21999;border-radius:8px;padding:12px 16px}.done-mark{color:#8fd18f;background:#0ca30c26;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto;font-size:2rem;animation:.5s cubic-bezier(.3,1.6,.5,1) pop;display:grid}@keyframes pop{0%{opacity:0;transform:scale(.4)}}.tabs{border-bottom:1px solid var(--line);margin-bottom:24px;display:flex}.tabs button{font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--gold)}.form{gap:16px;display:grid}.form label{color:var(--text-2);gap:6px;font-size:.9rem;display:grid}.form input{font:inherit;border:1px solid var(--line);color:var(--text);background:#0d0b08;border-radius:8px;padding:10px 12px}.form input:focus{border-color:var(--gold);outline:none}.form small{color:var(--muted)}.form[data-mode=login] .reg-only{display:none}.form .error{color:#f0a0a0;min-height:1.4em;margin:0}.account h2{margin-top:40px;font-size:1.25rem}.account .sub{color:var(--muted);margin-top:0}.library{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding:0;list-style:none;display:grid}.library a{color:inherit;border:1px solid var(--line);background:var(--bg-2);border-radius:10px;text-decoration:none;display:block;overflow:hidden}.library img,.library .typo-cover{aspect-ratio:16/9;object-fit:cover;width:100%}.library span{justify-content:space-between;padding:8px 12px;display:flex}.library small{color:var(--gold)}table.list{border-collapse:collapse;width:100%;font-size:.9rem}table.list th,table.list td{text-align:left;border-bottom:1px solid var(--line);padding:8px 10px}table.list th{color:var(--muted);font-weight:400}.consent-box{border:1px solid var(--line);background:var(--bg-2);border-radius:10px;padding:16px 20px}.consent-box p:first-child{margin-top:0}.prose h2{margin-top:36px;font-size:1.25rem}.prose p,.prose li{color:var(--text-2)}.draft-banner{color:#f5d28a;background:#fab2190f;border:1px dashed #fab21999;border-radius:8px;margin:16px 0 8px;padding:12px 16px}.placeholder{color:#f5d28a;background:#fab21914;border:1px dashed #fab219b3;border-radius:4px;padding:0 6px;font-size:.9em;display:inline-block}.legal-table{border-collapse:collapse;width:100%;margin:24px 0}.legal-table th,.legal-table td{border-bottom:1px solid var(--line);vertical-align:top;text-align:left;padding:12px 16px}.legal-table th{width:30%;color:var(--muted);font-weight:400}.legal-table td{color:var(--text-2)}.legal-links{margin-top:32px}.purchase-terms{color:var(--muted);max-width:46ch;margin:8px 0 0;font-size:.8rem}@media (width<=560px){.legal-table th,.legal-table td{width:auto;padding:6px 0;display:block}.legal-table th{border-bottom:0;padding-top:14px}}#toasts{z-index:50;gap:8px;display:grid;position:fixed;bottom:16px;right:16px}.toast{border:1px solid var(--line);background:#2a241b;border-radius:8px;padding:10px 16px;transition:opacity .5s;animation:.3s rise;box-shadow:0 8px 24px #0006}.toast.error{border-color:#d03b3b99}.toast.out{opacity:0}@media (width<=820px){#site-header .bar{gap:12px;padding:10px 16px}.logo span:last-child{letter-spacing:.15em;font-size:.95rem}nav{gap:2px}nav a{padding:6px 8px;font-size:.92rem}nav .user{max-width:6.5em}nav .lang select{margin-left:2px;padding:4px}.hero{min-height:480px}.hero-media:after{background:linear-gradient(#12100c4d,#12100cfa 70%)}.title-top{grid-template-columns:1fr;gap:24px}.page,.title-page{padding:28px 16px}.about{padding:20px}}@media (height<=500px){.hero{min-height:0}.hero-text{padding:28px 24px 24px}.hero h1{margin:4px 0 6px;font-size:2rem}.hero .lead{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 10px;font-size:.92rem;line-height:1.6;display:-webkit-box;overflow:hidden}.title-page{padding-top:16px}.title-top{gap:20px}.title-info{flex-direction:column;display:flex}.title-info h1{margin-top:4px;font-size:1.7rem}.title-info .sub{margin-bottom:8px}.title-info .action{order:1;margin-bottom:12px}.title-info .facts{order:2}}html[lang=en] .hero h1,html[lang=en] .title-info h1{letter-spacing:.02em}html[lang=en] .eyebrow,html[lang=en] .hero h1 small{letter-spacing:.12em}html[lang=en] .logo,html[lang=en] .logo span:last-child{letter-spacing:.06em}@media (width<=420px){nav .lang select{max-width:6.2em}}@media (width<=480px){#site-header:has(a[href=\/admin]) .logo span:last-child{display:none}}#toasts{pointer-events:none;max-width:calc(100vw - 32px)}.form input:focus-visible,nav .lang select:focus-visible{box-shadow:0 0 0 2px var(--gold)}@media (pointer:coarse){nav a,.logo{align-items:center;min-height:44px;display:inline-flex}nav .lang select{min-height:44px}.chips button{min-height:44px;padding:4px 16px}#site-footer ul a{padding:10px 0;display:inline-block}.btn{min-height:44px}p.note a{padding:10px 0;display:inline-block}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.mfa-box .inline-form{max-width:420px}.mfa-box .steps{gap:12px;padding-left:1.4em;display:grid}.mfa-box .mfa-qr{background:#fff;border-radius:6px;width:200px;height:200px;margin:8px 0}.mfa-box .mfa-qr svg{width:100%;height:100%;display:block}.mfa-box .secret{letter-spacing:.08em;border:1px solid var(--line);-webkit-user-select:all;user-select:all;word-break:break-all;background:#0d0b08;border-radius:6px;padding:6px 10px;font-size:1.05rem;display:inline-block}nav{align-items:center}nav .lang select{font:inherit;color:var(--text-2);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;margin-left:6px;padding:4px 8px;font-size:.85rem}nav .lang select:hover,nav .lang select:focus{color:var(--text);border-color:var(--gold);outline:none}nav .lang option{color:#000}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bx{vertical-align:-.125em;flex:none;display:inline-block}.done-mark .bx{vertical-align:0;font-size:1em}
