*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif;color:#10234d;background:#fff}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.utility-bar{background:#06275b;color:#fff;font-size:12px}.utility-inner{height:34px;display:flex;align-items:center;justify-content:space-between}.utility-inner nav{display:flex;gap:18px}.utility-inner a{opacity:.92}.main-header{background:#fff;position:relative;z-index:30;border-bottom:1px solid #dfe7f5;transition:.25s}.main-header.sticky{position:fixed;top:0;left:0;right:0;box-shadow:0 5px 25px #001c4a20}.main-header-inner{height:68px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark{width:50px;height:42px;display:grid;place-items:center;font-size:40px;color:#0057d9;transform:rotate(-2deg)}.brand strong{display:block;font-size:25px;letter-spacing:.02em}.brand small{display:block;font-size:10px;letter-spacing:.14em}.desktop-nav{display:flex;gap:clamp(16px,2vw,28px);font-weight:700;font-size:14px;white-space:nowrap}.desktop-nav a:hover{color:#0057d9}.search-icon,.menu-button{border:1px solid #d6e0ef;background:#fff;border-radius:8px;padding:11px 16px;color:#10234d;font-weight:700}.menu-button{display:none}.mobile-menu{display:none}
.hero{min-height:430px;background:url("/assets/hero/home-default.jpg") 58% center/cover no-repeat;position:relative}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,55,135,.62),rgba(0,65,150,.24) 48%,rgba(0,65,150,.04) 72%,transparent)}.hero-content{position:relative;padding-top:55px}.hero-copy{color:#fff;text-shadow:0 2px 10px #003b7899}.hero-copy h1{font-size:50px;line-height:1.15;margin:0 0 16px}.hero-copy p{font-size:20px;font-weight:700;line-height:1.65;margin:0}.search-panel{width:560px;margin-top:32px;background:#fff;padding:16px;border-radius:12px;box-shadow:0 12px 30px #002c6560}.search-field{display:flex;border:1px solid #cfd9e9;border-radius:7px;padding:0 10px}.search-field input{width:100%;border:0;outline:0;padding:14px 6px}.search-field button{border:0;background:none;font-size:22px;color:#70809b}.primary-button{width:100%;border:0;background:linear-gradient(90deg,#0057d9,#063d9a);color:#fff;padding:14px;margin-top:10px;border-radius:7px;font-weight:800;cursor:pointer}.search-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.search-shortcuts button{display:flex;align-items:center;justify-content:center;gap:12px;background:#f8fbff;border:1px solid #d8e2f1;border-radius:8px;padding:12px;cursor:pointer;color:#10234d}.search-shortcuts strong,.search-shortcuts small{display:block;text-align:left}.search-shortcuts small{font-size:11px;color:#61708a;margin-top:3px}.shortcut-icon{font-size:28px;color:#0057d9}.search-message{margin:8px 0 0;font-size:13px;color:#0057d9;min-height:1em}
.important-strip{margin-top:16px;border:1px solid #dce5f2;border-radius:8px;min-height:72px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:12px 16px}.important-title{color:#e12c2c;font-weight:800}.important-items{display:flex;gap:22px;font-size:12px;overflow:hidden}.important-items span{white-space:nowrap}.important-strip>a{color:#0057d9;font-size:12px;font-weight:800}.tag{color:white;border-radius:4px;padding:3px 7px;font-size:11px}.danger{background:#e83838}.warn{background:#f07c15}.success{background:#12a45c}.info{background:#2b83e8}.purple{background:#7651d8}
.section{padding:18px 0}.section h2{font-size:20px;margin:0 0 12px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading a{font-size:12px;color:#0057d9;font-weight:800}.quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.quick-card{min-height:104px;border:1px solid #dce5f2;border-radius:9px;padding:14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;box-shadow:0 4px 12px #001c3e08}.quick-card strong{display:block;margin:4px 0 7px}.quick-card p{font-size:12px;line-height:1.55;margin:0;color:#53627b}.quick-icon{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;font-size:24px}.pink{background:#ffe9f3}.green{background:#e5f7ec}.orange{background:#fff0df}.blue{background:#e5f4ff}.purple{background:#f0eaff}
.recommend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.resort-card{border:1px solid #d9e2ef;border-radius:10px;overflow:hidden;background:#fff}.card-image{height:165px;background-size:cover;background-position:center;position:relative;padding:12px;color:#fff}.card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(2,25,62,.75))}.card-image>*{position:relative;z-index:1}.rating{color:#ffd036;font-size:18px}.reason{background:#1263bc;padding:4px 8px;border-radius:10px;font-size:10px;margin-left:8px}.card-image h3{font-size:25px;margin:55px 0 8px;text-shadow:0 2px 5px #000}.badges{display:flex;gap:6px}.badges span{background:#0c315a;padding:4px 8px;border-radius:12px;font-size:10px}.badges span:first-child{background:#0da85d}.resort-data{padding:12px}.resort-data dl{display:grid;grid-template-columns:repeat(4,1fr);margin:0}.resort-data dt{font-size:10px;color:#697991}.resort-data dd{font-weight:800;margin:3px 0}.resort-data p{font-size:12px;line-height:1.5;color:#4d5e77}.resort-data a{display:block;text-align:center;color:#0057d9;font-weight:800;font-size:12px}
.two-column{display:grid;grid-template-columns:320px 1fr;gap:20px}.flash-list{border:1px solid #dce5f2;border-radius:9px;padding:6px 12px}.flash-list a{display:grid;grid-template-columns:42px 65px 1fr auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #edf1f7;font-size:11px}.flash-list a:last-child{border-bottom:0}.flash-list span strong,.flash-list span small{display:block}.flash-list span small{margin-top:3px;color:#5d6d84}.flash-list em{font-style:normal;color:#1972c9;font-weight:800}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.report-card{height:190px;background-size:cover;background-position:center;border-radius:9px;position:relative;overflow:hidden;color:#fff;padding:10px;display:flex;flex-direction:column;justify-content:space-between}.report-card:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(5,35,80,.05),rgba(5,24,55,.75))}.report-card>*{position:relative}.report-card>span{font-size:11px;background:#0a376f;padding:4px 8px;border-radius:10px;align-self:flex-start}.report-card b{color:#ffd036}.report-card p{margin:4px 0}.report-card small{font-size:10px}
.article-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.article-grid article{border:1px solid #dce5f2;border-radius:9px;overflow:hidden;padding-bottom:12px}.article-grid img{width:100%;height:105px;object-fit:cover}.article-grid article span{display:inline-block;background:#1263bc;color:#fff;border-radius:10px;padding:4px 8px;margin:8px 8px 4px;font-size:10px}.article-grid small,.article-grid h3,.article-grid p{display:block;margin-left:10px;margin-right:10px}.article-grid small{color:#7d8898}.article-grid h3{font-size:14px;margin-top:7px;margin-bottom:5px}.article-grid p{font-size:11px;color:#546178;margin-top:0}
.map-cta{margin-top:15px;margin-bottom:30px;background:#eff6ff;border:1px solid #d8e6f8;border-radius:12px;padding:24px;display:flex;justify-content:space-between;align-items:center}.map-cta h2{margin:0 0 5px}.map-cta p{margin:0;color:#566982}.map-cta button{border:0;border-radius:7px;background:#0057d9;color:#fff;font-weight:800;padding:13px 18px}
footer{background:#06275b;color:#fff;padding:30px 0 18px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:40px}.footer-grid h3{font-size:14px;margin:0 0 10px}.footer-grid a{display:block;font-size:12px;line-height:2;color:#d9e5f8}.footer-brand strong{font-size:22px}.footer-brand p{font-size:12px;line-height:1.6;color:#d9e5f8}.footer-bottom{border-top:1px solid #ffffff22;margin-top:24px;padding-top:16px;display:flex;justify-content:space-between}.footer-bottom div{display:flex;gap:20px;font-size:11px}.mobile-bottom-nav{display:none}
@media(max-width:900px){.utility-bar,.desktop-nav,.search-icon{display:none}.main-header-inner{height:58px}.menu-button{display:block}.mobile-menu.open{display:grid;padding:8px 20px 18px;border-top:1px solid #e3eaf4}.mobile-menu a{padding:10px 0;border-bottom:1px solid #edf1f7}.brand strong{font-size:20px}.brand-mark{font-size:30px;width:35px}.hero{min-height:580px}.hero-content{padding-top:35px}.hero-copy h1{font-size:34px}.hero-copy p{font-size:15px}.search-panel{width:100%;margin-top:95px}.important-strip{grid-template-columns:1fr;padding:12px}.important-items{display:block;overflow:auto}.important-items span{display:block;margin:7px 0}.quick-grid{grid-template-columns:repeat(2,1fr)}.recommend-grid{grid-template-columns:1fr}.two-column{grid-template-columns:1fr}.report-grid{display:flex;overflow-x:auto}.report-card{min-width:190px}.article-grid{display:flex;overflow-x:auto}.article-grid article{min-width:200px}.footer-grid{grid-template-columns:1fr 1fr}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:62px;background:#fff;border-top:1px solid #dce5f2;display:grid;grid-template-columns:repeat(5,1fr);z-index:50}.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:20px;color:#153264}.mobile-bottom-nav span{font-size:10px;margin-top:2px}body{padding-bottom:62px}}
@media(max-width:560px){.container{width:min(100% - 24px,1180px)}.hero{min-height:530px;background-position:62% center}.hero-copy h1{font-size:29px}.search-panel{margin-top:120px;padding:12px}.search-shortcuts{grid-template-columns:1fr 1fr}.search-shortcuts button{padding:9px 5px}.search-shortcuts strong{font-size:13px}.quick-grid{display:flex;overflow-x:auto}.quick-card{min-width:220px}.card-image h3{font-size:21px}.two-column{gap:8px}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom div{margin-top:12px;flex-wrap:wrap}}

/* Icon system */
.utility-inner nav a{display:inline-flex;align-items:center;gap:5px}.utility-inner nav a img{width:15px;height:15px;object-fit:contain}.utility-inner nav .social-link{padding:0 2px}.utility-inner nav .social-link img{width:18px;height:18px}.brand-mark{width:44px;height:44px;object-fit:contain;display:block}.search-icon img{width:20px;height:20px}.menu-button img{width:25px;height:25px}.primary-button{display:flex;align-items:center;justify-content:center;gap:8px}.primary-button img{width:20px;height:20px;filter:brightness(0) invert(1)}.shortcut-icon img{width:34px;height:34px;display:block}.important-title{display:flex;align-items:center;gap:7px}.important-title img{width:22px;height:22px}.quick-icon img{width:29px;height:29px;display:block}.article-category{display:inline-flex!important;align-items:center;gap:4px}.article-category img{width:15px!important;height:15px!important;object-fit:contain;filter:brightness(0) invert(1)}.map-cta-copy{display:flex;align-items:center;gap:16px}.map-cta-copy>img{width:52px;height:52px}.mobile-bottom-nav a img{width:23px;height:23px;display:block}.mobile-bottom-nav a{font-size:initial}.mobile-bottom-nav span{display:block}.brand span small{display:block}.search-icon,.menu-button{align-items:center;justify-content:center}
@media(max-width:900px){.brand-mark{width:38px;height:38px}.map-cta-copy>img{width:42px;height:42px}}

/* Professional refinement */
:root{--primary:#0a57d5;--navy:#0f2d63;--text:#17233b;--muted:#64748b;--surface:#f8fafc;--line:#dce5f2;--success:#16a34a;--warning:#f59e0b;--danger:#dc2626;--radius:16px;--shadow:0 10px 28px rgba(15,45,99,.10)}
body{color:var(--text);background:#fff;line-height:1.6}.main-header{position:sticky;top:0}.section{padding:44px 0}.section:nth-of-type(even){background:linear-gradient(90deg,transparent,rgba(241,247,255,.55),transparent)}
.section h2{font-size:clamp(24px,2.3vw,32px);letter-spacing:-.02em;margin-bottom:20px}.quick-card,.resort-card,.flash-list,.article-grid article,.report-card,.map-cta,.important-strip{border-radius:var(--radius)}
.quick-card,.resort-card,.article-grid article{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.quick-card:hover,.resort-card:hover,.article-grid article:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#bfd3ef}
.search-panel{border-radius:var(--radius);box-shadow:0 18px 48px rgba(0,34,82,.28)}.primary-button,.map-cta button{min-height:48px;border-radius:10px}.search-shortcuts button{min-height:64px}
.card-image{height:190px}.card-image:after{background:linear-gradient(to bottom,rgba(0,0,0,.02) 10%,rgba(0,20,50,.26) 48%,rgba(0,16,42,.9) 100%)}.card-image h3{position:absolute;left:12px;right:12px;bottom:42px;margin:0}.badges{position:absolute;left:12px;bottom:12px}.rating{display:inline-block;background:rgba(7,31,68,.78);padding:5px 9px;border-radius:999px;font-size:12px;color:#fff}.reason{float:right}
.source-meta{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;margin-bottom:8px}.source-meta img{width:16px;height:16px}.resort-data dd{display:flex;align-items:center;gap:4px}.resort-data dd img{width:18px;height:18px}.resort-data dl{gap:8px}.resort-data dl>div{background:var(--surface);padding:9px;border-radius:10px}.resort-data a{padding-top:8px;border-top:1px solid #edf1f7}
.utility-inner a,.desktop-nav a,.section-heading a,.resort-data a{transition:color .18s ease,opacity .18s ease}.is-placeholder{cursor:not-allowed;opacity:.72}.is-placeholder:hover{opacity:1}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}.skip-link{position:fixed;left:12px;top:-60px;z-index:999;background:#fff;color:var(--navy);padding:10px 14px;border-radius:8px;box-shadow:var(--shadow)}.skip-link:focus{top:12px}
.menu-button{position:relative}.menu-button.is-open img{opacity:0}.menu-button.is-open:before,.menu-button.is-open:after{content:"";position:absolute;width:24px;height:2px;background:var(--navy);left:50%;top:50%}.menu-button.is-open:before{transform:translate(-50%,-50%) rotate(45deg)}.menu-button.is-open:after{transform:translate(-50%,-50%) rotate(-45deg)}
.footer-disclaimer{margin-bottom:24px;padding:14px 16px;border:1px solid rgba(255,255,255,.18);border-radius:10px;color:#d9e5f8;font-size:12px}.article-grid article>img{aspect-ratio:16/9;height:auto}.flash-list em:before{content:"● ";font-size:8px}.map-cta{padding:32px}
@media(max-width:900px){.section{padding:32px 0}.hero{min-height:560px}.hero-content{display:flex;min-height:560px;flex-direction:column;justify-content:space-between;padding-top:34px;padding-bottom:24px}.search-panel{margin-top:0}.quick-grid{gap:14px}.mobile-menu{background:#fff}.mobile-menu.open{box-shadow:0 16px 30px rgba(15,45,99,.12)}}
@media(max-width:560px){.hero{min-height:570px}.hero-content{min-height:570px}.section{padding:28px 0}.section h2{font-size:24px}.card-image{height:180px}.resort-data dl{grid-template-columns:repeat(2,1fr)}.map-cta{align-items:flex-start;gap:18px;flex-direction:column}.map-cta button{width:100%}.footer-disclaimer{margin-left:12px;margin-right:12px}}


/* Legal and sitemap pages */
.legal-main{background:linear-gradient(180deg,#f3f8ff 0,#fff 260px);min-height:65vh;padding:34px 0 70px}.legal-layout{max-width:960px}.breadcrumb{display:flex;align-items:center;gap:10px;color:#64748b;font-size:13px;margin-bottom:22px}.breadcrumb a{color:var(--primary);font-weight:700}.legal-document{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:clamp(24px,5vw,64px)}.legal-document-header{padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:32px}.legal-document .eyebrow{margin:0 0 8px;color:var(--primary);font-size:12px;font-weight:800;letter-spacing:.16em}.legal-document h1{font-size:clamp(30px,4.8vw,46px);line-height:1.25;margin:0 0 14px;color:var(--navy);letter-spacing:-.03em}.legal-lead{font-size:17px;color:#475569;margin:0;max-width:720px}.updated{font-size:12px;color:#64748b;margin:18px 0 0}.legal-document section{padding:4px 0 26px}.legal-document section+section{border-top:1px solid #edf2f7;padding-top:28px}.legal-document h2{font-size:21px;color:var(--navy);margin:0 0 14px}.legal-document p{margin:0 0 14px;color:#334155}.legal-document ul{margin:10px 0 4px;padding-left:1.5em}.legal-document li{margin:7px 0;color:#334155}.legal-note,.legal-alert{border-radius:12px;padding:16px 18px;margin:18px 0}.legal-note{background:#eff6ff;border-left:4px solid var(--primary)}.legal-alert{background:#fff7ed;border-left:4px solid var(--warning)}.legal-note p,.legal-alert p{margin:4px 0 0}.operator-info{margin:18px 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.operator-info>div{display:grid;grid-template-columns:150px 1fr}.operator-info>div+div{border-top:1px solid var(--line)}.operator-info dt,.operator-info dd{padding:12px 16px;margin:0}.operator-info dt{background:#f8fafc;font-weight:800}.sitemap-section h2{margin-bottom:16px}.sitemap-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sitemap-links a{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:12px;padding:17px 18px;transition:.2s;background:#fff}.sitemap-links a:hover{border-color:#9bbce7;transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,45,99,.08)}.sitemap-links strong{color:var(--primary)}.sitemap-links span{font-size:13px;color:#64748b}.footer-bottom a{color:#d9e5f8}.footer-bottom a:hover{text-decoration:underline}
@media(max-width:700px){.legal-main{padding:20px 0 40px}.legal-document{padding:24px 18px;border-radius:14px}.legal-document h2{font-size:19px}.operator-info>div{grid-template-columns:1fr}.operator-info dt{padding-bottom:5px}.operator-info dd{padding-top:5px}.sitemap-links{grid-template-columns:1fr}}


/* Today's report MVP */
.report-heading{align-items:flex-end}.report-heading>div:first-child p{margin:-14px 0 0;color:var(--muted);font-size:13px}.report-heading-actions{display:flex;align-items:center;gap:14px}.report-post-outline{border:1px solid var(--primary);border-radius:999px;padding:7px 13px;color:var(--primary)!important}.home-live-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.report-loading{color:var(--muted)}
.live-report-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(15,45,99,.06);transition:transform .2s,box-shadow .2s}.live-report-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.live-report-photo{display:block;height:210px;background-size:cover;background-position:center;position:relative}.live-report-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 52%,rgba(0,22,55,.3))}.source-chip,.relative-chip{position:absolute;z-index:1;top:12px;border-radius:999px;padding:6px 10px;color:#fff;font-size:11px;font-weight:800;box-shadow:0 3px 12px rgba(0,0,0,.15)}.source-chip{left:12px}.source-chip.user{background:#0a57d5}.source-chip.official{background:#16864b}.source-chip.editor{background:#6d4acb}.relative-chip{right:12px;background:rgba(10,30,65,.78)}.live-report-body{padding:17px}.live-report-title{display:flex;justify-content:space-between;gap:12px}.live-report-title h3{font-size:18px;margin:0;color:var(--navy);line-height:1.35}.live-report-title p{font-size:12px;color:var(--muted);margin:4px 0}.live-report-title time{font-size:10px;color:var(--muted);white-space:nowrap}.snow-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.snow-chips span{background:#e9f3ff;color:#0754b8;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.live-report-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.live-report-stats>div{background:#f8fafc;border-radius:10px;padding:8px}.live-report-stats dt{font-size:10px;color:var(--muted)}.live-report-stats dd{margin:2px 0 0;font-size:12px;font-weight:800}.live-report-comment{font-size:13px;line-height:1.7;color:#334155;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.live-report-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted);font-size:10px}.live-report-meta>span:last-child{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.report-mini-badge{display:inline-flex;background:#eef2f7;border-radius:5px;padding:3px 5px}.report-mini-badge.verified{background:#e8f7ee;color:#14753f}.report-detail-link{display:block;border-top:1px solid #edf2f7;margin-top:12px;padding-top:11px;color:var(--primary);text-align:right;font-size:12px;font-weight:800}.report-unverified{background:#fff7ed;color:#9a4d0d;border-radius:8px;padding:8px 10px;font-size:11px}
.report-page-main{background:#f7faff;min-height:70vh}.report-page-hero{background:linear-gradient(115deg,#082d66,#0a57d5);color:#fff;padding:34px 0 40px}.report-page-hero-small{padding-bottom:30px}.report-page-hero .breadcrumb{color:#dbe9ff}.report-page-hero .breadcrumb a{color:#fff}.report-page-hero .eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;margin:0 0 7px;color:#bcd5ff}.report-page-hero h1{font-size:clamp(32px,5vw,50px);letter-spacing:-.04em;line-height:1.15;margin:0 0 10px}.report-page-hero p{margin:0;color:#e4efff}.report-page-hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.report-post-button{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#0754b8;border-radius:999px;padding:12px 20px;font-weight:800;white-space:nowrap}.report-page-section,.report-form-wrap,.report-detail-wrap{padding-top:28px;padding-bottom:70px}.report-demo-notice{display:flex;gap:12px;align-items:center;background:#fff8e8;border:1px solid #f3d391;border-radius:12px;padding:13px 16px;margin-bottom:20px;font-size:12px;color:#6e4a00}.report-demo-notice strong{background:#e69a00;color:#fff;border-radius:5px;padding:4px 8px;white-space:nowrap}.report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.report-summary article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.report-summary span,.report-summary small{display:block;color:var(--muted);font-size:11px}.report-summary strong{display:block;margin:6px 0;font-size:20px;color:var(--navy)}.report-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(125px,1fr)) auto auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.report-filter-panel label,.report-sort label{display:block;font-size:11px;font-weight:800;color:#475569;margin-bottom:5px}.report-filter-panel select,.report-sort select,.field select,.field input,.field textarea{width:100%;border:1px solid #cfd9e7;border-radius:9px;background:#fff;padding:11px 12px;color:var(--text)}.filter-checkbox{display:flex!important;align-items:center;gap:7px;min-height:45px;margin:0!important}.filter-checkbox input{width:18px;height:18px}.secondary-button{min-height:45px;border:1px solid var(--line);background:#f8fafc;border-radius:9px;padding:0 15px;font-weight:700;color:var(--navy);cursor:pointer}.report-list-toolbar{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}.report-list-toolbar p{margin:0;font-weight:800}.report-sort{display:flex;align-items:center;gap:8px}.report-sort label{margin:0}.report-sort select{padding:8px 10px}.full-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.report-empty{text-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:50px 20px}.report-empty h2{font-size:24px}.report-empty p{color:var(--muted)}
.step-indicator{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);max-width:720px;margin:0 auto 22px;padding:0;position:relative}.step-indicator:before{content:"";position:absolute;height:2px;background:#d4dfed;left:15%;right:15%;top:19px}.step-indicator li{position:relative;text-align:center;color:#7a889b;font-size:12px;font-weight:800}.step-indicator li span{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 7px;border-radius:50%;background:#e7edf5;color:#64748b;border:3px solid #f7faff}.step-indicator li.is-active span,.step-indicator li.is-complete span{background:var(--primary);color:#fff}.report-post-form{max-width:860px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:clamp(22px,5vw,48px)}.form-step{display:none}.form-step.is-active{display:block}.form-step-heading span{font-size:11px;letter-spacing:.14em;color:var(--primary);font-weight:900}.form-step-heading h2{font-size:27px;color:var(--navy);margin:5px 0 24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid-wide{grid-column:1/-1}.field{display:block;margin-bottom:18px}.field>span,.choice-fieldset legend{display:block;font-weight:800;font-size:13px;margin-bottom:7px}.field b,.choice-fieldset b{font-size:10px;background:#e53935;color:#fff;border-radius:4px;padding:2px 5px}.field small{display:block;color:var(--muted);font-size:10px;margin-top:5px;text-align:right}.field textarea{resize:vertical;min-height:150px}.input-suffix{display:flex}.input-suffix input{border-radius:9px 0 0 9px}.input-suffix span{display:grid;place-items:center;border:1px solid #cfd9e7;border-left:0;background:#f8fafc;border-radius:0 9px 9px 0;padding:0 12px}.choice-fieldset{border:0;padding:0;margin:0 0 20px}.choice-chip-grid{display:flex;flex-wrap:wrap;gap:9px}.choice-chip input{position:absolute;opacity:0}.choice-chip span{display:block;border:1px solid #cfd9e7;background:#fff;border-radius:999px;padding:9px 13px;font-size:12px;cursor:pointer}.choice-chip input:checked+span{background:#e7f1ff;border-color:var(--primary);color:#0754b8;font-weight:800}.field-error,.form-global-error{color:#c62828;font-size:12px;min-height:1.3em}.step-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #edf2f7;margin-top:18px;padding-top:22px}.step-actions-end{justify-content:flex-end}.primary-action,.secondary-action,.danger-action{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:11px 17px;font-weight:800;text-decoration:none;cursor:pointer}.primary-action{border:0;background:var(--primary);color:#fff}.secondary-action{border:1px solid #cfd9e7;background:#fff;color:var(--navy)}.danger-action{border:1px solid #e7a7a7;background:#fff5f5;color:#b42318}.primary-action:disabled{opacity:.6;cursor:wait}.photo-preview{border:1px dashed #b9c9dc;border-radius:14px;padding:12px;margin-bottom:18px}.photo-preview img{display:block;max-width:100%;max-height:380px;margin:auto;border-radius:10px}.photo-preview button{display:block;margin:10px auto 0;border:0;background:none;color:#c62828;font-weight:800}.confirm-check{display:flex;align-items:flex-start;gap:9px;margin:11px 0;font-size:12px}.confirm-check input{margin-top:3px;width:17px;height:17px}.confirm-check a{color:var(--primary);text-decoration:underline}.report-submit-note{background:#fff7ed;border-left:4px solid var(--warning);padding:13px 15px;font-size:12px;margin:18px 0}.report-saved-message{background:#eaf8ef;border:1px solid #a8dbba;color:#116635;border-radius:12px;padding:13px 16px;margin-bottom:18px;font-weight:800}.report-detail-card{max-width:880px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.report-detail-card>header{display:flex;justify-content:space-between;gap:22px;padding:24px}.report-detail-card>header .source-chip{position:static;display:inline-flex}.report-detail-card>header p{color:var(--muted);font-size:11px}.report-detail-card h2{font-size:30px;color:var(--navy);margin:10px 0 3px}.report-detail-area{font-size:14px!important}.detail-author{text-align:right;font-size:11px;color:var(--muted)}.detail-author strong,.detail-author span{display:block}.detail-author strong{font-size:14px;color:var(--navy);margin:4px 0}.detail-author span{background:#e8f7ee;color:#14753f;padding:4px 7px;border-radius:5px}.report-detail-photo{display:block;width:100%;max-height:560px;object-fit:cover;background:#edf2f7}.report-detail-content{padding:26px}.snow-chips.detail span{font-size:13px;padding:7px 11px}.report-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.report-detail-stats>div{background:#f8fafc;border-radius:12px;padding:13px}.report-detail-stats dt{font-size:11px;color:var(--muted)}.report-detail-stats dd{font-size:15px;font-weight:800;margin:4px 0 0}.report-detail-content section{border-top:1px solid #edf2f7;padding-top:20px;margin-top:20px}.report-detail-content h3{color:var(--navy);font-size:17px}.detail-comment{font-size:16px;line-height:1.9}.report-warning{background:#fff4e5;border:1px solid #f3c786;border-radius:12px;padding:15px;margin-top:20px}.report-warning strong{color:#9a4d0d}.report-warning p{margin:4px 0 0;font-size:12px}.detail-actions{display:flex;flex-wrap:wrap;gap:9px;border-top:1px solid #edf2f7;margin-top:24px;padding-top:20px}.detail-action-message{color:var(--primary);font-size:12px}.back-to-list{display:block;max-width:880px;margin:18px auto;color:var(--primary);font-weight:800}.report-detail-missing{text-align:center;background:#fff;border-radius:16px;padding:50px 20px}.report-detail-missing p{color:var(--muted)}
@media(max-width:1000px){.home-live-report-grid,.full-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.report-heading{align-items:flex-start;gap:15px}.report-heading-actions{flex-direction:column;align-items:flex-end;gap:7px}.home-live-report-grid,.full-report-grid{grid-template-columns:1fr}.live-report-photo{height:220px}.report-page-hero-row{align-items:flex-start;flex-direction:column}.report-post-button{width:100%}.report-summary{grid-template-columns:1fr 1fr}.report-filter-panel{grid-template-columns:1fr}.filter-checkbox{min-height:auto}.report-list-toolbar{align-items:flex-start;gap:10px}.form-grid{grid-template-columns:1fr}.form-grid-wide{grid-column:auto}.report-post-form{border-radius:15px;padding:22px 17px}.step-indicator li{font-size:10px}.report-detail-card>header{flex-direction:column}.detail-author{text-align:left}.report-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-detail-content{padding:20px}.detail-actions>*{flex:1}.report-demo-notice{align-items:flex-start;flex-direction:column}.live-report-title{flex-direction:column}.live-report-title time{white-space:normal}}
@media(max-width:430px){.report-summary{grid-template-columns:1fr}.live-report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-detail-stats{grid-template-columns:1fr}.report-heading-actions{align-items:stretch}.report-post-outline{text-align:center}}


/* Googleログイン・サーバー投稿 */
.auth-nav-slot{display:inline-flex;align-items:center;gap:10px}.auth-nav-slot>a,.auth-nav-slot button{display:inline-flex;align-items:center;gap:6px}.auth-user{display:inline-flex;align-items:center;gap:7px;color:#fff;font-size:13px}.auth-avatar{width:28px!important;height:28px!important;border-radius:50%;object-fit:cover}.auth-logout{border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;border-radius:999px;padding:5px 10px;cursor:pointer}.login-main{min-height:70vh;display:grid;place-items:center;padding:64px 20px;background:#f5f8fc}.login-card{width:min(560px,100%);background:#fff;border:1px solid #dce5f0;border-radius:24px;padding:44px;box-shadow:0 18px 50px rgba(15,23,42,.1);text-align:center}.login-card h1{font-size:32px;margin:8px 0 12px}.google-signin-target{min-height:48px;display:flex;justify-content:center;margin:30px 0 14px}.login-status{min-height:24px;color:#b42318;font-weight:700}.login-privacy{margin-top:26px;padding:20px;text-align:left;background:#f7f9fc;border-radius:14px;color:#475569}.login-already{font-weight:700}.report-login-gate{padding:42px;border:1px solid #bfd4f5;background:#f2f7ff;border-radius:18px;text-align:center;margin:20px 0}.report-login-gate h2{margin-top:0}.report-server-notice{border-color:#b7dcc5;background:#f1faf4}.report-system-error{grid-column:1/-1;padding:24px;border:1px solid #f0b8b8;background:#fff5f5;border-radius:16px;color:#7f1d1d}.report-system-error a{font-weight:700}.report-empty-state{grid-column:1/-1;padding:32px;background:#f7f9fc;border:1px dashed #b8c7d9;border-radius:18px;text-align:center}.report-empty-state strong{display:block;font-size:18px;margin-bottom:8px}.report-empty-state a{font-weight:800;color:#0a57d5}.report-detail-card header small{display:block;margin-top:8px;color:#64748b}.field input[readonly]{background:#f1f5f9;color:#475569}.detail-author{min-width:120px}
@media(max-width:700px){.login-card{padding:28px 20px}.auth-user span{display:none}.auth-logout{font-size:12px;padding:4px 8px}}

/* サーバー版カード構造への調整 */
.live-report-card>a{display:block;background:#e8eef6}.live-report-card>a>img{display:block;width:100%;height:210px;object-fit:cover}.live-report-body .source-chip{position:static;display:inline-flex;box-shadow:none}.source-chip.source-user{background:#0a57d5}.live-report-body h3{font-size:18px;margin:10px 0 2px}.live-report-body h3 a{color:var(--navy)}.live-report-area{font-size:12px;color:var(--muted);margin:0}.live-report-body dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.live-report-body dl>div{background:#f8fafc;border-radius:10px;padding:8px}.live-report-body dt{font-size:10px;color:var(--muted)}.live-report-body dd{margin:2px 0 0;font-size:12px;font-weight:800}.live-report-body footer{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #edf2f7;padding-top:11px;margin-top:12px;font-size:12px}.live-report-body footer a{color:var(--primary);font-weight:800}.report-summary>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.report-summary>div span{display:block;color:var(--muted);font-size:11px}.report-summary>div strong{display:block;margin:6px 0;font-size:20px;color:var(--navy)}.report-server-notice strong{background:#16864b}.report-system-error code{background:#fee2e2;padding:2px 5px;border-radius:4px}

/* =========================================================
   雪レポ投稿カード redesign
   写真より現地状況を優先し、雪質・混雑・待ち時間を3列で表示
   ========================================================= */
.home-live-report-grid,
.full-report-grid{
  align-items:start;
}
.live-report-card{
  overflow:hidden;
  border:1px solid #d7e2ef;
  border-radius:14px;
  background:#fff;
  box-shadow:0 3px 12px rgba(15,45,99,.055);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.live-report-card:hover{
  transform:translateY(-2px);
  border-color:#abc4e5;
  box-shadow:0 10px 25px rgba(15,45,99,.10);
}
.live-report-media,
.live-report-card>a.live-report-media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#e8eef6;
}
.live-report-media img,
.live-report-card>a.live-report-media>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}
.live-report-card:hover .live-report-media img{transform:scale(1.015)}
.live-report-photo-label{
  position:absolute;
  right:10px;
  bottom:10px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(5,31,70,.78);
  color:#fff;
  font-size:10px;
  font-weight:800;
  backdrop-filter:blur(4px);
}
.live-report-media-empty,
.live-report-card>a.live-report-media-empty{
  aspect-ratio:auto;
  min-height:82px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  background:linear-gradient(135deg,#edf5ff,#f8fbff);
  color:#7b91ad;
}
.live-report-media-empty>span{font-size:25px;line-height:1}
.live-report-media-empty>small{font-size:11px;font-weight:700}
.live-report-body{padding:15px 16px 14px}
.live-report-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.live-report-body .source-chip{
  position:static;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  box-shadow:none;
  font-size:11px;
  line-height:1;
}
.live-report-times{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  column-gap:6px;
  row-gap:2px;
  color:#66758a;
  font-size:10px;
  line-height:1.35;
  text-align:right;
}
.live-report-times time{font-weight:800;color:#526278;white-space:nowrap}
.live-report-times>span:last-child{white-space:nowrap}
.report-age-badge{
  display:inline-flex;
  padding:2px 5px;
  border-radius:4px;
  background:#fff1df;
  color:#9a4d0d;
  font-weight:800;
}
.live-report-body h3{
  margin:0 0 5px;
  font-size:18px;
  line-height:1.4;
  letter-spacing:-.015em;
}
.live-report-body h3 a{
  display:-webkit-box;
  overflow:hidden;
  color:var(--navy);
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.live-report-area{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:0;
  color:#64748b;
  font-size:12px;
  line-height:1.5;
}
.live-report-area span+span:before{content:"｜";margin:0 4px;color:#a3afbf}
.live-report-location{
  display:flex;
  align-items:center;
  gap:5px;
  margin:7px 0 0;
  color:#526278;
  font-size:12px;
  line-height:1.45;
}
.live-report-location>span{color:#1b65bf;font-size:15px}
.live-report-status-grid,
.live-report-body dl.live-report-status-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:14px 0 0;
}
.report-status-item,
.live-report-body dl.live-report-status-grid>div{
  min-width:0;
  min-height:66px;
  padding:9px 8px;
  border:1px solid #e3eaf2;
  border-radius:10px;
  background:#f8fafc;
}
.report-status-item dt,
.live-report-body dl.live-report-status-grid dt{
  margin:0 0 4px;
  color:#6b7a90;
  font-size:10px;
  line-height:1.2;
}
.report-status-item dd,
.live-report-body dl.live-report-status-grid dd{
  margin:0;
  color:#10234d;
  font-size:12px;
  font-weight:900;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.report-status-item.is-good{border-color:#cde7d7;background:#f1faf4}
.report-status-item.is-good dd{color:#126638}
.report-status-item.is-caution{border-color:#f0d9a8;background:#fff9ec}
.report-status-item.is-caution dd{color:#8a5700}
.report-status-item.is-alert{border-color:#efcccc;background:#fff5f5}
.report-status-item.is-alert dd{color:#a12626}
.report-extra-snow{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin:8px 0 0;
}
.report-extra-snow span{
  padding:3px 7px;
  border-radius:999px;
  background:#edf4fd;
  color:#315f95;
  font-size:10px;
  font-weight:700;
}
.live-report-comment{
  min-height:0;
  margin:13px 0 0;
  padding:10px 11px;
  border-left:3px solid #b8cce5;
  border-radius:0 8px 8px 0;
  background:#f7f9fc;
  color:#334155;
  font-size:13px;
  line-height:1.65;
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.live-report-comment:before{content:"“";margin-right:2px;color:#7b91ad;font-weight:900}
.live-report-comment:after{content:"”";margin-left:2px;color:#7b91ad;font-weight:900}
.live-report-comment-empty{color:#8996a8;font-style:normal}
.live-report-comment-empty:before,.live-report-comment-empty:after{content:""}
.live-report-footer,
.live-report-body footer.live-report-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:13px;
  padding:11px 0 0;
  border-top:1px solid #e9eef5;
  background:transparent;
  color:#7a8799;
  font-size:10px;
}
.live-report-footer>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.live-report-footer a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:34px;
  padding:7px 10px;
  border-radius:8px;
  background:#edf4ff;
  color:#0754b8;
  font-size:12px;
  font-weight:900;
}
.live-report-footer a:hover{background:#dceaff}

/* ホームはカードを少しコンパクトにする */
.home-live-report-grid .live-report-body{padding:14px}
.home-live-report-grid .live-report-status-grid{gap:6px}

@media(max-width:700px){
  .home-live-report-grid,.full-report-grid{gap:18px}
  .live-report-card{border-radius:13px}
  .live-report-media,.live-report-card>a.live-report-media{aspect-ratio:16/9}
  .live-report-media-empty,.live-report-card>a.live-report-media-empty{aspect-ratio:auto;min-height:76px}
  .live-report-body{padding:15px}
  .live-report-body h3{font-size:18px}
  .live-report-status-grid,.live-report-body dl.live-report-status-grid{gap:6px}
  .report-status-item,.live-report-body dl.live-report-status-grid>div{min-height:64px;padding:9px 7px}
  .report-status-item dd,.live-report-body dl.live-report-status-grid dd{font-size:12px}
  .live-report-comment{-webkit-line-clamp:2}
}
@media(max-width:360px){
  .live-report-body{padding:13px}
  .live-report-status-grid,.live-report-body dl.live-report-status-grid{gap:5px}
  .report-status-item,.live-report-body dl.live-report-status-grid>div{padding:8px 6px}
  .report-status-item dd,.live-report-body dl.live-report-status-grid dd{font-size:11px}
}

/* =========================================================
   YouTube動画対応 v1
   一覧はサムネイルのみ、詳細ページでプライバシー強化モード再生
   ========================================================= */
.live-report-media-video:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(4,18,41,.04),rgba(4,18,41,.28));
  pointer-events:none;
}
.youtube-play-mark{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  display:grid;
  place-items:center;
  width:58px;
  height:42px;
  border:2px solid rgba(255,255,255,.9);
  border-radius:13px;
  background:rgba(214,24,24,.94);
  color:#fff;
  font-size:20px;
  line-height:1;
  transform:translate(-50%,-50%);
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}
.live-report-media-video:hover .youtube-play-mark{background:#f00;transform:translate(-50%,-50%) scale(1.05)}
.live-report-media-video .live-report-photo-label{z-index:3}
.live-report-secondary-label{
  position:absolute;
  z-index:3;
  left:10px;
  bottom:10px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#17345d;
  font-size:10px;
  font-weight:800;
  backdrop-filter:blur(4px);
}
.media-preview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
  margin-bottom:18px;
}
.media-preview-grid>.photo-preview{margin-bottom:0}
.youtube-preview{
  position:relative;
  overflow:hidden;
  border:1px solid #cbd8e7;
  border-radius:14px;
  background:#f8fbff;
}
.youtube-preview-image{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#dfe8f2;
}
.youtube-preview-image img{display:block;width:100%;height:100%;object-fit:cover}
.youtube-preview-image span{
  position:absolute;
  left:50%;top:50%;
  display:grid;place-items:center;
  width:52px;height:38px;
  border-radius:11px;
  background:rgba(220,24,24,.94);
  color:#fff;font-size:18px;
  transform:translate(-50%,-50%);
  box-shadow:0 7px 18px rgba(0,0,0,.25);
}
.youtube-preview>div:nth-child(2){display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 12px 4px}
.youtube-preview strong{color:var(--navy);font-size:13px}
.youtube-preview a{color:var(--primary);font-size:11px;font-weight:800}
.youtube-preview>button{
  display:block;
  margin:6px auto 10px;
  border:0;
  background:none;
  color:#c62828;
  font-weight:800;
  cursor:pointer;
}
.field .field-error{display:block;text-align:left;color:#c62828;font-size:11px;min-height:1.4em;margin-top:5px}
.report-detail-video-wrap{background:#07172b}
.report-detail-video{position:relative;width:100%;aspect-ratio:16/9;background:#07172b}
.report-detail-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.report-video-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 18px;
  background:#0b2447;
  color:#dceaff;
  font-size:12px;
}
.report-video-meta span{font-weight:800}
.report-video-meta a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.report-detail-video-wrap+.report-detail-photo{border-top:1px solid rgba(255,255,255,.14)}
@media(max-width:700px){
  .media-preview-grid{grid-template-columns:1fr}
  .youtube-play-mark{width:54px;height:40px;font-size:18px}
  .report-video-meta{padding:9px 13px}
}

/* =========================================================
   FAQ・情報提供・お問い合わせ v1
   ========================================================= */
.support-main{background:#f6f9fc;min-height:65vh;color:#17202a}
.support-hero{padding:38px 0 42px;background:linear-gradient(135deg,#eaf5ff 0%,#f7fbff 54%,#edf7ff 100%);border-bottom:1px solid #d8e6f1}
.support-hero .breadcrumb{margin-bottom:25px}
.support-hero .eyebrow{margin:0 0 7px;color:#1663b7;font-weight:900;letter-spacing:.12em;font-size:12px}
.support-hero h1{margin:0;color:#0b2447;font-size:clamp(30px,4vw,46px);line-height:1.2}
.support-hero h1+p{max-width:760px;margin:13px 0 0;color:#49627c;font-size:16px;line-height:1.8}
.support-section{padding-top:38px;padding-bottom:72px}
.support-layout{display:grid;grid-template-columns:minmax(230px,310px) minmax(0,1fr);gap:28px;align-items:start}
.support-guide{position:sticky;top:98px;padding:23px;border:1px solid #d5e2ed;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(11,36,71,.05)}
.support-guide h2{margin:0 0 14px;color:#0b2447;font-size:18px}
.support-guide ul{margin:0;padding-left:20px;color:#455b71;font-size:14px;line-height:1.9}
.support-guide-note{margin-top:20px;padding:14px 15px;border-left:4px solid #1b77c5;border-radius:0 8px 8px 0;background:#edf7ff}
.support-guide-note strong{display:block;color:#0b2447;font-size:14px}
.support-guide-note p{margin:5px 0 0;color:#53687c;font-size:13px;line-height:1.7}
.support-guide-note.danger{border-color:#ca3434;background:#fff2f2}
.support-guide-note.danger strong{color:#8a1f1f}
.support-response-note{margin:20px 0 0;color:#627386;font-size:13px;line-height:1.75}
.support-form-card{padding:28px;border:1px solid #d3e0eb;border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(11,36,71,.06)}
.support-form-status{display:flex;flex-direction:column;gap:3px;margin:0 0 24px;padding:13px 15px;border-left:4px solid #5f7b96;border-radius:0 8px 8px 0;background:#f1f5f8;color:#334b62;font-size:13px;font-weight:700;line-height:1.6}
.support-form-status small{font-weight:600}
.support-form-status.is-ready{border-color:#2b7d48;background:#eff9f2;color:#205e38}
.support-form-status.is-success{border-color:#20743e;background:#eaf8ef;color:#19572f}
.support-form-status.is-error{border-color:#c92f2f;background:#fff0f0;color:#8c2020}
.support-form-status.is-loading{border-color:#1768b5;background:#edf6ff;color:#164f82}
.support-field{position:relative;margin-bottom:21px}
.support-field label,.support-fieldset legend{display:block;margin:0 0 8px;color:#122d51;font-size:14px;font-weight:900}
.support-field label span{display:inline-block;margin-left:5px;color:#b52323;font-size:11px}
.support-field input,.support-field select,.support-field textarea,.admin-support-toolbar input,.admin-support-toolbar select,.admin-support-edit select,.admin-support-edit textarea{box-sizing:border-box;width:100%;border:1px solid #b9cad9;border-radius:8px;background:#fff;color:#17202a;font:inherit;font-size:16px;line-height:1.5;transition:border-color .2s,box-shadow .2s}
.support-field input,.support-field select{min-height:48px;padding:10px 12px}
.support-field textarea{display:block;padding:12px;resize:vertical}
.support-field input:focus,.support-field select:focus,.support-field textarea:focus,.admin-support-toolbar input:focus,.admin-support-toolbar select:focus,.admin-support-edit select:focus,.admin-support-edit textarea:focus{outline:0;border-color:#1474c6;box-shadow:0 0 0 3px rgba(20,116,198,.14)}
.support-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.field-help{margin:7px 0 0;color:#64778a;font-size:12px;line-height:1.65}
.field-help.is-selected,#selectedResort.is-selected{color:#176c3c;font-weight:800}
.support-fieldset{margin:8px 0 22px;padding:19px;border:1px solid #d7e2ec;border-radius:10px;background:#f9fbfd}
.support-fieldset .support-field{margin-bottom:12px}
.support-check{display:flex;align-items:flex-start;gap:10px;color:#43586d;font-size:13px;line-height:1.7;cursor:pointer}
.support-check input{flex:0 0 auto;width:18px;height:18px;margin-top:2px}
.support-check.consent{margin:22px 0}
.support-check a{color:#075fb9;text-decoration:underline;text-underline-offset:3px}
.support-submit{display:flex;justify-content:center;align-items:center;width:100%;min-height:52px;padding:13px 20px;border:0;border-radius:9px;background:#0c5bb4;color:#fff;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(12,91,180,.2)}
.support-submit:hover{background:#084f9f}
.support-submit:disabled{background:#8799aa;box-shadow:none;cursor:not-allowed}
.support-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}
.resort-search-results{position:absolute;z-index:20;left:0;right:0;top:78px;max-height:330px;overflow:auto;border:1px solid #b9cad9;border-radius:9px;background:#fff;box-shadow:0 16px 36px rgba(11,36,71,.16)}
.resort-search-results button{display:flex;flex-direction:column;gap:3px;width:100%;padding:11px 13px;border:0;border-bottom:1px solid #e7edf3;background:#fff;text-align:left;cursor:pointer}
.resort-search-results button:hover,.resort-search-results button:focus{background:#edf6ff}
.resort-search-results button strong{color:#102c51;font-size:14px}
.resort-search-results button span,.resort-search-results p{margin:0;color:#687b8f;font-size:11px}
.resort-search-results p{padding:14px}
.support-routing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:28px}
.support-routing a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border:1px solid #d2e0ec;border-radius:12px;background:#fff;color:#0b2447;box-shadow:0 5px 16px rgba(11,36,71,.04)}
.support-routing a:hover{border-color:#72a8d5;background:#f4f9ff}
.support-routing strong{font-size:15px}
.support-routing span{color:#0863bd;font-size:12px;font-weight:900}
.support-callout{margin-bottom:28px;padding:17px 19px;border-left:4px solid #e0a02a;border-radius:0 10px 10px 0;background:#fff9e9}
.support-callout strong{display:block;color:#624100}
.support-callout p{margin:5px 0 0;color:#6e5b36;font-size:13px}
.faq-tools{max-width:720px;margin:0 auto 28px;padding:20px;border:1px solid #d6e3ee;border-radius:13px;background:#fff}
.faq-tools>label{display:block;margin-bottom:8px;color:#102c51;font-weight:900}
.faq-search-row{display:flex;gap:9px}
.faq-search-row input{flex:1;min-width:0;min-height:48px;padding:10px 13px;border:1px solid #b9cad9;border-radius:8px;font-size:16px}
.faq-search-row button{padding:0 18px;border:1px solid #a9bfd2;border-radius:8px;background:#f5f8fb;color:#244561;font-weight:800;cursor:pointer}
.faq-tools>p{min-height:1.4em;margin:8px 0 0;color:#60768a;font-size:12px}
.faq-category{max-width:860px;margin:0 auto 34px}
.faq-category h2{margin:0 0 13px;color:#0b2447;font-size:22px}
.faq-list{display:grid;gap:9px}
.faq-item{overflow:hidden;border:1px solid #d5e1eb;border-radius:10px;background:#fff}
.faq-item summary{position:relative;padding:17px 52px 17px 18px;color:#15345a;font-size:15px;font-weight:900;line-height:1.55;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"＋";position:absolute;right:18px;top:50%;color:#166cc0;font-size:22px;transform:translateY(-50%)}
.faq-item[open] summary{background:#f2f8fe}
.faq-item[open] summary:after{content:"−"}
.faq-answer{padding:0 18px 18px;color:#465d73;font-size:14px;line-height:1.85}
.faq-answer p{margin:13px 0 0}
.support-next-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:860px;margin:45px auto 0}
.support-next-actions article{padding:24px;border:1px solid #d4e1ec;border-radius:14px;background:#fff}
.support-next-actions h2{margin:0;color:#0b2447;font-size:19px}
.support-next-actions p{min-height:3.4em;margin:10px 0 18px;color:#5b6f83;font-size:13px;line-height:1.7}
.support-action{display:inline-flex;align-items:center;min-height:42px;padding:8px 15px;border-radius:8px;background:#0b5fb9;color:#fff;font-weight:900;font-size:13px}
.support-action.secondary{background:#173d6d}
.admin-support-toolbar{display:grid;grid-template-columns:190px 190px minmax(240px,1fr) auto;gap:14px;align-items:end;margin-bottom:18px;padding:18px;border:1px solid #d3e0eb;border-radius:13px;background:#fff}
.admin-support-toolbar label{display:block;margin-bottom:6px;color:#173653;font-size:12px;font-weight:900}
.admin-support-toolbar input,.admin-support-toolbar select{min-height:44px;padding:8px 10px}
.admin-support-toolbar button{min-height:44px;padding:8px 17px;border:0;border-radius:8px;background:#0c5bb4;color:#fff;font-weight:900;cursor:pointer}
.admin-support-list{display:grid;gap:18px}
.admin-support-card{padding:22px;border:1px solid #d3e0eb;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(11,36,71,.05)}
.admin-support-card>header{display:flex;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid #e5edf4}
.admin-support-ref{display:block;color:#1268ba;font-size:11px;font-weight:900;letter-spacing:.05em}
.admin-support-card h2{margin:5px 0;color:#0b2447;font-size:19px}
.admin-support-card time{color:#748598;font-size:11px}
.admin-support-status{flex:0 0 auto;align-self:flex-start;padding:5px 9px;border-radius:999px;background:#e9eff5;color:#415a71;font-size:11px;font-weight:900}
.admin-support-status.is-new{background:#fff1d8;color:#875500}.admin-support-status.is-reviewing{background:#e4f2ff;color:#155c96}.admin-support-status.is-resolved{background:#e3f6e9;color:#23613a}.admin-support-status.is-rejected{background:#f4e7e7;color:#833030}.admin-support-status.is-on_hold{background:#eee9f8;color:#59478b}
.admin-support-card dl{display:grid;gap:0;margin:16px 0}
.admin-support-card dl>div{display:grid;grid-template-columns:130px 1fr;gap:15px;padding:10px 0;border-bottom:1px solid #edf1f5}
.admin-support-card dt{color:#637589;font-size:12px;font-weight:800}
.admin-support-card dd{margin:0;color:#253b50;font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
.admin-support-card dd a{color:#075fb9;text-decoration:underline}
.admin-support-edit{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:14px;align-items:end;padding-top:4px}
.admin-support-edit label{color:#173653;font-size:12px;font-weight:900}
.admin-support-edit select,.admin-support-edit textarea{display:block;margin-top:5px;padding:8px 10px}
.admin-support-edit button{min-height:44px;padding:9px 16px;border:0;border-radius:8px;background:#173d6d;color:#fff;font-weight:900;cursor:pointer}
@media(max-width:900px){.support-layout{grid-template-columns:1fr}.support-guide{position:static}.admin-support-toolbar{grid-template-columns:1fr 1fr}.admin-support-toolbar .grow{grid-column:1/-1}.admin-support-edit{grid-template-columns:1fr}.admin-support-edit button{width:100%}}
@media(max-width:700px){.support-hero{padding:26px 0 30px}.support-section{padding-top:24px;padding-bottom:54px}.support-form-card{padding:19px 15px;border-radius:12px}.support-field-grid,.support-routing,.support-next-actions{grid-template-columns:1fr}.support-routing{gap:10px}.support-routing a{align-items:flex-start;flex-direction:column}.support-next-actions p{min-height:0}.faq-tools{padding:15px}.faq-search-row button{padding:0 12px}.faq-category h2{font-size:19px}.faq-item summary{padding:15px 46px 15px 14px;font-size:14px}.faq-answer{padding:0 14px 15px}.admin-support-toolbar{grid-template-columns:1fr}.admin-support-toolbar .grow{grid-column:auto}.admin-support-card{padding:16px}.admin-support-card>header{flex-direction:column}.admin-support-card dl>div{grid-template-columns:1fr;gap:3px}.resort-search-results{top:77px}}

/* =========================================================
   雪レポアカウント・マイギア・管理画面（CORE SERVER版）
   ========================================================= */
.auth-user-link{display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:5px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#fff;background:rgba(255,255,255,.08)}
.auth-user-link:hover{background:rgba(255,255,255,.16)}
.auth-user-link img{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#eaf1f7}
.auth-user-link span{display:flex;flex-direction:column;line-height:1.15;font-size:12px;font-weight:900}
.auth-user-link small{margin-top:2px;color:#bcd1e6;font-size:9px;font-weight:700;letter-spacing:.04em}
.auth-account-link,.auth-admin-link,.auth-logout-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:5px 10px;border:0;border-radius:8px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.auth-account-link,.auth-admin-link{color:#fff;background:rgba(255,255,255,.1)}
.auth-admin-link{background:#7a4b00}
.auth-logout-button{color:#dfeafa;background:transparent}
.auth-logout-button:hover,.auth-account-link:hover,.auth-admin-link:hover{filter:brightness(1.12)}

.account-main{min-height:70vh;padding:44px 0 80px;background:#f4f8fb;color:#16283d}
.account-page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:24px}
.account-page-header .eyebrow,.account-card .eyebrow,.public-profile .eyebrow,.admin-main .eyebrow{margin:0 0 6px;color:#176abb;font-size:11px;font-weight:900;letter-spacing:.13em}
.account-page-header h1,.account-card h1{margin:0;color:#0b2447;font-size:clamp(29px,4vw,42px);line-height:1.2}
.account-page-header p{max-width:720px;margin:8px 0 0;color:#5d7085;line-height:1.75}
.account-card,.account-panel{border:1px solid #d4e0ea;border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(11,36,71,.07)}
.account-card{max-width:720px;margin:0 auto;padding:30px}
.account-card-wide{max-width:900px}
.account-panel{padding:24px}
.account-alert{margin:0 0 18px;padding:13px 15px;border-left:4px solid #d79321;border-radius:0 9px 9px 0;background:#fff8e9;color:#6f4b0a;font-size:13px;line-height:1.65}
.account-alert.is-success{border-color:#2c8550;background:#eef9f2;color:#1e6139}
.account-alert.is-error{border-color:#c63a3a;background:#fff1f1;color:#8f2424}
.account-dashboard{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
.account-sidebar{position:sticky;top:96px;display:grid;gap:18px}
.account-content{display:grid;gap:22px;min-width:0}
.profile-summary{padding:22px;text-align:center}
.profile-summary img{display:block;width:104px;height:104px;margin:0 auto 14px;border-radius:50%;object-fit:cover;border:4px solid #edf5fb;background:#eaf1f7}
.profile-summary h2{margin:0;color:#0b2447;font-size:20px}
.profile-summary strong{display:block;margin:5px 0;color:#176abb;font-size:13px;letter-spacing:.06em}
.profile-summary p{margin:8px 0 0;color:#65788b;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.account-sidebar nav{display:grid;padding:9px}
.account-sidebar nav a{padding:11px 13px;border-radius:8px;color:#27435d;font-size:13px;font-weight:800}
.account-sidebar nav a:hover,.account-sidebar nav a.is-active{background:#eaf5ff;color:#085fae}
.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:19px;padding-bottom:14px;border-bottom:1px solid #e3ebf2}
.panel-heading h2{margin:0;color:#0b2447;font-size:21px}
.panel-heading p{margin:4px 0 0;color:#6d7e8f;font-size:12px;line-height:1.6}

.profile-form{display:grid;gap:18px}
.profile-form .field,.form-grid .field{display:grid;gap:7px}
.profile-form label,.form-grid label,.choice-fieldset legend{color:#163653;font-size:13px;font-weight:900}
.profile-form input,.profile-form textarea,.profile-form select,.form-grid input,.form-grid textarea,.form-grid select,.admin-toolbar input,.admin-toolbar select,.admin-dialog input,.admin-dialog select,.admin-dialog textarea{box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;border:1px solid #b8c9d8;border-radius:8px;background:#fff;color:#17283a;font:inherit;font-size:15px}
.profile-form textarea,.form-grid textarea,.admin-dialog textarea{min-height:110px;resize:vertical}
.profile-form input:focus,.profile-form textarea:focus,.profile-form select:focus,.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.admin-toolbar input:focus,.admin-toolbar select:focus,.admin-dialog input:focus,.admin-dialog select:focus,.admin-dialog textarea:focus{outline:0;border-color:#176fbe;box-shadow:0 0 0 3px rgba(23,111,190,.13)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid-wide{grid-column:1/-1}
.field small,.profile-form small{color:#6d8093;font-size:11px;line-height:1.6}
.inline-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.primary-action,.secondary-action,.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 17px;border-radius:8px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}
.primary-action{border:1px solid #0b5daf;background:#0b5daf;color:#fff}
.secondary-action{border:1px solid #a9bdcf;background:#fff;color:#193b5b}
.text-button{min-height:36px;padding:5px 9px;border:0;background:transparent;color:#0b62b5}
.primary-action:hover,.secondary-action:hover{filter:brightness(.96)}
.primary-action:disabled,.secondary-action:disabled{opacity:.56;cursor:not-allowed}
.danger-text{color:#a52727!important}
.danger-panel{border-color:#ebcaca;background:#fffafa}
.confirm-check{display:flex;align-items:flex-start;gap:10px;color:#455d73;font-size:13px;line-height:1.7}
.confirm-check input{flex:0 0 auto;width:18px;height:18px;margin-top:2px}
.form-global-error,.detail-action-message{min-height:1.5em;margin:0;color:#a62c2c;font-size:12px;font-weight:800;line-height:1.6}
.form-global-error.is-success,.detail-action-message.is-success{color:#267347}
.identity-preview{display:flex;align-items:center;gap:18px;margin:20px 0 24px;padding:18px;border:1px solid #d5e2ed;border-radius:12px;background:#f6faff}
.identity-preview img{width:76px;height:76px;border-radius:50%;object-fit:cover;background:#e5edf4}
.identity-preview strong{display:block;color:#0b2447;font-size:19px}
.identity-preview span{display:block;margin-top:3px;color:#1569b8;font-size:13px;font-weight:900;letter-spacing:.05em}
.avatar-editor{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center}
.avatar-editor img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #edf4fa;background:#e8eff5}
.avatar-editor .avatar-actions{display:grid;gap:9px}
.avatar-editor input[type=file]{min-height:auto;padding:9px;background:#f8fafc}

.my-report-list{display:grid;gap:12px}
.my-report-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:15px;align-items:center;padding:12px;border:1px solid #dce6ee;border-radius:11px;background:#fff}
.my-report-row img,.my-report-row .report-no-photo{width:90px;height:68px;border-radius:8px;object-fit:cover}
.my-report-row h3{margin:0 0 5px;color:#123456;font-size:15px}
.my-report-row p{margin:0;color:#64778a;font-size:12px;line-height:1.5}
.my-report-row .row-actions{display:flex;flex-direction:column;gap:6px}
.status-chip{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;background:#e9eff5;color:#415a71;font-size:10px;font-weight:900}
.status-chip.is-published,.status-chip.is-active{background:#e8f7ed;color:#23643c}
.status-chip.is-under_review,.status-chip.is-pending_withdrawal{background:#fff2d8;color:#815400}
.status-chip.is-hidden,.status-chip.is-suspended,.status-chip.is-rejected{background:#fff0f0;color:#932d2d}
.status-chip.is-deleted,.status-chip.is-withdrawn{background:#eceff2;color:#596570}

.gear-layout{display:grid;grid-template-columns:minmax(340px,440px) minmax(0,1fr);gap:24px;align-items:start}
.gear-layout>.account-panel:first-child{position:sticky;top:96px}
.gear-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gear-card{position:relative;padding:17px;border:1px solid #d5e1ea;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(11,36,71,.04)}
.gear-card h3{margin:0 0 7px;color:#0b2447;font-size:16px}
.gear-card p{margin:4px 0;color:#596e82;font-size:12px;line-height:1.55}
.gear-card small{color:#77899a;font-size:10px}
.gear-card .inline-actions{margin-top:13px}
.choice-fieldset{margin:0;padding:0;border:0}
.gear-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.gear-choice-grid label{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #d4e1eb;border-radius:8px;background:#fafcfe;color:#334f68;font-size:12px;font-weight:700;cursor:pointer}
.gear-choice-grid input{flex:0 0 auto;width:17px;height:17px;margin:0}
.input-pair{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px}
.input-pair select{min-width:0}

.public-profile{display:grid;gap:24px}
.public-profile-card{display:flex;align-items:center;gap:25px;padding:28px;border:1px solid #d3e0ea;border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(11,36,71,.07)}
.public-profile-card img{width:132px;height:132px;border-radius:50%;object-fit:cover;border:5px solid #edf5fb;background:#e6eef5}
.public-profile-card h1{margin:0;color:#0b2447;font-size:32px}
.public-profile-card strong{display:block;margin:5px 0;color:#176abb;font-size:14px;letter-spacing:.07em}
.public-profile-card p{max-width:650px;margin:10px 0;color:#536a7f;line-height:1.75;white-space:pre-wrap}
.public-profile-card small{color:#78899a;font-size:11px}
.report-author-link{display:inline-flex;align-items:center;gap:9px;color:#153b60;font-weight:900}
.report-author-link img{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#e6eef4}
.report-author-link span{display:flex;flex-direction:column;font-size:12px;line-height:1.2}
.report-author-link small{margin-top:2px;color:#6b8194;font-size:9px;letter-spacing:.04em}

.photo-preview-grid,.report-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.photo-preview-item{position:relative;overflow:hidden;min-height:150px;border:1px solid #d4e0e9;border-radius:11px;background:#eef3f7}
.photo-preview-item img,.report-gallery img{display:block;width:100%;height:190px;object-fit:cover}
.photo-preview-item button{position:absolute;right:8px;top:8px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(8,24,40,.78);color:#fff;font-size:16px;font-weight:900;cursor:pointer}
.photo-preview-item label{position:absolute;left:8px;bottom:8px;display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.92);color:#17344f;font-size:10px;font-weight:900}
.photo-preview-item input{width:15px;height:15px;margin:0}
.photo-count{margin:8px 0 0;color:#61758a;font-size:11px;font-weight:800}
.report-gallery{margin-top:18px}
.report-gallery a{display:block;overflow:hidden;border-radius:12px;background:#edf2f6}
.report-equipment{margin-top:24px;padding:20px;border:1px solid #d6e2eb;border-radius:13px;background:#f7fbff}
.report-equipment h3{margin:0 0 13px;color:#0b2447;font-size:18px}
.report-equipment h4{margin:0 0 10px;color:#17476f;font-size:14px}
.report-equipment dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.report-equipment dl div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:7px;background:#fff}
.report-equipment dt{color:#688096;font-size:11px}
.report-equipment dd{margin:0;color:#193b59;font-size:12px;font-weight:900;text-align:right}
.equipment-gear-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}
.equipment-gear-list article{padding:11px;border:1px solid #dce7ef;border-radius:8px;background:#fff}
.equipment-gear-list strong{display:block;color:#173b5d;font-size:12px}
.equipment-gear-list small{color:#738596;font-size:10px}

.admin-main{min-height:72vh;padding:42px 0 80px;background:#f3f7fa;color:#17283a}
.admin-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:20px 0 24px}
.admin-stat-grid article{padding:18px;border:1px solid #d4e1eb;border-radius:12px;background:#fff;box-shadow:0 7px 20px rgba(11,36,71,.05)}
.admin-stat-grid span{display:block;color:#60758a;font-size:11px;font-weight:800}
.admin-stat-grid strong{display:block;margin-top:6px;color:#0b2447;font-size:28px}
.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px}
.admin-tabs button{min-height:42px;padding:8px 14px;border:1px solid #b8cad9;border-radius:8px;background:#fff;color:#29465f;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.admin-tabs button.is-active{border-color:#0d61b3;background:#0d61b3;color:#fff}
.admin-content{min-height:240px}
.admin-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:10px;align-items:end;margin-bottom:15px}
.admin-toolbar button{min-height:46px;padding:8px 16px;border:0;border-radius:8px;background:#0b5fb4;color:#fff;font-weight:900;cursor:pointer}
.admin-table-wrap{overflow:auto;border:1px solid #d4e0e9;border-radius:11px;background:#fff}
.admin-table{width:100%;border-collapse:collapse;min-width:850px}
.admin-table th,.admin-table td{padding:11px 12px;border-bottom:1px solid #e5edf3;text-align:left;vertical-align:middle;font-size:12px}
.admin-table th{position:sticky;top:0;background:#edf4f9;color:#244762;font-size:10px;letter-spacing:.04em;z-index:1}
.admin-table td{color:#3c5368}
.admin-table tr:hover td{background:#f8fbfd}
.admin-user-cell{display:flex;align-items:center;gap:9px}
.admin-user-cell img{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#e8eef4}
.admin-user-cell strong,.admin-user-cell small{display:block}
.admin-user-cell small{color:#77899a;font-size:9px}
.admin-dialog{width:min(720px,calc(100vw - 28px));max-height:88vh;padding:0;border:0;border-radius:15px;box-shadow:0 22px 70px rgba(4,24,45,.3)}
.admin-dialog::backdrop{background:rgba(3,18,33,.58)}
.admin-dialog>div{padding:24px;overflow:auto;max-height:88vh}
.dialog-close{position:absolute;right:15px;top:13px;width:36px;height:36px;border:0;border-radius:50%;background:#e9eff4;color:#23425e;font-size:20px;cursor:pointer}
.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:16px 0}
.admin-detail-grid div{padding:11px;border-radius:8px;background:#f2f6f9}
.admin-detail-grid dt{color:#687d90;font-size:10px}
.admin-detail-grid dd{margin:4px 0 0;color:#163653;font-size:13px;font-weight:900;overflow-wrap:anywhere}
.admin-flag-card{padding:16px;border:1px solid #d8e3eb;border-radius:11px;background:#fff}
.admin-flag-card h3{margin:0 0 8px;color:#0b2447;font-size:15px}
.admin-flag-card p{margin:5px 0;color:#526a7f;font-size:12px;line-height:1.6}

@media(max-width:1000px){
  .account-dashboard{grid-template-columns:1fr}
  .account-sidebar{position:static;grid-template-columns:220px minmax(0,1fr)}
  .account-sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start}
  .gear-layout{grid-template-columns:1fr}
  .gear-layout>.account-panel:first-child{position:static}
  .admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .account-main,.admin-main{padding:28px 0 64px}
  .account-page-header{display:block}
  .account-page-header .inline-actions{margin-top:14px}
  .account-card,.account-panel{padding:18px;border-radius:13px}
  .account-sidebar{display:block}
  .account-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}
  .avatar-editor{grid-template-columns:1fr;text-align:center}
  .avatar-editor img{margin:auto}
  .form-grid,.gear-card-grid,.report-equipment dl,.equipment-gear-list{grid-template-columns:1fr}
  .gear-choice-grid{grid-template-columns:1fr}
  .my-report-row{grid-template-columns:72px minmax(0,1fr)}
  .my-report-row img,.my-report-row .report-no-photo{width:72px;height:62px}
  .my-report-row .row-actions{grid-column:1/-1;flex-direction:row}
  .public-profile-card{display:block;text-align:center;padding:22px}
  .public-profile-card img{width:108px;height:108px;margin:0 auto 15px}
  .photo-preview-grid,.report-gallery{grid-template-columns:1fr}
  .photo-preview-item img,.report-gallery img{height:230px}
  .admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-toolbar{grid-template-columns:1fr}
  .admin-detail-grid{grid-template-columns:1fr}
  .auth-user-link span{display:none}
}
@media(max-width:460px){
  .account-sidebar nav{grid-template-columns:1fr}
  .input-pair{grid-template-columns:minmax(0,1fr) 78px}
  .admin-stat-grid{grid-template-columns:1fr 1fr}
  .identity-preview{display:block;text-align:center}
  .identity-preview img{margin-bottom:10px}
}

/* account/admin component refinements */
.profile-summary>strong{display:block;margin:0;color:#0b2447;font-size:18px}
.profile-summary>span{display:block;margin:4px 0 12px;color:#176abb;font-size:12px;font-weight:900;letter-spacing:.06em}
.profile-summary>a{display:inline-flex;color:#0b62b5;font-size:12px;font-weight:900}
.status-chip.status-active,.status-chip.status-published,.status-chip.status-resolved{background:#e8f7ed;color:#23643c}
.status-chip.status-withdrawal_pending,.status-chip.status-under_review,.status-chip.status-open{background:#fff2d8;color:#815400}
.status-chip.status-suspended,.status-chip.status-hidden,.status-chip.status-rejected,.status-chip.status-dismissed{background:#fff0f0;color:#932d2d}
.status-chip.status-withdrawn,.status-chip.status-deleted{background:#eceff2;color:#596570}
.visibility-chip{display:inline-flex;margin-bottom:8px;padding:4px 8px;border-radius:999px;background:#edf4fa;color:#315b7e;font-size:10px;font-weight:900}
.gear-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}
.gear-card dl div{padding:8px;border-radius:7px;background:#f4f8fb}
.gear-card dt{color:#718496;font-size:9px}
.gear-card dd{margin:3px 0 0;color:#173a5a;font-size:12px;font-weight:900}
.gear-check{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #d4e1eb;border-radius:8px;background:#fafcfe;cursor:pointer}
.gear-check input{flex:0 0 auto;width:17px;height:17px;margin:1px 0 0}
.gear-check strong,.gear-check small{display:block}
.gear-check strong{color:#173a58;font-size:12px}
.gear-check small{margin-top:2px;color:#718497;font-size:9px}
.gallery-item{display:block;width:100%;padding:0;border:0;border-radius:12px;background:#edf2f6;cursor:zoom-in;overflow:hidden}
.gallery-item img{transition:transform .2s ease}
.gallery-item:hover img{transform:scale(1.02)}
.report-author-link.is-withdrawn{cursor:default}
.admin-flag-card{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;margin-bottom:13px}
.admin-flag-card textarea,.admin-flag-card select{box-sizing:border-box;width:100%;margin-bottom:8px;padding:9px;border:1px solid #b8cad9;border-radius:8px;font:inherit;font-size:12px}
.admin-flag-card textarea{min-height:90px;resize:vertical}
.admin-table td>small,.admin-table td>strong+small{display:block;margin-top:3px;color:#77899a;font-size:9px}
.admin-table td>p{max-width:420px;margin:5px 0 0;color:#5c7185;font-size:11px;line-height:1.5}
.secondary-action.small{min-height:34px;padding:5px 9px;font-size:10px}
@media(max-width:760px){.admin-flag-card{grid-template-columns:1fr}.gear-card dl{grid-template-columns:1fr}}

/* 管理者：投稿詳細・編集履歴 */
.admin-report-detail{display:grid;gap:18px;color:#263f55}
.admin-report-detail header{padding-right:42px;border-bottom:1px solid #e3ebf1}
.admin-report-detail header h2{margin:0;color:#0b2447;font-size:24px}
.admin-report-detail header p{color:#6b7d8e;font-size:12px}
.admin-report-comment{margin:0;padding:15px;border-radius:10px;background:#f5f8fb;white-space:pre-wrap;line-height:1.75}
.admin-report-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.admin-report-image{display:block;width:100%;height:150px;object-fit:cover;border-radius:9px;background:#eef3f6}
.admin-report-detail section{padding-top:4px;border-top:1px solid #e4ebf1}
.admin-report-detail section h3{margin:12px 0;color:#173b5c;font-size:16px}
.admin-report-detail pre{max-height:300px;overflow:auto;margin:9px 0 0;padding:12px;border-radius:8px;background:#0f2235;color:#e8f1f8;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.admin-history-card{display:block;margin:9px 0;padding:12px;border:1px solid #d7e2eb;border-radius:9px;background:#fbfdff}
.admin-history-card summary{cursor:pointer;color:#173c5e;font-weight:900;font-size:12px}
.admin-history-card strong,.admin-history-card small{display:block}
.admin-history-card small{margin-top:4px;color:#728598;font-size:10px}
.admin-history-card p{margin:8px 0 0;color:#526b80;font-size:12px;line-height:1.6}
.form-hint{color:#687d91;font-size:11px;line-height:1.6}
.admin-table select{min-width:110px;margin:3px 4px 3px 0;padding:6px;border:1px solid #b8cad9;border-radius:7px;background:#fff;font:inherit;font-size:10px}
@media(max-width:760px){.admin-report-images{grid-template-columns:1fr}.admin-report-image{height:220px}}
.photo-order-actions{position:absolute;right:48px;top:8px;display:flex;gap:4px}
.photo-order-actions button{position:static;width:32px;height:32px;border-radius:8px;background:rgba(8,24,40,.78)}
.photo-order-actions button:disabled{opacity:.35;cursor:not-allowed}
.photo-preview-item .photo-remove-button{right:8px;top:8px}

/* マイマップ・訪問履歴・スキー場評価 */
.snow-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.snow-stat-grid article{display:flex;flex-direction:column;gap:5px;padding:20px;border:1px solid var(--line,#d7e1e9);border-radius:16px;background:#fff;box-shadow:0 10px 25px rgba(36,64,84,.07)}.snow-stat-grid small{color:#698091;font-weight:800}.snow-stat-grid strong{font-size:2rem;color:#155f91}.snow-stat-grid span{color:#697d8c;font-size:.78rem}.season-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.season-summary-grid button{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid #d7e1e9;border-radius:13px;background:#f8fbfd;color:#263c4a;text-align:left}.season-summary-grid button:hover{border-color:#4f9bc7;background:#edf8ff}.season-summary-grid span{color:#6c7f8c;font-size:.75rem}.snow-history-list,.my-review-list{display:grid;gap:10px}.snow-history-card,.my-review-card{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:18px;align-items:start;padding:17px;border:1px solid #d7e1e9;border-radius:14px;background:#fff}.history-date{display:flex;flex-direction:column;gap:4px}.history-date strong{color:#155f91}.history-date span,.snow-history-card small,.my-review-card small{color:#758793;font-size:.73rem}.snow-history-card h3,.my-review-card h3{margin:0 0 6px}.snow-history-card h3 a,.my-review-card h3 a{color:#1d4056;text-decoration:none}.snow-history-card p,.my-review-card p{margin:4px 0;color:#5d7180}.history-note{padding:8px 10px;border-radius:9px;background:#f3f7fa}.my-list-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.my-list-columns section{padding:15px;border:1px solid #d7e1e9;border-radius:14px;background:#f8fbfd}.my-list-columns h3{margin-top:0}.my-list-columns article{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid #e3eaef}.my-list-columns article:last-child{border-bottom:0}.my-list-columns a{display:flex;flex-direction:column;color:#25495e;text-decoration:none}.my-list-columns small{color:#778a96}.my-list-columns button{border:0;background:transparent;color:#a34049}.rating-stars{color:#e2a000;white-space:nowrap}.review-tag-row{display:flex;flex-wrap:wrap;gap:6px}.review-tag-row span{padding:4px 8px;border-radius:999px;background:#e9f5fc;color:#22668e;font-size:.7rem}.account-dialog{width:min(720px,calc(100vw - 24px));max-height:90vh;padding:26px;border:1px solid #d3dfe7;border-radius:20px;background:#fff;box-shadow:0 25px 70px rgba(20,42,58,.3);overflow:auto}.account-dialog::backdrop{background:rgba(15,31,45,.55)}.account-dialog .dialog-close{float:right}.account-fieldset{margin:16px 0;padding:0;border:0}.account-fieldset legend{margin-bottom:8px;color:#627785;font-weight:800}.manager-star-row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.manager-star-row button{min-height:52px;border:1px solid #d5e0e7;border-radius:11px;background:#fff;color:#c6b27d;font-size:1.2rem}.manager-star-row button small{display:block;font-size:.65rem}.manager-star-row button.is-active{border-color:#dda000;background:#fff7dc;color:#dda000}.manager-tag-grid{display:flex;flex-wrap:wrap;gap:7px}.manager-tag-grid label{position:relative}.manager-tag-grid input{position:absolute;opacity:0}.manager-tag-grid span{display:inline-flex;padding:8px 10px;border:1px solid #d5e0e7;border-radius:999px;color:#687d8a;font-size:.73rem}.manager-tag-grid input:checked+span{border-color:#2d8cc2;background:#e8f6ff;color:#16618b;font-weight:800}
@media(max-width:900px){.snow-stat-grid{grid-template-columns:repeat(2,1fr)}.snow-history-card,.my-review-card{grid-template-columns:1fr}.my-list-columns{grid-template-columns:1fr}}
@media(max-width:560px){.snow-stat-grid{grid-template-columns:1fr 1fr;gap:8px}.snow-stat-grid article{padding:14px}.snow-stat-grid strong{font-size:1.55rem}.account-dialog{padding:18px}.manager-star-row{gap:4px}}
.public-snow-records{display:grid;gap:20px}.public-snow-records section{padding-top:12px;border-top:1px solid #dce5eb}.public-resort-chip-list{display:flex;flex-wrap:wrap;gap:8px}.public-resort-chip-list a{display:flex;flex-direction:column;padding:9px 12px;border:1px solid #d7e1e9;border-radius:11px;background:#f8fbfd;color:#24495f;text-decoration:none}.public-resort-chip-list small{color:#728590}
.my-list-actions{display:flex;gap:4px;align-items:center}.my-list-actions button{padding:4px;border:0;background:transparent;font-size:.7rem}.my-list-actions button:first-child{color:#266f98}

/* CMS / content pages */
.cms-toolbar{flex-wrap:wrap}.cms-toolbar select{min-width:160px}.admin-dialog-wide{width:min(1040px,calc(100vw - 28px));max-width:1040px}.admin-edit-form h3{margin:28px 0 12px}.field-wide{grid-column:1/-1}.admin-edit-form .form-grid{align-items:start}.admin-edit-form textarea{min-height:96px;resize:vertical}.cms-current-image{display:block;width:min(360px,100%);max-height:220px;object-fit:cover;border-radius:12px;margin:8px 0}.cms-warning{display:block;color:#a63b00;font-size:.78rem;margin-top:4px}.status-draft{background:#eef2f5;color:#4b5f70}.status-published{background:#e8f7ee;color:#166534}.status-archived{background:#f3f0f0;color:#665}.danger-action{border:1px solid #b42318;background:#fff;color:#b42318;border-radius:9px;padding:11px 16px;font-weight:700;cursor:pointer}.content-search-form{display:flex;gap:10px;align-items:center;margin-bottom:24px}.content-search-form input{flex:1;min-width:0}.content-search-form span{white-space:nowrap;color:#667}.content-list{display:grid;gap:16px}.content-list-card{display:grid;grid-template-columns:220px 1fr;gap:20px;border:1px solid #d9e4ec;border-radius:16px;padding:16px;background:#fff}.content-list-card>img{width:100%;height:145px;object-fit:cover;border-radius:12px}.content-list-card h2{font-size:1.18rem;margin:8px 0}.content-list-card h2 a{color:inherit;text-decoration:none}.content-list-card p{margin:6px 0;color:#526577}.content-list-card small{display:block;color:#6d7d8b}.content-type-chip{display:inline-flex;border-radius:999px;background:#eaf3fb;color:#24527b;padding:4px 9px;font-size:.78rem;font-weight:700}.content-empty{grid-column:1/-1;padding:28px;border:1px dashed #c8d6e0;border-radius:14px;text-align:center;color:#667;background:#f8fbfd}.content-detail-main{padding:34px 0 70px}.content-detail-card{max-width:900px;background:#fff;border:1px solid #d8e4ed;border-radius:18px;padding:clamp(22px,4vw,46px);box-shadow:0 12px 36px rgba(19,48,70,.08)}.content-detail-card h1{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.35;margin:8px 0 14px}.content-detail-meta{display:flex;gap:12px;flex-wrap:wrap;color:#627384;font-size:.88rem;margin-bottom:22px}.content-detail-image{width:100%;max-height:480px;object-fit:cover;border-radius:16px;margin:8px 0 24px}.content-detail-lead{font-size:1.1rem;font-weight:700;line-height:1.8}.content-detail-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#dce6ed;border:1px solid #dce6ed;border-radius:12px;overflow:hidden;margin:24px 0}.content-detail-data div{background:#fff;padding:13px 15px}.content-detail-data dt{font-size:.8rem;color:#687888}.content-detail-data dd{margin:3px 0 0;font-weight:700}.content-detail-body{line-height:2;margin:28px 0;overflow-wrap:anywhere}.content-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}.content-source-note{background:#f3f7fa;border-radius:10px;padding:12px 14px;color:#5d6c79;font-size:.9rem}.important-items a{color:inherit;text-decoration:none;display:inline-flex;gap:7px;align-items:center}.article-grid article>a{display:block;color:inherit;text-decoration:none}.article-grid article>a:hover h3{text-decoration:underline}
@media(max-width:720px){.content-list-card{grid-template-columns:1fr}.content-list-card>img{height:190px}.content-detail-data{grid-template-columns:1fr}.content-search-form{align-items:stretch;flex-direction:column}.admin-dialog-wide{width:calc(100vw - 12px)}}

.cms-info{display:block;margin-top:5px;color:#165d8c;font-size:.78rem}.cms-preview-dialog{max-width:920px}.cms-preview-card{margin:12px 0}.cms-preview-note{margin-top:28px;padding:12px 14px;border-radius:10px;background:#eef6fb;color:#496477;font-size:.88rem}.content-tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.content-tag-row span{padding:5px 10px;border-radius:999px;background:#edf4f8;color:#294a60;font-size:.82rem}

/* Affiliate / snow gear guide */
.affiliate-guide-promo{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;padding:22px 24px;border:1px solid #cfe0ee;border-radius:16px;background:linear-gradient(135deg,#eef7ff,#f8fbfd)}.affiliate-guide-promo h2{margin:4px 0 8px}.affiliate-guide-promo p{margin:0;color:#526a7d}.gear-guide-hero{padding:46px 0 38px;background:linear-gradient(135deg,#06275b,#0c5fa1);color:#fff}.gear-guide-hero h1{margin:6px 0 10px;font-size:clamp(2rem,5vw,3.3rem)}.gear-guide-hero p{max-width:760px;margin:0;color:#d9ebfa;line-height:1.8}.gear-guide-main{padding:30px 0 70px}.affiliate-disclosure{margin:0 0 22px;padding:15px 17px;border:1px solid #e5c76c;border-radius:12px;background:#fff9df;color:#4f421b}.affiliate-disclosure strong{display:block;margin-bottom:4px}.affiliate-disclosure p{margin:0;line-height:1.7;font-size:.9rem}.gear-filter{display:grid;grid-template-columns:minmax(190px,260px) minmax(240px,1fr) auto auto;gap:10px;align-items:center;margin-bottom:24px}.gear-filter select,.gear-filter input{min-height:44px;padding:10px 12px;border:1px solid #c8d7e2;border-radius:9px;background:#fff}.gear-filter span{color:#667;white-space:nowrap}.gear-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gear-product-card{display:grid;grid-template-columns:270px minmax(0,1fr);overflow:hidden;border:1px solid #d6e2eb;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(18,54,82,.06)}.gear-product-image,.article-affiliate-image,.gear-detail-visual{position:relative;background:#eef3f7}.gear-product-image>img{width:100%;height:100%;min-height:270px;object-fit:cover}.gear-image-placeholder{display:grid;place-items:center;min-height:190px;color:#7d8d99;font-size:.75rem;font-weight:900;letter-spacing:.12em}.affiliate-pr-badge{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:#111827;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.04em}.gear-product-content{padding:18px}.gear-product-content h2{margin:8px 0 2px;font-size:1.18rem}.gear-product-content h2 a:hover{text-decoration:underline}.gear-brand{margin:0 0 10px;color:#6b7c89;font-size:.84rem;font-weight:700}.gear-product-content>p{color:#516778;line-height:1.65}.gear-fit,.article-affiliate-fit{margin:12px 0;padding:10px 12px;border-radius:10px;background:#edf7fd;color:#244d67}.gear-fit strong{display:block;font-size:.8rem}.gear-fit p{margin:4px 0 0;font-size:.85rem}.gear-mini-list{margin:10px 0;padding-left:20px;color:#526878;font-size:.88rem;line-height:1.7}.gear-card-meta{display:flex;flex-wrap:wrap;gap:7px 12px;margin:14px 0;color:#6b7d8a;font-size:.76rem}.gear-card-actions{display:flex;flex-wrap:wrap;gap:8px}.gear-card-actions .primary-action,.gear-card-actions .secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;font-size:.82rem}.gear-detail-main{padding:34px 0 70px}.gear-detail-card{max-width:1000px}.gear-detail-layout{display:grid;grid-template-columns:minmax(280px,42%) minmax(0,1fr);gap:30px;margin-top:22px}.gear-detail-visual{overflow:hidden;border-radius:16px}.gear-detail-visual>img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}.gear-detail-summary h1{margin:8px 0 4px;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.35}.gear-detail-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}.gear-detail-sections section{padding:18px;border:1px solid #d9e4ec;border-radius:13px;background:#fbfdff}.gear-detail-sections h2{margin:0 0 10px;font-size:1.06rem}.gear-detail-sections p,.gear-detail-sections li{color:#526879;line-height:1.75}.article-affiliate-disclosure{margin-top:22px}.article-affiliate-section{margin:38px 0 26px;padding-top:30px;border-top:1px solid #dce6ed}.article-affiliate-heading h2{margin:5px 0 7px}.article-affiliate-heading>p:last-child{color:#637687}.article-affiliate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.article-affiliate-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;padding:14px;border:1px solid #d8e4ed;border-radius:14px;background:#fff}.article-affiliate-image{overflow:hidden;border-radius:10px}.article-affiliate-image>img{width:100%;height:100%;min-height:180px;object-fit:cover}.article-affiliate-card h3{margin:7px 0 2px;font-size:1rem}.article-affiliate-card>div:last-child>p{color:#526879;font-size:.86rem;line-height:1.65}.article-affiliate-fit{font-size:.82rem}.affiliate-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.affiliate-picker-item{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #d7e2eb;border-radius:10px;background:#fbfdff}.affiliate-picker-item input{margin-top:4px}.affiliate-picker-item strong,.affiliate-picker-item small{display:block}.affiliate-picker-item small{margin-top:3px;color:#6a7d8b}.affiliate-article-admin{margin:22px 0;padding:18px;border:1px solid #cfe0ec;border-radius:14px;background:#f8fbfd}.affiliate-article-admin-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.affiliate-article-admin h3{margin:2px 0}
@media(max-width:980px){.gear-product-grid{grid-template-columns:1fr}.article-affiliate-grid{grid-template-columns:1fr}.gear-filter{grid-template-columns:1fr 1fr auto}.gear-filter span{grid-column:1/-1}.affiliate-picker-list{grid-template-columns:1fr}}
@media(max-width:720px){.affiliate-guide-promo{align-items:flex-start;flex-direction:column}.gear-filter{grid-template-columns:1fr}.gear-product-card{grid-template-columns:1fr}.gear-product-image>img{height:230px;min-height:0}.gear-detail-layout{grid-template-columns:1fr}.gear-detail-visual>img{min-height:280px}.gear-detail-sections{grid-template-columns:1fr}.article-affiliate-card{grid-template-columns:1fr}.article-affiliate-image>img{height:220px;min-height:0}.affiliate-article-admin-head{align-items:flex-start;flex-direction:column}}

/* Admin support workflow / overdue management */
.admin-support-summary{display:flex;gap:8px;margin:0 0 14px;padding:4px 0;overflow-x:auto;scrollbar-width:thin}.admin-support-summary-tab{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;min-height:38px;padding:7px 12px;border:1px solid #d3e0eb;border-radius:999px;background:#fff;color:#35536e;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.admin-support-summary-tab strong{display:inline-grid;min-width:22px;height:22px;place-items:center;padding:0 5px;border-radius:999px;background:#edf3f8;color:#284c6c;font-size:10px;font-variant-numeric:tabular-nums}.admin-support-summary-tab:hover{border-color:#9ebbd2;background:#f7fbff}.admin-support-summary-tab.is-active{border-color:#0c5bb4;background:#0c5bb4;color:#fff}.admin-support-summary-tab.is-active strong{background:rgba(255,255,255,.2);color:#fff}.admin-support-summary-tab.is-alert:not(.is-active) strong{background:#fff0dc;color:#9a5700}.admin-support-card.is-overdue{border-color:#e2a84a;box-shadow:0 7px 24px rgba(177,109,12,.09)}.admin-support-card-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.admin-support-type{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;background:#eaf2f9;color:#2f5879;font-size:10px;font-weight:900}.admin-support-type.is-contact{background:#e8f3ff;color:#185f99}.admin-support-type.is-information{background:#e9f6ee;color:#246842}.admin-support-card-times{display:flex;flex-wrap:wrap;gap:7px 14px;color:#748598;font-size:11px}.admin-support-overdue{display:flex;align-items:flex-start;gap:10px;margin:14px 0 4px;padding:11px 13px;border:1px solid #efc170;border-radius:9px;background:#fff8e9;color:#704408;font-size:12px;line-height:1.6}.admin-support-overdue strong{white-space:nowrap;color:#9a5c00}.admin-support-edit{grid-template-columns:170px 210px minmax(0,1fr) auto}.admin-support-edit input{box-sizing:border-box;display:block;width:100%;margin-top:5px;padding:8px 10px;border:1px solid #b9cad9;border-radius:8px;background:#fff;color:#17202a;font:inherit;font-size:14px;line-height:1.5}.admin-support-edit input:focus{outline:0;border-color:#1474c6;box-shadow:0 0 0 3px rgba(20,116,198,.14)}.admin-support-edit label small{display:block;margin-top:4px;color:#718293;font-size:10px;font-weight:600;line-height:1.5}.admin-support-note{min-width:0}
@media(max-width:1100px){.admin-support-edit{grid-template-columns:1fr 1fr}.admin-support-edit .admin-support-note{grid-column:1/-1}.admin-support-edit button{justify-self:end}}
@media(max-width:700px){.admin-support-summary{margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px}.admin-support-edit{grid-template-columns:1fr}.admin-support-edit .admin-support-note{grid-column:auto}.admin-support-edit button{justify-self:stretch}.admin-support-card-times{flex-direction:column;gap:2px}.admin-support-overdue{flex-direction:column;gap:3px}}

/* Thumbnail-free content placeholders. */
.card-image.is-placeholder{background:linear-gradient(135deg,#0b3b73 0%,#176bb5 52%,#d7ebf8 100%)}
.card-image.is-placeholder:before{content:"SNOW";position:absolute;top:50%;left:50%;z-index:0;transform:translate(-50%,-50%);color:rgba(255,255,255,.24);font-size:clamp(28px,4vw,46px);font-weight:900;letter-spacing:.16em}
.article-image-placeholder{display:grid;aspect-ratio:16/9;place-items:center;background:linear-gradient(135deg,#eaf4fb,#cfe6f6);color:#5981a2;font-weight:900;letter-spacing:.16em}
/* Support conversation */
.admin-support-unread-total,.admin-support-unread-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#fff0dc;color:#8a4b00;font-size:10px;font-weight:900}.admin-support-unread-total{margin-left:auto;white-space:nowrap}.admin-support-card.has-unread-reply{border-color:#e2a84a}.admin-support-conversation{margin:18px 0;padding:15px;border:1px solid #dbe6ef;border-radius:11px;background:#f8fbfd}.admin-support-conversation.is-disabled{color:#7b8793}.admin-support-conversation-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-support-conversation-head .secondary-action{min-height:38px;padding:7px 12px;border:1px solid #9db6cb;border-radius:8px;background:#fff;color:#164f7e;font-weight:800;cursor:pointer}.admin-support-thread{display:grid;gap:10px;margin-top:14px}.admin-support-message{max-width:86%;padding:12px 14px;border-radius:11px;background:#fff;border:1px solid #d9e4ed}.admin-support-message.is-admin{margin-left:auto;background:#eaf4ff;border-color:#c8dff4}.admin-support-message.is-user{margin-right:auto;background:#fff}.admin-support-message>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.admin-support-message strong{font-size:12px;color:#173653}.admin-support-message time,.admin-support-message small{font-size:10px;color:#748598}.admin-support-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:13px}.admin-support-no-thread{margin:8px 0;color:#718293}.admin-support-reply-box{margin-top:16px;padding-top:14px;border-top:1px solid #dbe6ef}.admin-support-reply-box>label{display:block;color:#173653;font-size:12px;font-weight:900}.admin-support-reply-box textarea{box-sizing:border-box;width:100%;margin-top:6px;padding:10px;border:1px solid #b9cad9;border-radius:8px;background:#fff;color:#17202a;font:inherit;font-size:14px;line-height:1.6}.admin-support-reply-box textarea:focus,.admin-support-reply-actions select:focus{outline:0;border-color:#1474c6;box-shadow:0 0 0 3px rgba(20,116,198,.14)}.admin-support-reply-actions{display:flex;align-items:end;gap:10px;margin-top:10px}.admin-support-reply-actions label{flex:1;color:#173653;font-size:11px;font-weight:800}.admin-support-reply-actions select{box-sizing:border-box;width:100%;margin-top:5px;padding:8px 10px;border:1px solid #b9cad9;border-radius:8px;background:#fff;color:#17202a;font:inherit}.admin-support-reply-actions button{min-height:42px;padding:8px 15px;border:0;border-radius:8px;background:#0c5bb4;color:#fff;font-weight:900;cursor:pointer}.admin-support-reply-note{margin:9px 0 0;color:#607386;font-size:11px;line-height:1.6}
@media(max-width:700px){.admin-support-unread-total{margin-left:0}.admin-support-message{max-width:100%}.admin-support-reply-actions{align-items:stretch;flex-direction:column}.admin-support-reply-actions label,.admin-support-reply-actions button{width:100%}}
/* Resort YouTube management */
.cms-resort-video-section{margin-top:28px;padding-top:24px;border-top:1px solid #dbe3ec}.cms-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.cms-video-list{display:grid;gap:12px}.cms-video-card{display:grid;grid-template-columns:160px 1fr;gap:14px;padding:12px;border:1px solid #dbe3ec;border-radius:12px;background:#fff}.cms-video-card>img{width:160px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#e2e8f0}.cms-video-card>div{min-width:0}.cms-video-card strong,.cms-video-card small{display:block}.cms-video-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:5px}.cms-video-meta span{font-size:.75rem;padding:3px 7px;border-radius:999px;background:#eef2f7}.cms-video-editor{margin-top:18px;padding:18px;border:1px solid #dbe3ec;border-radius:12px;background:#f8fafc}.cms-video-editor h4{margin-top:0}@media(max-width:700px){.cms-video-card{grid-template-columns:1fr}.cms-video-card>img{width:100%}}

/* ゲレンデ紹介管理をスキー場マスタから分離 */
.resort-intro-guide{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:12px 14px;border-radius:10px;background:#f0f7ff;color:#23415f}.resort-intro-guide strong{white-space:nowrap}.resort-intro-state{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:700}.resort-intro-state.is-ready{background:#dcfce7;color:#166534}.resort-intro-state.is-empty{background:#f1f5f9;color:#64748b}.resort-intro-table td small{display:block;margin-top:5px;color:#64748b;max-width:38rem}.resort-intro-editor-head{margin-bottom:22px}.resort-intro-editor-head h2{margin:.2rem 0}.resort-intro-copy-form{padding:18px;border:1px solid #dbe3ec;border-radius:12px;background:#fff}.resort-intro-copy-form textarea{min-height:180px}.resort-intro-toolbar input[type=search]{min-width:260px;flex:1}@media(max-width:800px){.resort-intro-guide{display:block}.resort-intro-guide strong{display:block;margin-bottom:5px}.resort-intro-toolbar input[type=search]{min-width:100%}}


/* Footer readability and desktop column balance */
footer .footer-grid{grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,52px)}
footer .footer-grid h3{font-size:15px;line-height:1.55;margin-bottom:10px}
footer .footer-grid a{font-size:14px;line-height:1.85}
footer .footer-brand strong{font-size:22px;line-height:1.45}
footer .footer-brand p{font-size:14px;line-height:1.7;margin-top:10px}
footer .footer-disclaimer{font-size:13px;line-height:1.7}
footer .footer-bottom small{font-size:13px;line-height:1.65}
footer .footer-bottom div{font-size:13px;line-height:1.65;gap:22px}
@media(max-width:900px){footer .footer-grid{grid-template-columns:1fr 1fr;gap:28px 32px}}
@media(max-width:560px){footer .footer-grid{gap:22px 20px}footer .footer-grid a{font-size:14px;line-height:1.9}footer .footer-bottom div{gap:16px 20px}}
