:root{--bg:#fff;--surface:#f7faf8;--surface-2:#eef4f0;--fg:#17211b;--muted:#5e6b63;--line:#d6dfd9;--accent:#176b43;--accent-2:#0f5132;--danger:#b42318;--focus:#f59e0b;--font-size:16px;--gap:.8rem;--nav-h:7rem;--content:40rem;color-scheme:light}
.theme-dark{--bg:#101512;--surface:#161d18;--surface-2:#202a23;--fg:#edf3ee;--muted:#aab8ae;--line:#344039;--accent:#72d5a2;--accent-2:#9be8bd;--danger:#ff8c82;color-scheme:dark}
@media(prefers-color-scheme:dark){.theme-auto{--bg:#101512;--surface:#161d18;--surface-2:#202a23;--fg:#edf3ee;--muted:#aab8ae;--line:#344039;--accent:#72d5a2;--accent-2:#9be8bd;--danger:#ff8c82;color-scheme:dark}}
.font-14{--font-size:14px}.font-15{--font-size:15px}.font-16{--font-size:16px}.font-17{--font-size:17px}.font-18{--font-size:18px}.font-19{--font-size:19px}.font-20{--font-size:20px}.font-21{--font-size:21px}.font-22{--font-size:22px}.font-23{--font-size:23px}.font-24{--font-size:24px}.space-compact{--gap:.5rem}.space-wide{--gap:1.2rem}
*{box-sizing:border-box}
html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:var(--font-size);line-height:1.48;background:var(--bg);color:var(--fg);scrollbar-gutter:stable}
body{margin:0;overflow-wrap:anywhere;background:var(--bg)}
a{color:var(--accent);text-underline-offset:.16em}a:hover{color:var(--accent-2)}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:2px}
button,input,select,textarea{min-height:2.75rem;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:.35rem;padding:.5rem .65rem}
button{cursor:pointer}button:hover{background:var(--surface-2)}button:disabled{cursor:wait;opacity:.65}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-color:var(--accent);border-radius:999px;padding:.45rem 1rem;background:var(--accent);color:#fff;font-weight:700}.primary:hover{background:var(--accent-2);color:#fff}
.icon{width:1.4rem;height:1.4rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;top:-5rem;left:.5rem;z-index:20;padding:.5rem;background:var(--bg)}.skip:focus{top:.5rem}
.app-shell{min-height:100vh}.sidebar{display:none}.content-column{width:100%;min-width:0}.mobile-header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;height:3.5rem;padding:0 .8rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(6px)}
.brand{display:flex;align-items:center;gap:.55rem;color:var(--fg);font-weight:750;text-decoration:none}.brand-logo{display:block;width:2rem;height:2rem;flex:none;padding:1px;border-radius:50%;object-fit:contain;background:#fff}.brand-text{display:none}
main{width:100%;max-width:var(--content);min-height:75vh;margin:auto;padding:var(--gap) var(--gap) calc(var(--nav-h) + var(--gap))}
main>h1{font-size:1.3rem;line-height:1.2;margin:.25rem 0 1rem}main>h2{font-size:1.1rem}.site-footer{max-width:var(--content);margin:auto;padding:1rem var(--gap) calc(var(--nav-h) + 1rem);border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}
.bottom-nav{position:fixed;z-index:10;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,3.5rem);height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--bg)}
.bottom-nav a{display:flex;min-width:0;min-height:44px;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;color:var(--muted);font-size:.65rem;text-decoration:none}.bottom-nav a:hover,.bottom-nav a[aria-current=page]{color:var(--accent);background:var(--surface)}.bottom-nav .icon{width:1.35rem;height:1.35rem}
.bottom-nav .nav-compose{color:var(--accent);font-weight:700}.bottom-nav .nav-compose .icon{box-sizing:content-box;padding:.22rem;border-radius:50%;background:var(--accent);color:#fff}
.timeline{margin-inline:calc(var(--gap) * -1);border-top:1px solid var(--line)}
.note{margin:0;padding:var(--gap);border-bottom:1px solid var(--line);background:var(--bg)}.note:hover{background:var(--surface)}.note-author{display:flex;align-items:flex-start;gap:.65rem;min-width:0}.avatar{width:2.5rem;height:2.5rem;flex:none;border-radius:50%;object-fit:cover;background:var(--surface-2)}.note-author-text{min-width:0;flex:1}.note-identity{display:flex;align-items:baseline;gap:.3rem;min-width:0;white-space:nowrap}.display-name{min-width:0;overflow:hidden;color:var(--fg);font-weight:700;text-decoration:none;text-overflow:ellipsis}.account,.note-time,.note-identity>span{overflow:hidden;color:var(--muted);font-size:.8rem;text-overflow:ellipsis}.note-time{flex:none}.note-visibility{color:var(--muted);font-size:.72rem}.note-content{margin-left:3.15rem;min-width:0}.note-text{margin:.45rem 0;white-space:normal;font-size:1rem;line-height:1.5}.note footer{color:var(--muted);font-size:.78rem}.note-counts{display:block;margin:.35rem 0}.quote,.reply-source{margin:.65rem 0;border:1px solid var(--line);border-radius:.5rem;overflow:hidden}.quote>.note,.reply-source>.note{border:0}.renote>.note{border:1px solid var(--line)}.renote>.meta{margin:0 0 .35rem;color:var(--muted);font-size:.8rem}
.note-actions{display:flex;align-items:center;justify-content:space-between;gap:.15rem}.icon-action{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:.25rem;padding:.25rem;border:0;background:transparent;color:var(--muted);font-size:.72rem;text-decoration:none}.icon-action:hover{color:var(--accent);background:var(--surface-2);border-radius:999px}.icon-action span{display:none}.reaction-form{display:inline-flex;align-items:center}.reaction-form input{width:3rem;min-height:2rem;padding:.2rem}.inline{display:inline}.inline button{min-height:44px}
.media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem;margin:.55rem 0;padding:0;overflow:hidden;border-radius:.6rem;list-style:none}.media:has(li:only-child){grid-template-columns:1fr}.media img{display:block;width:100%;height:auto;max-height:28rem;object-fit:cover;background:var(--surface)}
.reactions{display:flex;flex-wrap:wrap;gap:.25rem;margin:.45rem 0}.reactions span{display:inline-flex;align-items:center;gap:.2rem;padding:.12rem .5rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.8rem}.custom-emoji{display:inline-block;width:auto;height:1.18em;max-width:2em;max-height:2em;object-fit:contain;vertical-align:-.2em;line-height:1}
.write-form{display:grid;gap:.7rem}.compose-form{margin:0 calc(var(--gap) * -1) 1rem;padding:var(--gap);border-block:1px solid var(--line)}.compose-main{display:flex;gap:.65rem}.compose-text{flex:1}.compose-text textarea{width:100%;min-height:6.5rem;padding:.5rem 0;border:0;resize:vertical;background:transparent;font-size:1.05rem}.compose-text textarea:focus-visible{outline-offset:0}.compose-options{border-top:1px solid var(--line);padding-top:.5rem}.compose-options summary{min-height:44px;padding:.6rem 0;color:var(--accent);cursor:pointer}.form-grid{display:grid;gap:.65rem;padding:.4rem 0}.compose-footer{display:flex;min-height:44px;align-items:center;justify-content:flex-end;gap:.5rem}.form-status{margin:0;color:var(--muted);font-size:.8rem}.target,.compose-target{margin:.5rem 0;padding:.55rem;border-left:3px solid var(--accent);background:var(--surface)}
form:not(.inline,.compose-form){display:grid;max-width:36rem;gap:.8rem}label{display:grid;gap:.2rem}.check{display:flex;min-height:44px;align-items:center;gap:.4rem}.check input{min-height:auto}.success{padding:.65rem;border:1px solid var(--accent);background:var(--surface)}.next{display:inline-flex;min-height:44px;align-items:center;padding:.5rem 1rem;border:1px solid var(--line);border-radius:999px}
.channel-card{margin-bottom:var(--gap);padding:var(--gap);border:1px solid var(--line);border-radius:.5rem;background:var(--surface)}.channel-card h2{margin-top:0}.channel-banner{display:block;width:100%;height:auto;max-height:12rem;border-radius:.35rem;object-fit:cover}.cards{display:flex;flex-wrap:wrap;gap:.7rem}
pre{max-width:100%;overflow:auto}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.mfm-font-serif{font-family:Georgia,"Yu Mincho",serif}.mfm-font-monospace{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.mfm-font-cursive{font-family:cursive}.mfm-font-fantasy{font-family:fantasy}.mfm-font-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji",emoji}.mfm-font-math{font-family:"Cambria Math",serif}
.mfm-x2,.mfm-x3,.mfm-x4{display:inline-block;max-width:100%;line-height:1.1;vertical-align:baseline;overflow-wrap:anywhere}.mfm-x2{font-size:200%}.mfm-x3{font-size:300%}.mfm-x4{font-size:400%}.mfm-tada{display:inline-block;font-size:150%}.mfm-effect-static{display:inline-block}.mfm-blur{filter:blur(.25em)}.mfm-blur:hover,.mfm-blur:focus-within{filter:none}.mfm-rainbow{color:var(--danger);text-decoration:underline var(--accent)}.mfm-sparkle:before,.mfm-sparkle:after{content:"✨";font-size:.75em}.mfm-flip-h,.mfm-flip-v,.mfm-flip-hv,.mfm-rotate-0,.mfm-rotate-90,.mfm-rotate-180,.mfm-rotate-270,.mfm-position,.mfm-scale{display:inline-block;max-width:100%}.mfm-flip-h{transform:scaleX(-1)}.mfm-flip-v{transform:scaleY(-1)}.mfm-flip-hv{transform:scale(-1)}.mfm-rotate-90{transform:rotate(90deg)}.mfm-rotate-180{transform:rotate(180deg)}.mfm-rotate-270{transform:rotate(270deg)}.mfm-position{vertical-align:.2em}.mfm-scale{font-size:125%}.mfm-fg{color:var(--accent)}.mfm-bg{background:var(--line)}.mfm-border{display:inline-block;padding:.1em;border:1px solid;border-radius:.2em}.mfm-center{text-align:center}.mfm-unixtime{display:inline-block;padding:0 .4em;border:1px solid var(--line);border-radius:1em}.mfm-clickable{border-bottom:1px dotted}blockquote{margin:.5em 0;padding:.25em 0 .25em .75em;border-left:3px solid;opacity:.85}
.reduce-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:48rem){:root{--content:42rem}.mobile-header,.bottom-nav{display:none}.app-shell{display:grid;grid-template-columns:14rem minmax(0,var(--content));justify-content:center}.sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;align-items:stretch;padding:1rem .65rem;border-right:1px solid var(--line)}.brand-text{display:inline}.side-nav{display:grid;gap:.2rem;margin-top:1rem}.side-nav a,.settings-link{display:flex;min-height:48px;align-items:center;gap:.8rem;padding:.6rem .8rem;border-radius:999px;color:var(--fg);text-decoration:none}.side-nav a:hover,.side-nav a[aria-current=page],.settings-link:hover{background:var(--surface-2);color:var(--accent)}.settings-link{margin-top:auto}.content-column{border-right:1px solid var(--line)}main{padding-bottom:var(--gap)}.site-footer{padding-bottom:1rem}.timeline{margin-inline:0;border-inline:1px solid var(--line)}.compose-form{margin-inline:0;border:1px solid var(--line);border-radius:.5rem}.icon-action span{display:inline}}
@media(min-width:64rem){.app-shell{grid-template-columns:16rem minmax(0,var(--content))}.sidebar{padding-inline:1rem}}
@media(max-width:22rem){.bottom-nav a{font-size:.58rem}.bottom-nav .icon{width:1.2rem}.note{padding-inline:.55rem}.note-content{margin-left:2.9rem}}
@media print{.sidebar,.mobile-header,.bottom-nav,.site-footer,form,.skip{display:none}.app-shell{display:block}.note{break-inside:avoid}.note-content{margin-left:0}}
