.route-modal-overlay{position:fixed;inset:0;z-index:1000;background:var(--scrim-soft);backdrop-filter:var(--material-glass-filter);-webkit-backdrop-filter:var(--material-glass-filter);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-6);overflow-y:auto;overscroll-behavior:contain;animation:route-modal-overlay-in .18s ease-out}@keyframes route-modal-overlay-in{0%{opacity:0}to{opacity:1}}.route-modal-panel{position:relative;width:100%;max-width:1240px;background:var(--surface);color:var(--text);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;animation:route-modal-panel-in .2s ease-out}@keyframes route-modal-panel-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.route-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.route-modal-close:hover{background:var(--surface-sunken);border-color:var(--border-strong);transform:scale(1.05)}.route-modal-close:active{transform:scale(.96)}@media (max-width:640px){.route-modal-overlay{padding:0;align-items:stretch;overflow-y:auto;-webkit-overflow-scrolling:touch}.route-modal-panel{border-radius:0;max-width:100%;min-height:100vh;min-height:100dvh;overflow:visible}}@media (prefers-reduced-motion:reduce){.route-modal-overlay,.route-modal-panel{animation:none}.route-modal-close{transition:none}}.post-container{max-width:1200px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-16);font-family:var(--font);color:var(--text)}.post-state{min-height:calc(100vh - 120px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:var(--text-muted);font:var(--type-body-compact);letter-spacing:var(--type-body-ls)}.post-state-msg{color:var(--text-primary)}.post-spinner{width:32px;height:32px;border:3px solid var(--border-strong);border-top-color:var(--brand);border-radius:var(--radius-full);animation:post-spin .8s linear infinite}@keyframes post-spin{to{transform:rotate(1turn)}}.post-back-row{margin-bottom:var(--space-4)}.post-back-btn{display:inline-flex;align-items:center;gap:var(--space-1_5);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);font:var(--type-ui-label);letter-spacing:var(--type-ui-label-ls);cursor:pointer;transition:all .15s}.post-back-btn:hover{border-color:var(--border-strong);background:var(--surface-sunken)}.post-main{display:flex;flex-direction:column;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--material-card-shadow)}@media (min-width:960px){.post-main{flex-direction:row}}.post-media{position:relative;width:100%;background:transparent;display:flex;align-items:center;justify-content:center;min-height:360px}@media (min-width:960px){.post-media{width:60%;min-height:600px;max-height:85vh}}.post-media-bg{position:absolute;inset:0;background-size:cover;background-position:50%;opacity:.35;filter:var(--material-glass-filter)}.post-media-el{position:relative;z-index:1;max-width:100%;max-height:85vh;width:auto;height:auto;-o-object-fit:contain;object-fit:contain}.post-expand-btn{position:absolute;bottom:12px;right:12px;z-index:2;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);background:var(--media-control-bg);color:var(--media-control-text);cursor:pointer;opacity:0;transition:opacity .15s}.post-media:hover .post-expand-btn{opacity:1}.post-side{flex:1;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width:960px){.post-side{width:40%;max-height:85vh;overflow-y:auto;padding:var(--space-8) var(--space-6)}}.post-title{font:var(--type-component-title);letter-spacing:var(--type-component-title-ls);color:var(--text-primary);margin:var(--space-1) 0 var(--space-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-stats{display:flex;align-items:center;gap:var(--space-2);font:var(--type-meta);letter-spacing:var(--type-meta-ls);color:var(--text-tertiary)}.post-stat{display:inline-flex;align-items:center;gap:var(--space-1)}.post-stat-sep{opacity:.5}.post-actions-primary{display:flex;gap:var(--space-3)}.post-btn-primary{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1_5);padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);font:var(--type-ui-label);letter-spacing:var(--type-ui-label-ls);cursor:pointer;transition:transform .15s,box-shadow .15s,filter .15s;background:var(--action-primary-bg);color:var(--action-primary-text);box-shadow:var(--shadow-brand)}.post-btn-primary:hover{transform:translateY(-1px);filter:var(--interactive-hover-filter)}.post-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1_5);padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);font:var(--type-ui-label);letter-spacing:var(--type-ui-label-ls);cursor:pointer;transition:all .15s}.post-btn-secondary:hover{background:var(--surface-sunken);border-color:var(--brand);color:var(--brand)}.post-actions-secondary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.post-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-muted);font:var(--type-meta-strong);letter-spacing:var(--type-meta-ls);cursor:pointer;transition:all .15s}.post-action-btn:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-raised)}.post-action-btn.liked{color:var(--brand);border-color:var(--brand)}.post-section{border-top:1px solid var(--border);padding:var(--space-4) 0 var(--space-1)}.post-section:first-of-type{border-top:none;padding-top:var(--space-2)}.post-section-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 0 var(--space-3);border:none;background:none;font:var(--type-ui-label);letter-spacing:var(--type-ui-label-ls);color:var(--text);font-family:inherit;cursor:pointer}.post-arrow{transition:transform .2s}.post-arrow.open{transform:rotate(180deg)}.post-elements-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding:var(--space-1) 0 var(--space-3)}.post-element-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.post-element-img{width:100%;aspect-ratio:1/1;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-sunken)}.post-element-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.post-element-label{font:var(--type-meta);letter-spacing:var(--type-meta-ls);color:var(--text-tertiary)}.post-element-name{font:var(--type-meta-strong);letter-spacing:var(--type-meta-ls);color:var(--text-primary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-tags-list{display:flex;flex-wrap:wrap;gap:var(--space-1_5);padding:var(--space-1) 0 var(--space-3)}.post-tag{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface-sunken);color:var(--text-muted)}.post-empty,.post-tag{font:var(--type-meta);letter-spacing:var(--type-meta-ls)}.post-empty{color:var(--text-tertiary);padding:var(--space-1) 0 var(--space-3)}.post-prompt-box{font:var(--type-body-compact);letter-spacing:var(--type-body-ls);color:var(--text-secondary);padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word}.post-side-footer{margin-top:auto;padding-top:var(--space-5);display:flex;justify-content:flex-end}.post-btn-generate{padding:var(--space-3) var(--space-8);border:none;border-radius:var(--radius-full);background:var(--action-primary-bg);color:var(--action-primary-text);font:var(--type-ui-label);letter-spacing:var(--type-ui-label-ls);cursor:pointer;box-shadow:var(--shadow-brand);transition:transform .15s,filter .15s}.post-btn-generate:hover{transform:translateY(-1px);filter:var(--interactive-hover-filter)}.wlb-overlay{position:fixed;inset:0;z-index:9000;background:var(--bg-void);display:grid;grid-template-rows:1fr auto;align-items:stretch;width:100vw;height:100vh;height:100dvh;overflow:hidden;overscroll-behavior:contain;animation:wlbFadeIn .18s ease-out}@keyframes wlbFadeIn{0%{opacity:0}to{opacity:1}}.wlb-close{position:fixed;top:16px;right:16px;z-index:9100;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-media);border-radius:var(--radius-full);background:var(--media-control-bg);color:var(--media-control-text);cursor:pointer;backdrop-filter:var(--media-control-filter);-webkit-backdrop-filter:var(--media-control-filter);transition:background .15s,border-color .15s}.wlb-close:hover{background:var(--scrim-heavy);border-color:var(--glass-strong)}.wlb-stage{position:relative;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4) var(--space-2);overflow:hidden}.wlb-media{max-width:min(100%,92vw);width:auto;height:auto;-o-object-fit:contain;object-fit:contain;display:block;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:var(--surface-dark-grey)}.wlb-spinner{position:absolute;top:50%;left:50%;width:32px;height:32px;margin:calc(var(--space-4) * -1) 0 0 calc(var(--space-4) * -1);border:3px solid var(--border-media);border-top-color:var(--media-control-text);border-radius:var(--radius-full);animation:wlbSpin .7s linear infinite;pointer-events:none}@keyframes wlbSpin{to{transform:rotate(1turn)}}.wlb-nav{position:absolute;top:50%;z-index:5;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-media);border-radius:var(--radius-full);background:var(--media-control-bg);color:var(--media-control-text);cursor:pointer;transform:translateY(-50%);backdrop-filter:var(--media-control-filter);-webkit-backdrop-filter:var(--media-control-filter);transition:background .15s,border-color .15s,transform .15s}.wlb-nav svg{width:22px;height:22px}.wlb-nav:hover{background:var(--scrim-heavy);border-color:var(--glass-strong)}.wlb-nav-prev{left:16px}.wlb-nav-next{right:16px}.wlb-nav-prev:hover{transform:translateY(-50%) translateX(-2px)}.wlb-nav-next:hover{transform:translateY(-50%) translateX(2px)}.wlb-counter{position:absolute;bottom:12px;left:16px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--media-control-bg);color:var(--media-control-text);font:var(--type-meta-strong);letter-spacing:var(--type-meta-ls);font-variant-numeric:tabular-nums;pointer-events:none;backdrop-filter:var(--media-control-filter);-webkit-backdrop-filter:var(--media-control-filter)}.wlb-toolbar{display:flex;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom, var(--space-3)) + var(--space-4));background:var(--material-media-scrim)}.wlb-tool{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);background:var(--site-chrome-bg-elevated);border:1px solid var(--site-chrome-border);color:var(--site-chrome-text);font:var(--type-ui-label);letter-spacing:var(--type-ui-label-ls);cursor:pointer;backdrop-filter:var(--material-glass-filter);-webkit-backdrop-filter:var(--material-glass-filter);transition:background .15s,transform .1s,opacity .15s;white-space:nowrap}.wlb-tool svg{width:18px;height:18px}.wlb-tool:hover{background:var(--site-chrome-hover)}.wlb-tool:active{transform:scale(.97)}.wlb-tool:disabled{opacity:.4;cursor:not-allowed}@media (max-width:640px){.wlb-close{top:12px;right:12px;width:38px;height:38px}.wlb-stage{padding:var(--space-4) var(--space-2) var(--space-1)}.wlb-media{max-width:100%}.wlb-nav{width:38px;height:38px}.wlb-nav svg{width:18px;height:18px}.wlb-nav-prev{left:8px}.wlb-nav-next{right:8px}.wlb-toolbar{gap:var(--space-1);padding:var(--space-2) var(--space-2) calc(env(safe-area-inset-bottom, var(--space-2)) + var(--space-3))}.wlb-tool{flex:1;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-1);font:var(--type-meta);letter-spacing:var(--type-meta-ls);border-radius:var(--radius-lg);min-width:0}.wlb-tool svg{width:20px;height:20px}.wlb-counter{bottom:8px;left:var(--space-3);font:var(--type-meta-strong);letter-spacing:var(--type-meta-ls)}}.wlb-tool-visibility .wlb-tool-visibility-label{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-0_5)}.wlb-tool-visibility-title{font:var(--type-ui-label);letter-spacing:var(--type-ui-label-ls)}.wlb-tool-visibility-state{font:var(--type-meta);letter-spacing:var(--type-meta-ls);opacity:.7}.wlb-tool-danger{color:var(--pink-400)}.wlb-tool-danger:hover:not(:disabled){background:var(--site-chrome-active);border-color:var(--brand-accent-border);color:var(--brand-soft)}