*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-type: "Courier Prime", Courier, monospace;--font-serif: "Fraunces", Georgia, serif;--font-mono: "Geist Mono", monospace;--bg: #FFFFFF;--surface: #F2F2F4;--card: #FFFFFF;--edge: #DCDCE1;--shine: rgba(255, 255, 255, .9);--fill-soft: #F8F8F9;--drop: rgba(20, 20, 30, .16);--fill: #F2F2F4;--online: #34C759;--text: #0B0B0C;--text-secondary: #3A3A3C;--muted: #6E6E73;--subtle: #A1A1A6;--border: #E7E7EA;--tint: #C8371D;--tint-subtle: rgba(200, 55, 29, .12);--on-tint: #FFFFFF;--danger: #FF453A;--warning: #A86F0E;--overlay: rgba(20, 20, 18, .42);--skeleton: #EDECF0;--highlight: rgba(11, 11, 12, .04);--content-max-width: 600px;--sidebar-width: 240px;--right-sidebar-width: 340px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--tab-bar-height: 60px}[data-theme=dark]{--bg: #0B0B0C;--surface: #1A1A1D;--card: #18181B;--edge: #2C2C31;--shine: rgba(255, 255, 255, .07);--fill-soft: #131315;--drop: rgba(0, 0, 0, .55);--fill: #1A1A1D;--online: #34C759;--text: #F2F2F3;--text-secondary: #C7C7CC;--muted: #8E8E93;--subtle: #636366;--border: #26262A;--tint: #E5502F;--tint-subtle: rgba(229, 80, 47, .16);--on-tint: #0B0B0C;--danger: #FF453A;--warning: #E0AA45;--overlay: rgba(0, 0, 0, .6);--skeleton: #1E1E22;--highlight: rgba(242, 242, 243, .06)}html,body{width:100%;height:100%;background-color:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;-webkit-user-select:auto;user-select:auto}button,nav,.bottom-tab-bar,.sidebar-nav-item,.post-slab-edge{user-select:none;-webkit-user-select:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--subtle)}#root{min-height:100%;display:flex;justify-content:center;background-color:var(--bg)}.app-shell{display:flex;width:100%;max-width:calc(var(--sidebar-width) + var(--content-max-width));min-height:100vh;min-height:100dvh;position:relative}@media(min-width:1100px){.app-shell{max-width:calc(var(--sidebar-width) + var(--content-max-width) + var(--right-sidebar-width))}}.desktop-sidebar,.desktop-right-sidebar{display:none}.app-viewport{width:100%;max-width:var(--content-max-width);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;background-color:var(--bg)}@media(max-width:767px){.app-viewport{max-width:100%}}@media(min-width:768px){.app-shell{margin:0 auto}.desktop-sidebar{display:flex;flex-direction:column;width:var(--sidebar-width);height:100vh;height:100dvh;position:sticky;top:0;border-right:1px solid var(--border);padding:20px 16px;flex-shrink:0;background-color:var(--bg);gap:4px;overflow-y:auto;overflow-x:hidden}.app-viewport{border-right:1px solid var(--border)}.bottom-tab-bar{display:none!important}}@media(min-width:1100px){.desktop-right-sidebar{display:flex;flex-direction:column;width:var(--right-sidebar-width);height:100vh;height:100dvh;position:sticky;top:0;padding:16px 20px;gap:16px;flex-shrink:0;overflow-y:auto;overflow-x:hidden}}.screen-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}@media(max-width:767px){.screen-scroll{padding-bottom:calc(var(--tab-bar-height) + var(--safe-bottom))}}@media(min-width:768px){.screen-scroll{padding-bottom:0}}.screen-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 16px;background:var(--bg);border-bottom:1px solid var(--border)}.post-slab-wrapper{position:relative;padding:4px 12px 10px}@media(max-width:380px){.post-slab-wrapper{padding:4px 8px 10px}}.post-slab-edge{position:absolute;left:12px;right:12px;top:9px;bottom:6px;border-radius:18px;background-color:var(--edge);pointer-events:none}@media(max-width:380px){.post-slab-edge{left:8px;right:8px;border-radius:14px}}.post-slab{position:relative;border-radius:18px;background-color:var(--card);border:1px solid var(--border);box-shadow:0 6px 14px var(--drop);padding:12px 14px 10px;display:flex;gap:12px;cursor:pointer;transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s ease;overflow:hidden}@media(max-width:380px){.post-slab{border-radius:14px;padding:10px 12px 8px;gap:10px}}.post-slab:active{transform:translateY(2px) scale(.995);box-shadow:0 2px 6px var(--drop)}@media(hover:hover){.post-slab:hover{background-color:var(--fill-soft)}}.post-slab:before{content:"";position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(to bottom,var(--shine),transparent);pointer-events:none;border-radius:18px 18px 0 0}.bottom-tab-bar{position:fixed;bottom:0;left:0;right:0;width:100%;height:calc(var(--tab-bar-height) + var(--safe-bottom));display:flex;align-items:flex-start;justify-content:space-around;background:var(--bg);border-top:1px solid var(--border);z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-top:6px;padding-bottom:var(--safe-bottom)}.tab-slot{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;border:none;color:var(--subtle);cursor:pointer;padding:6px 0;min-height:44px;transition:color .15s ease,transform .1s ease}.tab-slot.active{color:var(--text)}.tab-slot:active{transform:scale(.92)}.tab-center-write{width:44px;height:44px;border-radius:22px;background-color:var(--text);color:var(--bg);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 3px 8px #00000029;transition:transform .15s ease}.tab-center-write:active{transform:scale(.9)}.sidebar-logo{padding:12px 8px 20px}.sidebar-nav-item{display:flex;align-items:center;gap:14px;height:48px;padding:0 12px;border-radius:12px;font-size:16px;font-weight:400;color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease;background:none;border:none;width:100%;text-align:left;position:relative}.sidebar-nav-item:hover{background-color:var(--highlight)}.sidebar-nav-item.active{font-weight:600;color:var(--text)}.sidebar-compose-btn{margin-top:16px;height:46px;border-radius:23px;background-color:var(--tint);color:var(--on-tint);font-size:15px;font-weight:600;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .15s ease,transform .15s ease}.sidebar-compose-btn:hover{opacity:.9}.sidebar-compose-btn:active{transform:scale(.97)}.fixed-bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;background-color:var(--bg);border-top:1px solid var(--border);padding:8px 16px;padding-bottom:calc(8px + var(--safe-bottom));display:flex;align-items:center;gap:10px}@media(min-width:768px){.fixed-bottom-bar{position:sticky;bottom:0;left:0;right:0;width:100%;margin-left:0}}.fullscreen-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8000;background-color:var(--bg);display:flex;flex-direction:column;animation:fadeIn .2s ease}@media(min-width:768px){.fullscreen-modal{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:100%;max-width:var(--content-max-width);height:auto;max-height:85vh;border-radius:20px;border:1px solid var(--border);box-shadow:0 16px 48px #00000040;overflow:hidden}}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;flex-direction:column;justify-content:flex-end}.bottom-sheet-content{position:relative;z-index:1;background-color:var(--bg);border-top-left-radius:20px;border-top-right-radius:20px;padding:8px 16px calc(24px + var(--safe-bottom));max-width:var(--content-max-width);width:100%;margin:0 auto;box-shadow:0 -4px 20px #00000026;animation:sheetSlideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes dotBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes emptyFadeIn{0%{opacity:0}to{opacity:1}}@keyframes emptySlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes emptyRingPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.9;transform:scale(1.06)}}.blink{animation:blink 1.05s infinite}input,textarea,button{font-family:inherit;font-size:inherit}button{background:none;border:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(max-width:767px){button,a,input,select,textarea,[role=button]{touch-action:manipulation}.screen-header button{min-width:44px;min-height:44px}.tab-slot{min-height:48px;padding:4px 0}.tab-center-write,.touch-target{min-width:44px;min-height:44px}}.hide-mobile{display:none}.hide-desktop{display:flex}@media(min-width:768px){.hide-mobile{display:flex}.hide-desktop{display:none}}.sidebar-search-box{height:42px;border-radius:21px;background-color:var(--fill);display:flex;align-items:center;gap:10px;padding:0 16px;border:1px solid transparent;transition:border-color .15s ease,background-color .15s ease}.sidebar-search-box:focus-within{border-color:var(--tint);background-color:var(--bg)}.sidebar-search-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--text)}.sidebar-widget-card{border-radius:16px;background-color:var(--fill);border:1px solid var(--border);overflow:hidden}.widget-header{padding:12px 16px 8px}.widget-title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.2px}.widget-list{display:flex;flex-direction:column}.widget-row-clickable{padding:10px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background-color .12s ease;border-top:1px solid var(--border)}.widget-row-clickable:hover{background-color:var(--highlight)}.widget-user-row{padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border)}.widget-follow-btn{height:32px;padding:0 14px;border-radius:16px;font-size:13px;font-weight:600;cursor:pointer;border:none;background-color:var(--text);color:var(--bg);transition:opacity .15s ease;flex-shrink:0}.widget-follow-btn.following{border:1px solid var(--border);background-color:transparent;color:var(--text-secondary)}.sidebar-footer{padding:8px 4px;line-height:1.5}
