:root{--bg:#fff;--surface:#f3f5f8;--text:#111827;--muted:#444c58;--border:#cbd2db;--control-border:#6b7280;--accent:#1a45c2;--accent-hover:#1e40af;--on-accent:#fff;--accent-soft:#e6edfd;--like:#a30f36;--danger:#a81818;--on-danger:#fff;--shadow:0 8px 24px #1118272e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1217;--surface:#1a2029;--text:#f1f3f6;--muted:#aeb7c2;--border:#3a4554;--control-border:#7f8a9b;--accent:#8ab4ff;--accent-hover:#a9c7ff;--on-accent:#0e1217;--accent-soft:#1c2b45;--like:#ff8fa8;--danger:#ff9b9b;--on-danger:#0e1217;--shadow:0 8px 24px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1217;--surface:#1a2029;--text:#f1f3f6;--muted:#aeb7c2;--border:#3a4554;--control-border:#7f8a9b;--accent:#8ab4ff;--accent-hover:#a9c7ff;--on-accent:#0e1217;--accent-soft:#1c2b45;--like:#ff8fa8;--danger:#ff9b9b;--on-danger:#0e1217;--shadow:0 8px 24px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}@font-face{font-family:SNS Underscore;src:local(Segoe UI),local(Yu Gothic UI),local(Helvetica Neue),local(Arial);unicode-range:U+5F}body{background:var(--bg);color:var(--text);overflow-anchor:none;overflow-wrap:anywhere;margin:0;font-family:SNS Underscore,BIZ UDPGothic,BIZ UDPゴシック,Hiragino Sans,Yu Gothic UI,system-ui,sans-serif;font-size:18px;line-height:1.6}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-hover)}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,h3{line-height:1.3}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:var(--on-accent);border-radius:8px;padding:8px 16px;font-weight:700;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:16px}.shell{justify-content:center;max-width:1280px;margin:0 auto;display:flex}.side{flex-direction:column;flex:none;align-self:flex-start;gap:4px;width:260px;padding:16px 12px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:10px;padding:8px 14px 16px;font-size:22px;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--accent);width:36px;height:36px;color:var(--on-accent);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.nav-item{min-height:52px;color:var(--text);border-radius:999px;align-items:center;gap:16px;padding:8px 16px;font-size:20px;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--surface);color:var(--text)}.nav-item[aria-current=page]{box-shadow:inset 4px 0 0 var(--accent);border-radius:0 999px 999px 0;font-weight:700}.nav-item svg{flex:none}.badge{background:var(--accent);color:var(--on-accent);text-align:center;border-radius:999px;min-width:26px;padding:0 8px;font-size:14px;font-weight:700;line-height:24px}.compose-side{width:100%;margin-top:12px}.main{border-left:1px solid var(--border);border-right:1px solid var(--border);flex:640px;min-width:0;max-width:640px;min-height:100vh;padding-bottom:96px}.right{flex-direction:column;flex:none;align-self:flex-start;gap:16px;width:340px;padding:16px 20px;display:flex;position:sticky;top:0}.panel{background:var(--surface);border-radius:16px;padding:14px 16px}.panel h2{margin:0 0 8px;font-size:20px}.panel>a{padding:4px 0;display:inline-block}.panel p{color:var(--muted);margin:0 0 10px;font-size:15px}.topbar{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:60px;padding:10px 16px;display:flex;position:sticky;top:0}.topbar .titles{min-width:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:22px;overflow:hidden}.topbar h1:focus{outline:none}.topbar h1:focus-visible{outline:3px solid var(--accent)}.topbar .sub{color:var(--muted);font-size:15px}.topbar .spacer{flex:1}.tabs{border-bottom:1px solid var(--border);display:flex}.tab{min-height:52px;color:var(--muted);cursor:pointer;text-align:center;background:0 0;border:0;border-bottom:4px solid #0000;flex:1;justify-content:center;align-items:center;padding:10px;text-decoration:none;display:flex}.tab:hover{background:var(--surface);color:var(--text)}.tab[aria-selected=true],.tab[aria-current=page]{color:var(--text);border-bottom-color:var(--accent);font-weight:700}.btn{cursor:pointer;white-space:nowrap;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 20px;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);color:var(--on-accent)}.btn-outline{background:var(--bg);color:var(--text);border-color:var(--control-border)}.btn-outline:hover{background:var(--surface);color:var(--text)}.btn-danger{background:var(--danger);color:var(--on-danger)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-block{width:100%}.icon-btn{width:44px;height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--accent-soft)}.icon-btn.plain{color:var(--text)}.avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex}.avatar:hover{color:#fff;filter:brightness(1.1)}.avatar.lg{border:4px solid var(--bg);width:96px;height:96px;font-size:40px}.avatar.sm{width:36px;height:36px;font-size:16px}.card{border-bottom:1px solid var(--border);gap:12px;padding:14px 16px;display:flex}.card.is-new{box-shadow:inset 4px 0 0 var(--accent)}.card.big{padding-top:18px}.card.big .text{font-size:21px}.card-body{flex:1;min-width:0}.meta{flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.meta .name{color:var(--text);font-weight:700;text-decoration:none}.meta .name:hover{text-decoration:underline}.meta .handle,.meta .time,.meta .edited{color:var(--muted);font-size:16px}.meta .time{text-decoration:none}.meta .time:hover{text-decoration:underline}.label-new{color:var(--accent);border:2px solid var(--accent);border-radius:6px;padding:0 6px;font-size:13px;font-weight:700}.reply-to{color:var(--muted);margin:0;font-size:15px}.notice-hidden{color:var(--danger);border:2px solid var(--danger);border-radius:8px;margin:6px 0 0;padding:2px 10px;font-size:15px;font-weight:700;display:inline-block}.text{overflow-wrap:anywhere;white-space:pre-wrap;margin:4px 0 0}.imgs{border:1px solid var(--border);border-radius:14px;gap:4px;margin-top:10px;display:grid;overflow:hidden}.imgs.n1{grid-template-columns:1fr}.imgs.n2{grid-template-columns:1fr 1fr}.img{aspect-ratio:4/3;cursor:zoom-in;background:var(--surface);border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.img img{object-fit:cover;width:100%;height:100%;display:block}.img .ph{color:#1f2937;text-align:left;align-items:flex-end;padding:10px;font-size:14px;display:flex;position:absolute;inset:0}.img .more{color:#fff;background:#0000008c;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex;position:absolute;inset:0}.actions{flex-wrap:wrap;gap:4px;margin-top:6px;margin-left:-10px;display:flex}.act{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:16px;text-decoration:none;display:inline-flex}.act:hover{background:var(--surface);color:var(--text)}.act.like[aria-pressed=true]{color:var(--like);font-weight:700}.act.bm[aria-pressed=true]{color:var(--accent);font-weight:700}.menu-wrap{margin-left:auto;position:relative}.menu{z-index:8;background:var(--bg);border:1px solid var(--border);min-width:260px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;top:46px;right:0}.menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:44px;padding:6px 12px}.menu button:hover{background:var(--surface)}.menu button.danger{color:var(--danger);font-weight:700}.composer{border-bottom:1px solid var(--border);gap:12px;padding:14px 16px;display:flex}.composer .grow{flex:1;min-width:0}.composer .reply-note{color:var(--muted);margin:0 0 6px;font-size:15px}textarea,input[type=text],input[type=email],input[type=password],input[type=search]{border:2px solid var(--control-border);background:var(--bg);border-radius:12px;width:100%;padding:10px 12px}textarea{resize:vertical;min-height:96px}textarea:focus,input:focus{border-color:var(--accent)}input{line-height:1.5}h1[tabindex="-1"]:focus{outline:none}.composer-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.composer-foot .spacer{flex:1}.counter{color:var(--muted);font-size:15px}.counter.warn{color:var(--text);font-weight:700}.counter.over{color:var(--danger);font-weight:700}.thumbs{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:10px;display:grid}.thumb{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.thumb .pic{aspect-ratio:4/3;position:relative}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb .remove{color:#fff;cursor:pointer;background:#000000b3;border:0;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;top:6px;right:6px}.thumb input{border-width:0;border-top:1px solid var(--border);border-radius:0;font-size:14px}.field-error{color:var(--danger);margin:6px 0 0;font-size:15px;font-weight:700}.field-error:before{content:"! "}.field-ok{color:var(--text);margin:6px 0 0;font-size:15px;font-weight:700}.field-ok:before{content:"✓ "}.empty{text-align:center;color:var(--muted);padding:48px 24px}.empty .btn{margin-top:16px}.list-end{text-align:center;color:var(--muted);padding:20px;font-size:15px}.list-more{flex-direction:column;align-items:center;padding-bottom:24px;display:flex}.list-more .list-end{padding-bottom:8px}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex}.newbar{z-index:4;justify-content:center;height:0;display:flex;position:sticky;top:70px;overflow:visible}.newbar .btn{box-shadow:var(--shadow)}.user-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.user-row .info{flex:1;min-width:0}.user-row .name{color:var(--text);font-weight:700;text-decoration:none}.user-row .name:hover{text-decoration:underline}.user-row .handle{color:var(--muted);font-size:16px}.user-row .bio{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:16px;display:-webkit-box;overflow:hidden}.chip{background:var(--surface);color:var(--muted);border-radius:6px;margin-left:4px;padding:0 6px;font-size:13px;font-weight:700;display:inline-block}.band{height:180px}.profile{border-bottom:1px solid var(--border);padding:0 16px 12px}.profile-top{justify-content:space-between;align-items:flex-end;gap:8px;margin-top:-48px;display:flex}.profile-top .buttons{align-items:center;gap:8px;padding-bottom:4px;display:flex}.profile h2{margin:8px 0 0;font-size:24px}.profile .handle{color:var(--muted)}.profile .bio{white-space:pre-wrap;margin:8px 0}.profile .joined{color:var(--muted);margin:0 0 8px;font-size:16px}.counts{flex-wrap:wrap;gap:20px;display:flex}.counts a{color:var(--text);text-decoration:none}.counts a:hover{text-decoration:underline}.counts strong{margin-right:4px}.blocked-box{text-align:center;padding:32px 16px}.follow-on .label-active,.follow-on:hover .label-idle,.follow-on:focus-visible .label-idle{display:none}.follow-on:hover .label-active,.follow-on:focus-visible .label-active{display:inline}.follow-on:hover,.follow-on:focus-visible{color:var(--danger);border-color:var(--danger)}.mobile-links{gap:20px;margin:10px 0 0;display:none}@media (width<=639px){.mobile-links{display:flex}}.notif{border-bottom:1px solid var(--border);color:var(--text);gap:12px;padding:14px 16px;text-decoration:none;display:flex}.notif:hover{background:var(--surface);color:var(--text)}.notif.unread{background:var(--accent-soft)}.notif .kind{width:36px;color:var(--accent);flex:none}.notif .kind.like{color:var(--like)}.notif .body{flex:1;min-width:0}.notif .unread-label{color:var(--accent);border:2px solid var(--accent);border-radius:6px;margin-right:6px;padding:0 6px;font-size:13px;font-weight:700}.notif .preview{color:var(--muted);margin:2px 0 0;font-size:16px;display:block}.notif .body{color:var(--text);flex-direction:column;text-decoration:none;display:flex}.notif .body:hover{text-decoration:underline}.notif .when{color:var(--muted);font-size:15px}.search-form{border-bottom:1px solid var(--border);gap:8px;padding:12px 16px;display:flex}.search-form input{flex:1}.trend-list{margin:0;padding:0;list-style:none}.trend-list a{color:var(--text);border-bottom:1px solid var(--border);gap:12px;padding:10px 16px;text-decoration:none;display:flex}.trend-list a:hover{background:var(--surface)}.trend-list .rank{color:var(--muted);flex:none;width:28px}.trend-list .tag{font-weight:700}.trend-list .count{color:var(--muted);font-size:15px}.panel .trend-list a{border-bottom:0;padding:8px 0}.section-title{margin:0;padding:16px 16px 8px;font-size:20px}.settings-section{border-bottom:1px solid var(--border);padding:16px}.settings-section h2{margin:0 0 12px;font-size:20px}.field{margin-bottom:14px}.field label,.field .label{margin-bottom:6px;font-weight:700;display:block}.field .hint{color:var(--muted);margin:4px 0 0;font-size:15px}.radio-row{flex-wrap:wrap;gap:10px;display:flex}.radio-row label{border:2px solid var(--control-border);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:400;display:inline-flex}.radio-row input{width:20px;height:20px;accent-color:var(--accent)}.plain-fieldset{border:0;margin:0;padding:0}.plain-fieldset legend{margin-bottom:8px;padding:0;font-weight:700}.image-field{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.header-preview{border:1px solid var(--border);border-radius:8px;width:240px;max-width:100%;height:80px;display:block}.released{color:var(--muted);margin:4px 0 0;font-size:15px}.admin-table{width:100%}.admin-row{border-bottom:1px solid var(--border);grid-template-columns:56px 120px minmax(0,1fr) 150px 150px;align-items:center;gap:10px;padding:10px 16px;font-size:16px;display:grid}.admin-row.users{grid-template-columns:40px 120px minmax(0,1fr) 104px 128px}.admin-row.head{background:var(--surface);font-weight:700}.status{border:2px solid;border-radius:6px;padding:0 8px;font-size:14px;font-weight:700;display:inline-block}.status.bad{color:var(--danger)}.admin-row a{padding:4px 0;display:inline-block}.admin-row .small{color:var(--muted);font-size:14px}.admin-row .btn{min-height:40px;padding:0 12px;font-size:15px}.auth{background:var(--surface);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{background:var(--bg);border:1px solid var(--border);border-radius:20px;width:100%;max-width:460px;padding:32px}.auth-card h1{margin:0 0 20px;font-size:26px}.auth-card .brand{padding:0 0 16px}.divider{color:var(--muted);align-items:center;gap:12px;margin:16px 0;font-size:15px;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--border);flex:1}.auth-links{flex-direction:column;gap:6px;margin:16px 0 0;font-size:16px;display:flex}.pw-row{gap:8px;display:flex}.pw-row input{flex:1}.handle-input{align-items:center;gap:6px;display:flex}.handle-input span{color:var(--muted);font-weight:700}.toast{z-index:60;background:var(--text);width:max-content;max-width:calc(100vw - 32px);color:var(--bg);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:12px;padding:12px 20px;font-weight:700;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast[hidden]{display:none}.toast.error{background:var(--bg);color:var(--danger);border:3px solid var(--danger)}.toast button{cursor:pointer;background:0 0;border:2px solid;border-radius:999px;min-height:36px;padding:0 12px;font-weight:700}dialog{background:var(--bg);width:min(560px,100% - 32px);color:var(--text);box-shadow:var(--shadow);border:0;border-radius:16px;padding:24px}dialog::backdrop{background:#0000008c}dialog h2{margin:0 0 12px;font-size:22px}dialog p{margin:0 0 12px}dialog ul{margin:0 0 16px;padding-left:1.2em}.dialog-buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}dialog.viewer{width:min(960px,100% - 32px)}.viewer-img{aspect-ratio:4/3;background:var(--surface);border-radius:12px;position:relative;overflow:hidden}.viewer-img img{object-fit:contain;width:100%;height:100%;display:block}.viewer-bar{align-items:center;gap:12px;margin-top:12px;display:flex}.viewer-bar .alt{flex:1}dialog .composer{border:0;padding:0}.fab{display:none}@media (width<=1023px){.right{display:none}.side{align-items:center;width:92px}.nav-label,.brand-label,.compose-side .label{display:none}.nav-item{justify-content:center;width:56px;padding:8px}.nav-item[aria-current=page]{box-shadow:inset 0 -4px 0 var(--accent);border-radius:999px}.nav-item .badge{min-width:22px;padding:0 5px;font-size:12px;line-height:20px;position:absolute;top:2px;right:-4px}.compose-side{width:56px;height:56px;padding:0}.brand{padding:8px 0 16px}}@media (width<=639px){.side{z-index:20;background:var(--bg);border-top:1px solid var(--border);flex-direction:row;justify-content:space-around;width:auto;padding:4px;position:fixed;inset:auto 0 0}.hide-sm{display:none!important}.nav-item{border-radius:12px;flex-direction:column;flex:1;gap:0;width:auto;min-height:56px;font-size:12px}.nav-item .nav-label{display:block}.nav-item[aria-current=page]{box-shadow:inset 0 -4px 0 var(--accent);border-radius:12px}.nav-item .badge{right:8px}.main{border:0;max-width:none;padding-bottom:120px}.fab{z-index:21;min-height:56px;box-shadow:var(--shadow);display:inline-flex;position:fixed;bottom:84px;right:16px}.admin-row,.admin-row.users{grid-template-columns:1fr 1fr}.admin-row .wide{grid-column:1/-1}.admin-row.head{display:none}.auth-card{padding:24px 18px}.band{height:120px}}@media (prefers-reduced-motion:no-preference){.card.is-new{animation:.6s ease-out arrive}@keyframes arrive{0%{background:var(--accent-soft)}to{background:0 0}}}
