/* Cross-device safeguards shared by the public site and admin. */
html{max-width:100%;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
p,h1,h2,h3,strong,small,a,span,dd,dt{overflow-wrap:anywhere}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
@media (pointer:coarse){button,.nav-link,.chip,.solid-button,.admin-button,.side-link{min-height:44px}.menu-button{min-width:44px}.social-card{min-height:88px}}

/* Public site: wide desktop and ultrawide. */
@media (min-width:1600px){.journal-feed,.page-shell,.connect-section,.subscribe-section{padding-left:max(calc((100vw - 1500px)/2),8vw);padding-right:max(calc((100vw - 1500px)/2),8vw)}.journal-entry{max-width:1100px}.site-header{padding-left:max(calc((100vw - 1600px)/2),5vw);padding-right:max(calc((100vw - 1600px)/2),5vw)}}

/* Public site: tablets and small laptops. */
@media (min-width:761px) and (max-width:1100px){.intro h1{font-size:clamp(64px,10vw,96px)}.journal-feed{padding-left:5vw;padding-right:5vw}.journal-entry{margin-bottom:96px}.about-strip{grid-template-columns:.6fr 1.2fr;gap:32px}.about-strip>p:nth-of-type(2),.about-strip>.arrow-link{grid-column:2}.connect-section,.subscribe-section{gap:40px}.wardrobe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)}.dialog-copy{padding:50px 32px}}

/* Public site: phones and narrow embedded browsers. */
@media (max-width:760px){.site-header{grid-template-columns:48px minmax(0,1fr) 48px;padding:0 12px}.site-header .brand{text-align:center;font-size:clamp(17px,5.5vw,23px);letter-spacing:.04em}.site-header nav{max-height:calc(100dvh - 72px);overflow-y:auto;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.intro{padding-left:16px;padding-right:16px}.intro h1{font-size:clamp(42px,15vw,68px)}.intro span{max-width:100%}.journal-entry img{width:100%;max-height:none;aspect-ratio:auto;object-fit:contain}.journal-caption{grid-template-columns:minmax(0,1fr) auto}.page-shell{padding-left:16px;padding-right:16px}.page-heading h1{font-size:clamp(48px,16vw,76px)}.wardrobe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:20px 16px}.output-panel{position:static}.subscribe-section form{width:100%}.subscribe-section fieldset{gap:10px}.subscribe-section fieldset label{flex:1 1 calc(50% - 10px)}dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0}dialog[open]{display:block}.dialog-layout{min-height:100%}.dialog-layout>img{width:100%;max-height:48dvh;object-fit:contain;background:#e8ece8}.dialog-copy{padding:24px 16px calc(32px + env(safe-area-inset-bottom))}.dialog-close{position:fixed;top:max(10px,env(safe-area-inset-top));right:10px}.detail-actions>*{flex:1 1 140px;text-align:center}.recommend-list{grid-template-columns:repeat(2,minmax(0,1fr))}footer{padding-bottom:calc(50px + env(safe-area-inset-bottom))}}
@media (max-width:380px){.wardrobe-grid{grid-template-columns:1fr}.journal-caption time{display:none}.subscribe-section fieldset label{flex-basis:100%}.detail-actions{display:grid}.recommend-list{grid-template-columns:1fr}.page-heading h1{font-size:44px}}
@media (max-height:600px) and (orientation:landscape){dialog{max-height:100dvh}.dialog-layout{grid-template-columns:.9fr 1.1fr}.dialog-layout>img{height:100dvh;max-height:100dvh;object-fit:cover}.dialog-copy{max-height:100dvh;overflow:auto}.site-header nav{max-height:calc(100dvh - 72px);overflow:auto}}

/* Admin: keep forms and data readable in compact windows. */
.admin-main,.admin-panel,.admin-card,.setting-card,.agent-card{min-width:0}
.content-row>*{min-width:0}
@media (max-width:1100px){.admin-main{padding-left:20px;padding-right:20px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sidebar{z-index:30}}
@media (max-width:760px){.admin-sidebar{position:sticky;top:0;padding:8px 12px}.admin-sidebar nav{overflow-x:auto;scrollbar-width:none}.admin-sidebar nav::-webkit-scrollbar{display:none}.admin-brand>strong{display:none}.admin-topbar{flex-direction:column;align-items:stretch}.top-actions{justify-content:space-between}.dashboard-grid,.settings-grid,.agent-grid,.api-layout{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{flex-direction:column}.toolbar input,.toolbar select{max-width:none}.content-row{grid-template-columns:minmax(0,1fr) auto}.content-row>span:last-child{grid-column:1/-1}.copy-fields{grid-template-columns:1fr}.copy-fields label.long{grid-column:auto}.form-columns{grid-template-columns:1fr}.form-columns .full{grid-column:auto}.api-layout pre{white-space:pre-wrap;word-break:break-all}.sticky-save{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}
@media (max-width:380px){.stats-grid{grid-template-columns:1fr}.admin-main{padding-left:12px;padding-right:12px}.login-card{padding:24px 16px}.top-actions{align-items:stretch;flex-direction:column}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
