:root{--ink:#111;--sub:#777;--faint:#aaa;--line:#e6e2dc;--line-dark:#111;--paper:#fff;--paper2:#faf9f7;--red:#c8102e;--serif:"Shippori Mincho B1","Hiragino Mincho ProN",serif;--latin:"Cormorant Garamond","Shippori Mincho B1",serif;--sans:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased;letter-spacing:.02em}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}iframe,img{max-width:100%}.wrap{max-width:1040px;margin:0 auto;padding:0 20px}.site-head{border-bottom:1px solid var(--line-dark)}.site-head .inner{display:flex;flex-direction:column;align-items:center;padding:44px 20px 0}.brand-en{font-family:var(--latin);font-style:italic;font-weight:500;font-size:13px;letter-spacing:.42em;color:var(--sub);text-transform:uppercase;text-indent:.42em}.brand{font-family:var(--serif);font-weight:600;font-size:clamp(30px,6vw,46px);letter-spacing:.24em;text-indent:.24em;margin-top:6px;line-height:1.3}.brand-sub{font-size:11px;letter-spacing:.28em;text-indent:.28em;color:var(--sub);margin-top:10px}.nav{display:flex;justify-content:center;gap:0;margin-top:30px;width:100%;border-top:1px solid var(--line)}.nav a,.nav button{background:none;border:none;position:relative;font-size:12.5px;font-weight:500;letter-spacing:.24em;text-indent:.24em;color:var(--sub);padding:15px 4vw 17px;transition:color .2s;display:inline-flex;align-items:baseline;gap:2px}.nav .active,.nav a:hover,.nav button:hover{color:var(--ink)}.nav .active:after{content:"";position:absolute;left:28%;right:28%;bottom:-1px;border-bottom:2px solid var(--ink)}.nav .ext{font-size:10px;color:var(--faint);letter-spacing:0;text-indent:0}.kicker{font-family:var(--latin);font-style:italic;font-size:13px;letter-spacing:.34em;color:var(--sub);text-transform:uppercase}.rule{border:none;border-top:1px solid var(--line)}.rule-dark{border:none;border-top:1px solid var(--line-dark)}.lede{text-align:center;padding:64px 20px 56px}.lede h2{font-family:var(--serif);font-weight:600;font-size:clamp(19px,3.4vw,26px);letter-spacing:.14em;line-height:2.1}.lede p{margin-top:18px;font-size:12.5px;color:var(--sub);letter-spacing:.12em;line-height:2.2}.feed{padding-bottom:40px}.section-head{display:flex;align-items:baseline;gap:18px;padding:26px 0 14px;border-bottom:1px solid var(--line-dark)}.section-head .en{font-family:var(--latin);font-style:italic;font-size:22px;letter-spacing:.2em;text-transform:uppercase}.section-head .jp{font-size:11.5px;color:var(--sub);letter-spacing:.22em}.entry{display:grid;grid-template-columns:150px 1fr;grid-gap:36px;gap:36px;padding:52px 0;border-bottom:1px solid var(--line)}.entry-meta{text-align:left}.entry-date{font-style:italic;font-size:14px;letter-spacing:.18em;color:var(--sub)}.entry-date,.entry-no{font-family:var(--latin)}.entry-no{font-size:30px;letter-spacing:.06em;margin-top:14px;line-height:1.2}.entry-no small{font-size:12px;letter-spacing:.2em;color:var(--faint);display:block}.entry-name{font-family:var(--serif);font-weight:600;font-size:clamp(21px,3vw,27px);letter-spacing:.16em;line-height:1.5}.entry-name .flag{font-size:.75em;margin-left:10px}.entry-tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.tag{font-size:10.5px;letter-spacing:.14em;color:var(--sub);border:1px solid var(--line);border-radius:999px;padding:3px 12px;background:var(--paper)}.entry-comment{margin-top:18px;font-size:14px;line-height:2.15;letter-spacing:.05em;max-width:620px}.entry-comment:before{content:"— Curator's Note";display:block;font-family:var(--latin);font-style:italic;font-size:11px;letter-spacing:.26em;color:var(--faint);margin-bottom:6px;text-transform:uppercase}.entry-embed{margin-top:24px;border:1px solid var(--line);background:var(--paper2);overflow:hidden;max-width:460px}.entry-embed iframe{width:100%;height:420px;border:0;display:block}.entry-more{margin-top:18px;background:none;border:none;font-size:12px;letter-spacing:.22em;color:var(--ink);border-bottom:1px solid var(--ink);padding:2px 2px 4px;transition:opacity .2s}.entry-more:hover{opacity:.55}.feed-empty{padding:80px 20px;text-align:center;color:var(--sub);font-size:13px;letter-spacing:.12em}.filterbar{padding:30px 0 8px}.filterbar .group{margin-bottom:14px}.filterbar .group-label{font-family:var(--latin);font-style:italic;font-size:11px;letter-spacing:.26em;color:var(--faint);text-transform:uppercase;margin-bottom:8px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--paper);border:1px solid var(--line);border-radius:999px;font-size:12px;letter-spacing:.1em;color:var(--sub);padding:6px 16px;transition:all .18s}.chip:hover{color:var(--ink)}.chip.on,.chip:hover{border-color:var(--ink)}.chip.on{background:var(--ink);color:#fff}.index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);margin:26px 0 60px}.index-card{background:var(--paper);padding:26px 22px 24px;text-align:left;border:none;transition:background .2s;position:relative}.index-card:hover{background:var(--paper2)}.index-card .no{font-family:var(--latin);font-style:italic;font-size:12px;letter-spacing:.2em;color:var(--faint)}.index-card .nm{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:.14em;margin-top:8px;line-height:1.5}.index-card .tg{margin-top:10px;font-size:10.5px;color:var(--sub);letter-spacing:.08em;line-height:1.9}.index-card .fav-mark{position:absolute;top:20px;right:18px;font-size:13px;color:var(--red)}.index-empty{padding:70px 20px;text-align:center;color:var(--sub);font-size:13px;letter-spacing:.12em}.detail{position:fixed;inset:0;background:var(--paper);z-index:40;overflow-y:auto;overscroll-behavior:contain}.detail .inner{max-width:720px;margin:0 auto;padding:30px 20px 90px}.detail-top{display:flex;justify-content:space-between;align-items:center}.detail-back{background:none;border:none;font-size:12px;letter-spacing:.22em;color:var(--sub);padding:8px 0}.detail-back:hover{color:var(--ink)}.detail-no{font-family:var(--latin);font-style:italic;font-size:13px;letter-spacing:.22em;color:var(--faint)}.detail-name{font-family:var(--serif);font-weight:600;font-size:clamp(26px,5vw,38px);letter-spacing:.18em;margin-top:26px;line-height:1.5}.detail-name .flag{font-size:.6em;margin-left:12px}.detail-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.detail-comment{margin-top:26px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14.5px;line-height:2.2;letter-spacing:.05em}.detail-comment:before{content:"— Curator's Note";display:block;font-family:var(--latin);font-style:italic;font-size:11px;letter-spacing:.26em;color:var(--faint);margin-bottom:10px;text-transform:uppercase}.detail-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.btn-fav{border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:12.5px;letter-spacing:.2em;padding:13px 30px;transition:opacity .2s}.btn-fav:hover{opacity:.75}.btn-fav.off{color:var(--ink)}.btn-acct,.btn-fav.off{background:var(--paper)}.btn-acct{border:1px solid var(--line);color:var(--sub);font-size:12.5px;letter-spacing:.2em;padding:13px 30px;display:inline-flex;align-items:center;transition:all .2s}.btn-acct:hover{border-color:var(--ink);color:var(--ink)}.detail-posts{margin-top:40px;display:flex;flex-direction:column;gap:26px}.detail-posts .label{font-family:var(--latin);font-style:italic;font-size:12px;letter-spacing:.26em;color:var(--faint);text-transform:uppercase}.detail-embed{border:1px solid var(--line);background:var(--paper2)}.detail-embed iframe{width:100%;height:480px;border:0;display:block}.oshi-empty{padding:90px 20px 110px;text-align:center}.oshi-empty .en{font-family:var(--latin);font-style:italic;font-size:18px;letter-spacing:.3em;color:var(--faint);text-transform:uppercase}.oshi-empty p{margin-top:16px;font-size:13px;color:var(--sub);letter-spacing:.1em}.oshi-empty button{margin-top:28px;border:1px solid var(--ink);background:var(--paper);font-size:12px;letter-spacing:.24em;padding:13px 36px;transition:all .2s}.oshi-empty button:hover{background:var(--ink);color:#fff}.oshi-list{display:flex;flex-direction:column;margin-bottom:70px}.oshi-row{display:flex;align-items:baseline;gap:20px;padding:24px 4px;transition:background .2s;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);width:100%}.oshi-row:hover{background:var(--paper2)}.oshi-row .no{font-family:var(--latin);font-style:italic;font-size:13px;color:var(--faint);letter-spacing:.16em;min-width:58px}.oshi-row .nm{font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:.14em}.oshi-row .tg{font-size:11px;color:var(--sub);letter-spacing:.08em;flex:1 1}.oshi-row .rm{background:none;border:none;font-size:11px;color:var(--faint);letter-spacing:.18em;padding:4px 6px}.oshi-row .rm:hover{color:var(--red)}.modal-bg{position:fixed;inset:0;background:hsla(0,0%,7%,.55);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--paper);max-width:420px;width:100%;padding:44px 34px 36px;text-align:center;position:relative}.modal .en{font-family:var(--latin);font-style:italic;font-size:12px;letter-spacing:.3em;color:var(--faint);text-transform:uppercase}.modal h3{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:.12em;margin-top:10px;line-height:1.9}.modal p{font-size:12px;color:var(--sub);margin-top:12px;line-height:2;letter-spacing:.04em}.modal input{width:100%;margin-top:20px;border:none;border-bottom:1px solid var(--ink);padding:10px 2px;font-size:15px;font-family:var(--sans);letter-spacing:.06em;outline:none;text-align:center;background:transparent}.modal .err{font-size:11px;color:var(--red);margin-top:8px;min-height:16px}.modal .send{margin-top:18px;width:100%;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:12.5px;letter-spacing:.24em;padding:14px 0;transition:opacity .2s}.modal .send:hover{opacity:.75}.modal .later{display:inline-block;margin-top:18px;background:none;border:none;font-size:11px;color:var(--sub);letter-spacing:.16em;border-bottom:1px solid var(--line)}.modal .fine{font-size:10px;color:var(--faint);margin-top:16px;line-height:1.9}.site-foot{border-top:1px solid var(--line-dark);margin-top:30px;padding:44px 20px 60px;text-align:center}.site-foot .en{font-family:var(--latin);font-style:italic;font-size:12px;letter-spacing:.34em;color:var(--sub);text-transform:uppercase}.site-foot .gallery-link{display:inline-block;margin-top:18px;font-family:var(--serif);font-size:15px;letter-spacing:.2em;border-bottom:1px solid var(--ink);padding-bottom:4px;transition:opacity .2s}.site-foot .gallery-link:hover{opacity:.55}.site-foot .copy{margin-top:30px;font-size:10px;color:var(--faint);letter-spacing:.2em}.admin-wrap{max-width:560px;margin:0 auto;padding:40px 20px 80px}.admin-wrap h1,.admin-wrap h2{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:.14em}.admin-input{width:100%;border:1px solid var(--line);background:var(--paper);padding:12px 14px;font-size:14px;font-family:var(--sans);margin-top:12px;outline:none}.admin-input:focus{border-color:var(--ink)}.admin-btn{width:100%;margin-top:16px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:13px;letter-spacing:.2em;padding:14px 0}.admin-btn.ghost{background:var(--paper);color:var(--sub);border-color:var(--line)}@media (max-width:640px){.entry{grid-template-columns:1fr;gap:14px;padding:40px 0}.entry-meta{display:flex;align-items:baseline;gap:16px}.entry-no{margin-top:0;font-size:20px}.entry-no small{display:inline;margin-right:6px}.nav a,.nav button{padding:14px 4.5vw 16px;font-size:11.5px}.site-head .inner{padding-top:34px}.detail-embed iframe{height:430px}}