@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f7f5f0;--surface: #ffffff;--border: rgba(0,0,0,.1);--primary: #e85d04;--primary-light: #fff1e6;--text: #1a1a1a;--text-muted: #6b6b6b;--shadow: 0 2px 8px rgba(0,0,0,.08);--shadow-hover: 0 8px 24px rgba(0,0,0,.12);--nav-width: min(85vw, 17rem)}@media (min-width: 48em){:root{--nav-width: 17rem}}body{font-family:Instrument Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;min-height:100dvh;line-height:1.5;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:-1}.nav-drawer-toggle{position:fixed;top:50%;left:0;transform:translateY(-50%);width:2rem;height:6rem;background:var(--primary);border:none;border-radius:0 .75rem .75rem 0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1001;transition:all .2s ease;box-shadow:2px 2px #0000001a;-webkit-tap-highlight-color:transparent}.nav-drawer-toggle:hover{background:color-mix(in srgb,var(--primary) 85%,black)}.nav-drawer-toggle span{writing-mode:vertical-rl;text-orientation:mixed;font-family:Instrument Sans,sans-serif;font-size:.7rem;font-weight:700;color:#fff;letter-spacing:.15em;text-transform:uppercase}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;z-index:1001;pointer-events:none;transition:background .3s ease}.nav-backdrop.open{background:#0006;pointer-events:auto}.nav-backdrop.no-transition{transition:none!important}@media (min-width: 48em){.nav-backdrop.open{background:transparent;pointer-events:none}}.nav-drawer{position:fixed;top:0;left:0;bottom:0;width:var(--nav-width);background:var(--surface);border-right:1px solid var(--border);box-shadow:4px 0 20px #0000000d;transform:translate(-100%);transition:transform .3s ease;z-index:1002;display:flex;flex-direction:column;font-family:Instrument Sans,sans-serif}.nav-drawer.open{transform:translate(0)}.nav-drawer.no-transition{transition:none!important}.drawer-header{padding:1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.drawer-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}.drawer-logo-img{width:2.25rem;height:2.25rem;border-radius:.5rem;box-shadow:2px 2px #0000001a;transform:rotate(-2deg)}.drawer-title{font-size:1.2rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.drawer-close{width:2rem;height:2rem;background:transparent;border:1px solid var(--border);border-radius:.5rem;color:var(--text-muted);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;-webkit-tap-highlight-color:transparent}.drawer-close:hover{background:var(--bg)}.drawer-search{padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.drawer-search input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:.5rem;padding:.75rem 1rem;color:var(--text);font-size:.875rem;outline:none;font-family:inherit;transition:all .15s}.drawer-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.drawer-search input::placeholder{color:var(--text-muted)}.drawer-content{flex:1;overflow-y:auto;padding:1rem .75rem;-webkit-overflow-scrolling:touch}.drawer-section{margin-bottom:1.5rem}.drawer-section-title{font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;padding:.75rem .75rem .5rem}.loop-link{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:.5rem;cursor:pointer;transition:all .15s ease;text-decoration:none;color:inherit;margin-bottom:.25rem;border:1px solid transparent;-webkit-tap-highlight-color:transparent}.loop-link:hover{background:var(--bg)}.loop-link.active{background:var(--primary-light);border-color:var(--primary)}.loop-icon{width:2.25rem;height:2.25rem;background:var(--bg);border:1px solid var(--border);border-radius:.4rem;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.loop-link.active .loop-icon{background:#fff;border-color:var(--primary)}.loop-info{flex:1;min-width:0}.loop-name{font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loop-stats{font-size:.7rem;color:var(--text-muted)}.loop-link.create{border:2px dashed var(--border);background:transparent}.loop-link.create:hover{background:var(--primary-light)}.loop-link.create .loop-icon{background:transparent;border:1px dashed var(--border);color:var(--text-muted)}.loop-link.create .loop-name{color:var(--text-muted)}.loop-link-row{display:flex;align-items:center;gap:0;margin-bottom:.25rem}.loop-link-row .loop-link{flex:1;min-width:0;margin-bottom:0}.loop-save-btn{width:2rem;height:2rem;flex-shrink:0;background:transparent;border:none;border-radius:.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:0;transition:all .15s;-webkit-tap-highlight-color:transparent}.loop-save-btn svg{width:1rem;height:1rem}.loop-link-row:hover .loop-save-btn,.loop-save-btn.saved{opacity:1}.loop-save-btn:hover{color:var(--primary);background:var(--primary-light)}.loop-save-btn.saved{color:var(--primary)}.drawer-section-empty{padding:.75rem;text-align:center;color:var(--text-muted);font-size:.8rem}.drawer-footer{padding:1rem 1.25rem;border-top:1px solid var(--border)}.drawer-user{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--border)}.drawer-user-info{display:flex;flex-direction:column;min-width:0}.drawer-user-name{font-size:.875rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-user-handle{font-size:.7rem;color:var(--text-muted)}.drawer-logout-btn{background:transparent;border:1px solid var(--border);border-radius:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;flex-shrink:0}.drawer-logout-btn:hover{background:var(--bg);color:var(--text);border-color:var(--text-muted)}.drawer-logout-btn:disabled{opacity:.5;cursor:not-allowed}.drawer-signin-btn{display:block;width:100%;text-align:center;padding:.5rem;background:var(--primary);color:#fff;border-radius:.5rem;text-decoration:none;font-size:.875rem;font-weight:600;box-shadow:2px 2px #0000001a;transition:all .15s}.drawer-signin-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #00000026}.drawer-footer-link{display:block;padding:.625rem 0;color:var(--text-muted);font-size:.8125rem;text-decoration:none;transition:color .15s}.drawer-footer-link:hover{color:var(--primary)}.mobile-tab-bar{display:none}@media (max-width: 47.999em){.mobile-tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--surface);border-top:1px solid var(--border);z-index:1000;padding-bottom:env(safe-area-inset-bottom,0)}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem 0;background:none;border:none;color:var(--text-muted);font-size:.625rem;font-weight:500;font-family:inherit;text-decoration:none;cursor:pointer;transition:color .15s;-webkit-tap-highlight-color:transparent}.tab-item svg{width:1.375rem;height:1.375rem}.tab-item.active,.tab-item:hover{color:var(--primary)}.nav-drawer-toggle{display:none}.nav-drawer{width:100%}body{padding-bottom:calc(3.5rem + env(safe-area-inset-bottom,0))}}.loop-content{position:relative;min-height:100vh;min-height:100dvh}.posts{max-width:1100px;margin:0 auto;padding:1.25rem;columns:3;column-gap:1rem}@media (max-width: 56rem){.posts{columns:2;max-width:720px}}@media (max-width: 32rem){.posts{columns:1;max-width:420px}}.posts .card{break-inside:avoid;margin-bottom:1rem}.grid{max-width:1100px;margin:0 auto;padding:1.25rem;display:flex;gap:1rem;align-items:flex-start}.grid-col{flex:1;display:flex;flex-direction:column;gap:1rem;min-width:0}@media (max-width: 56rem){.grid{max-width:720px}}@media (max-width: 32rem){.grid{max-width:420px}}.list{max-width:420px;margin:0 auto;padding:1.25rem;display:flex;align-items:flex-start}.list .card{margin-bottom:1.25rem}.card{background:var(--card-bg, var(--surface));border-radius:.75rem;overflow:visible;position:relative;border:1px solid var(--border);box-shadow:var(--shadow);transition:all .2s ease;cursor:pointer}.card:hover{transform:none;box-shadow:var(--shadow)}.card img{width:100%;display:block;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}.card-body{padding:.75rem}.card-text{font-size:.9rem;line-height:1.5;margin-bottom:.5rem;white-space:pre-wrap;word-break:break-word}.posts-sentinel{display:flex;justify-content:center;padding:2rem 0;min-height:3rem}.posts-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;opacity:0;transition:opacity .2s}.posts-sentinel.active .posts-spinner{opacity:1;animation:posts-spin .6s linear infinite}@keyframes posts-spin{to{transform:rotate(360deg)}}.reactions{display:flex;gap:.375rem;flex-wrap:wrap;padding-top:.25rem}.reaction{background:var(--bg);border:1px solid var(--border);border-radius:1rem;padding:.2rem .5rem;font-size:.9rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:.25rem;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.reaction:hover{border-color:var(--primary);background:var(--primary-light)}.reaction.active{background:var(--primary-light);border-color:var(--primary)}.reaction.active .count{color:var(--primary);font-weight:600}.reaction .count{font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:none;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal-backdrop.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;width:100%;max-width:31.25rem;max-height:90vh;max-height:90dvh;overflow-y:auto;font-family:Instrument Sans,sans-serif;box-shadow:var(--shadow-hover)}.modal h2{color:var(--text);margin-bottom:1.25rem;font-size:1.2rem;font-weight:700}.modal-field{margin-bottom:1rem}.modal-field label{display:block;color:var(--text-muted);font-size:.8rem;font-weight:600;margin-bottom:.375rem}.modal-field input,.modal-field textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:.5rem;padding:.75rem;color:var(--text);font-size:1rem;font-family:inherit;outline:none;transition:all .15s}.modal-field textarea{min-height:6.25rem;resize:vertical}.modal-field input:focus,.modal-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.btn{padding:.625rem 1.25rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid var(--border);transition:all .15s;-webkit-tap-highlight-color:transparent;font-family:inherit}.btn-secondary{background:var(--surface);color:var(--text)}.btn-secondary:hover{background:var(--bg);border-color:var(--text-muted)}.btn-primary{background:var(--primary);color:#fff;border:none;box-shadow:2px 2px #0000001a}.btn-primary:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #00000026}.btn-primary:active{transform:translate(1px,1px);box-shadow:0 0 #0000001a}.image-preview{width:100%;border-radius:.5rem;margin-top:.5rem;display:none;border:1px solid var(--border)}.image-preview.visible{display:block}.emoji-picker{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:0;width:min(92vw,22rem);height:min(70vh,26rem);z-index:3000;box-shadow:0 8px 30px #0000001f,0 0 0 1px #0000000a;display:none;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease}.emoji-picker.open{opacity:1;transform:translateY(0)}.emoji-picker-header{padding:.75rem .75rem 0;flex-shrink:0}.emoji-picker-search{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:.375rem;padding:.5rem .75rem;color:var(--text);font-size:.8rem;outline:none;flex-shrink:0;font-family:inherit;transition:all .15s}.emoji-picker-search:focus{border-color:var(--primary)}.emoji-picker-search::placeholder{color:var(--text-muted)}.emoji-picker-tabs{display:flex;gap:0;flex-shrink:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);padding:0 .5rem;margin-top:.5rem}.emoji-picker-tab{flex:1 1 0;min-width:0;padding:.5rem .25rem .625rem;background:transparent;border:none;border-bottom:2px solid transparent;font-size:1.1rem;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent;opacity:.5}.emoji-picker-tab:hover{opacity:.8}.emoji-picker-tab.active{opacity:1;border-bottom-color:var(--primary)}.emoji-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:min-content;align-content:start;gap:.125rem;overflow-y:auto;overflow-x:hidden;flex:1;padding:.5rem;-webkit-overflow-scrolling:touch}@media (max-width: 30em){.emoji-picker-grid{grid-template-columns:repeat(6,1fr)}}.emoji-picker-grid::-webkit-scrollbar{width:.375rem}.emoji-picker-grid::-webkit-scrollbar-track{background:transparent}.emoji-picker-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:.1875rem}.emoji-picker-preview{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border-top:1px solid var(--border);flex-shrink:0;min-height:3.25rem;visibility:hidden}.emoji-picker-preview.active{visibility:visible}.emoji-picker-preview-emoji{flex-shrink:0}.emoji-picker-preview-emoji img{width:2.5rem;height:2.5rem;object-fit:contain}.emoji-picker-preview-name{font-size:.875rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace}.emoji-picker-item{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border-radius:.375rem;cursor:pointer;transition:background .1s ease;background:transparent;border:none;padding:0;-webkit-tap-highlight-color:transparent}.emoji-picker-item:hover{background:var(--bg)}.emoji-picker-item:active{background:var(--border)}.twemoji-picker,.custom-emoji-picker-img{width:1.5rem;height:1.5rem;object-fit:contain;pointer-events:none}.twemoji{width:1.25em;height:1.25em;vertical-align:middle;object-fit:contain;pointer-events:none}.custom-emoji{width:1.25em;height:1.25em;vertical-align:middle;object-fit:contain}.custom-emoji-empty{grid-column:1 / -1;text-align:center;padding:1.5rem 1rem;color:var(--text-muted);font-size:.85rem;line-height:1.5}.custom-emoji-empty-icon{font-size:2rem;margin-bottom:.5rem;opacity:.5}.custom-emoji-add-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;padding:.375rem;border-radius:.375rem;cursor:pointer;background:transparent;border:1px dashed var(--border);color:var(--text-muted);font-size:1.25rem;transition:all .15s;-webkit-tap-highlight-color:transparent;aspect-ratio:1}.custom-emoji-add-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.custom-emoji-add-btn .add-label{font-size:.5rem;font-weight:600;letter-spacing:.02em}.custom-emoji-form{grid-column:1 / -1;display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:.375rem;margin-bottom:.25rem}.custom-emoji-upload{position:relative}.custom-emoji-upload .custom-emoji-file{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:0;height:0;pointer-events:none}.custom-emoji-upload-area{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border:1px dashed var(--border);border-radius:.375rem;cursor:pointer;transition:border-color .15s,background .15s}.custom-emoji-upload-area:hover{border-color:var(--primary);background:var(--primary-light)}.custom-emoji-upload-preview{display:none;width:2rem;height:2rem;object-fit:contain;border-radius:.25rem;flex-shrink:0}.custom-emoji-upload-label{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-emoji-form input[type=text]{width:100%;padding:.375rem .5rem;font-size:.8rem;border:1px solid var(--border);border-radius:.375rem;background:var(--bg);color:var(--text);font-family:inherit;outline:none}.custom-emoji-form input[type=text]:focus{border-color:var(--primary)}.custom-emoji-form input[type=file]{font-size:.75rem;font-family:inherit}.custom-emoji-form .btn{padding:.375rem .75rem;font-size:.75rem}.custom-emoji-add-btn{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:1.25rem;border-radius:.25rem;cursor:pointer;background:transparent;border:1px dashed var(--border);color:var(--text-muted);padding:0;transition:all .15s}.custom-emoji-add-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.reaction-add-btn{background:transparent;border:1px dashed var(--border);border-radius:1rem;padding:.2rem .5rem;font-size:.85rem;cursor:pointer;transition:all .15s ease;color:var(--text-muted);-webkit-tap-highlight-color:transparent;opacity:.6}.reaction-add-btn:hover{background:var(--primary-light);border-color:var(--primary);opacity:1}.edit-loop-btn{position:fixed;bottom:1.5rem;left:1.5rem;width:3rem;height:3rem;border-radius:.5rem;background:var(--primary);color:#fff;font-size:1.125rem;text-decoration:none;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px #0000001a;transition:left .3s ease,transform .15s ease,box-shadow .15s ease;z-index:100;-webkit-tap-highlight-color:transparent}@media (min-width: 48em){.edit-loop-btn{bottom:2rem;left:2rem;width:3.125rem;height:3.125rem}}.edit-loop-btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px #00000026}.edit-loop-btn:active{transform:translate(1px,1px);box-shadow:0 0 #0000001a}.nav-drawer.open~.loop-content .edit-loop-btn{left:calc(var(--nav-width) + 1.5rem)}@media (min-width: 48em){.nav-drawer.open~.loop-content .edit-loop-btn{left:calc(var(--nav-width) + 2rem)}}@media (max-width: 47.999em){.edit-loop-btn{bottom:calc(4.5rem + env(safe-area-inset-bottom,0))}}.loop-header-save{display:inline-flex;align-items:center;gap:.375rem;margin-top:.75rem;padding:.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;color:var(--text-muted);font-size:.85rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.loop-header-save svg{width:1.125rem;height:1.125rem}.loop-header-save:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.loop-header-save.saved{color:var(--primary);border-color:var(--primary);background:var(--primary-light)}.loop-header-save.saved svg{fill:var(--primary)}.loop-header-save.saved .save-label:after{content:"d"}.card-meta{display:flex;align-items:center;gap:.75rem;padding:.25rem 0 .375rem}.comment-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:color .15s;background:none;border:none;padding:0;font-family:inherit;-webkit-tap-highlight-color:transparent}.comment-link:hover{color:var(--primary)}.comment-link svg{width:1rem;height:1rem}.comment-count{font-variant-numeric:tabular-nums}#detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:none;align-items:flex-start;justify-content:center;z-index:2000;padding:2rem 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}#detail-backdrop.open{display:flex}.detail-modal{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;width:100%;max-width:36rem;font-family:Instrument Sans,sans-serif;box-shadow:var(--shadow-hover);overflow:hidden;margin:auto 0}.detail-share{position:absolute;top:.75rem;right:3.25rem;width:2rem;height:2rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;z-index:1;-webkit-tap-highlight-color:transparent}.detail-share svg{width:1rem;height:1rem}.detail-share:hover{background:var(--bg);color:var(--primary)}.detail-close{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;color:var(--text-muted);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;z-index:1;-webkit-tap-highlight-color:transparent}.detail-close:hover{background:var(--bg);color:var(--text)}.detail-post{position:relative;padding-top:2.75rem}.detail-post:has(.detail-image){padding-top:0}.detail-image{width:100%;display:block}.detail-text{padding:1rem 1.25rem;font-size:1rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.detail-reactions{padding:0 1.25rem .75rem;display:flex;gap:.375rem;flex-wrap:wrap}.detail-divider{border:none;border-top:1px solid var(--border);margin:0}.detail-comments{padding:1rem 1.25rem}.detail-comments-title{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:.75rem}.comments-list{display:flex;flex-direction:column;gap:.75rem}.comment{padding:.625rem 0;border-bottom:1px solid var(--border)}.comment:last-child{border-bottom:none}.comment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.comment-author{font-size:.8rem;font-weight:600;color:var(--text)}.comment-time{font-size:.7rem;color:var(--text-muted)}.comment-text{font-size:.875rem;line-height:1.5;color:var(--text);white-space:pre-wrap;word-break:break-word}.comment-actions{display:flex;align-items:center;gap:.375rem;margin-top:.375rem}.comment-reactions{display:flex;gap:.25rem;flex-wrap:wrap}.comment-reactions .reaction{font-size:.75rem;padding:.125rem .375rem;border-radius:.75rem}.comment-reactions .reaction .count{font-size:.65rem}.comment-reactions .reaction-add-btn{font-size:.7rem;padding:.125rem .375rem;border-radius:.75rem}.comment-delete{background:none;border:none;color:var(--text-muted);font-size:.7rem;cursor:pointer;padding:.125rem .25rem;margin-left:auto;opacity:0;transition:opacity .15s,color .15s;font-family:inherit}.comment:hover .comment-delete{opacity:1}.comment-delete:hover{color:#e53e3e}.comment-form{display:flex;gap:.5rem;padding:.75rem 1.25rem 1rem;border-top:1px solid var(--border)}.comment-input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:1.5rem;padding:.5rem .875rem;color:var(--text);font-size:.875rem;font-family:inherit;outline:none;transition:border-color .15s;min-width:0}.comment-input:focus{border-color:var(--primary)}.comment-input::placeholder{color:var(--text-muted)}.comment-submit{background:var(--primary);color:#fff;border:none;border-radius:1.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s;white-space:nowrap;-webkit-tap-highlight-color:transparent}.comment-submit:hover{opacity:.85}.comment-submit:disabled{opacity:.5;cursor:not-allowed}.comments-empty{text-align:center;padding:1rem 0;color:var(--text-muted);font-size:.85rem}.share-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(1rem);background:var(--text);color:var(--bg);padding:.625rem 1.25rem;border-radius:.5rem;font-size:.875rem;font-weight:600;font-family:Instrument Sans,sans-serif;z-index:4000;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none}.share-toast.show{opacity:1;transform:translate(-50%) translateY(0)}@media (max-width: 47.999em){.share-toast{bottom:calc(4.5rem + env(safe-area-inset-bottom,0))}}.post-type-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:1px solid var(--border)}.post-type-tab{padding:.5rem 1rem;background:none;border:none;border-bottom:2px solid transparent;font-weight:600;color:var(--text-muted);cursor:pointer;font-family:inherit}.post-type-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.embed{margin:.75rem 0 .25rem;border-radius:.5rem;overflow:hidden}.embed-youtube{position:relative;padding-bottom:56.25%;height:0;background:#000}.embed-youtube iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.embed-twitter{max-width:550px}.embed-twitter .twitter-tweet{margin:0!important}.embed-generic{border:1px solid var(--border);border-radius:.5rem;padding:.75rem 1rem}.embed-generic a{color:var(--primary);word-break:break-all}.embed-link{color:var(--primary);text-decoration:underline;text-underline-offset:2px;word-break:break-all}.post-page{max-width:36rem;margin:0 auto;padding:1.5rem 1.25rem 2rem}.post-page-loading,.post-page-error{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.post-page-error a{color:var(--primary)}.post-back-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--text-muted);text-decoration:none;font-size:.875rem;font-weight:500;margin-bottom:1rem;transition:color .15s}.post-back-link:hover{color:var(--primary)}.post-back-link svg{width:1.125rem;height:1.125rem;flex-shrink:0}.post-page-card{cursor:default}.post-page-card:hover{transform:none;box-shadow:var(--shadow)}.post-page-image{width:100%;display:block;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}.post-page-text{font-size:1rem;line-height:1.6;margin-bottom:.5rem;white-space:pre-wrap;word-break:break-word}.post-page-meta{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.8rem;color:var(--text-muted)}.post-page-author{font-weight:600;color:var(--text)}.post-page-share{margin-left:auto;background:none;border:1px solid var(--border);border-radius:.375rem;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.post-page-share svg{width:.875rem;height:.875rem}.post-page-share:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-light)}.post-page-comments{padding:1rem 0}.post-page .comment-form{padding:.75rem 0 0;border-top:1px solid var(--border)}.page-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#1a1a1a;display:flex;align-items:center;justify-content:center}.page-loader-logo{width:4rem;height:4rem;animation:loader-pulse 1.4s ease-in-out infinite}@keyframes loader-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.1);opacity:1}}
