.pu-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1600;display:flex;align-items:flex-end;justify-content:center}.pu-back{position:absolute;top:0;right:0;bottom:0;left:0;background:#0206178c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pu{position:relative;width:100%;max-height:92dvh;display:flex;flex-direction:column;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:var(--shadow-xl);padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain}.pu-grip{flex:0 0 auto;padding:.55rem 0 .15rem;display:flex;justify-content:center;cursor:grab;touch-action:none}.pu-grip i{width:40px;height:4px;border-radius:99px;background:var(--border-strong)}.pu-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 1rem .7rem 1.1rem;border-bottom:1px solid var(--border-color);touch-action:none}.pu-title{margin:0;display:flex;align-items:center;gap:.55rem;min-width:0;font-family:var(--font-display);font-size:1.02rem;font-weight:700;color:var(--text-primary)}.pu-title svg{color:var(--accent-primary);font-size:.95rem}.pu-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pu-head-r{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}.pu-x{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--bg-surface-2);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,transform .15s}.pu-x:hover{background:var(--bg-surface-3);color:var(--text-primary)}.pu-x:active{transform:scale(.92)}.pu-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1rem 1.1rem 1.2rem}.pu-foot{flex:0 0 auto;padding:.75rem 1.1rem;border-top:1px solid var(--border-color);display:flex;gap:.6rem;justify-content:flex-end;align-items:center}@media (min-width: 640px){.pu-root{align-items:center;padding:1.25rem}.pu{border-radius:20px;border-bottom:1px solid var(--border-color);max-height:min(86dvh,820px);padding-bottom:0}.pu--sm .pu{max-width:420px}.pu--md .pu{max-width:540px}.pu--lg .pu{max-width:760px}}@media (prefers-reduced-motion: reduce){.pu-x{transition:none}}.pu-text{margin:0;font-size:.92rem;line-height:1.6;color:var(--text-secondary)}.pu-btn{height:40px;padding:0 1.1rem;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;color:var(--text-primary);background:var(--bg-surface-2);border:1px solid var(--border-color);transition:background .15s,border-color .15s,transform .12s,opacity .15s}.pu-btn:hover:not(:disabled){background:var(--bg-surface-3)}.pu-btn:active:not(:disabled){transform:scale(.97)}.pu-btn:disabled{opacity:.65;cursor:default}.pu-btn--danger{color:#fff;background:#dc2626;border-color:#dc2626}.pu-btn--danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}@media (max-width: 639px){.pu-foot .pu-btn{flex:1}}.pu--xl .pu{max-width:min(980px,96vw)}.pu-body--pdf{padding:0!important;overflow:hidden!important;display:flex}.pu--xl .fv-frame{flex:1;width:100%;height:min(78vh,760px);border:0;background:#fff}@media (max-width: 639.98px){.pu--xl .fv-frame{height:72vh}}.fv-hbtn{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);background:transparent;border:1px solid var(--border-color);text-decoration:none;font-size:.85rem;transition:background .15s,color .15s}.fv-hbtn:hover{background:var(--bg-surface-2);color:var(--text-primary)}.pm-btn{width:30px;height:30px;border-radius:50%;border:0;background:transparent;color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;flex:0 0 auto}.pm-btn:hover,.pm-btn[aria-expanded=true]{background:var(--bg-surface-2);color:var(--text-primary)}.pm-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1700}.pm-back{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent}.pm-pop{position:fixed;min-width:190px;padding:.3rem;border-radius:14px;background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-xl)}.pm-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .7rem;border:0;border-radius:9px;background:transparent;color:var(--text-secondary);font-size:.86rem;font-weight:500;text-align:left;cursor:pointer;transition:background .12s,color .12s}.pm-item svg{width:15px;color:var(--text-tertiary)}.pm-item:hover{background:var(--bg-surface-2);color:var(--text-primary)}.pm-item.is-danger,.pm-item.is-danger svg{color:#ef4444}.pm-item.is-danger:hover{background:#ef44441a}.pm-sheet{display:flex;flex-direction:column;gap:.15rem;margin:-.4rem -.3rem}.pm-sheet .pm-item{padding:.8rem;font-size:.94rem}.projects-page{min-height:80vh;padding-bottom:4rem}.prj-hero{padding:1.25rem 0 0}.prj-hero-inner{width:100%;max-width:var(--shell-max);margin:0 auto;padding:0 var(--shell-pad) 1.5rem;box-sizing:border-box}.prj-eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.74rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:.5rem}.prj-eyebrow b{font-weight:600;color:var(--text-secondary);letter-spacing:.6px;text-transform:none}.prj-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);flex-shrink:0}.prj-title{font-size:clamp(2rem,5vw,2.7rem);font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin:0 0 .5rem;font-family:var(--font-display);line-height:1.1}.prj-sub{font-size:.98rem;color:var(--text-secondary);max-width:560px;line-height:1.6;margin:0}.prj-container{width:100%;max-width:var(--shell-max);margin:0 auto;padding:0 var(--shell-pad);box-sizing:border-box}.prj-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;align-items:center;margin-bottom:.9rem}.prj-search-box{display:flex;align-items:center;gap:.6rem;min-width:0;height:42px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:0 .9rem;transition:border-color .15s}.prj-search-box:focus-within{border-color:var(--accent-primary)}.prj-search-box .prj-si-input,.prj-search-box .prj-si-input:focus,.prj-search-box .prj-si-input:focus-visible{outline:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;background:transparent!important}.prj-si{color:var(--text-tertiary);font-size:.85rem;flex-shrink:0}.prj-si-input{background:transparent;border:none;outline:none;font-size:.9rem;color:var(--text-primary);flex:1;min-width:0;font-family:var(--font-body);-webkit-appearance:none;-moz-appearance:none;appearance:none}.prj-si-input::-moz-placeholder{color:var(--text-tertiary)}.prj-si-input::placeholder{color:var(--text-tertiary)}.prj-si-input::-webkit-search-cancel-button,.prj-si-input::-webkit-search-decoration{-webkit-appearance:none;display:none}.prj-si-clear{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:.7rem;flex-shrink:0;transition:background .15s,color .15s}.prj-si-clear:hover{background:var(--bg-surface-2);color:var(--text-primary)}.sd-wrap{position:relative}.sd-btn{display:flex;align-items:center;gap:.5rem;height:42px;padding:0 .9rem;border-radius:12px;background:var(--bg-surface);border:1px solid var(--border-color);font-size:.86rem;color:var(--text-secondary);white-space:nowrap;transition:border-color .15s,color .15s}.sd-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.sd-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:12px;min-width:170px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:100}.sd-item{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;padding:.6rem .9rem;font-size:.86rem;color:var(--text-secondary);transition:background .15s,color .15s}.sd-item:hover{background:var(--bg-surface-2);color:var(--text-primary)}.sd-item--active{color:var(--accent-primary);font-weight:600;background:var(--accent-light)}.sd-item-icon{width:14px;color:var(--text-tertiary)}.prj-view-btns{display:flex;gap:3px;height:42px;align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:3px}.prj-vbtn{width:34px;height:34px;border-radius:9px;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.prj-vbtn:hover{color:var(--text-primary)}.prj-vbtn--on{background:var(--bg-surface-2);color:var(--accent-primary)}@media (max-width: 640px){.prj-controls{grid-template-columns:minmax(0,1fr) auto}.prj-search-box{grid-column:1 / -1}.sd-wrap{min-width:0}.sd-btn{width:100%;justify-content:space-between}.sd-menu{left:0;right:auto}}.prj-cats{margin-bottom:1.25rem}.prj-cp{display:inline-flex;align-items:center;gap:.4rem;height:32px;padding:0 .8rem;border-radius:99px;background:transparent;border:1px solid var(--border-color);font-size:.82rem;color:var(--text-secondary);white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.prj-cp:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-surface-2)}.prj-cp--on{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600}.prj-cp--on:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.prj-cc{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--bg-surface-2);color:var(--text-tertiary);font-size:.68rem;font-weight:700}.prj-cp--on .prj-cc{background:#ffffff38;color:#fff}.prj-cp--search{max-width:220px;background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600;gap:.45rem;padding-right:.45rem}.prj-cp--search .prj-cp-q{overflow:hidden;text-overflow:ellipsis}.prj-cp-x{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;background:#ffffff38;color:#fff;flex-shrink:0}.prj-cp-x:hover{background:#ffffff61}.prj-clear{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#ef4444;border:1px solid rgba(239,68,68,.3);background:#ef444414;font-size:.8rem;transition:background .15s,color .15s}.prj-clear:hover{background:#ef4444;color:#fff}.prj-body{min-height:320px}.prj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}.prj-grid>*{min-width:0}@media (max-width: 980px){.prj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.prj-grid{grid-template-columns:minmax(0,1fr)}}.prj-list{display:flex;flex-direction:column;gap:.75rem}.prj-state{text-align:center;padding:4rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.prj-state-icon{width:60px;height:60px;border-radius:50%;background:var(--bg-surface-2);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--text-tertiary)}.prj-state h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.prj-state p{font-size:.88rem;color:var(--text-tertiary);max-width:340px;margin:0}.prj-state-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.15rem;border-radius:10px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);font-size:.85rem;font-weight:600;transition:border-color .15s,color .15s}.prj-state-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.tf{position:relative;height:24px}.tf-row{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;height:24px;overflow:hidden}.tf-empty{height:24px;flex:1 1 auto;min-width:0}.tf-meas{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;overflow:visible;width:-moz-max-content;width:max-content}.tf-chip{display:inline-flex;align-items:center;height:22px;padding:0 .55rem;border-radius:99px;font-size:.68rem;font-weight:500;line-height:1;white-space:nowrap;flex:0 0 auto;color:var(--text-secondary);background:var(--bg-surface-2);border:1px solid var(--border-color)}.tf-more{color:var(--text-tertiary);background:transparent}.pc{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:var(--bg-surface);border:1px solid var(--border-color);transition:border-color .2s,box-shadow .2s,transform .2s}.pc:hover{border-color:var(--accent-primary)}.pc:has(.pc-link:focus-visible){outline:2px solid var(--accent-primary);outline-offset:2px}.pc-link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit}.pc-media{position:relative;aspect-ratio:16 / 9;background:var(--bg-surface-2);overflow:hidden;flex-shrink:0;border-bottom:1px solid var(--border-color)}.pc-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .5s ease}.pc:hover .pc-img,.pl:hover .pc-img{transform:scale(1.04)}.pc-ph{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:var(--text-tertiary);background:linear-gradient(135deg,var(--bg-surface-2),var(--bg-surface-3))}.pc-ph svg{font-size:1.6rem;opacity:.55}.pc-ph span{font-size:.7rem;font-weight:500}.pc-ext{display:flex;gap:6px}.pc-ext a{position:relative;z-index:2;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-color);transition:color .15s,border-color .15s}.pc-ext a:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.pc-ext--float{position:absolute;top:.6rem;right:.6rem;z-index:2;opacity:0;transform:translateY(-3px);transition:opacity .2s,transform .2s}.pc:hover .pc-ext--float,.pc:focus-within .pc-ext--float{opacity:1;transform:none}@media (hover: none){.pc-ext--float{opacity:1;transform:none}}.pc-body{flex:1;display:flex;flex-direction:column;gap:.5rem;padding:.85rem 1rem 1rem;min-width:0}.pc-meta{display:flex;align-items:center;gap:.5rem;min-height:16px}.pc-cat{display:inline-flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-cat:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent-primary);flex-shrink:0}.pc-status{font-size:.62rem;font-weight:600;padding:1px 6px;border-radius:5px;color:var(--text-secondary);background:var(--bg-surface-2);border:1px solid var(--border-color)}.pc-title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1.35;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pc-desc{margin:0;font-size:.82rem;line-height:1.5;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pc-tagrow{margin-top:auto;padding-top:.35rem;display:flex;align-items:center;gap:.5rem;min-width:0}.pc-tagrow .tf{flex:1 1 auto;min-width:0}.pc-foot{margin-top:auto;padding-top:.65rem;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:40px}.pc-meta .pc-stats{margin-left:auto}.pc-stats{display:flex;align-items:center;gap:.8rem;font-size:.72rem;color:var(--text-tertiary);min-width:0}.pc-stats span{display:inline-flex;align-items:center;gap:.3rem}.pc-stats svg{font-size:.68rem}.pc-go{margin-left:auto;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;flex-shrink:0;color:var(--text-tertiary);background:var(--bg-surface-2);transition:background .2s,color .2s,transform .2s}.pc:hover .pc-go,.pl:hover .pc-go{background:var(--accent-primary);color:#fff;transform:translate(2px)}.pl{position:relative;display:grid;grid-template-columns:156px minmax(0,1fr);gap:1rem;align-items:stretch;padding:.75rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:14px;transition:border-color .2s,box-shadow .2s}.pl:hover{border-color:var(--accent-primary)}.pl:has(.pc-link:focus-visible){outline:2px solid var(--accent-primary);outline-offset:2px}.pl-media-in{height:100%;min-height:0}.pl-frame{position:relative;width:100%;height:100%;min-height:104px;border-radius:10px;overflow:hidden;background:var(--bg-surface-2);border:1px solid var(--border-color)}.pl-main{display:flex;flex-direction:column;gap:.4rem;min-width:0}.pl-main .pc-tagrow{padding-top:.2rem}.pl-title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1.3;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-desc{margin:0;font-size:.82rem;line-height:1.5;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pl-foot-unused{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pl-acts{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.pc-ext--inline a{width:26px;height:26px}.pl-toggle{display:none}@media (max-width: 640px){.pl{display:flex;flex-direction:column;gap:0;padding:0}.pl-media{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.16,1,.3,1)}.pl--open .pl-media{grid-template-rows:1fr}.pl-media-in{overflow:hidden;min-height:0;height:auto}.pl-frame{height:auto;aspect-ratio:16 / 9;min-height:0;margin:.65rem .65rem 0;width:calc(100% - 1.3rem);opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .32s cubic-bezier(.16,1,.3,1)}.pl--open .pl-frame{opacity:1;transform:none}.pl-main{padding:.8rem .95rem;gap:.45rem}.pl-meta-pad{padding-right:2rem}.pl-main .pc-meta{padding-right:2.2rem}.pl-main .pc-meta .pc-stats{margin-left:0}.pl-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.96rem}.pl-toggle{display:inline-flex;position:absolute;top:.55rem;right:.55rem;z-index:3;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;font-size:.72rem;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:color .15s,border-color .15s}.pl-toggle svg{transition:transform .3s}.pl--open .pl-toggle svg{transform:rotate(180deg)}.pl-toggle:hover{color:var(--accent-primary);border-color:var(--accent-primary)}}.pcs-line{border-radius:6px}.pcs-chip{height:22px;border-radius:99px}.pd{--pd-sticky-top: 76px;--pd-scroll-offset: 130px;padding-top:6px;padding-bottom:4.5rem;min-height:70vh}.pd-shell{display:flex;flex-direction:column;gap:1rem}.pd-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start}.pd-main{min-width:0}.pd-side{display:flex;flex-direction:column;gap:1rem;min-width:0}.pd-sec,#sec-discussion{scroll-margin-top:var(--pd-scroll-offset)}.pd .sk{background:var(--sk-base);border-radius:8px}.pdsk-gallery{height:clamp(220px,40vw,420px);border-radius:var(--radius-2xl)}.pdsk-hc{padding:1.4rem 1.5rem}.pd-notice{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;text-align:center;padding:6rem 1.5rem 3rem}.pd-notice h1{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-primary)}.pd-notice p{margin:0;color:var(--text-tertiary);max-width:460px}.pd-notice-ic{font-size:2.6rem;color:var(--text-tertiary)}.pd-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.3rem;border-radius:10px;background:var(--accent-primary);color:#fff;font-weight:600;font-size:.88rem;border:0;cursor:pointer;text-decoration:none}.pd-cta:hover{background:var(--accent-hover)}.gc{position:relative}.gc-frame{position:relative;width:100%;max-height:min(68vh,620px);overflow:hidden;border-radius:var(--radius-2xl);border:1px solid var(--border-color);background:var(--bg-surface-2);touch-action:pan-y}.gc-track{display:flex;height:100%;will-change:transform}.gc-slide{position:relative;flex:0 0 100%;height:100%;overflow:hidden}.gc-bg{position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;background-size:cover;background-position:center;filter:blur(26px) saturate(1.15);opacity:.55;transform:scale(1.08)}.gc-open{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;cursor:zoom-in}.gc-img{max-width:100%;max-height:100%;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gc-nav,.gc-full{position:absolute;z-index:2;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-md);transition:background .15s,color .15s,opacity .2s,transform .15s}.gc-nav{top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;opacity:0}.gc-prev{left:.8rem}.gc-next{right:.8rem}.gc-frame:hover .gc-nav,.gc-nav:focus-visible{opacity:1}.gc-full{top:.7rem;right:.7rem;width:34px;height:34px;border-radius:10px;font-size:.8rem}.gc-nav:hover,.gc-full:hover{background:var(--bg-surface-2);color:var(--text-primary)}.gc-cap{position:absolute;z-index:2;left:.7rem;bottom:.7rem;max-width:min(46%,320px);padding:.2rem .65rem;border-radius:99px;background:color-mix(in srgb,var(--bg-surface) 92%,transparent);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.7rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;animation:gc-cap-in .3s ease both}@keyframes gc-cap-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.gc-dots{position:absolute;z-index:2;right:.7rem;bottom:.7rem;display:flex;gap:6px;padding:.3rem .5rem;border-radius:99px;background:color-mix(in srgb,var(--bg-surface) 92%,transparent);border:1px solid var(--border-color)}.gc-dots button{width:7px;height:7px;padding:0;border-radius:99px;border:0;background:var(--border-strong);cursor:pointer;transition:width .25s,background .25s}.gc-dots button.is-on{width:20px;background:var(--accent-primary)}.hc{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:1.15rem 1.5rem 1.3rem;box-shadow:var(--shadow-sm)}.hc-crumbs{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;min-width:0}.hc-back{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-secondary);cursor:pointer;font-size:.8rem;transition:all .15s}.hc-back:hover{color:var(--accent-primary);border-color:var(--accent-primary);background:var(--accent-light)}.hc-crumbs ol{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--text-tertiary);min-width:0;flex-wrap:nowrap;overflow:hidden}.hc-crumbs li{display:inline-flex;align-items:center;white-space:nowrap}.hc-crumbs li:last-child{overflow:hidden;text-overflow:ellipsis;display:block;color:var(--text-primary);font-weight:600}.hc-crumbs li svg{font-size:.55rem;opacity:.6}.hc-crumbs a{color:var(--accent-primary);font-weight:600;text-decoration:none;transition:opacity .15s}.hc-crumbs a:hover{opacity:.75;text-decoration:underline;text-underline-offset:3px}.hc-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.hc-tag{display:inline-flex;align-items:center;padding:.18rem .7rem;border-radius:99px;font-size:.72rem;font-weight:700;letter-spacing:.02em;background:var(--bg-surface-3);color:var(--text-secondary);border:1px solid var(--border-color)}.hc-tag--soft{background:transparent;font-weight:600;color:var(--text-tertiary)}.hc-mono{font-family:var(--font-mono)}.hc-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(1.5rem,3.2vw,2.25rem);line-height:1.15;letter-spacing:-.025em;color:var(--text-primary)}.hc-desc{margin:.6rem 0 0;max-width:760px;font-size:1rem;line-height:1.65;color:var(--text-secondary)}.hc-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.hc-actions{display:flex;flex-wrap:wrap;gap:.5rem;min-width:0}.hc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:38px;padding:0 1rem;border-radius:10px;font-size:.85rem;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-primary);transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}.hc-btn:hover{border-color:var(--border-strong);background:var(--bg-surface-3);transform:translateY(-1px)}.hc-btn:active{transform:scale(.96)}.hc-btn--primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--accent-primary) 35%,transparent)}.hc-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.hc-stats{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}.hc-stats>*{display:inline-flex;align-items:center;gap:.4rem;background:none;border:0;padding:0;color:var(--text-tertiary);font-size:.88rem;font-family:inherit}.hc-stats button{cursor:pointer}.hc-stats b{color:var(--text-primary);font-weight:700;font-variant-numeric:tabular-nums}.hc-stats small{font-size:.78rem}.hc-stats .is-star{color:#f59e0b}.sn{position:sticky;top:var(--pd-sticky-top);z-index:20;margin:0 0 1.25rem;padding:.4rem .5rem;border-radius:99px;background:color-mix(in srgb,var(--bg-surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.sn-chip{flex:0 0 auto;padding:.36rem .85rem;border-radius:99px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,transform .12s}.sn-chip:hover{background:var(--bg-surface-2);color:var(--text-primary)}.sn-chip:active{transform:scale(.95)}.sn-chip.is-on{background:var(--accent-light);color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 28%,transparent)}.pd-sec{margin-bottom:2rem}.pd-h{display:flex;align-items:center;gap:.55rem;margin:0 0 .85rem;font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.pd-h svg{color:var(--accent-primary);font-size:.9rem}.pd-btn-link{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-primary);font-weight:600;font-size:.86rem;cursor:pointer;text-decoration:none}.ov{padding:1rem 1.1rem;border-radius:var(--radius-xl);background:color-mix(in srgb,var(--accent-primary) 5%,var(--bg-surface));border:1px solid color-mix(in srgb,var(--accent-primary) 16%,var(--border-color))}.ov-lead{margin:0;font-size:.98rem;line-height:1.7;color:var(--text-primary)}.ov-facts{list-style:none;margin:.85rem 0 0;padding:.85rem 0 0;border-top:1px dashed color-mix(in srgb,var(--accent-primary) 25%,var(--border-color));display:flex;flex-direction:column;gap:.6rem}.ov-lead+.ov-facts{margin-top:.85rem}.ov>.ov-facts:first-child{margin:0;padding:0;border:0}.ov-facts li{display:flex;gap:.7rem;align-items:flex-start}.ov-ic{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;background:var(--accent-light);color:var(--accent-primary)}.ov-facts li>div{min-width:0;display:flex;flex-direction:column;line-height:1.45}.ov-facts b{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.ov-facts span{font-size:.9rem;color:var(--text-secondary);overflow-wrap:anywhere}.pd-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;margin-bottom:2rem}.pd-stat{display:flex;flex-direction:column;gap:.1rem;padding:.7rem .9rem;border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border-color)}.pd-stat svg{color:var(--accent-primary);font-size:.95rem;margin-bottom:.15rem}.pd-stat b{font-family:var(--font-display);font-size:1.15rem;color:var(--text-primary);line-height:1.2}.pd-stat span{font-size:.76rem;color:var(--text-tertiary)}.pd-stat--text{flex-direction:row;align-items:center;gap:.6rem;font-size:.86rem;color:var(--text-secondary)}.pd-stat--text svg{margin:0}.ft{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.ft li{display:flex;align-items:flex-start;gap:.75rem}.ft-ic{flex:0 0 auto;width:22px;height:22px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--accent-primary)}.ft p{margin:0;font-size:.92rem;line-height:1.6;color:var(--text-secondary)}.ft b{color:var(--text-primary);font-weight:600}.ts{position:relative}.ts-line{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .35rem;text-align:left;line-height:1.4}.ts-group{display:contents}.ts-item{display:inline-flex;align-items:center;gap:.4rem;padding:.22rem .6rem .22rem .4rem;border-radius:8px;font:inherit;font-size:.88rem;color:var(--text-primary);background:transparent;border:0}.ts-item.has-info{cursor:help;background:var(--bg-surface-2)}.ts-item.has-info:hover,.ts-item.has-info:focus-visible{background:var(--bg-surface-3);outline:none}.ts-sep{display:inline-block;width:1px;height:18px;margin:0 .5rem;background:var(--border-strong);font-size:0}.ts-tip{position:fixed;z-index:1750;transform:translate(-50%,calc(-100% - 8px));max-width:min(260px,72vw);padding:.45rem .7rem;border-radius:9px;background:var(--text-primary);color:var(--bg-page);font-size:.76rem;line-height:1.45;box-shadow:var(--shadow-lg);pointer-events:none;opacity:0;transform:translate(-50%,calc(-100% - 4px)) scale(.96);transition:opacity var(--tip-dur, .16s) var(--tip-ease, ease),transform var(--tip-dur, .16s) var(--tip-ease, ease)}.ts-tip.is-on{opacity:1;transform:translate(-50%,calc(-100% - 8px)) scale(1)}.brand-ic{flex:0 0 auto}.pd-tl{list-style:none;margin:0;padding:0}.pd-tl li{position:relative;display:flex;gap:.85rem;padding-bottom:1.1rem}.pd-tl li:not(:last-child):before{content:"";position:absolute;left:5px;top:16px;bottom:0;width:2px;background:var(--border-color)}.pd-tl-dot{flex:0 0 auto;width:12px;height:12px;margin-top:4px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light)}.pd-tl small{display:block;font-size:.74rem;font-weight:700;color:var(--text-tertiary)}.pd-tl b{display:block;font-size:.92rem;color:var(--text-primary)}.pd-tl p{margin:.15rem 0 0;font-size:.86rem;color:var(--text-secondary)}.pd-video{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-color);background:var(--bg-surface-2)}.pd-video iframe,.pd-video video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#000}.pd-video-facade{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;padding:0;border:0;cursor:pointer;background:var(--bg-surface-2)}.pd-video-facade img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.pd-video-facade span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);color:#fff;font-size:1.3rem;box-shadow:0 6px 24px #0000004d;transition:transform .15s}.pd-video-facade:hover span{transform:translate(-50%,-50%) scale(1.08)}.pd-note{margin:.55rem 0 0;font-size:.78rem;color:var(--text-tertiary)}.pd-note a{color:var(--accent-primary)}.pd-content{font-size:.96rem;line-height:1.78;color:var(--text-secondary);overflow-wrap:anywhere}.pd-content>:first-child{margin-top:0}.pd-content>:last-child{margin-bottom:0}.pd-content h1,.pd-content h2,.pd-content h3,.pd-content h4{color:var(--text-primary);font-family:var(--font-display);line-height:1.3;margin:1.8em 0 .6em;scroll-margin-top:130px}.pd-content h1{font-size:1.55rem}.pd-content h2{font-size:1.28rem;padding-bottom:.3em;border-bottom:1px solid var(--border-color)}.pd-content h3{font-size:1.1rem}.pd-content h4{font-size:1rem}.pd-content p,.pd-content ul,.pd-content ol,.pd-content blockquote,.pd-content figure,.pd-content .pd-table-wrap,.pd-content pre,.pd-content details{margin:0 0 1.05em}.pd-content a{color:var(--accent-primary);text-decoration:underline;text-underline-offset:2px}.pd-content a:hover{opacity:.8}.pd-content strong,.pd-content b{color:var(--text-primary);font-weight:700}.pd-content ul{list-style:disc}.pd-content ol{list-style:decimal}.pd-content ul ul{list-style:circle}.pd-content ul,.pd-content ol{padding-left:1.5rem}.pd-content li{margin:.3em 0}.pd-content li>ul,.pd-content li>ol{margin:.3em 0}.pd-content mark{background:color-mix(in srgb,#f59e0b 28%,transparent);color:inherit;padding:0 .2em;border-radius:3px}.pd-content kbd{font-family:var(--font-mono);font-size:.8em;padding:.1em .45em;border-radius:5px;background:var(--bg-surface-2);border:1px solid var(--border-strong);border-bottom-width:2px;color:var(--text-primary)}.pd-content code{font-family:var(--font-mono);font-size:.86em;padding:.12em .4em;border-radius:5px;background:var(--bg-surface-2);border:1px solid var(--border-color);color:var(--text-primary)}.pd-content pre{position:relative;padding:1rem 1.1rem;border-radius:var(--radius-lg);background:var(--bg-surface-2);border:1px solid var(--border-color);overflow-x:auto;font-size:.84rem;line-height:1.6}.pd-content pre:before{content:attr(data-lang);position:absolute;top:.4rem;left:.8rem;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.pd-content pre[data-lang]:not([data-lang=""]){padding-top:1.7rem}.pd-content pre code{padding:0;background:none;border:0;font-size:inherit;color:var(--text-primary)}.pd-copy{position:absolute;top:.4rem;right:.5rem;padding:.18rem .6rem;border-radius:7px;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-secondary);font-size:.72rem;font-weight:600;cursor:pointer;opacity:0;transition:opacity .15s}.pd-content pre:hover .pd-copy,.pd-copy:focus-visible{opacity:1}@media (hover: none){.pd-copy{opacity:1}}.pd-content blockquote{padding:.7rem 1.1rem;border-left:3px solid var(--accent-primary);background:var(--accent-light);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-secondary)}.pd-content blockquote>:last-child{margin-bottom:0}.pd-content img{max-width:100%;height:auto;border-radius:var(--radius-lg);border:1px solid var(--border-color);cursor:zoom-in;background:var(--bg-surface-2)}.pd-content figure{text-align:center}.pd-content figure img{display:inline-block}.pd-content figcaption{margin-top:.45rem;font-size:.8rem;color:var(--text-tertiary)}.pd-content hr{border:0;border-top:1px solid var(--border-color);margin:1.8rem 0}.pd-content video{max-width:100%;border-radius:var(--radius-lg)}.pd-content iframe{display:block;width:100%;aspect-ratio:16 / 9;height:auto;border:0;border-radius:var(--radius-lg);background:var(--bg-surface-2)}.pd-content .pd-table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-lg)}.pd-content table{width:100%;border-collapse:collapse;font-size:.88rem}.pd-content th,.pd-content td{padding:.6rem .85rem;text-align:left;border-bottom:1px solid var(--border-color);vertical-align:top}.pd-content th{background:var(--bg-surface-2);color:var(--text-primary);font-weight:700;white-space:nowrap}.pd-content tr:last-child td{border-bottom:0}.pd-content details{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface)}.pd-content summary{cursor:pointer;padding:.65rem .95rem;font-weight:600;color:var(--text-primary)}.pd-content details[open] summary{border-bottom:1px solid var(--border-color)}.pd-content details>:not(summary){margin:.8rem .95rem}.pd-content .pd-callout{padding:.85rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);border-left:4px solid var(--accent-primary);background:var(--bg-surface);margin:0 0 1.05em}.pd-content .pd-callout--warn{border-left-color:#f59e0b}.pd-content .pd-callout--ok{border-left-color:#22c55e}.pd-content .pd-callout--bad{border-left-color:#ef4444}.pd-content .pd-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.05em}.pd-content .pd-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.05em}.pd-content .pd-card{padding:1rem;border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border-color)}.pd-content .pd-badge{display:inline-block;padding:.12rem .65rem;border-radius:99px;font-size:.75rem;font-weight:700;background:var(--accent-light);color:var(--accent-primary)}.pd-content .pd-steps{counter-reset:s;list-style:none;padding-left:0}.pd-content .pd-steps>li{counter-increment:s;position:relative;padding:.1rem 0 .9rem 2.6rem}.pd-content .pd-steps>li:before{content:counter(s);position:absolute;left:0;top:0;width:1.8rem;height:1.8rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem;background:var(--accent-primary);color:#fff}.pd-content .pd-video{position:relative;aspect-ratio:16 / 9;margin-bottom:1.05em}.pd-content .pd-video iframe{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;aspect-ratio:auto}.pd-content .pd-center{text-align:center}.pd-content .pd-muted{color:var(--text-tertiary)}@media (max-width: 640px){.pd-content .pd-grid-2,.pd-content .pd-grid-3{grid-template-columns:minmax(0,1fr)}}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-literal{color:var(--accent-primary);font-weight:600}.hljs-string,.hljs-attr,.hljs-regexp{color:#16a34a}[data-theme=dark] .hljs-string,[data-theme=dark] .hljs-attr,[data-theme=dark] .hljs-regexp{color:#4ade80}.hljs-number,.hljs-symbol,.hljs-variable{color:#d97706}[data-theme=dark] .hljs-number,[data-theme=dark] .hljs-symbol,[data-theme=dark] .hljs-variable{color:#fbbf24}.hljs-comment,.hljs-quote{color:var(--text-tertiary);font-style:italic}.hljs-title,.hljs-name,.hljs-tag,.hljs-section{color:#9333ea}[data-theme=dark] .hljs-title,[data-theme=dark] .hljs-name,[data-theme=dark] .hljs-tag,[data-theme=dark] .hljs-section{color:#c084fc}.sb-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:1rem 1.1rem;box-shadow:var(--shadow-sm);scroll-margin-top:var(--pd-scroll-offset)}.sb-title{margin:0 0 .75rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.sb-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.9rem;font-size:.86rem;color:var(--text-secondary)}.sb-reviews{width:100%;display:flex;align-items:center;gap:.55rem;margin-top:.85rem;padding:.6rem .8rem;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-secondary);font-size:.84rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .12s}.sb-reviews:hover{background:var(--accent-light);border-color:color-mix(in srgb,var(--accent-primary) 35%,transparent);color:var(--text-primary)}.sb-reviews:active{transform:scale(.985)}.sb-reviews svg:first-child{color:var(--accent-primary)}.sb-reviews span{flex:1;text-align:left}.sb-reviews b{font-size:.78rem;color:var(--text-primary)}.sb-reviews b svg{color:#f59e0b;font-size:.7rem}.sb-actions{display:flex;gap:.5rem;margin-top:.9rem;padding-top:.85rem;border-top:1px solid var(--border-color)}.sb-actions button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:36px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,transform .12s}.sb-actions button:hover{background:var(--bg-surface-3);color:var(--text-primary)}.sb-actions button:active{transform:scale(.96)}.sb-actions .is-danger:hover{color:#ef4444;background:#ef444414}.sb-dl{margin:0}.sb-d{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.42rem 0;font-size:.84rem;border-bottom:1px solid var(--border-color)}.sb-d:last-child{border-bottom:0;padding-bottom:0}.sb-d:first-child{padding-top:0}.sb-d dt{display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto;color:var(--text-tertiary)}.sb-d dt svg{width:13px;font-size:.72rem;opacity:.8}.sb-d dd{margin:0;text-align:right;min-width:0;color:var(--text-primary);font-weight:600;overflow-wrap:anywhere}.sb-d code{font-family:var(--font-mono);font-size:.78rem}.sb-cap{text-transform:capitalize}.sb-dur{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:.1rem .45rem}.sb-dur small{font-size:.72rem;font-weight:600;padding:.05rem .45rem;border-radius:99px;background:var(--bg-surface-3);color:var(--text-secondary)}.sb-devs{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.1rem .6rem}.sb-devs a{color:var(--accent-primary);text-decoration:none}.sb-devs a:hover{text-decoration:underline}.sb-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.4rem;background:var(--text-tertiary)}.sb-dot.is-ongoing:before{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.sb-dot.is-completed:before{background:var(--accent-primary)}.sb-dot.is-paused:before{background:#f59e0b}.sb-dot.is-cancelled:before{background:#ef4444}.sb-links{display:flex;flex-direction:column;gap:2px}.sb-links a{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:9px;border:1px solid transparent;color:var(--text-secondary);text-decoration:none;font-size:.86rem;font-weight:500;transition:background .15s,color .15s}.sb-links a:hover{background:var(--bg-surface-2);border-color:var(--border-color);color:var(--text-primary)}.sb-links a svg:first-child{width:15px;color:var(--accent-primary)}.sb-links .ext{margin-left:auto;font-size:.65rem;opacity:.5}.sb-tags{display:flex;flex-wrap:wrap;gap:.4rem}.sb-tags a{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .7rem;border-radius:99px;font-size:.76rem;font-weight:600;color:var(--text-secondary);background:var(--bg-surface-2);border:1px solid var(--border-color);text-decoration:none;transition:all .15s}.sb-tags a svg{font-size:.62rem;opacity:.6}.sb-tags a:hover{color:var(--accent-primary);border-color:var(--accent-primary);background:var(--accent-light)}.mp-title{margin:.2rem 0 .7rem;font-family:var(--font-display);font-size:1.02rem;font-weight:700;color:var(--text-primary)}.mp-list{display:flex;flex-direction:column;gap:.5rem}.mp-card{display:flex;align-items:center;gap:.75rem;padding:.55rem;border-radius:12px;background:var(--bg-surface);border:1px solid var(--border-color);text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}.mp-card:hover{border-color:var(--border-strong);transform:translate(2px);box-shadow:var(--shadow-sm)}.mp-card:active{transform:scale(.985)}.mp-thumb{flex:0 0 auto;width:56px;height:40px;border-radius:8px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-surface-2);color:var(--text-tertiary)}.mp-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.mp-info{min-width:0;display:flex;flex-direction:column}.mp-info small{font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.mp-info b{font-size:.88rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rw{display:flex;flex-direction:column;gap:.15rem}.rw-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.rw-stars{display:flex;gap:2px;margin-left:-4px}.rw-star{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:none;color:var(--border-strong);cursor:pointer;transition:color .12s,transform .12s}.rw-star.is-on{color:#f59e0b}.rw-star:hover:not(:disabled){transform:scale(1.14)}.rw-star:disabled{cursor:default;opacity:1}.rw-hint{height:1.25rem;font-size:.8rem;color:var(--text-tertiary);display:flex;align-items:center}.rw-hint button{background:none;border:0;padding:0;margin-left:.25rem;color:var(--accent-primary);font-size:inherit;font-weight:600;cursor:pointer}.rw-hint button:hover{text-decoration:underline}.ldb-wrap{flex-shrink:0}.pu-text{margin:0 0 .75rem;font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.pu-note{margin:.6rem 0 0;font-size:.78rem;color:var(--text-tertiary)}.pu-ta{width:100%;resize:vertical;min-height:84px;padding:.7rem .8rem;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-primary);font:inherit;font-size:.9rem;line-height:1.55}.pu-ta:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 18%,transparent)}.pu-count{display:block;margin-top:.25rem;text-align:right;font-size:.72rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.dc-btn.is-danger{background:#ef4444;border-color:#ef4444}.dc-btn.is-danger:hover{background:#dc2626}.rm-stars{display:flex;justify-content:center;gap:.35rem;margin:.2rem 0 .3rem}.rm-stars button{width:52px;height:52px;border:0;background:none;padding:0;font-size:2rem;color:var(--border-strong);cursor:pointer;transition:color .12s,transform .15s}.rm-stars button.on{color:#f59e0b}.rm-stars button:hover{transform:scale(1.15) rotate(-6deg)}.rm-stars button:active{transform:scale(.92)}.rm-word{text-align:center;min-height:1.4rem;margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary)}.rm-word b{color:var(--text-primary);font-size:1.05rem}.rm-label{display:block;margin-bottom:.4rem;font-size:.82rem;font-weight:600;color:var(--text-secondary)}.rm-label em{font-weight:400;color:var(--text-tertiary);font-style:normal}.rm-state{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:1.6rem .5rem;text-align:center;color:var(--text-secondary);font-size:.9rem}.rm-state b{font-size:1.1rem;color:var(--text-primary)}.rm-ok{width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;color:#fff;background:#22c55e;box-shadow:0 0 0 8px #22c55e29;margin-bottom:.4rem}.rm-ok.is-bad{background:#ef4444;box-shadow:0 0 0 8px #ef444429}.sh-card{display:flex;gap:.85rem;align-items:center;padding:.65rem;margin-bottom:1rem;border-radius:14px;background:var(--bg-surface-2);border:1px solid var(--border-color)}.sh-thumb{flex:0 0 auto;width:84px;height:56px;border-radius:10px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-surface-3);color:var(--text-tertiary)}.sh-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sh-meta{min-width:0;display:flex;flex-direction:column;gap:.1rem}.sh-meta b{font-size:.92rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-meta small{font-size:.78rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.sh-meta em{font-style:normal;font-size:.72rem;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-app{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:68px;padding:.2rem 0;color:var(--text-secondary)}.sh-bub{width:56px;height:56px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--text-primary);background:var(--bg-surface-2);border:1px solid var(--border-color);cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.sh-bub:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.sh-bub:active{transform:scale(.92)}.sh-app small{font-size:.72rem;max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sh-link{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.35rem .35rem .35rem .85rem;border-radius:14px;background:var(--bg-surface-2);border:1px solid var(--border-color)}.sh-link input{flex:1;min-width:0;border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:.84rem;outline:none;text-overflow:ellipsis}.sh-copy{display:inline-flex;align-items:center;gap:.4rem;height:36px;padding:0 1rem;border-radius:10px;border:0;background:var(--accent-primary);color:#fff;font-weight:600;font-size:.82rem;cursor:pointer;transition:background .15s,transform .12s}.sh-copy:hover{background:var(--accent-hover)}.sh-copy:active{transform:scale(.95)}.sh-copy.is-ok{background:#22c55e}.sh-back{display:inline-flex;align-items:center;gap:.4rem;height:32px;padding:0 .8rem;border-radius:99px;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer}.sh-code{font-family:var(--font-mono);font-size:.78rem}.sh-wide{width:100%;justify-content:center;margin-top:.75rem}.sh-qr{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:.5rem 0}.sh-qr img{border-radius:14px;border:1px solid var(--border-color);background:#fff;padding:8px}.sh-qr small{color:var(--text-tertiary);font-size:.76rem;word-break:break-all;text-align:center}.dc{margin-top:.5rem;scroll-margin-top:var(--pd-scroll-offset)}.dc-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.dc-h span{margin-left:.2rem;padding:.05rem .55rem;border-radius:99px;font-family:var(--font-body);font-size:.74rem;font-weight:700;background:var(--bg-surface-3);color:var(--text-secondary)}.dc-head select,.rv-bar select{padding:.38rem .7rem;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-secondary);font-size:.8rem;font-family:inherit;cursor:pointer}.dc-pane{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:1rem 1.15rem 1.15rem}.dc-row{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:1rem}.dc-row .dc-composer{flex:1;min-width:0;margin:0}.dc-composer{display:flex;flex-direction:column;gap:.45rem;margin-top:.5rem}.dc-pane textarea,.dc-edit textarea{width:100%;resize:vertical;min-height:64px;padding:.7rem .8rem;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-primary);font:inherit;font-size:.9rem;line-height:1.55}.dc-pane textarea:focus,.dc-edit textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 16%,transparent)}.dc-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dc-compose-foot small{font-size:.72rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.dc-compose-foot>span{display:inline-flex;align-items:center;gap:.4rem}.dc-btn{display:inline-flex;align-items:center;gap:.45rem;height:36px;padding:0 1.05rem;border-radius:99px;border:1px solid var(--accent-primary);background:var(--accent-primary);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,transform .12s,opacity .15s}.dc-btn:hover:not(:disabled){background:var(--accent-hover)}.dc-btn:active:not(:disabled){transform:scale(.96)}.dc-btn:disabled{opacity:.5;cursor:default}.dc-link{background:none;border:0;padding:.3rem .6rem;color:var(--text-tertiary);font-size:.82rem;font-weight:600;cursor:pointer;border-radius:8px}.dc-link:hover{color:var(--text-primary);background:var(--bg-surface-2)}.dc-list{list-style:none;margin:0;padding:0}.dc-list--r{margin-top:.5rem;padding-left:.2rem;border-left:2px solid var(--border-color)}.dc-item{display:flex;gap:.75rem;padding:.9rem 0;border-top:1px solid var(--border-color)}.dc-list>.dc-item:first-child{border-top:0;padding-top:.2rem}.dc-item.is-reply{padding:.65rem 0 .65rem .7rem;border-top:0}.dc-item.is-pinned{background:var(--accent-light);margin:0 -.65rem;padding-inline:.65rem;border-radius:12px;border-top-color:transparent}.dc-item.is-hidden,.dc-item.is-removed,.dc-item.is-final{opacity:.86}.dc-av{flex:0 0 auto;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:var(--bg-surface-3)}.dc-av--ph{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--accent-primary);background:var(--accent-light)}.dc-body{flex:1;min-width:0}.dc-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem .55rem;font-size:.8rem;color:var(--text-tertiary)}.dc-meta b{color:var(--text-primary);font-size:.86rem}.dc-meta em{font-style:normal;font-size:.72rem;opacity:.8}.dc-owner,.dc-pin{display:inline-flex;align-items:center;gap:.25rem;padding:.02rem .5rem;border-radius:99px;font-size:.68rem;font-weight:700;background:var(--accent-light);color:var(--accent-primary)}.dc-menu{margin-left:auto;display:inline-flex}.dc-acts{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem .3rem;margin-top:.35rem;margin-left:-.4rem}.dc-acts button{display:inline-flex;align-items:center;gap:.35rem;height:30px;padding:0 .65rem;border:0;border-radius:99px;background:transparent;color:var(--text-tertiary);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,transform .12s}.dc-acts button:hover{background:var(--bg-surface-2);color:var(--text-primary)}.dc-acts button:active{transform:scale(.94)}.dc-acts button.on{color:var(--accent-primary)}.dc-acts button.on.bad{color:#ef4444}.dc-edit{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;margin:.3rem 0}.dc-edit>span{display:inline-flex;gap:.4rem}.dc-more,.dc-seemore{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;margin-top:.8rem;height:38px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-secondary);font-size:.83rem;font-weight:600;cursor:pointer;transition:background .15s,transform .12s}.dc-more:hover:not(:disabled),.dc-seemore:hover:not(:disabled){background:var(--bg-surface-3);color:var(--text-primary)}.dc-more:active,.dc-seemore:active{transform:scale(.985)}.dc-seemore{width:auto;height:30px;margin-top:.25rem;padding:0 .8rem;border:0;background:transparent;color:var(--accent-primary);font-size:.8rem}.dc-seemore svg{font-size:.65rem}.dc-empty{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.8rem 1rem;text-align:center;color:var(--text-tertiary);font-size:.86rem}.dc-empty svg{font-size:1.6rem;opacity:.6}.dc-empty b{color:var(--text-secondary)}.dc-empty--s{flex-direction:row;justify-content:center;padding:.9rem;border-radius:12px;background:var(--bg-surface-2);margin-bottom:1rem}.dc-empty--s svg{font-size:1rem}.cl{margin:.3rem 0 .1rem}.cl-text{margin:0;font-size:.9rem;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.cl-text.is-clamped{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.cl-more{margin-top:.15rem;padding:0;border:0;background:none;color:var(--accent-primary);font-size:.8rem;font-weight:600;cursor:pointer}.cl-more:hover{text-decoration:underline}.cl.is-dim .cl-text{opacity:.7}.mn{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .6rem;margin:.4rem 0;padding:.5rem .7rem;border-radius:10px;font-size:.78rem;line-height:1.4;color:var(--text-secondary);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3)}.mn svg{color:#f59e0b}.mn--removed{background:#ef444414;border-color:#ef444447}.mn--removed svg{color:#ef4444}.mn--final{background:var(--bg-surface-2);border-color:var(--border-color)}.mn--final svg{color:var(--text-tertiary)}.mn button{margin-left:auto;height:26px;padding:0 .7rem;border-radius:99px;border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);font-size:.74rem;font-weight:600;cursor:pointer}.mn button:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.mn em{margin-left:auto;font-style:normal;font-weight:600;color:#22c55e}.rv-sum{display:flex;gap:1.5rem;align-items:center;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-color)}.dc-avg{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:96px}.dc-avg b{font-family:var(--font-display);font-size:2.4rem;line-height:1;color:var(--text-primary)}.dc-avg small{font-size:.74rem;color:var(--text-tertiary)}.dc-stars svg{color:var(--border-strong);margin-right:1px}.dc-stars svg.on{color:#f59e0b}.dc-bars{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.dc-bars button{display:flex;align-items:center;gap:.5rem;padding:.1rem .3rem;border:0;border-radius:8px;background:transparent;font-size:.74rem;color:var(--text-tertiary);cursor:pointer;transition:background .12s}.dc-bars button:hover,.dc-bars button.on{background:var(--accent-light)}.dc-bars span{width:8px;text-align:right}.dc-bars i{flex:1;height:6px;border-radius:99px;background:var(--bg-surface-3);overflow:hidden}.dc-bars u{display:block;height:100%;border-radius:99px;background:#f59e0b;text-decoration:none}.dc-bars em{width:22px;font-style:normal;text-align:right}.rv-mine,.rv-others{margin-bottom:1.1rem}.rv-mine h3,.rv-bar h3{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.rv-mine h3{margin-bottom:.5rem}.rv-mine-empty,.rv-mine-card{padding:.85rem 1rem;border-radius:14px;background:color-mix(in srgb,var(--accent-primary) 6%,var(--bg-surface));border:1px solid color-mix(in srgb,var(--accent-primary) 28%,var(--border-color))}.rv-mine-empty{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.86rem;color:var(--text-secondary)}.rv-mine-card.is-hidden{border-color:#f59e0b66}.rv-mine-card.is-removed{border-color:#ef444466}.rv-none{margin:.3rem 0 0;font-size:.84rem;color:var(--text-tertiary)}.rv-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.rv-chip{display:inline-flex;align-items:center;gap:.3rem;height:30px;padding:0 .8rem;border-radius:99px;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s}.rv-chip svg{color:#f59e0b;font-size:.7rem}.rv-chip:hover{border-color:var(--border-strong)}.rv-chip.is-on{background:var(--accent-light);border-color:var(--accent-primary);color:var(--accent-primary)}.rv-list{list-style:none;margin:.6rem 0 0;padding:0}.rv-item{display:flex;gap:.75rem;padding:.85rem 0;border-top:1px solid var(--border-color)}.rv-item:first-child{border-top:0}.rv-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.rv-agree{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-top:.35rem;font-size:.76rem;color:var(--text-tertiary)}.rv-agree button{display:inline-flex;align-items:center;gap:.35rem;height:28px;padding:0 .75rem;border-radius:99px;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-secondary);font-size:.76rem;font-weight:600;cursor:pointer;transition:all .15s}.rv-agree button:hover{border-color:var(--border-strong);color:var(--text-primary)}.rv-agree button:active{transform:scale(.94)}.rv-agree button.on{background:var(--accent-light);border-color:var(--accent-primary);color:var(--accent-primary)}.rv-agree button.on.bad{background:#ef44441a;border-color:#ef4444;color:#ef4444}.rv-agree i{font-style:normal;font-variant-numeric:tabular-nums;opacity:.85}@media (max-width: 1023px){.pd-grid{grid-template-columns:minmax(0,1fr)}.pd-side{position:static}}.pd--m{padding-bottom:calc(6.4rem + env(safe-area-inset-bottom))}.pdm-gallery .gc-frame{border-radius:var(--radius-xl)}.pd--m .hc{padding:.9rem 1rem 1rem;border-radius:var(--radius-xl)}.pd--m .hc-crumbs{margin-bottom:.75rem}.pd--m .hc-title{font-size:1.45rem}.pd--m .hc-desc{font-size:.92rem}.pd--m .sn{margin-bottom:0}.pd--m .pd-main>.pd-sec:first-child{margin-top:0}.sb-card--grid .sb-dl{display:grid;grid-template-columns:minmax(0,1fr)}.sb-card--grid .sb-d{padding:.38rem 0}.mp-list{gap:.5rem}.mb{position:fixed;z-index:400;left:50%;bottom:calc(.75rem + env(safe-area-inset-bottom));width:min(calc(100% - 1.5rem),520px);transform:translate(-50%);display:flex;align-items:stretch;justify-content:space-between;gap:.1rem;padding:.35rem;border-radius:22px;background:color-mix(in srgb,var(--bg-surface) 88%,transparent);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--border-color);box-shadow:0 10px 34px #02061738;transition:transform .38s cubic-bezier(.22,.8,.2,1),opacity .3s ease;will-change:transform}.mb.is-hidden{transform:translate(-50%,calc(100% + 1.5rem + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}.mb-btn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.45rem .2rem;border:0;border-radius:16px;background:transparent;color:var(--text-secondary);font-size:.66rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,transform .12s}.mb-btn svg{font-size:1.05rem}.mb-btn span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.mb-btn:hover{background:var(--bg-surface-2)}.mb-btn:active{transform:scale(.9)}.mb-btn.on{color:var(--accent-primary);background:var(--accent-light)}.mb-btn.on.bad{color:#ef4444;background:#ef44441a}.pdm-sheet-list{display:flex;flex-direction:column;gap:.3rem;margin:-.3rem -.2rem}.pdm-sheet-list button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.85rem .8rem;border:0;border-radius:12px;background:transparent;color:var(--text-primary);font-size:.95rem;font-weight:500;text-align:left;cursor:pointer}.pdm-sheet-list button:hover{background:var(--bg-surface-2)}.pdm-sheet-list svg{width:18px;color:var(--accent-primary)}.pdm-sheet-list .is-danger,.pdm-sheet-list .is-danger svg{color:#ef4444}@media (max-width: 1023px){.hc-bar{flex-direction:column;align-items:stretch;gap:.7rem}.hc-stats{justify-content:flex-start;gap:1.2rem}}@media (max-width: 639px){.hc-btn{width:40px;padding:0}.hc-btn .hc-lbl{display:none}.hc-actions .hc-btn--primary{width:auto;padding:0 .95rem}.hc-actions .hc-btn--primary .hc-lbl{display:inline}.hc-actions{gap:.4rem}.hc-stats{gap:1rem;font-size:.84rem}.hc-stats small{display:none}}@media (max-width: 400px){.hc-actions .hc-btn--primary{width:40px;padding:0}.hc-actions .hc-btn--primary .hc-lbl{display:none}}@media (min-width: 640px) and (max-width: 1023px){.hc-btn:not(.keep-t){width:40px;padding:0}.hc-btn:not(.keep-t) .hc-lbl{display:none}}@media (min-width: 640px) and (max-width: 1023px){.sb-card--grid .sb-dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}.sb-card--details .sb-d:nth-last-child(2):nth-child(odd){border-bottom:0;padding-bottom:0}.mp-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pd--m .site-shell{--pd-gap: 1.1rem}}@media (max-width: 639px){.pd-shell{gap:.8rem}.pd-sec{margin-bottom:1.5rem}.ov{padding:.85rem .9rem}.pd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-card{padding:.85rem .95rem;border-radius:var(--radius-lg)}.sb-card--grid .sb-d{font-size:.82rem}.dc-pane{padding:.85rem .8rem 1rem}.rv-sum{gap:1rem}.dc-avg b{font-size:2rem}.dc-avg{min-width:80px}.gc-nav{display:none}.gc-cap{max-width:52%}.mp-thumb{width:52px;height:38px}}.sn--m{top:var(--pd-sticky-top)}@media (max-width: 1023px){.sn--m{margin-inline:0}}.pd--sk .hc{padding:1.4rem 1.5rem}@media (prefers-reduced-motion: reduce){.mb,.gc-dots button,.hc-btn,.rw-star,.sh-bub,.gc-cap{transition:none;animation:none}}.sn{top:var(--pd-sticky-top)}@media (max-width: 1023px){.pd-side--sk{display:none}}.pd-shell{gap:.75rem}.hc-crumbs{margin:0;min-height:28px;gap:.5rem}.hc-back{width:26px;height:26px;border-radius:8px;font-size:.7rem}.hc-crumbs ol{font-size:.78rem;gap:.35rem}.pd-hr{display:block;width:100%;height:1px;margin:0;border:0;flex:0 0 auto;background:linear-gradient(90deg,transparent,var(--border-strong) 14%,var(--border-strong) 86%,transparent)}.pd-hr--crumbs{margin:-.25rem 0 0;background:var(--border-color)}.pd-main>.pd-hr,.pd-hr:not(.pd-hr--crumbs){display:none}.gc-img.is-land{width:100%;height:auto}.gc-img.is-port{width:auto;height:100%;max-width:100%}.gc-load{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;border-radius:0!important}.gc-frame.is-wait .gc-track,.gc-frame.is-wait .gc-nav,.gc-frame.is-wait .gc-dots,.gc-frame.is-wait .gc-full{visibility:hidden}.pdm-gallery{margin:0}.pdsk-gallery{position:relative;width:100%;height:auto;max-height:min(86vh,800px);border-radius:var(--radius-2xl)}.pd-h,.sb-title,.mp-title{position:relative;padding-bottom:.6rem;display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;max-width:100%}.pd-h:after,.sb-title:after,.mp-title:after{content:"";position:absolute;left:0;bottom:0;width:calc(100% + 15px);height:2px;border-radius:99px;background:linear-gradient(90deg,var(--accent-primary),color-mix(in srgb,var(--accent-primary) 25%,transparent))}.pd-h{margin-bottom:1rem}.dc-h{margin:0}.sb-title{margin-bottom:.85rem;gap:.45rem}.sb-title svg{color:var(--accent-primary);font-size:.72rem}.mp-title{margin:.2rem 0 .85rem}.pd-stat{align-items:center;text-align:center;justify-content:center}.pd-stat--text{justify-content:center}@media (max-width: 639px){.pd-stats{grid-template-columns:minmax(0,1fr);gap:.4rem;margin-bottom:1.2rem}.pd-stat,.pd-stat--text{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:.6rem;padding:.55rem .8rem}.pd-stat svg{margin:0;flex:0 0 auto}.pd-stat b{font-size:1rem}.pd-stat span{margin-left:auto;text-align:right}}.ts-item{position:relative;padding:.26rem .6rem .26rem .5rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-surface);font-size:.84rem;font-weight:500;line-height:1.2}.ts-item.has-info{cursor:help;background:var(--bg-surface);padding-right:.8rem}.ts-item.has-info:hover,.ts-item.has-info:focus-visible{background:var(--bg-surface-2);outline:none}.ts-q{position:absolute;top:2px;right:3px;font-size:.4rem;color:var(--text-tertiary);opacity:.45;pointer-events:none;transition:color var(--tip-dur, .16s),opacity var(--tip-dur, .16s)}.ts-item.has-info:hover .ts-q,.ts-item.has-info:focus-visible .ts-q{color:var(--accent-primary);opacity:.85}.ts-tip .md-i,.ts-tip .md-i strong,.ts-tip .md-i b,.ts-tip .md-i a{color:inherit}.ts-tip .md-i code{color:inherit;border-color:#7f7f7f59}.ts-tip code{font-family:var(--font-mono);font-size:.92em;padding:0 .25em;border-radius:4px;background:#ffffff29}.hc-stats button{position:relative;text-decoration:none}.hc-stats button:hover{color:var(--text-tertiary);text-decoration:none}.hc-stats button:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;border-radius:2px;background:var(--accent-primary);transform:scaleX(0);transform-origin:left center;transition:transform .28s cubic-bezier(.22,.8,.2,1)}.hc-stats button:hover:after,.hc-stats button:focus-visible:after{transform:scaleX(1)}.md-i strong,.md-i b{color:var(--text-primary);font-weight:700}.md-i em{font-style:italic}.md-i del{opacity:.7}.md-i code{font-family:var(--font-mono);font-size:.86em;padding:.08em .38em;border-radius:5px;background:var(--bg-surface-2);border:1px solid var(--border-color);color:var(--text-primary)}.md-i a{color:var(--accent-primary);text-decoration:underline;text-underline-offset:2px}.pd-content pre[data-lang]:not([data-lang=""]):before{top:.5rem;left:.9rem;padding:.08rem .5rem;border-radius:6px;background:var(--bg-surface);border:1px solid var(--border-color);color:var(--accent-primary);font-weight:700}.pd-content pre[data-lang]:not([data-lang=""]){padding-top:2.5rem}.dc-pane textarea,.dc-edit textarea,.pu-ta,.rm-textarea{min-height:0;resize:none}@media (max-width: 639px){.pd-main>.pd-hr,.pd-hr:not(.pd-hr--crumbs){display:block}.pd-shell{gap:.9rem}.pd-main .pd-sec{margin-bottom:0}.pd-main>.pd-hr{margin:1.1rem 0}.hc{padding:0;background:none;border:0;box-shadow:none;border-radius:0}.pd--m .hc{padding:0;border-radius:0}.sb-card{padding:0;background:none;border:0;box-shadow:none;border-radius:0}.sb-card--details .sb-dl{margin-top:0}.ov{padding:.8rem .85rem}.dc-pane{padding:0;background:none;border:0;border-radius:0}.sn{margin:0}.pdm-gallery .gc-frame{border-radius:var(--radius-lg)}}.pdsk-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.pdsk-chips{display:flex;gap:8px;padding:.4rem .5rem;margin-bottom:1.25rem;border-radius:99px;border:1px solid var(--border-color);overflow:hidden}.pdsk-h{margin-bottom:1rem}.pdsk-h:after{background:var(--sk-base)}.pdsk-ov{padding:1rem 1.1rem;border-radius:var(--radius-xl);border:1px solid var(--border-color)}.pdsk-list{display:flex;flex-direction:column;gap:.7rem}.pdsk-row{display:flex;align-items:center;gap:.75rem}.pd--sk .pd-side{display:flex}@media (max-width: 639px){.pdsk-ov{padding:0;border:0}.pdsk-chips{margin-bottom:.5rem}}@media (min-width: 1024px){.pd-grid[data-pd-scroll]{align-items:stretch}.pd-col{min-width:0}.pd-stage{position:sticky;top:var(--pd-sticky-top)}.pd-slide{display:flow-root;min-width:0;will-change:transform}.pd-slide.pd-side{display:flex;flex-direction:column;gap:1rem}.pd-stage .sn{position:relative;top:auto}.pd-grid.is-pinned .pd-stage{height:var(--pd-V)}.pd-grid.is-pinned .pd-win{overflow-x:visible;overflow-y:clip}}.pd-side--sk{display:flex;flex-direction:column;gap:1rem}.sb-more{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .34s cubic-bezier(.22,.8,.2,1),opacity .26s ease,visibility 0s linear .34s}.sb-more.is-open{grid-template-rows:1fr;opacity:1;visibility:visible;transition-delay:0s}.sb-more-in{min-height:0;overflow:hidden}.sb-tags--rest{padding-top:.4rem}.sb-tags-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-top:.65rem;padding:.15rem .1rem;border:0;background:none;color:var(--accent-primary);font-size:.8rem;font-weight:600;cursor:pointer}.sb-tags-toggle:hover{text-decoration:underline;text-underline-offset:3px}.sb-tags-toggle svg{font-size:.62rem;transition:transform .3s cubic-bezier(.22,.8,.2,1)}.sb-tags-toggle svg.is-up{transform:rotate(180deg)}.gc-full{font-size:.72rem}.gc-full.is-paused{color:var(--accent-primary)}.gc-frame{cursor:grab}.gc-frame:active{cursor:grabbing}.gc-frame .gc-open{cursor:zoom-in}.sn{transition:opacity .2s ease,visibility 0s linear 0s}html.nav-menu-open .sn{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s linear .18s}html.nav-menu-open .mb{opacity:0;visibility:hidden;pointer-events:none}.sb-card,.mp{scroll-margin-top:var(--pd-scroll-offset)}.bd{padding:6px 0 4.5rem;min-height:70vh}.bd-shell{display:flex;flex-direction:column;gap:1rem}.bd-head{max-width:860px}.bd-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.bd-chip{display:inline-flex;align-items:center;height:26px;padding:0 .75rem;border-radius:99px;font-size:.74rem;font-weight:700;letter-spacing:.03em;text-decoration:none;color:var(--accent-primary);background:var(--accent-light);border:1px solid color-mix(in srgb,var(--accent-primary) 25%,transparent)}a.bd-chip:hover{background:color-mix(in srgb,var(--accent-primary) 18%,transparent)}.bd-chip--soft{color:var(--text-secondary);background:var(--bg-surface-2);border-color:var(--border-color);font-weight:600}.bd-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,4.2vw,2.7rem);line-height:1.12;letter-spacing:-.028em;color:var(--text-primary);overflow-wrap:anywhere}.bd-lead{margin:.8rem 0 0;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.65;color:var(--text-secondary)}.bd-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem 1rem;margin-top:1rem;font-size:.85rem;color:var(--text-tertiary)}.bd-meta>span,.bd-meta>time{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.bd-meta svg{font-size:.75rem;opacity:.8}.bd-byline{display:inline-flex;align-items:center;gap:.55rem;color:var(--text-primary);font-weight:700;text-decoration:none;font-size:.9rem}a.bd-byline:hover{color:var(--accent-primary)}.bd-ph{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--bg-surface-2);border:2px solid var(--accent-primary);color:var(--accent-primary);font-family:var(--font-display)}.bd-ph img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.bd-ph b{font-size:.8em}.bd-byline .bd-ph{border-width:1.5px}.bd-rsum{display:inline-flex;align-items:center;gap:.45rem;padding:.2rem .65rem;border-radius:99px;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-secondary);font:inherit;font-size:.8rem;cursor:pointer}.bd-rsum:hover{border-color:var(--accent-primary)}.bd-rsum b{color:var(--text-primary);font-variant-numeric:tabular-nums}.bd-rsum-ic{display:inline-flex;gap:.2rem;color:var(--accent-primary)}.bd-rsum-ic svg{font-size:.78rem;opacity:1}@media (min-width: 700px){.bd-w2{display:none}}@media (max-width: 699px){.bd-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.bd-chips::-webkit-scrollbar{display:none}.bd-chip{flex:0 0 auto}.bd-chip--part,.bd-head .bd-rsum,.bd-w{display:none}.bd-w2{display:inline}.bd-meta{gap:.4rem .85rem;margin-top:.8rem}.bd-lead{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}.bd-cover{margin:.25rem 0}.bd-cover button{display:block;width:100%;padding:0;border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden;background:var(--bg-surface-2);cursor:zoom-in;aspect-ratio:16 / 9;position:relative}@media (min-width: 900px){.bd-cover button{aspect-ratio:2 / 1;max-height:440px}}.bd-cover button img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.bd-cover figcaption{margin-top:.5rem;text-align:center;font-size:.8rem;color:var(--text-tertiary)}.bd-cover figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}@media (max-width: 699px){.bd-cover{margin-inline:calc(-1 * var(--shell-pad, 1rem))}.bd-cover button{border-radius:0;border-inline:0;aspect-ratio:16 / 10}}.bd-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start;margin-top:.5rem}.bd-article{min-width:0;max-width:760px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1.6rem}.bd-read{display:flex;flex-direction:column;gap:1.6rem;min-width:0}@media (min-width: 1100px){.bd-grid{grid-template-columns:minmax(0,760px) 320px;justify-content:center;gap:3rem}.bd-article{margin:0}.bd-tagsfoot{display:none}}.bd-rail{position:sticky;top:var(--sb-top, 84px);align-self:start;display:flex;flex-direction:column;gap:.9rem;min-width:0}.bd-side-m{display:flex;flex-direction:column;gap:.9rem;max-width:760px;width:100%;margin:0 auto}.pd-content.bd-prose h2,.pd-content.bd-prose h3,.pd-content.bd-prose h4,.bd-actions,.bd-comments{scroll-margin-top:0}.bd-prose{font-size:1.04rem;line-height:1.85;color:var(--text-primary)}.bd-prose p{margin:0 0 1.15em}.bd-prose h2,.bd-prose h3,.bd-prose h4{position:relative;color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.015em;line-height:1.25}.bd-prose h2{font-size:1.55rem;margin:2em 0 .7em;padding-bottom:.35em;border-bottom:1px solid var(--border-color)}.bd-prose h3{font-size:1.25rem;margin:1.7em 0 .55em}.bd-prose h4{font-size:1.07rem;margin:1.5em 0 .5em}.bd-prose img{max-width:100%;height:auto;border-radius:12px;cursor:zoom-in}.bd-prose blockquote{margin:1.4em 0;padding:.3em 0 .3em 1.1em;border-left:3px solid var(--accent-primary);color:var(--text-secondary);font-style:italic}.bd-prose a:not(.bd-anchor){color:var(--accent-primary);text-underline-offset:3px}.bd-anchor{margin-left:.5rem;font-size:.8em;font-weight:600;text-decoration:none;color:var(--text-tertiary);opacity:0;transition:opacity .15s,color .15s}.bd-prose h2:hover .bd-anchor,.bd-prose h3:hover .bd-anchor,.bd-prose h4:hover .bd-anchor,.bd-anchor:focus-visible{opacity:1}.bd-anchor:hover{color:var(--accent-primary)}@media (hover: none){.bd-anchor{display:none}}.bd-empty{margin:0;padding:2rem 0;text-align:center;color:var(--text-tertiary)}.bd-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.1rem}.bd-toc a{display:block;padding:.32rem .6rem;border-left:2px solid var(--border-color);font-size:.84rem;line-height:1.4;color:var(--text-secondary);text-decoration:none;transition:color .15s,border-color .15s,background .15s}.bd-toc a:hover{color:var(--text-primary);background:var(--bg-surface-2)}.bd-toc a.is-on{color:var(--accent-primary);border-left-color:var(--accent-primary);background:var(--accent-light);font-weight:600}.bd-toc .lv3 a{padding-left:1.2rem}.bd-toc .lv4 a{padding-left:1.8rem;font-size:.8rem}.bd-toc-card .bd-toc{max-height:min(46vh,420px);overflow-y:auto;overscroll-behavior:contain}.bd-toc-m{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-surface);overflow:hidden}.bd-toc-m>button{width:100%;display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border:0;background:none;color:var(--text-primary);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.bd-toc-m>button svg:first-child{color:var(--accent-primary)}.bd-chev{margin-left:auto;font-size:.7rem;transition:transform .25s}.bd-toc-m.is-open .bd-chev{transform:rotate(180deg)}.bd-toc-m .bd-toc{padding:0 .8rem .8rem}.bd-enjoy{display:flex;align-items:center;flex-wrap:nowrap;gap:.75rem 1.1rem;padding:.85rem 1.2rem;border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:linear-gradient(120deg,var(--accent-light),transparent 62%),var(--bg-surface);scroll-margin-top:90px}.bd-enjoy-t{min-width:0;margin-right:auto}.bd-enjoy-t h2{margin:0;font-family:var(--font-display);font-size:1.08rem;font-weight:700;color:var(--text-primary)}.bd-enjoy-t p{margin:.1rem 0 0;font-size:.8rem;color:var(--text-tertiary)}.bd-enjoy-r{display:inline-flex;align-items:center;gap:.75rem}.bd-enjoy-a{display:inline-flex;gap:.4rem;padding-left:1rem;border-left:1px solid var(--border-color)}.bd-ibtn{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-secondary);cursor:pointer;font-size:.9rem;transition:background .15s,color .15s,border-color .15s}.bd-ibtn:hover{background:var(--bg-surface-3);color:var(--text-primary)}.bd-ibtn.is-danger:hover{color:#ef4444;background:#ef444414;border-color:#ef444459}.bd-rx{position:relative;display:inline-flex}.bd-like{display:inline-flex;align-items:center;gap:.55rem;height:42px;padding:0 1.2rem;border-radius:99px;border:1.5px solid var(--accent-primary);background:transparent;color:var(--accent-primary);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;transition:background .15s,color .15s,transform .12s}.bd-like:hover:not(:disabled){background:var(--accent-light)}.bd-like:active:not(:disabled){transform:scale(.96)}.bd-like:disabled{opacity:.7;cursor:default}.bd-like.is-on{background:var(--accent-primary);color:#fff}.bd-tray{position:absolute;z-index:30;left:0;bottom:calc(100% + 8px);display:flex;gap:.15rem;padding:.4rem .5rem;border-radius:99px;background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:0 10px 30px #00000047}.bd-tray:before{content:"";position:absolute;left:0;right:0;top:100%;height:12px}.bd-tr{position:relative;width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--text-secondary);font-size:1.05rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:0;transform:translateY(8px) scale(.6);animation:bd-pop .26s cubic-bezier(.2,.9,.3,1.3) forwards;animation-delay:calc(var(--i, 0) * 40ms);transition:transform .14s,color .14s,background .14s}.bd-tr:hover,.bd-tr:focus-visible{transform:translateY(-5px) scale(1.25);color:var(--accent-primary);background:var(--accent-light);outline:none}.bd-tr.is-on{color:#fff;background:var(--accent-primary)}.bd-tr:after{content:attr(data-label);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) scale(.9);padding:.15rem .5rem;border-radius:99px;background:var(--text-primary);color:var(--bg-primary, #fff);font-size:.68rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s,transform .12s}.bd-tr:hover:after,.bd-tr:focus-visible:after{opacity:1;transform:translate(-50%) scale(1)}@keyframes bd-pop{to{opacity:1;transform:translateY(0) scale(1)}}.bd-rx--bar{flex:1;min-width:0;display:flex}.bd-rx--bar .mb-btn{flex:1}.bd-rx--bar .bd-tray{bottom:calc(100% + 14px)}.mb-btn.on{color:var(--accent-primary)}.bd-author{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.1rem;border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--bg-surface)}.bd-author-id{min-width:0;flex:1}.bd-author-id small{display:block;font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.bd-author-id h3{margin:.05rem 0 0;font-family:var(--font-display);font-size:1.02rem;line-height:1.25}.bd-author-id h3 a{color:var(--text-primary);text-decoration:none}.bd-author-id h3 a:hover{color:var(--accent-primary)}.bd-author-role{display:block;margin-top:.1rem;font-size:.8rem;color:var(--text-secondary);line-height:1.35}.bd-author-soc{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;max-width:46%}.bd-author-soc a,.bd-author-more{min-width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-secondary);font-size:.82rem;text-decoration:none;transition:color .15s,border-color .15s;cursor:pointer;font-family:inherit;font-weight:600;padding:0}.bd-author-more{padding:0 .55rem;border-radius:99px;font-size:.74rem}.bd-author-soc a:hover,.bd-author-more:hover{color:var(--accent-primary);border-color:var(--accent-primary)}@media (max-width: 560px){.bd-author{flex-wrap:wrap}.bd-author-soc{flex-basis:100%;max-width:none;justify-content:flex-start}}.bd-pns{display:flex;gap:.6rem}.bd-pns.only-next{justify-content:flex-end}.bd-pn{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:.7rem;padding:.65rem .95rem;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-surface);text-decoration:none;color:var(--text-secondary);transition:border-color .15s,color .15s}.bd-pns.is-one .bd-pn{flex:0 1 calc(50% - .3rem)}.bd-pn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.bd-pn--next{justify-content:space-between;text-align:right}.bd-pn-tx{min-width:0;display:flex;flex-direction:column;gap:.05rem}.bd-pn-tx small{font-size:.68rem;font-weight:600;color:var(--text-tertiary)}.bd-pn-tx b{font-size:.86rem;font-weight:600;line-height:1.35;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bd-pn:hover .bd-pn-tx b{color:inherit}@media (max-width: 599px){.bd-pns{flex-direction:column}.bd-pns.is-one .bd-pn{flex-basis:auto}.bd-pn-tx small{display:none}}.bd-related .bd-h2{margin:0 0 .9rem;font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text-primary)}.bd-key{padding:1rem 1.2rem;border:1px solid var(--border-color);border-left:4px solid var(--accent-primary);border-radius:var(--radius-xl);background:var(--bg-surface)}.bd-key-h{margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--text-primary)}.bd-key-h svg{color:var(--accent-primary)}.bd-key ul{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:.3rem;font-size:.92rem;line-height:1.6;color:var(--text-secondary)}.bd-blk{scroll-margin-top:90px}.bd-blk-h{margin:0 0 .8rem;display:flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-size:1.3rem;font-weight:700;letter-spacing:-.015em;color:var(--text-primary)}.bd-blk-h svg{color:var(--accent-primary);font-size:1rem}.bd-prose--sm{font-size:.96rem;line-height:1.7}.bd-prose--sm>:last-child{margin-bottom:0}.bd-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.3em 0;font-size:.92rem}.bd-prose th,.bd-prose td{padding:.5rem .8rem;border:1px solid var(--border-color);text-align:left}.bd-prose th{background:var(--bg-surface-2)}.bd-prose pre{max-width:100%;overflow-x:auto}.bd-fig{margin:1.5em 0}.bd-fig img{display:block;margin:0 auto}.bd-fig figcaption{margin-top:.5rem;text-align:center;font-size:.82rem;color:var(--text-tertiary)}.bd-callout{--c: var(--accent-primary);margin:1.4em 0;padding:.8rem 1rem;border:1px solid color-mix(in srgb,var(--c) 30%,transparent);border-left:4px solid var(--c);border-radius:12px;background:color-mix(in srgb,var(--c) 8%,transparent);font-style:normal}.bd-callout>:last-child{margin-bottom:0}.bd-callout p{margin:0 0 .6em}.bd-callout-t{margin-bottom:.3rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}.bd-callout--tip{--c: #22c55e}.bd-callout--important{--c: #a855f7}.bd-callout--warning{--c: #f59e0b}.bd-callout--caution{--c: #ef4444}.bd-prose blockquote{font-style:italic}.bd-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:.6rem}.bd-links a{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-surface);text-decoration:none;transition:border-color .15s}.bd-links a:hover{border-color:var(--accent-primary)}.bd-links-ic{flex:0 0 34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-light);color:var(--accent-primary);font-size:.85rem}.bd-links-tx{min-width:0;flex:1;display:flex;flex-direction:column;gap:.05rem}.bd-links-tx b{font-size:.88rem;color:var(--text-primary);line-height:1.3}.bd-links-tx span{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.bd-links-tx em{font-style:normal;font-size:.7rem;color:var(--text-tertiary)}.bd-links-go{flex:0 0 auto;font-size:.7rem;color:var(--text-tertiary)}.bd-faq{display:flex;flex-direction:column;gap:.5rem}.bd-faq-i{border:1px solid var(--border-color);border-radius:12px;background:var(--bg-surface);overflow:hidden}.bd-faq-i summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.75rem 1rem;font-size:.92rem;font-weight:600;color:var(--text-primary)}.bd-faq-i summary::-webkit-details-marker{display:none}.bd-faq-chev{font-size:.7rem;color:var(--text-tertiary);transition:transform .2s}.bd-faq-i[open] .bd-faq-chev{transform:rotate(180deg)}.bd-faq-i .bd-prose{padding:0 1rem .9rem}.bd-refs{margin:0;padding-left:1.3rem;display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;line-height:1.55;color:var(--text-secondary)}.bd-refs a{color:var(--accent-primary);text-underline-offset:3px;overflow-wrap:anywhere}.bd-refs small{color:var(--text-tertiary)}.fv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.fv-card{display:flex;align-items:center;gap:.8rem;padding:.7rem .85rem;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-surface)}.fv-ic{flex:0 0 40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;color:var(--accent-primary);background:var(--accent-light)}.fv-ic--pdf{color:#ef4444;background:#ef44441a}.fv-ic--zip{color:#f59e0b;background:#f59e0b1f}.fv-ic--sheet{color:#22c55e;background:#22c55e1f}.fv-tx{min-width:0;flex:1;display:flex;flex-direction:column;gap:.05rem}.fv-tx b{font-size:.9rem;color:var(--text-primary);line-height:1.3}.fv-tx span{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.fv-tx em{font-style:normal;color:var(--text-tertiary)}.fv-act{display:inline-flex;gap:.4rem;flex:0 0 auto}.fv-btn{width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-secondary);cursor:pointer;font-size:.85rem;text-decoration:none;transition:background .15s,color .15s}.fv-btn:hover{background:var(--bg-surface-3);color:var(--text-primary)}.fv-btn--p{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.fv-btn--p:hover{background:var(--accent-primary);color:#fff;opacity:.9}.bd-series-m{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-surface);overflow:hidden}.bd-series-m summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.65rem;padding:.7rem 1rem}.bd-series-m summary::-webkit-details-marker{display:none}.bd-series-m summary>svg:first-child{color:var(--accent-primary)}.bd-series-m summary span{min-width:0;display:flex;flex-direction:column}.bd-series-m summary b{font-size:.86rem;color:var(--text-primary);line-height:1.3}.bd-series-m summary small{font-size:.72rem;color:var(--text-tertiary)}.bd-series-m[open] .bd-chev{transform:rotate(180deg)}.bd-series-m .bd-series-list{padding:0 .6rem .7rem}.bd-series-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.bd-series-list li a,.bd-series-list li span{display:flex;align-items:baseline;gap:.6rem;padding:.4rem .5rem;border-radius:8px;font-size:.84rem;line-height:1.4;color:var(--text-secondary);text-decoration:none}.bd-series-list li a:hover{background:var(--bg-surface-2);color:var(--text-primary)}.bd-series-list em{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:.7rem;font-weight:700;background:var(--bg-surface-3);color:var(--text-secondary)}.bd-series-list .is-cur span{background:var(--accent-light);color:var(--accent-primary);font-weight:700}.bd-series-list .is-cur em{background:var(--accent-primary);color:#fff}.bd-proj-list{display:flex;flex-direction:column;gap:.6rem}.bd-proj{display:flex;gap:.7rem;text-decoration:none;padding:.45rem;margin:-.45rem;border-radius:12px;transition:background .15s}.bd-proj:hover{background:var(--bg-surface-2)}.bd-proj-th{flex:0 0 64px;width:64px;height:64px;border-radius:10px;overflow:hidden;background:var(--bg-surface-2);border:1px solid var(--border-color);display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.bd-proj-th img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.bd-proj-tx{min-width:0;display:flex;flex-direction:column;gap:.1rem}.bd-proj-tx small{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.bd-proj-tx b{font-size:.88rem;color:var(--text-primary)}.bd-proj-tx i{font-style:normal;font-size:.78rem;line-height:1.4;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bd-mb{max-width:460px}@media (max-width: 1099px){.bd{padding-bottom:calc(6.4rem + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion: reduce){.bd-chev,.bd-anchor,.bd-like,.bd-faq-chev,.bd-tr{transition:none}.bd-tr{animation:none;opacity:1;transform:none}}.blogs-page{min-height:80vh;padding-bottom:4rem}.bl-container{width:100%;max-width:var(--shell-max);margin:0 auto;padding:0 var(--shell-pad);box-sizing:border-box}.bl-hero{padding:1.25rem 0 0}.bl-hero-inner{width:100%;max-width:var(--shell-max);margin:0 auto;padding:0 var(--shell-pad) 1.5rem;box-sizing:border-box}.bl-controls{grid-template-columns:minmax(0,1fr) auto}.bl-controls .sl{height:42px;border-radius:12px;background:var(--bg-surface);padding:0 .8rem 0 .9rem}.bl-controls .sl:hover:not(:disabled){background:var(--bg-surface)}@media (max-width: 640px){.bl-controls{grid-template-columns:minmax(0,1fr)}.bl-controls .prj-search-box{grid-column:1 / -1}.bl-controls .sl{width:100%}}.bl-link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit}.bl-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .6rem;min-height:16px;min-width:0}.bl-cat{display:inline-flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bl-cat:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent-primary);flex-shrink:0}.bl-series{font-size:.68rem;font-weight:600;padding:1px 7px;border-radius:99px;color:var(--text-secondary);background:var(--bg-surface-2);border:1px solid var(--border-color);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bl-dim{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem .7rem;font-size:.76rem;color:var(--text-tertiary);min-width:0}.bl-dim>span{display:inline-flex;align-items:center;gap:.32rem;white-space:nowrap}.bl-dim svg{font-size:.68rem}.bl-dim .bl-sep{width:3px;height:3px;border-radius:50%;background:var(--border-strong);padding:0}.bl-stats{margin-left:auto;display:inline-flex;align-items:center;gap:.75rem}.bl-tags{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.bl-tag{position:relative;z-index:2;display:inline-flex;align-items:center;height:22px;padding:0 .55rem;border-radius:99px;font-size:.68rem;font-weight:500;line-height:1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);background:var(--bg-surface-2);border:1px solid var(--border-color);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.bl-tag:hover{color:var(--accent-primary);border-color:var(--accent-primary);background:var(--bg-surface)}.bl-cover{position:relative;overflow:hidden;background:var(--bg-surface-2)}.bl-cover .bl-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .5s ease}.bl-ph{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:var(--text-tertiary);background:linear-gradient(135deg,var(--bg-surface-2),var(--bg-surface-3))}.bl-ph svg{font-size:1.7rem;opacity:.5}.bl-ph span{font-size:.7rem;font-weight:500}.bl-badge{position:absolute;top:.65rem;left:.65rem;z-index:2;display:inline-flex;align-items:center;gap:.35rem;height:24px;padding:0 .6rem;border-radius:99px;font-size:.68rem;font-weight:700;letter-spacing:.02em;color:var(--text-primary);background:color-mix(in srgb,var(--bg-surface) 88%,transparent);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bl-badge svg{color:var(--accent-primary);font-size:.66rem}.bl-feat{position:relative;display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);margin-bottom:1.5rem;overflow:hidden;border-radius:18px;background:var(--bg-surface);border:1px solid var(--border-color);transition:border-color .2s}.bl-feat:hover{border-color:var(--accent-primary)}.bl-feat:has(.bl-link:focus-visible),.bl-card:has(.bl-link:focus-visible){outline:2px solid var(--accent-primary);outline-offset:2px}.bl-feat .bl-cover{aspect-ratio:16 / 10;height:100%;min-height:100%;border-right:1px solid var(--border-color)}.bl-feat:hover .bl-img,.bl-card:hover .bl-img{transform:scale(1.03)}.bl-feat-body{display:flex;flex-direction:column;gap:.85rem;padding:1.6rem 1.7rem 1.5rem;min-width:0;justify-content:center}.bl-feat-title{margin:0;font-family:var(--font-display);font-size:clamp(1.4rem,2.6vw,2.05rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bl-feat-desc{margin:0;font-size:.95rem;line-height:1.65;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bl-feat-foot{display:flex;align-items:center;gap:.75rem;margin-top:.35rem;min-width:0}.bl-go{margin-left:auto;display:inline-flex;align-items:center;gap:.45rem;height:34px;padding:0 .95rem;border-radius:99px;font-size:.8rem;font-weight:600;flex-shrink:0;color:var(--text-secondary);background:var(--bg-surface-2);border:1px solid var(--border-color);transition:background .2s,color .2s,border-color .2s}.bl-go svg{font-size:.7rem;transition:transform .2s}.bl-feat:hover .bl-go{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.bl-feat:hover .bl-go svg{transform:translate(2px)}@media (max-width: 860px){.bl-feat{grid-template-columns:minmax(0,1fr)}.bl-feat .bl-cover{height:auto;min-height:0;border-right:0;border-bottom:1px solid var(--border-color)}.bl-feat-body{padding:1.15rem 1.15rem 1.2rem}}.bl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;align-items:stretch}.bl-grid>*{min-width:0}@media (max-width: 700px){.bl-grid{grid-template-columns:minmax(0,1fr);gap:1.1rem}}.bl-card{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:var(--bg-surface);border:1px solid var(--border-color);transition:border-color .2s}.bl-card:hover{border-color:var(--accent-primary)}.bl-card .bl-cover{aspect-ratio:16 / 9;flex-shrink:0;border-bottom:1px solid var(--border-color)}.bl-card-body{flex:1;display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.15rem 1.05rem;min-width:0}.bl-title{margin:0;font-family:var(--font-display);font-size:1.12rem;font-weight:700;line-height:1.35;letter-spacing:-.01em;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bl-desc{margin:0;font-size:.86rem;line-height:1.55;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bl-card-foot{margin-top:auto;padding-top:.7rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.6rem}.bl-card-tags{min-height:22px}.bl-sk-line{border-radius:6px}.bl-feat--sk,.bl-card--sk{pointer-events:none}.bl-feat--sk:hover,.bl-card--sk:hover{border-color:var(--border-color)}@media (prefers-reduced-motion: reduce){.bl-cover .bl-img,.bl-go svg{transition:none}.bl-feat:hover .bl-img,.bl-card:hover .bl-img{transform:none}}.bm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.bm{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-surface);overflow:hidden;transition:border-color .15s}.bm:hover{border-color:var(--accent-primary)}.bm:has(.bl-link:focus-visible){outline:2px solid var(--accent-primary);outline-offset:2px}.bm-th{height:104px;background:var(--bg-surface-2);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.bm-img,.bm-th img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.bm-ph{font-size:1.3rem}.bm-tx{padding:.65rem .8rem .75rem;display:flex;flex-direction:column;gap:.2rem;min-width:0}.bm-cat{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-primary)}.bm-title{margin:0;font-family:var(--font-display);font-size:.92rem;font-weight:700;line-height:1.32;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bm-meta{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--text-tertiary)}.bm-meta i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}@media (max-width: 699px){.bm-grid{grid-template-columns:minmax(0,1fr);gap:.55rem}.bm{flex-direction:row;align-items:center;gap:.75rem;padding:.5rem}.bm-th{flex:0 0 92px;height:auto;aspect-ratio:4 / 3;border-radius:10px}.bm-tx{padding:0}.bm-title{font-size:.86rem}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:DM Sans,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:DM Mono,Fira Code,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-0\.5{bottom:-.125rem}.-left-6{left:-1.5rem}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-6{right:-1.5rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.left-0{left:0}.right-0{right:0}.top-0{top:0}.top-12{top:3rem}.top-3{top:.75rem}.top-full{top:100%}.z-10{z-index:10}.z-\[390\]{z-index:390}.z-\[395\]{z-index:395}.z-\[99999\]{z-index:99999}.z-\[9999\]{z-index:9999}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.75rem;margin-bottom:.75rem}.-mt-0\.5{margin-top:-.125rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.ml-1\.5{margin-left:.375rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[3px\]{margin-top:3px}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.aspect-\[3\/4\]{aspect-ratio:3/4}.\!h-auto{height:auto!important}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-44{height:11rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1\.5px\]{height:1.5px}.h-\[104px\]{height:104px}.h-\[120px\]{height:120px}.h-\[128px\]{height:128px}.h-\[150px\]{height:150px}.h-\[170px\]{height:170px}.h-\[190px\]{height:190px}.h-\[200px\]{height:200px}.h-\[2px\]{height:2px}.h-\[300px\]{height:300px}.h-\[340px\]{height:340px}.h-\[64px\]{height:64px}.h-\[68px\]{height:68px}.h-\[72px\]{height:72px}.h-\[84px\]{height:84px}.h-\[88px\]{height:88px}.h-full{height:100%}.h-px{height:1px}.max-h-64{max-height:16rem}.min-h-\[50vh\]{min-height:50vh}.min-h-\[60vh\]{min-height:60vh}.min-h-\[80vh\]{min-height:80vh}.min-h-\[92vh\]{min-height:92vh}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-4\/6{width:66.666667%}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5\/6{width:83.333333%}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[min\(340px\,88vw\)\]{width:min(340px,88vw)}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[16px\]{min-width:16px}.min-w-\[78px\]{min-width:78px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[420px\]{max-width:420px}.max-w-\[860px\]{max-width:860px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-5{--tw-translate-y: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-9{gap:2.25rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-\[var\(--border-color\)\]>:not([hidden])~:not([hidden]){border-color:var(--border-color)}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[999px\]{border-radius:999px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[var\(--accent-primary\)\]{border-color:var(--accent-primary)}.border-\[var\(--bg-page\)\]{border-color:var(--bg-page)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-color\)\]{border-color:var(--border-color)}.border-\[var\(--border-strong\)\]{border-color:var(--border-strong)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-amber-500\/30{border-color:#f59e0b4d}.border-blue-500\/30{border-color:#3b82f64d}.border-emerald-500\/30{border-color:#10b9814d}.border-red-500\/30{border-color:#ef44444d}.border-sky-500\/30{border-color:#0ea5e94d}.bg-\[var\(--accent-light\)\]{background-color:var(--accent-light)}.bg-\[var\(--accent-primary\)\]{background-color:var(--accent-primary)}.bg-\[var\(--bg-card\)\]{background-color:var(--bg-card)}.bg-\[var\(--bg-elevated\)\]{background-color:var(--bg-elevated)}.bg-\[var\(--bg-page\)\]{background-color:var(--bg-page)}.bg-\[var\(--bg-surface\)\]{background-color:var(--bg-surface)}.bg-\[var\(--bg-surface-2\)\]{background-color:var(--bg-surface-2)}.bg-\[var\(--border-color\)\]{background-color:var(--border-color)}.bg-\[var\(--clr-error\)\]{background-color:var(--clr-error)}.bg-amber-500\/15{background-color:#f59e0b26}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-blue-500\/15{background-color:#3b82f626}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/15{background-color:#10b98126}.bg-red-500\/15{background-color:#ef444426}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-sky-500\/15{background-color:#0ea5e926}.bg-transparent{background-color:transparent}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-blue-500\/10{--tw-gradient-from: rgb(59 130 246 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500\/10{--tw-gradient-from: rgb(236 72 153 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500\/10{--tw-gradient-from: rgb(168 85 247 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-600\/5{--tw-gradient-to: rgb(37 99 235 / .05) var(--tw-gradient-to-position)}.to-pink-600\/5{--tw-gradient-to: rgb(219 39 119 / .05) var(--tw-gradient-to-position)}.to-purple-600\/5{--tw-gradient-to: rgb(147 51 234 / .05) var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pr-1\.5{padding-right:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.font-display{font-family:Plus Jakarta Sans,system-ui,sans-serif}.font-mono{font-family:DM Mono,Fira Code,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[16px\]{font-size:16px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#10B981\]{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-\[var\(--accent-primary\)\]{color:var(--accent-primary)}.text-\[var\(--border-strong\)\]{color:var(--border-strong)}.text-\[var\(--clr-error\)\]{color:var(--clr-error)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-pink-400{--tw-text-opacity: 1;color:rgb(244 114 182 / var(--tw-text-opacity, 1))}.text-pink-500{--tw-text-opacity: 1;color:rgb(236 72 153 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_4px_16px_rgba\(59\,130\,246\,0\.3\)\]{--tw-shadow: 0 4px 16px rgba(59,130,246,.3);--tw-shadow-colored: 0 4px 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow-color: var(--shadow-lg);--tw-shadow: var(--tw-shadow-colored)}.shadow-\[var\(--shadow-xl\)\]{--tw-shadow-color: var(--shadow-xl);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--clr-primary-50: #EFF6FF;--clr-primary-100: #DBEAFE;--clr-primary-200: #BFDBFE;--clr-primary-300: #93C5FD;--clr-primary-400: #60A5FA;--clr-primary-500: #3B82F6;--clr-primary-600: #2563EB;--clr-primary-700: #1D4ED8;--clr-primary-800: #1E40AF;--clr-primary-900: #1E3A8A;--clr-neutral-0: #FFFFFF;--clr-neutral-50: #F8FAFC;--clr-neutral-100: #F1F5F9;--clr-neutral-200: #E2E8F0;--clr-neutral-300: #CBD5E1;--clr-neutral-400: #94A3B8;--clr-neutral-500: #64748B;--clr-neutral-600: #475569;--clr-neutral-700: #334155;--clr-neutral-800: #1E293B;--clr-neutral-900: #0F172A;--clr-neutral-950: #020617;--clr-success: #22C55E;--clr-warning: #F59E0B;--clr-error: #EF4444;--clr-info: #3B82F6;--font-display: "Plus Jakarta Sans", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--font-mono: "DM Mono", "Fira Code", monospace;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-3xl: 32px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 2100;--z-progress: 600;--navbar-h: 68px;--shell-max-sm: 100%;--shell-max-md: 100%;--shell-max-lg: 1120px;--shell-max: var(--shell-max-sm);--shell-pad: clamp(1rem, 4vw, 1.75rem);--hero-max-h: 920px;--container-max: var(--shell-max);--container-pad: var(--shell-pad);--accent-primary-rgb: 37, 99, 235;--bg-page: #F0F4F8;--bg-surface: #F7F9FC;--bg-surface-2: #EEF2F7;--bg-surface-3: #E2E8F0;--bg-elevated: #FFFFFF;--text-primary: #0F172A;--text-secondary: #374151;--text-tertiary: #6B7280;--text-accent: #2563EB;--border-color: #D1D9E0;--border-strong: #B8C4CE;--border-default: #D1D9E0;--accent-primary: #2563EB;--accent-hover: #1D4ED8;--accent-light: #EFF6FF;--sk-base: #E2E8F0;--sk-shine: #F8FAFC;--navbar-bg: rgba(252, 254, 255, .94);--navbar-border: rgba(203, 213, 225, .9);--navbar-shadow: 0 1px 20px rgba(0,0,0,.06);--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 10px 30px rgba(0,0,0,.12);--shadow-xl: 0 20px 50px rgba(0,0,0,.15);--shadow-glow: 0 0 40px rgba(37,99,235,.2)}@media (min-width: 768px){:root{--shell-max: var(--shell-max-md)}}@media (min-width: 1024px){:root{--shell-max: var(--shell-max-lg)}}[data-theme=dark]{--bg-page: #020617;--bg-surface: #0F172A;--bg-surface-2: #1E293B;--bg-surface-3: #334155;--bg-elevated: #1E293B;--text-primary: #F8FAFC;--text-secondary: #94A3B8;--text-tertiary: #64748B;--text-accent: #60A5FA;--border-color: #1E293B;--border-strong: #334155;--border-default: #1E293B;--accent-primary: #3B82F6;--accent-hover: #60A5FA;--accent-light: rgba(59, 130, 246, .12);--sk-base: #1E293B;--sk-shine: #334155;--navbar-bg: rgba(10, 18, 42, .88);--navbar-border: rgba(255, 255, 255, .08);--navbar-shadow: 0 1px 20px rgba(0,0,0,.3);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 10px 30px rgba(0,0,0,.45);--shadow-xl: 0 20px 50px rgba(0,0,0,.5);--shadow-glow: 0 0 40px rgba(59,130,246,.25)}[data-theme=light]{--bg-page: #F0F4F8;--bg-surface: #F7F9FC;--bg-surface-2: #EEF2F7;--bg-surface-3: #E2E8F0;--bg-elevated: #FFFFFF;--text-primary: #0F172A;--text-secondary: #374151;--text-tertiary: #6B7280;--text-accent: #2563EB;--border-color: #D1D9E0;--border-strong: #B8C4CE;--border-default: #D1D9E0;--accent-primary: #2563EB;--accent-hover: #1D4ED8;--accent-light: #EFF6FF;--sk-base: #E2E8F0;--sk-shine: #F8FAFC;--navbar-bg: rgba(252, 254, 255, .94);--navbar-border: rgba(203, 213, 225, .9);--navbar-shadow: 0 1px 20px rgba(0,0,0,.06);--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 10px 30px rgba(0,0,0,.12);--shadow-xl: 0 20px 50px rgba(0,0,0,.15);--shadow-glow: 0 0 40px rgba(37,99,235,.2);--accent-primary-rgb: 37, 99, 235}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--navbar-h) + 16px)}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--text-primary);background-color:var(--bg-page);min-height:100vh;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-slow),color var(--transition-slow)}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;letter-spacing:-.025em;color:var(--text-primary)}p{color:var(--text-secondary);line-height:1.7}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit}img,svg{display:block;max-width:100%}ul,ol{list-style:none}::-moz-selection{background:#3b82f640;color:var(--clr-primary-100)}::selection{background:#3b82f640;color:var(--clr-primary-100)}[data-theme=light] ::-moz-selection{background:#dbeafe;color:#1e3a8a}[data-theme=light] ::selection{background:#dbeafe;color:#1e3a8a}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;border-radius:var(--radius-sm)}.site-shell,.container,.container-xl{width:100%;max-width:var(--shell-max);margin-inline:auto;padding-inline:var(--shell-pad);box-sizing:border-box}.container--sm{max-width:640px;margin-inline:auto;padding-inline:var(--shell-pad)}.container--md,.container-md{width:100%;max-width:768px;margin-inline:auto;padding-inline:var(--shell-pad)}.container--lg,.container-lg{width:100%;max-width:1024px;margin-inline:auto;padding-inline:var(--shell-pad)}.shell-band{width:100%}.section{padding-block:clamp(3rem,8vw,6rem);scroll-margin-top:calc(var(--navbar-h) + 16px)}.page-enter{animation:pageEnter .3s cubic-bezier(.16,1,.3,1) both}@keyframes pageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sk{background:var(--sk-base);border-radius:var(--radius-sm);position:relative;overflow:hidden;flex-shrink:0}.sk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,var(--sk-shine) 50%,transparent 100%);animation:sk-wave 1.6s ease-in-out infinite}@keyframes sk-wave{0%{transform:translate(-100%)}to{transform:translate(100%)}}#page-progress{position:fixed;top:0;left:0;height:2px;overflow:hidden;background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-hover) 60%,#818cf8 100%);box-shadow:0 0 8px #3b82f673;z-index:var(--z-progress);transition:width .42s cubic-bezier(.16,1,.3,1),opacity .24s ease;pointer-events:none}.page-progress-head{display:none}#toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:var(--z-toast);display:flex;flex-direction:column;gap:.75rem;pointer-events:none;max-width:380px;width:calc(100vw - 3rem)}@media (max-width: 480px){#toast-container{bottom:1rem;right:.75rem;left:.75rem;width:auto}}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--border-strong)}.card-glass{background:#0f172a99;border:1px solid var(--border-color);border-radius:var(--radius-xl);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-theme=light] .card-glass{background:#ffffffb3}.badge{display:inline-flex;align-items:center;gap:4px;padding:.2em .65em;font-size:.72rem;font-weight:600;border-radius:var(--radius-full);letter-spacing:.04em}.section-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.72rem;font-weight:500;color:var(--accent-primary);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem}.section-label:before,.section-label:after{content:"";display:block;width:24px;height:1px;background:var(--accent-primary);opacity:.6}.text-gradient{background:linear-gradient(135deg,var(--clr-primary-300),var(--clr-primary-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .text-gradient{background:linear-gradient(135deg,var(--clr-primary-600),var(--clr-primary-800));-webkit-background-clip:text;background-clip:text}.spinner{width:22px;height:22px;border:2px solid var(--border-strong);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.signature-loader-wrap{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:92px}.signature-loader{width:50px;aspect-ratio:1;display:grid;color:#514b82;background:conic-gradient(from 90deg at 3px 3px,#0000 90deg,currentColor 0) -3px -3px / calc(50% + 1.5px) calc(50% + 1.5px);animation:signature-loader-spin 2s infinite;filter:drop-shadow(0 0 16px rgba(81,75,130,.32)) drop-shadow(0 0 28px rgba(59,130,246,.18))}.signature-loader:before,.signature-loader:after{content:"";grid-area:1 / 1;background:repeating-conic-gradient(#0000 0 35deg,currentColor 0 90deg);-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 0);mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 0);border-radius:50%}.signature-loader:after{margin:20%}.signature-loader-wrap.is-compact{gap:10px;min-width:76px}.signature-loader-wrap.is-compact .signature-loader{width:38px}.signature-loader-text{font-family:var(--font-mono);font-size:.72rem;color:var(--text-tertiary);letter-spacing:0}.signature-loader-text:after{content:"";display:inline-block;width:1.4em;text-align:left;animation:signature-loader-dots 1.1s steps(4,end) infinite}@keyframes signature-loader-spin{to{transform:rotate(1turn)}}@keyframes signature-loader-dots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}code{font-family:var(--font-mono);background:var(--bg-surface-2);color:var(--clr-primary-400);padding:.15em .45em;border-radius:var(--radius-xs);font-size:.875em}:root{--tip-dur: .16s;--tip-ease: cubic-bezier(.22, .8, .2, 1)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);background:var(--text-primary);color:var(--bg-page);font-family:var(--font-body);font-size:.7rem;font-weight:600;padding:.28rem .6rem;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--tip-dur) var(--tip-ease),transform var(--tip-dur) var(--tip-ease);z-index:9999;letter-spacing:.01em}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0)}[data-tooltip-up]:after{top:auto;bottom:calc(100% + 8px);transform:translate(-50%) translateY(4px)}[data-tooltip-up]:hover:after{transform:translate(-50%) translateY(0)}.pt-navbar{padding-top:var(--navbar-h)}.bg-mesh{background-image:radial-gradient(at 20% 50%,rgba(59,130,246,.1) 0,transparent 60%),radial-gradient(at 80% 20%,rgba(99,102,241,.07) 0,transparent 50%),radial-gradient(at 50% 100%,rgba(59,130,246,.05) 0,transparent 50%)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html.scroll-locked{overflow:hidden!important;scrollbar-gutter:stable}body.scroll-locked{overflow:hidden!important;overscroll-behavior:none}@keyframes ripple-expand{0%{transform:scale(0);opacity:.7;filter:blur(0)}52%{opacity:.34;filter:blur(1px)}to{transform:scale(1);opacity:0;filter:blur(2px)}}.click-fx-host{position:relative;overflow:hidden;isolation:isolate}.click-fx-layer{position:fixed;z-index:2147483000;overflow:hidden;pointer-events:none;contain:layout paint}.click-fx-host-pos{overflow:hidden;isolation:isolate}.click-fx-burst{position:absolute;z-index:4;pointer-events:none;border-radius:999px;transform:scale(0);animation:click-fx-burst .55s cubic-bezier(.22,1,.36,1) forwards}[data-theme=dark] .click-fx-burst{background:radial-gradient(circle,rgba(255,255,255,.18) 0%,rgba(147,197,253,.12) 45%,transparent 70%);mix-blend-mode:screen}[data-theme=light] .click-fx-burst{background:radial-gradient(circle,rgba(37,99,235,.1) 0%,rgba(37,99,235,.06) 45%,transparent 70%);mix-blend-mode:multiply}@keyframes click-fx-burst{0%{transform:scale(0);opacity:1}60%{opacity:.5}to{transform:scale(1);opacity:0}}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.sidebar-scroll{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.sidebar-scroll::-webkit-scrollbar{width:4px}.sidebar-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:99px}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg-surface-2) inset!important;-webkit-text-fill-color:var(--text-primary)!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;caret-color:var(--text-primary)}[data-theme=light] input:-webkit-autofill,[data-theme=light] input:-webkit-autofill:hover,[data-theme=light] input:-webkit-autofill:focus,[data-theme=light] input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px #f1f5f9 inset!important;-webkit-text-fill-color:var(--text-primary)!important}.btn,.btn-primary,.btn-secondary,.btn-ghost,[class*=hbtn-p],[class*=hbtn-o]{transition:transform .15s ease,box-shadow .15s ease,background .2s ease,border-color .2s ease}.card{transition:box-shadow .2s ease,border-color .2s ease,transform .18s ease}.card:active{transform:scale(.98)!important}a.text-link,.text-link{transition:color .18s ease}.section-alt{background-color:var(--bg-surface);position:relative}.section-alt:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(59,130,246,.025) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.hero-bottom-fade{position:absolute;bottom:0;left:0;right:0;height:clamp(80px,18%,160px);background:linear-gradient(to top,var(--bg-page) 0%,transparent 100%);pointer-events:none;z-index:2}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.nav-icon-btn{width:36px;height:36px;border-radius:9999px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#e2e8f0cc;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .12s ease;cursor:pointer;position:relative;overflow:clip}.nav-icon-btn:hover{background:#ffffff1f;border-color:#ffffff2e;color:#f1f5f9}.nav-icon-btn:active{transform:scale(.9)}[data-theme=light] .nav-icon-btn{border-color:#00000014;background:#0000000a;color:#1e293bbf}[data-theme=light] .nav-icon-btn:hover{background:#00000017;border-color:#00000024;color:#0f172a}.top-nav-link{position:relative;overflow:hidden;display:flex;align-items:center;gap:.375rem;height:36px;padding:0 14px;border-radius:8px;font-size:.875rem;font-weight:500;line-height:1;border:1px solid transparent;color:var(--text-secondary);transition:all .2s ease;text-decoration:none}.top-nav-link:hover{background:rgba(var(--accent-primary-rgb, 59,130,246),.1);border-color:rgba(var(--accent-primary-rgb, 59,130,246),.15);color:var(--text-primary)}.top-nav-link:active{transform:scale(.94);background:rgba(var(--accent-primary-rgb, 59,130,246),.15)}.top-nav-link.active{background:rgba(var(--accent-primary-rgb, 59,130,246),.15);border-color:rgba(var(--accent-primary-rgb, 59,130,246),.28);color:var(--accent-primary)}.mega-glass{backdrop-filter:blur(20px) saturate(1.4)!important;-webkit-backdrop-filter:blur(20px) saturate(1.4)!important;box-shadow:0 8px 32px #0003!important}[data-theme=dark] .mega-glass,:root .mega-glass{background:#0a1228cc!important;border:1px solid rgba(255,255,255,.1)!important}[data-theme=light] .mega-glass{background:#f0f4fae6!important;border:1px solid rgba(0,0,0,.08)!important}.si-shimmer{background:linear-gradient(100deg,var(--sk-base) 30%,var(--sk-shine) 50%,var(--sk-base) 70%);background-size:200% 100%;animation:si-shimmer 1.3s linear infinite}@keyframes si-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.si-lqip{filter:blur(2px)}.si-reveal-blur{animation:si-blur var(--si-ms, .5s) cubic-bezier(.22,.61,.36,1) both}@keyframes si-blur{0%{filter:blur(2px);opacity:.9}to{filter:blur(0);opacity:1}}.si-reveal-fade{animation:si-fade var(--si-ms, .5s) ease-out both}@keyframes si-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.si-reveal-blur,.si-reveal-fade,.si-shimmer{animation:none}}.toast-item{position:relative;overflow:hidden;pointer-events:auto;width:100%;max-width:340px;margin-left:auto;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color);border-left:3px solid var(--toast-c, var(--accent-primary));border-radius:10px;box-shadow:0 4px 14px #0000001a}[data-theme=dark] .toast-item{box-shadow:0 4px 14px #00000073}.toast-item--success{--toast-c: #22C55E}.toast-item--error{--toast-c: #EF4444}.toast-item--warning{--toast-c: #F59E0B}.toast-item--info{--toast-c: var(--accent-primary)}.fade-x[data-l=true][data-r=false]{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30px);mask-image:linear-gradient(90deg,transparent 0,#000 30px)}.fade-x[data-l=false][data-r=true]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent 100%)}.fade-x[data-l=true][data-r=true]{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30px,#000 calc(100% - 30px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 30px,#000 calc(100% - 30px),transparent 100%)}.corner-stack{position:fixed;z-index:200;right:1.25rem;bottom:1.25rem;width:min(380px,calc(100vw - 2.5rem));display:flex;flex-direction:column;gap:.6rem;align-items:stretch;pointer-events:none}.corner-stack>*{pointer-events:auto}.devb-card{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem .9rem;border-radius:var(--radius-xl);background:var(--bg-surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-xl)}.devb-ic{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--accent-primary);background:var(--accent-light)}.devb-body{flex:1;min-width:0}.devb-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0;font-size:.82rem;color:var(--text-primary)}.devb-head strong{font-weight:700}.devb-head span{font-size:.72rem;font-weight:700;color:var(--accent-primary);font-variant-numeric:tabular-nums}.devb-text{margin:.15rem 0 .5rem;font-size:.76rem;line-height:1.45;color:var(--text-secondary)}.devb-track{height:4px;border-radius:99px;background:var(--bg-surface-3);overflow:hidden}.devb-fill{height:100%;border-radius:99px;background:var(--accent-primary);transition:width .6s ease}.devb-close{flex:0 0 auto;width:26px;height:26px;margin:-.15rem -.2rem 0 0;border-radius:8px;border:0;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:.8rem;transition:background .15s,color .15s}.devb-close:hover{background:var(--bg-surface-2);color:var(--text-primary)}@media (max-width: 639px){.corner-stack{left:.75rem;right:.75rem;width:auto;bottom:calc(.75rem + env(safe-area-inset-bottom))}}body:has(.pd--m .mb:not(.is-hidden)) .corner-stack{bottom:calc(5.6rem + env(safe-area-inset-bottom))}.corner-stack{transition:bottom .35s cubic-bezier(.22,.8,.2,1)}.placeholder\:text-\[var\(--text-tertiary\)\]::-moz-placeholder{color:var(--text-tertiary)}.placeholder\:text-\[var\(--text-tertiary\)\]::placeholder{color:var(--text-tertiary)}.last\:border-0:last-child{border-width:0px}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[var\(--accent-primary\)\]:hover{border-color:var(--accent-primary)}.hover\:border-\[var\(--border-strong\)\]:hover{border-color:var(--border-strong)}.hover\:bg-\[var\(--accent-hover\)\]:hover{background-color:var(--accent-hover)}.hover\:bg-\[var\(--accent-light\)\]:hover{background-color:var(--accent-light)}.hover\:bg-\[var\(--bg-surface\)\]:hover{background-color:var(--bg-surface)}.hover\:bg-\[var\(--bg-surface-2\)\]:hover{background-color:var(--bg-surface-2)}.hover\:bg-\[var\(--bg-surface-3\)\]:hover{background-color:var(--bg-surface-3)}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:text-\[var\(--accent-primary\)\]:hover{color:var(--accent-primary)}.hover\:text-\[var\(--text-primary\)\]:hover{color:var(--text-primary)}.hover\:text-\[var\(--text-secondary\)\]:hover{color:var(--text-secondary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0_6px_24px_rgba\(59\,130\,246\,0\.4\)\]:hover{--tw-shadow: 0 6px 24px rgba(59,130,246,.4);--tw-shadow-colored: 0 6px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[\.97\]:active{--tw-scale-x: .97;--tw-scale-y: .97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.97\]:active{--tw-scale-x: .97;--tw-scale-y: .97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/cta:hover .group-hover\/cta\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-\[var\(--accent-primary\)\]{color:var(--accent-primary)}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width: 480px){.min-\[480px\]\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 561px){.min-\[561px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 640px){.sm\:h-\[200px\]{height:200px}.sm\:w-72{width:18rem}.sm\:w-80{width:20rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width: 750px){.min-\[750px\]\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-24{width:6rem}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-16{gap:4rem}}@media (min-width: 1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-96{width:24rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[1fr_270px\]{grid-template-columns:1fr 270px}.lg\:flex-row{flex-direction:row}.lg\:gap-10{gap:2.5rem}.lg\:gap-16{gap:4rem}}
