body{overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}button,input,select,textarea,.account-chip,.main-nav button,.room-link,.group-head{min-height:44px}.card,.panel,.post,.notice,.room-banner,.admin-control-room,.admin-list-card,.ad{max-width:100%;overflow-wrap:anywhere}pre,code,.admin-result-box{max-width:100%;overflow-x:auto;white-space:pre-wrap}@media(max-width:820px){body{font-size:16px}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;padding:.7rem .8rem .55rem;background:rgba(255,253,247,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:0 0 20px 20px}.brand{min-width:0;display:flex;align-items:center;gap:.65rem}.brand span:last-child{min-width:0}.brand b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{display:none}.account-chip{align-self:center;white-space:nowrap;padding-inline:1rem}.main-nav{grid-column:1/-1;display:flex;gap:.5rem;overflow-x:auto;overflow-y:hidden;width:100%;max-width:100%;min-width:0;padding:.15rem .8rem .35rem .05rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}.main-nav::-webkit-scrollbar{display:none}.main-nav button{flex:0 0 auto;white-space:nowrap;padding:.72rem 1rem;scroll-snap-align:start}.hero{position:relative;isolation:isolate;margin:.7rem .8rem;padding:1rem;border-radius:20px;min-height:168px;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,27,47,.18),rgba(8,27,47,.82))!important;pointer-events:none}.hero>div{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:136px}.hero .eyebrow{color:#e7eef5!important;font-size:.74rem!important;letter-spacing:.12em}.hero h1,#heroTitle{font-size:2.2rem!important;line-height:1!important;color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.55)!important;margin:.25rem 0 .45rem!important}.hero p,#heroSub{font-size:1rem!important;line-height:1.4!important;color:#eef4f8!important;text-shadow:0 1px 8px rgba(0,0,0,.45)!important;margin:0!important}.hero.tp-route-hero-art{display:block!important;grid-template-columns:1fr!important;padding:1rem!important;min-height:168px!important;background:#173044!important}.hero.tp-route-hero-art:before{inset:0!important;width:100%!important;height:100%!important;bottom:0!important;background-position:center!important;background-size:cover!important;opacity:.72!important;filter:saturate(1.05) contrast(1.05) brightness(.72)!important}.hero.tp-route-hero-art:after{background:linear-gradient(180deg,rgba(8,27,47,.18),rgba(8,27,47,.85))!important}.hero.tp-route-hero-art>div{grid-column:auto!important;min-height:136px!important}.hero.tp-route-hero-art h1{color:#fff!important}.hero.tp-route-hero-art p{color:#eef4f8!important}.app-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem;padding:0 .8rem 1.5rem}.app-main,.sidebar{min-width:0}.sidebar{order:2}.grid,.admin-op-grid,.cards-grid,.source-grid,.weather-grid,.road-grid,.room-shell{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:.85rem}.room-menu{position:static;max-height:none;overflow:visible}.card,.panel,.post,.notice,.room-banner,.admin-control-room,.ad{border-radius:18px;padding:1rem}.head{align-items:flex-start;gap:.75rem}.head h2{line-height:1.05}.actions,.admin-toolbar,.admin-chip-row,.portal-socials,.portal-fields{display:flex;flex-wrap:wrap;gap:.5rem}.actions>*,.admin-toolbar>*,.portal-fields>*,.portal-socials>*{flex:1 1 100%}input,select,textarea{width:100%;font-size:16px}.tp-root-public-content{gap:.75rem!important}.tp-root-public-content>.panel,.tp-root-public-content .tp-public-section{padding:1rem!important;border-radius:18px!important}.tp-root-public-content h2{font-size:1.65rem!important;line-height:1.05!important}.tp-root-public-content p{font-size:1rem!important;line-height:1.45!important}}@media(max-width:430px){.topbar{padding-inline:.65rem}.logo{width:42px;height:42px}.main-nav{padding-right:.65rem}.main-nav button,.account-chip,.pill,button{min-height:46px}.hero{margin-inline:.65rem;min-height:158px}.hero>div,.hero.tp-route-hero-art>div{min-height:126px!important}.hero h1,#heroTitle{font-size:2rem!important}.app-shell{padding-inline:.65rem}.card h2,.panel h2,.room-banner h2{font-size:1.35rem}.tp-root-public-content h2{font-size:1.55rem!important}}
