:root{--color-bg:#f3f5f7;--color-surface:#fff;--color-text:#14181f;--color-text-muted:#5e6673;--color-border:#d5dae2;--color-accent:#f36475;--color-accent-text:#fff;--color-danger:#b42318;--color-focus:#f36475;--color-fire:#e65f5a;--color-fire-core:#f8d768;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:.375rem;--radius-md:.625rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--line-height:1.5;--tap-min:2.75rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:Pretendard,system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--font-size-md);line-height:var(--line-height);color:var(--color-text);background:var(--color-bg);margin:0}.app-shell{width:100%;max-width:430px;min-height:100dvh;padding:max(var(--space-2), env(safe-area-inset-top)) max(var(--space-4), env(safe-area-inset-right)) max(var(--space-4), env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));background:var(--color-surface);border-inline:1px solid var(--color-border);margin:0 auto}.stack{gap:var(--space-5);flex-direction:column;display:flex}.stack>*{margin-top:0;margin-bottom:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auto-hide-header{z-index:40;margin-top:calc(-1 * max(var(--space-2), env(safe-area-inset-top)));margin-right:calc(-1 * max(var(--space-4), env(safe-area-inset-right)));margin-left:calc(-1 * max(var(--space-4), env(safe-area-inset-left)));padding-top:max(var(--space-2), env(safe-area-inset-top));padding-right:max(var(--space-4), env(safe-area-inset-right));padding-left:max(var(--space-4), env(safe-area-inset-left));background:linear-gradient(to bottom, var(--color-surface) 0%, var(--color-surface) 70%, #fff0 100%);will-change:transform;transition:transform .2s;position:sticky;top:0}.auto-hide-header.is-hidden{pointer-events:none;transform:translateY(-100%)}.page-header{gap:var(--space-2);flex-direction:column;display:flex}.page-header-bar{min-height:var(--tap-min);justify-content:space-between;align-items:center;display:flex;position:relative}.page-header-side{flex:1;align-items:center;min-width:0;display:flex}.page-header-start{justify-content:flex-start}.page-header-trailing{justify-content:flex-end}.page-header-center{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.page-header-center>*{pointer-events:auto}.page-header h1,.page-header-title{margin:0}.page-header-title-row{align-items:flex-start;gap:var(--space-2);display:flex}.page-header-title{overflow-wrap:break-word;flex:auto;min-width:0}.page-header-title-actions{flex-shrink:0;margin-top:-.15rem}.post-author-actions{align-items:flex-start;gap:var(--space-1);flex-shrink:0;display:flex}.post-author-actions .edit-action,.post-author-actions a.button.edit-action{gap:var(--space-1);border-radius:var(--radius-sm);width:auto;min-height:1.875rem;padding:.25rem .5rem;font-size:.8125rem}.post-heading-row,.reply-heading-row{align-items:flex-start;gap:var(--space-2);display:flex}.post-heading-row .post-body,.reply-heading-row .reply-content-expandable,.reply-heading-row .reply-content{flex:auto;min-width:0}.reply-heading-row .reply-content-expandable,.reply-heading-row .reply-content,.reply-content-expandable .reply-content{min-height:0}.page-header-brand,.page-header-logo{color:var(--color-accent);font-size:1.625rem;font-weight:700;line-height:1.25;text-decoration:none}.page-header-logo:hover{filter:brightness(.96);text-decoration:none}.page-header-logo:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.page-header-back{font-size:var(--font-size-sm);margin:0}.page-header-back-button{width:var(--tap-min);min-width:var(--tap-min);min-height:var(--tap-min);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-inline-start:calc(var(--space-2) * -1);padding:0;font-weight:400;line-height:1;display:inline-flex}.page-header-back-icon{display:block}.page-header-back-button.is-text{width:auto;padding-inline:var(--space-2);font-size:var(--font-size-sm)}.page-header-back-button:hover{color:var(--color-accent);filter:none;background:0 0}.page-header-back-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.page-header-account{width:var(--tap-min);height:var(--tap-min);margin-inline:calc(var(--space-2) * -1);color:var(--color-text);border-radius:var(--radius-sm);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.page-header-account:hover{color:var(--color-accent)}.page-header-account:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.page-header-account-icon{display:block}.row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.text-muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.post-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.infinite-scroll-sentinel{min-height:1px;padding-block:var(--space-3);text-align:center}.infinite-scroll-sentinel>p{margin:0}.post-frame{--post-frame-cut:8px;position:relative}.post-frame-bracket{width:var(--post-frame-cut);color:var(--color-accent);pointer-events:none;position:absolute;top:0;bottom:0}.post-frame-bracket-left{left:0}.post-frame-bracket-right{right:0}.post-frame-bracket-svg{display:block;overflow:visible}.post-list-link{gap:var(--space-1);min-height:var(--tap-min);padding:var(--space-4) calc(var(--space-4) + var(--post-frame-cut));color:inherit;background:0 0;flex-direction:column;text-decoration:none;display:flex}.post-list-link:hover{text-decoration:none}.post-list-title,.post-list-excerpt{color:var(--color-text);overflow-wrap:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-list-title{font-weight:600}.post-list-excerpt{font-weight:400}.post-list-meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}.profile-tabs{border-bottom:1px solid var(--color-border);width:100%;display:flex}.profile-tab{min-height:var(--tap-min);padding:0 var(--space-1);color:var(--color-text-muted);border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;margin-bottom:-1px;font-weight:600;text-decoration:none;display:inline-flex}.profile-tab:hover{color:var(--color-text);text-decoration:none}.profile-tab.is-active{border-bottom-color:var(--color-accent);color:var(--color-text)}.profile-tab:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.empty-state-body{gap:var(--space-3);padding:var(--space-5) calc(var(--space-4) + var(--post-frame-cut));flex-direction:column;display:flex}.empty-state-title{font-size:var(--font-size-lg);margin:0;font-weight:700}.empty-state-body .text-muted{margin:0}.post-detail{--post-body-gap-top:var(--space-3);--post-body-gap-bottom:var(--space-2);--post-meta-to-engagement:var(--space-2);gap:var(--post-meta-to-engagement)}.post-detail>.page-header+.post-article,.post-detail>.auto-hide-header+.post-article{margin-top:calc(var(--post-body-gap-top) - var(--post-meta-to-engagement))}.post-article{gap:var(--space-4)}.post-detail>.post-article{gap:var(--post-body-gap-bottom)}.post-detail>section.stack{gap:var(--post-meta-to-engagement)}.post-parent-link,.post-parent-label{color:var(--color-text-muted);font-size:var(--font-size-sm);overflow-wrap:break-word;margin:0;font-weight:400;line-height:1.4;text-decoration:none;display:block}.post-parent-link{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-parent-link:hover{color:var(--color-text);text-decoration:underline}.post-list-link .post-parent-label{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-thread-reply{align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.post-thread-elbow{flex:0 0 .75rem;width:.75rem;height:.85rem;margin-top:.15rem;position:relative}.post-thread-elbow:before{content:"";border-left:2px solid var(--color-border);border-bottom:2px solid var(--color-border);border-bottom-left-radius:.375rem;position:absolute;inset:0}.post-thread-body{gap:var(--space-2);flex:auto;min-width:0}.post-list-link .post-thread-body{gap:var(--space-1);flex-direction:column;display:flex}.post-body{overflow-wrap:break-word;white-space:pre-wrap;margin:0;line-height:1.6}.post-engagement{align-items:center;gap:var(--space-1);margin-inline-start:calc(var(--space-1) * -1);display:flex}.post-engagement .reply-heading,.fire-button-form{margin:0}.engagement-action,.fire-button,.reply-count-link{align-items:center;gap:var(--space-2);min-height:2rem;padding:0 var(--space-1);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:none;margin:0;line-height:1;text-decoration:none;display:inline-flex}.fire-button{cursor:pointer}a.fire-button:hover,.reply-count-link:hover{text-decoration:none}.fire-button.is-fired{color:var(--color-fire)}.engagement-action-icon,.fire-button-icon,.reply-heading-icon{flex-shrink:0;display:block}.fire-button-icon-outer,.fire-button-icon-inner{fill:none;stroke:currentColor}.fire-button.is-fired .fire-button-icon-outer{fill:currentColor;stroke:none}.fire-button.is-fired .fire-button-icon-inner{fill:var(--color-fire-core);stroke:none}.engagement-action-count,.fire-button-count,.reply-heading-count{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.post-actions{width:100%}.post-actions>button,.post-actions>.button,.post-actions>form{flex:1 1 0;min-width:0}.post-actions>button,.post-actions>form>button{width:100%}.edit-action{justify-content:center;align-items:center;gap:var(--space-2);display:inline-flex}.post-more-menu{flex-shrink:0;position:relative}.post-more-trigger{width:var(--tap-min);min-width:var(--tap-min);min-height:var(--tap-min);padding:var(--space-1) 0 0;border-radius:var(--radius-sm);color:var(--color-text-muted);background:0 0;border:none;justify-content:center;align-items:flex-start;display:inline-flex}.post-more-trigger:hover{filter:none;background:var(--color-bg);color:var(--color-text)}.post-more-panel{top:calc(100% + var(--space-1));z-index:30;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:6.5rem;box-shadow:0 8px 24px color-mix(in srgb, var(--color-text) 12%, transparent);padding:.25rem;position:absolute;right:0}.post-more-item{border-radius:var(--radius-sm);width:100%;min-height:2rem;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:.375rem .625rem;font-weight:500;line-height:1.2;display:flex}.post-more-item:hover{filter:none;background:var(--color-bg)}.post-more-item.is-danger{color:var(--color-danger)}.edit-countdown{font-variant-numeric:tabular-nums;white-space:nowrap}.reply-heading{align-items:center;display:flex}.reply-list{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.reply-item{gap:var(--space-2);padding:var(--space-4) 0 var(--space-2);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.reply-item>p{margin:0}.reply-item>form.stack{gap:var(--space-2)}.reply-edit-field{margin-bottom:0}.reply-edit-textarea{min-height:calc(var(--font-size-md) * var(--line-height) + var(--space-3) * 2);max-height:calc(var(--font-size-md) * var(--line-height) * 5 + var(--space-3) * 2);height:calc(var(--font-size-md) * var(--line-height) + var(--space-3) * 2);resize:none;field-sizing:fixed;overflow-y:auto}.reply-content{min-height:var(--tap-min);color:var(--color-text);overflow-wrap:break-word;white-space:pre-wrap;margin:0;font-weight:400;line-height:1.6;text-decoration:none;display:block}.reply-content:hover{text-decoration:none}.reply-content.text-muted{color:var(--color-text-muted);font-weight:400}.has-reply-composer{padding-bottom:calc(var(--reply-composer-height,9.5rem) + var(--space-4))}.reply-composer{left:50%;bottom:var(--keyboard-inset,0px);z-index:20;gap:var(--space-3);width:min(100%,430px);max-width:430px;padding:var(--space-3) max(var(--space-4), env(safe-area-inset-right)) max(var(--space-3), env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));pointer-events:none;background:0 0;flex-direction:column;margin:0;display:flex;position:fixed;transform:translate(-50%)}.reply-composer-row{align-items:flex-start;gap:var(--space-2);pointer-events:auto;display:flex}.reply-composer-field{flex:auto;min-width:0;margin-bottom:0}.reply-composer textarea{min-height:calc(var(--font-size-md) * var(--line-height) + var(--space-3) * 2);max-height:calc(var(--font-size-md) * var(--line-height) * 5 + var(--space-3) * 2);height:calc(var(--font-size-md) * var(--line-height) + var(--space-3) * 2);resize:none;field-sizing:fixed;background:var(--color-surface);box-shadow:0 6px 20px color-mix(in srgb, var(--color-text) 14%, transparent);overflow-y:auto}.reply-composer-submit{width:var(--tap-min);min-width:var(--tap-min);min-height:var(--tap-min);font-size:var(--font-size-lg);box-shadow:0 6px 20px color-mix(in srgb, var(--color-text) 14%, transparent);flex-shrink:0;padding:0;line-height:1}.reply-composer-message{font-size:var(--font-size-sm);color:var(--color-danger);pointer-events:auto;margin:0}.compose-page{gap:var(--space-2)}.compose-form{gap:var(--space-4);flex-direction:column;display:flex}.compose-field{gap:var(--space-2);flex-direction:column;width:100%;margin-bottom:0;display:flex}.compose-field-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.compose-hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0;font-weight:400;line-height:1.4}.compose-textarea{resize:vertical;width:100%;min-height:min(60dvh,28rem);line-height:1.6}.compose-message{font-size:var(--font-size-sm);color:var(--color-danger);margin:0}.has-compose-fab{padding-bottom:5.5rem}.compose-fab{left:50%;bottom:max(var(--space-4), env(safe-area-inset-bottom));z-index:20;width:min(100%,430px);max-width:430px;padding-inline:max(var(--space-4), env(safe-area-inset-right));pointer-events:none;justify-content:flex-end;display:flex;position:fixed;transform:translate(-50%)}.compose-fab-button{pointer-events:auto;background:var(--color-accent);width:3.5rem;height:3.5rem;color:var(--color-accent-text);box-shadow:0 4px 16px color-mix(in srgb, var(--color-text) 18%, transparent);border:none;border-radius:1rem;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.compose-fab-button:hover{background:color-mix(in srgb, var(--color-accent) 88%, #000);text-decoration:none}.compose-fab-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.compose-fab-icon{display:block}.has-compose-cta{padding-bottom:5.5rem}.compose-cta{left:50%;bottom:var(--keyboard-inset,0px);z-index:20;width:min(100%,430px);max-width:430px;padding:var(--space-3) max(var(--space-4), env(safe-area-inset-right)) max(var(--space-3), env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));border-top:1px solid var(--color-border);border-inline:1px solid var(--color-border);background:var(--color-surface);position:fixed;transform:translate(-50%)}.compose-cta>button{width:100%}.auth-step{gap:var(--space-4)}.auth-step-meta{margin:0}.auth-step-email{color:var(--color-text);overflow-wrap:anywhere;font-weight:600}.auth-field{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.auth-field label{width:100%;margin-bottom:0}.auth-field-hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.auth-field-message{font-size:var(--font-size-sm);margin:0;line-height:1.4}.auth-field-message-error{color:var(--color-danger)}.auth-field-message-success{color:var(--color-accent);font-weight:600}.auth-step label{width:100%;margin-bottom:0}.auth-step input{min-height:3.25rem;padding:var(--space-4);font-size:var(--font-size-lg)}.auth-otp-inputs{gap:var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));width:100%;display:grid}.auth-step input.auth-input-code{aspect-ratio:1;text-align:center;font-variant-numeric:tabular-nums;width:100%;min-width:0;min-height:3.25rem;caret-color:var(--color-accent);padding:0;font-size:1.5rem;font-weight:600;line-height:1}.auth-step input.auth-input-code[aria-invalid=true]{border-color:var(--color-danger)}.auth-step input.auth-input-code:disabled{opacity:.6;background:var(--color-bg)}.auth-step button{width:100%;min-height:3.25rem;font-size:var(--font-size-md)}.auth-step form.stack,.auth-step form.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-actions{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.auth-resend{align-items:stretch;gap:var(--space-2);flex-direction:column;width:100%;display:flex}.auth-legal{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.auth-legal a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.auth-legal a:hover{color:var(--color-text)}.auth-legal-sep{color:var(--color-border)}h1,h2,h3{margin:0 0 var(--space-3);font-weight:700;line-height:1.25}h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}h3{font-size:var(--font-size-md)}p{margin:0 0 var(--space-3);color:var(--color-text)}p:last-child{margin-bottom:0}ul{margin:0;padding:0;list-style:none}a{color:var(--color-accent);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}label{gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text);flex-direction:column;font-weight:600;display:flex}input,textarea,button{font:inherit;color:inherit}input,textarea{width:100%;min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}textarea{resize:vertical;min-height:8rem;line-height:var(--line-height)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}button,a.button{min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-text);cursor:pointer;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}button:hover,a.button:hover{filter:brightness(.96);text-decoration:none}button:disabled{cursor:not-allowed;opacity:.55;filter:none}button.secondary,a.button.secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}button.secondary:hover,a.button.secondary:hover{filter:none;background:var(--color-bg)}button.danger,a.button.danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-accent-text)}.confirm-dialog{padding:var(--space-4);background:0 0;border:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.confirm-dialog[open]{justify-content:center;align-items:center;display:flex}.confirm-dialog::backdrop{background:color-mix(in srgb, var(--color-text) 40%, transparent)}.confirm-dialog-panel{gap:var(--space-5);width:min(22rem,100%);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.confirm-dialog-message{font-size:var(--font-size-md);color:var(--color-text);margin:0;font-weight:600}.confirm-dialog-copy{gap:var(--space-3);flex-direction:column;display:flex}.confirm-dialog-notes{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0;padding-left:1.15rem;line-height:1.5;list-style:outside}.confirm-dialog-notes li+li{margin-top:var(--space-1)}.confirm-dialog-actions{justify-content:flex-end}.confirm-dialog-actions form{display:contents}.button-block,.button-block form,.button-block form>button{width:100%}.settings-page{gap:var(--space-5)}.settings-section{gap:var(--space-2);flex-direction:column;display:flex}.settings-section-title{padding-inline:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0;font-weight:600}.settings-list{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin:0;padding:0;list-style:none;overflow:hidden}.settings-list>li+li{border-top:1px solid var(--color-border)}.settings-item-form{width:100%;margin:0}.settings-item{width:100%;min-height:var(--tap-min);padding:var(--space-3) var(--space-4);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:.15rem;margin:0;font-weight:500;text-decoration:none;display:flex}a.settings-item:hover,button.settings-item:hover{background:var(--color-bg);filter:none;text-decoration:none}.settings-item-label{color:var(--color-text)}.settings-item-meta{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:400}.settings-item-danger{color:var(--color-danger)}.legal-page{padding-bottom:var(--space-6)}.legal-page>p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.7}.legal-summary{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.legal-summary>strong{margin-bottom:var(--space-2);display:block}.legal-sections{gap:var(--space-6);flex-direction:column;display:flex}.legal-sections section{scroll-margin-top:var(--space-6)}.legal-sections h2{margin-bottom:var(--space-3);font-size:var(--font-size-lg);overflow-wrap:break-word}.legal-summary ul,.legal-sections ul,.legal-sections ol{margin:0 0 var(--space-3);padding-left:1.25rem}.legal-summary ul,.legal-sections ul{list-style:outside}.legal-summary li,.legal-sections li{padding-left:var(--space-1);line-height:1.65}.legal-summary li+li,.legal-sections li+li{margin-top:var(--space-2)}.legal-sections p{line-height:1.7}.legal-detail-list{gap:var(--space-4);flex-direction:column;padding-left:0;list-style:none;display:flex}.legal-detail-list>li{gap:var(--space-1);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.legal-detail-list>li+li{margin-top:0}.legal-page a{overflow-wrap:anywhere}
