/* K.Works Analytics v2 */

:root{--bg:#07090c;--surface:#0d1218;--surface2:#111a21;--line:#263039;--text:#eef3f4;--muted:#a1adb6;--accent:#2ee6a6;--accent-soft:color-mix(in srgb,var(--accent) 12%,transparent);--accent-mid:color-mix(in srgb,var(--accent) 40%,transparent);--clear:transparent;--sans:'Inter','Noto Sans JP',sans-serif;--mono:'JetBrains Mono',monospace;--xs:.75rem;--sm:.875rem;--body:1rem;--lg:1.125rem;--h3:1.35rem;--h2:clamp(1.9rem,3.6vw,3rem);--h1:clamp(2.65rem,5.2vw,4.7rem);--number:clamp(2.5rem,5vw,4rem);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--section:clamp(72px,9vw,128px);--gutter:clamp(20px,5vw,72px);--max:1200px;--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;background:var(--bg)}body{margin:0;color:var(--text);font:400 var(--body)/1.9 var(--sans);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{ -webkit-tap-highlight-color:var(--accent-soft)}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.5;letter-spacing:-.035em}h2{font-size:var(--h2)}h3{font-size:var(--h3)}p{color:var(--muted)}mark{color:var(--accent);background:var(--accent-soft);padding:0 .12em}svg{display:block;max-width:100%}section{padding:var(--section) var(--gutter);border-bottom:1px solid var(--line);scroll-margin-top:var(--s5)}section>div{max-width:var(--max);margin-inline:auto}[class$="__eyebrow"]{font:var(--xs)/1.5 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:var(--s5)}[class$="__heading"]{margin-bottom:var(--s7)}[class$="__heading"]>p:last-child:not(:first-child){max-width:650px;margin-top:var(--s5)}[class$="__button"]{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--s6);padding:var(--s3) var(--s5);min-height:48px;border:1px solid var(--line);border-radius:4px;background:var(--bg);font-size:var(--sm);color:var(--text);transition:background .25s,border-color .25s,transform .25s}[class$="__button"]:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}[data-primary]{background:var(--accent);border-color:var(--accent);color:var(--bg)}[data-primary]:hover{background:var(--text);color:var(--bg)}[class$="__card"]{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s6);transition:border-color .3s,background .3s}[class$="__card"]:hover{border-color:var(--accent-mid);background:var(--surface)}[class$="__list"]{list-style:none;padding:0;margin:var(--s5) 0 0;color:var(--muted);font-size:var(--sm)}[class$="__list"] li{padding:var(--s2) 0 var(--s2) var(--s5);position:relative}[class$="__list"] li:before{content:'↳';position:absolute;left:0;color:var(--accent)}
.header__bar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:var(--s4) var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--s5)}.header__brand,.footer__brand{font-size:var(--lg);font-weight:600;letter-spacing:-.05em;white-space:nowrap}.header__brand span,.footer__brand span{color:var(--accent)}.header__nav{display:flex;align-items:center;gap:var(--s5);font-size:var(--sm)}.header__nav a:hover{color:var(--accent)}.header__nav a[data-primary]{color:var(--bg)}.header__toggle{display:none}.header__skip{position:fixed;top:-80px;left:var(--s4);padding:var(--s3);z-index:100;background:var(--accent);color:var(--bg)}.header__skip:focus{top:var(--s2)}
.hero__layout{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:var(--s7);position:relative}.hero__title{font-size:var(--h1);line-height:1.4;letter-spacing:-.055em;margin:var(--s5) 0 var(--s6)}.hero__copy>p:not(:first-child){max-width:580px}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6)}#hero{position:relative;padding-top:var(--s8);overflow:hidden}#hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 35%,var(--accent-soft),transparent 53%);pointer-events:none}.hero__caption{font-size:var(--xs);margin-top:var(--s3)}.hero__dashboard{border:1px solid var(--line);background:var(--bg);border-radius:var(--radius);position:relative;overflow:hidden;animation:heroIn 1.2s both}.hero__chrome{display:flex;justify-content:space-between;gap:var(--s2);padding:var(--s4);border-bottom:1px solid var(--line);font:var(--xs) var(--mono);color:var(--muted)}.hero__status{color:var(--accent)}.hero__metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:var(--s5) var(--s4);gap:var(--s3)}.hero__metric span{display:block;font:var(--xs) var(--mono);color:var(--muted)}.hero__metric strong{display:block;font:500 clamp(1.1rem,2vw,1.7rem)/1.9 var(--mono)}.hero__metric small{font:var(--xs) var(--mono);color:var(--accent)}.hero__graph{padding:0 var(--s4)}.hero__grid{stroke:var(--line);stroke-width:1}.hero__area{fill:url(#area)}.hero__trend{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 2.8s .3s forwards}.hero__baseline{fill:none;stroke:var(--muted);stroke-width:1.2;stroke-dasharray:4 6;opacity:.5}.hero__scan{fill:var(--accent-soft);animation:scan 6s linear infinite}.hero__axis{display:flex;justify-content:space-between;padding:var(--s2) var(--s4) var(--s5);font:var(--xs) var(--mono);color:var(--muted)}.hero__insight{border-top:1px solid var(--line);padding:var(--s4);display:flex;align-items:flex-start;gap:var(--s3);background:var(--accent-soft);animation:answer 5s infinite}.hero__insight span{color:var(--accent)}.hero__insight strong{font-size:var(--sm);font-weight:500}.hero__insight p{font-size:var(--xs)}.hero__data{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-top:var(--s5);font:var(--xs) var(--mono);color:var(--muted)}.hero__data i{flex:1;height:1px;background:var(--line);position:relative;overflow:hidden}.hero__data i:after{content:'';position:absolute;width:35%;height:1px;background:var(--accent);animation:travel 2.4s linear infinite}.hero__proof{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:var(--s8);border-top:1px solid var(--line);padding-top:var(--s6);gap:var(--s6)}.hero__proof>div{border-right:1px solid var(--line)}.hero__proof>div:last-child{border:0}.hero__proof p{font-size:var(--sm)}.hero__proof strong{font:400 var(--number)/1.5 var(--mono)}.hero__proof small{font-size:var(--sm);margin-left:var(--s2)}.hero__qualification{display:block;font-size:var(--h3);margin:var(--s4) 0 var(--s2)}
.problem__layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8)}.problem__items{border-top:1px solid var(--line)}.problem__item{padding:var(--s5) 0;border-bottom:1px solid var(--line);display:flex;gap:var(--s5);font-size:var(--lg)}.problem__item span{color:var(--muted);font:var(--xs)/2.7 var(--mono)}.problem__answer{grid-column:1/-1;padding:var(--s6);border-left:2px solid var(--accent);background:var(--accent-soft);font-size:var(--h3)}.problem__answer p{color:var(--text)}
.service__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4)}.service__card>p{margin-top:var(--s4)}.service__icon{width:48px;height:48px;border:1px solid var(--line);display:grid;place-items:center;margin-bottom:var(--s6);font:var(--lg) var(--mono);color:var(--accent)}.service__teaser{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--s7);padding:var(--s7) 0 0}.service__signal{display:flex;align-items:center;gap:var(--s3);font:var(--sm) var(--mono)}.service__sources{display:grid;gap:var(--s2)}.service__sources span,.service__target{padding:var(--s3);border:1px solid var(--line);border-radius:4px}.service__beam{flex:1;height:1px;background:var(--line);position:relative;overflow:hidden}.service__beam:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:travel 2s infinite}.service__target{border-color:var(--accent);color:var(--accent);animation:answer 4s infinite}.service__teaser h3{margin-bottom:var(--s3)}
.reason__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s7)}.reason__item{border-top:1px solid var(--line);padding-top:var(--s5)}.reason__number{font:var(--h2) var(--mono);color:var(--accent-mid);margin-bottom:var(--s6)}.reason__item h3{min-height:4.5em;margin-bottom:var(--s5)}
.flow__layout{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--s8)}.flow__steps{position:relative;padding-left:var(--s7)}.flow__track{position:absolute;left:14px;top:20px;bottom:60px;width:1px;background:var(--line)}.flow__progress{display:block;width:100%;height:100%;transform:scaleY(0);transform-origin:top;background:var(--accent)}.flow__step{position:relative;padding:0 0 var(--s7) var(--s4)}.flow__step:before{content:attr(data-step);position:absolute;left:-48px;top:0;width:30px;height:30px;background:var(--bg);border:1px solid var(--line);border-radius:50%;text-align:center;font:var(--xs)/28px var(--mono);transition:border-color .5s,color .5s}.flow__step[data-active]:before{border-color:var(--accent);color:var(--accent)}.flow__step h3{margin-bottom:var(--s3)}.flow__step small{color:var(--accent);font-size:var(--sm)}
.works__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.works__card{display:flex;flex-direction:column;gap:var(--s5)}.works__tag{font-size:var(--sm);color:var(--accent)}.works__tools{font-size:var(--xs);border-top:1px solid var(--line);padding-top:var(--s4);margin-top:auto}.works__outcome{font:var(--number)/1.2 var(--mono);padding:var(--s5) 0;color:var(--text)}.works__outcome small{font:var(--sm) var(--sans);color:var(--muted)}
#clients{padding-block:var(--s8)}.clients__row{display:flex;flex-wrap:wrap;gap:var(--s5);justify-content:space-between;align-items:center}.clients__row h2{font-size:var(--h3)}.clients__sectors{display:flex;gap:var(--s6);flex-wrap:wrap;color:var(--muted)}.clients__note{font-size:var(--xs);margin-top:var(--s5)}.profile__layout{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--s8)}.profile__bio p+p{margin-top:var(--s5)}.profile__role{font-size:var(--h3);color:var(--text);margin-bottom:var(--s5)}.profile__badge{display:inline-block;border:1px solid var(--line);padding:var(--s2) var(--s4);margin-top:var(--s6);font-size:var(--sm)}
.price__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4)}.price__card{display:flex;flex-direction:column;position:relative}.price__card[data-featured]{border-color:var(--accent)}.price__popular{position:absolute;right:var(--s5);top:var(--s5);font:var(--xs) var(--mono);color:var(--accent)}.price__card>p{font-size:var(--sm);margin-top:var(--s3)}.price__value{font:500 var(--h2)/1.5 var(--mono);margin-top:var(--s6);white-space:nowrap}.price__value small{font:var(--sm) var(--sans);color:var(--muted)}.price__list{margin-bottom:var(--s6)}.price__button{margin-top:auto}.price__note{margin-top:var(--s5);font-size:var(--sm)}
.deck__frame{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.deck__slide{min-height:370px;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:var(--s8);padding:var(--s8);touch-action:pan-y}.deck__slide h3{font-size:var(--h2)}.deck__slide p{margin-top:var(--s5)}.deck__graphic{font:var(--sm) var(--mono);display:grid;gap:var(--s4)}.deck__graphic div{border:1px solid var(--line);padding:var(--s4);display:flex;justify-content:space-between}.deck__graphic div:last-child{border-color:var(--accent);color:var(--accent)}.deck__controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:var(--s4) var(--s5);gap:var(--s4)}.deck__count{font:var(--sm) var(--mono)}.deck__controls>div{display:flex;gap:var(--s2)}.deck__hint{font-size:var(--xs);margin-top:var(--s4)}.deck__frame:fullscreen{background:var(--bg);display:flex;flex-direction:column;justify-content:center}.deck__frame:fullscreen .deck__slide{min-height:65vh}
.faq__layout{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--s8)}.faq__item{border-top:1px solid var(--line)}.faq__item:last-child{border-bottom:1px solid var(--line)}.faq__item summary{cursor:pointer;list-style:none;padding:var(--s5) var(--s6) var(--s5) 0;position:relative;font-weight:500}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:'+';position:absolute;right:0;color:var(--accent);font:var(--h3) var(--mono)}.faq__item[open] summary:after{content:'−'}.faq__item p{padding-bottom:var(--s5);font-size:var(--sm)}
.contact__layout{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--s8)}.contact__intro>p{margin-top:var(--s5)}.contact__email{display:inline-block;margin-top:var(--s7);font:var(--lg) var(--mono);border-bottom:1px solid var(--accent)}.contact__form{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}.contact__field{display:grid;gap:var(--s2);font-size:var(--sm);min-width:0}.contact__field small{color:var(--accent);margin-left:var(--s2)}.contact__field input,.contact__field textarea,.contact__field select{width:100%;min-width:0;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--text);padding:var(--s3);min-height:48px;outline-offset:2px}.contact__field textarea{resize:vertical;min-height:140px}.contact__wide{grid-column:1/-1}.contact__consent{display:flex;gap:var(--s3);align-items:flex-start;font-size:var(--sm)}.contact__consent input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0;margin-top:var(--s1)}.contact__consent a{text-decoration:underline}.contact__notice{font-size:var(--xs)}.contact__result{font-size:var(--sm);color:var(--accent)}.footer__wrap{padding:var(--s7) var(--gutter);display:flex;justify-content:space-between;gap:var(--s6);flex-wrap:wrap}.footer__links{display:flex;gap:var(--s5);flex-wrap:wrap;font-size:var(--sm)}.footer__copy{width:100%;font:var(--xs) var(--mono);color:var(--muted)}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes scan{from{transform:translateX(-80px)}to{transform:translateX(500px)}}@keyframes travel{from{transform:translateX(-100%)}to{transform:translateX(400%)}}@keyframes answer{0%,100%{background:var(--accent-soft)}50%{background:color-mix(in srgb,var(--accent) 20%,var(--bg))}}@keyframes heroIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}[data-reveal]{transition:opacity .8s,transform .8s}.page__motion [data-reveal]:not([data-visible]){opacity:0;transform:translateY(24px)}
@media(min-width:1000px){.flow__heading{position:sticky;top:140px;align-self:start}}@media(max-width:1050px){.header__nav{gap:var(--s4)}.header__nav>a:nth-child(2),.header__nav>a:nth-child(3){display:none}.hero__layout{gap:var(--s5)}.reason__grid{gap:var(--s5)}}
@media(max-width:760px){.header__bar{padding-block:var(--s3)}.header__toggle{display:block;padding:var(--s2) var(--s3);border:1px solid var(--line);background:var(--bg);color:var(--text);min-height:44px;font-size:var(--sm)}.header__nav{display:none;position:absolute;top:100%;left:0;right:0;padding:var(--s5);background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.header__nav[data-open]{display:flex}.header__nav>a:nth-child(n){display:block}.header__nav a{padding:var(--s2)}.hero__layout,.problem__layout,.service__teaser,.flow__layout,.profile__layout,.faq__layout,.contact__layout{grid-template-columns:1fr;gap:var(--s7)}.hero__title{font-size:clamp(2.5rem,8vw,3.8rem)}#hero{padding-top:var(--s7)}.hero__dashboard{margin-top:var(--s3)}.hero__proof{gap:var(--s4);grid-template-columns:1fr 1fr}.hero__proof>div:nth-child(2){border:0}.hero__proof>div:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-top:var(--s5)}.hero__qualification{margin-top:var(--s2)}.hero__metric strong{font-size:var(--h3)}.service__grid,.works__grid,.price__grid,.reason__grid{grid-template-columns:1fr}.reason__item h3{min-height:0}.reason__number{margin-bottom:var(--s4)}.deck__slide{grid-template-columns:1fr;padding:var(--s5);gap:var(--s6);min-height:460px}.deck__controls{flex-wrap:wrap;padding:var(--s4)}.deck__controls [class$="__button"]{padding:var(--s2) var(--s3);gap:var(--s2)}.contact__form{grid-template-columns:1fr}.contact__email{font-size:var(--body)}.service__signal{font-size:var(--xs)}.price__popular{position:static;margin-bottom:var(--s3)}.hero__data{gap:var(--s2)}.footer__links{gap:var(--s4)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero__trend{stroke-dashoffset:0}.hero__scan{display:none}.page__motion [data-reveal]:not([data-visible]){opacity:1;transform:none}}

/* ===== キービジュアル：グラフの自動切り替え ===== */
.kv{display:grid}
.kv-scene{display:flex;flex-direction:column}
.kv-kpi{flex:1;grid-auto-rows:1fr}
.kv-heat{flex:1;display:flex;flex-direction:column;justify-content:center}
.kv-donut{flex:1}
.hero__chrome>span{white-space:nowrap}
#kvLabel{min-width:0;overflow:hidden;text-overflow:ellipsis}
.kv-scene{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
.kv-scene.is-active{opacity:1;visibility:visible;transition:opacity .25s;animation:kvIn .55s cubic-bezier(.2,.8,.2,1)}
@keyframes kvIn{0%{clip-path:inset(0 0 100% 0);filter:brightness(1.8)}60%{filter:brightness(1.15)}100%{clip-path:inset(0 0 0 0);filter:none}}
.hero__dashboard.is-flash{animation:kvFlash .6s ease-out}
@keyframes kvFlash{0%{box-shadow:0 0 0 1px var(--accent),0 0 36px rgba(46,230,166,.28)}100%{box-shadow:none}}
/* 1枚目：折れ線を切り替えのたびに描き直す */
.kv-scene .hero__trend{animation:none}
.kv-scene.is-active .hero__trend{animation:draw 2.4s .1s forwards}
.kv-scene.is-active .hero__area{animation:kvFade 1.2s both}
@keyframes kvFade{from{opacity:0}}
/* 一時停止／再生ボタン */
.kv-pause{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:transparent;color:var(--accent);font:var(--xs) var(--mono);padding:4px 10px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:border-color .2s,background .2s}
.kv-pause:hover{border-color:var(--accent);background:var(--accent-soft)}
.kv-pause:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.kv-pause__icon{width:8px;height:9px;border-left:2.5px solid currentColor;border-right:2.5px solid currentColor}
.kv-pause[aria-pressed="true"] .kv-pause__icon{border:0;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor}
/* インジケーター */
.hero__chrome{align-items:center}
.kv-dots{display:flex;gap:6px;margin-left:auto;margin-right:12px}
.kv-dot{width:22px;height:4px;border:0;padding:0;border-radius:2px;background:var(--line);cursor:pointer;position:relative;overflow:hidden}
.kv-dot:after{content:'';position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left}
.kv-dot[aria-selected="true"]:after{animation:kvBar var(--kv-cycle,4.5s) linear forwards}
.kv.is-paused~* .kv-dot:after,.kv-dots.is-paused .kv-dot[aria-selected="true"]:after{animation:none;transform:scaleX(1)}
@keyframes kvBar{to{transform:scaleX(1)}}
/* 2枚目：KPI パネル */
.kv-kpi{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin:var(--s4);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.kv-kpi__tile{background:var(--bg);padding:var(--s4);display:flex;flex-direction:column;gap:2px;min-height:150px}
.kv-kpi__tile span{font:var(--xs) var(--mono);color:var(--muted)}
.kv-kpi__tile strong{font:500 clamp(1.3rem,2.4vw,2rem)/1.5 var(--mono)}
.kv-kpi__tile small{font:var(--xs) var(--mono);color:var(--accent)}
.kv-spark{margin-top:auto;width:100%;height:36px}
.kv-spark path{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:100;stroke-dashoffset:100;vector-effect:non-scaling-stroke}
.kv-scene.is-active .kv-spark path{animation:kvSpark 1.4s .2s forwards}
@keyframes kvSpark{to{stroke-dashoffset:0}}
/* 3枚目：ドーナツ */
.kv-donut{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:var(--s5);padding:var(--s5) var(--s4)}
.kv-donut__chart{width:100%;max-width:240px;justify-self:center}
.kv-donut__track{fill:none;stroke:var(--line);stroke-width:26}
.kv-seg{fill:none;stroke:var(--c);stroke-width:26}
.kv-scene.is-active .kv-seg{animation:kvSeg .9s cubic-bezier(.3,.7,.2,1) both}
@keyframes kvSeg{from{stroke-dasharray:0 100}}
.kv-donut__k{fill:var(--muted);font:10px var(--mono);letter-spacing:.1em}
.kv-donut__v{fill:var(--text);font:500 24px var(--mono)}
.kv-donut__r{fill:var(--accent);font:500 15px var(--mono)}
.kv-donut__table{display:grid;gap:10px;min-width:0}
.kv-row{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));column-gap:8px;row-gap:5px;align-items:baseline;font-size:var(--sm);border-radius:6px;padding:4px 6px;margin:0 -6px}
.kv-row b{font:500 var(--xs) var(--mono);text-align:right}
.kv-row--head{font:var(--xs) var(--mono);color:var(--muted);padding-bottom:0}
.kv-row--head span:not(:first-child){text-align:right}
.kv-row i{grid-column:1/-1;height:3px;border-radius:2px;background:var(--line);position:relative;overflow:hidden}
.kv-row i:after{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--c);transform-origin:left}
.kv-scene.is-active .kv-row i:after{animation:kvGrow .9s .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes kvGrow{from{transform:scaleX(0)}}
.kv-row em{font-style:normal;font:600 10px var(--mono);color:#ffb547;margin-left:6px;opacity:0}
.kv-scene.is-active .kv-row--hot{animation:kvRowHot .6s 1.3s both}
.kv-scene.is-active .kv-row--hot em{animation:kvFadeIn .4s 1.3s both}
.kv-scene.is-active .kv-row--hot b:nth-of-type(2){animation:kvHotText .4s 1.3s both}
@keyframes kvRowHot{from{background:transparent;box-shadow:none}to{background:rgba(255,181,71,.10);box-shadow:inset 0 0 0 1px rgba(255,181,71,.55)}}
@keyframes kvFadeIn{to{opacity:1}}
@keyframes kvHotText{to{color:#ffb547}}
/* 4枚目：ヒートマップ */
.kv-heat{padding:var(--s4)}
.kv-heat__title{font:var(--xs) var(--mono);color:var(--muted);margin:0 0 var(--s3)}
.kv-heat__grid{width:100%;height:auto;display:block}
.kv-heat__grid text{fill:var(--muted);font:10px var(--mono)}
.kv-cell{fill:var(--accent)}
.kv-scene.is-active .kv-cell{animation:kvCell .5s both}
@keyframes kvCell{from{opacity:0}}
.kv-hot{fill:none;stroke:#ffb547;stroke-width:2}
.kv-scene.is-active .kv-hot{animation:kvHot 1.4s 1.1s ease-out infinite both}
@keyframes kvHot{0%{opacity:0;stroke-width:6}30%{opacity:1}100%{opacity:1;stroke-width:2}}
.kv-hot-label{fill:#ffb547!important;font:600 11px var(--mono)!important}
.hero__insight strong,.hero__insight p{transition:opacity .25s}
.hero__insight.is-swap strong,.hero__insight.is-swap p{opacity:0}
@media(max-width:760px){.kv-dots{gap:4px;margin-right:8px}.kv-dot{width:14px}.kv-heat__grid text{font-size:15px}.kv-hot-label{font-size:15px!important}.kv-kpi__tile{min-height:120px}.kv-donut{grid-template-columns:1fr;gap:var(--s4)}.kv-donut__chart{max-width:170px}}
@media(prefers-reduced-motion:reduce){.kv-spark path{stroke-dashoffset:0}}
/* ===== 全体を詰める ===== */
:root{
  --xs:.6875rem;--sm:.8125rem;--body:.875rem;--lg:1rem;--h3:1.125rem;
  --h2:clamp(1.55rem,2.6vw,2.25rem);--h1:clamp(2.1rem,3.9vw,3.5rem);--number:clamp(2rem,3.6vw,3rem);
  --s5:20px;--s6:24px;--s7:36px;--s8:48px;
  --section:clamp(44px,5vw,72px);--gutter:clamp(16px,4vw,56px);--max:1120px
}
body{line-height:1.65}
p{line-height:1.7}
[class$="__card"]{padding:var(--s5)}
[class$="__heading"]{margin-bottom:var(--s6)}
[class$="__heading"]>p:last-child:not(:first-child){margin-top:var(--s3)}
[class$="__eyebrow"]{margin-bottom:var(--s3)}
/* 箇条書きの1行ごとの間隔 */
[class$="__list"]{margin-top:var(--s3)}
[class$="__list"] li{padding:3px 0 3px var(--s5)}

/* ファーストビュー下の「支援実績・支援歴・資格」 */
#hero{padding-bottom:var(--s6)}
.hero__proof{margin-top:var(--s6);padding-top:var(--s4);gap:var(--s5)}
.hero__proof p{margin:0}
.hero__proof strong{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.25}
.hero__qualification{font-size:var(--lg);margin:var(--s1) 0 0}

/* 01 お悩み */
.problem__layout{gap:var(--s7)}
.problem__item{padding:var(--s3) 0;font-size:var(--body);gap:var(--s4);align-items:baseline}
.problem__item span{line-height:1.6}
.problem__answer{padding:var(--s4) var(--s5);font-size:var(--lg);margin-top:var(--s2)}

/* 02 サービス */
.service__icon{width:34px;height:34px;margin-bottom:var(--s3);font-size:var(--sm)}
.service__card h3{margin:var(--s1) 0 0}
.service__card>p{margin-top:var(--s2)}
.service__teaser{padding-top:var(--s6);gap:var(--s6)}

/* 03 選ばれる理由：見出し下の空きをなくす */
.reason__grid{gap:var(--s5)}
.reason__item{padding-top:var(--s4)}
.reason__item h3{min-height:0;margin-bottom:var(--s2)}
.reason__number{font-size:1.6rem;line-height:1.3;margin-bottom:var(--s2)}

/* 04 流れ */
.flow__layout{gap:var(--s7)}
.flow__step{padding-bottom:var(--s5)}
.flow__step h3{margin-bottom:var(--s1)}

/* 05 実績 */
.works__grid{gap:var(--s3)}
.works__card{gap:var(--s2)}
.works__outcome{font-size:clamp(1.7rem,2.8vw,2.3rem);padding:var(--s2) 0}
.works__tools{padding-top:var(--s3)}
#clients{padding-block:var(--s6)}

/* プロフィール・FAQ・お問い合わせ */
.profile__layout,.faq__layout,.contact__layout{gap:var(--s7)}
.profile__role{margin-bottom:var(--s3)}
.profile__bio p+p{margin-top:var(--s3)}
.profile__badge{margin-top:var(--s4)}
.faq__item summary{padding:var(--s3) var(--s6) var(--s3) 0}
.faq__item p{padding-bottom:var(--s3);margin-top:0}
.contact__form{gap:var(--s3) var(--s4)}
.contact__field{gap:var(--s1);grid-template-columns:auto 1fr;align-items:center}
.contact__field>input,.contact__field>select,.contact__field>textarea{grid-column:1/-1}
.contact__field small{justify-self:start;margin-left:var(--s2)}
.contact__field input,.contact__field select{min-height:42px;padding:var(--s2) var(--s3)}
.contact__field textarea{min-height:120px}
.contact__intro>p{margin-top:var(--s3)}
.contact__form [type=submit]{min-height:46px;font-weight:600}

/* 料金：4プランを1画面で比べられるように */
.price__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.price__card h3{font-size:var(--body);line-height:1.5}
.price__card>p{margin-top:var(--s2)}
.price__value{font-size:clamp(1.35rem,1.9vw,1.75rem);margin-top:var(--s3);line-height:1.3}
.price__value small{display:block;font-size:var(--xs);color:var(--muted);margin-top:2px}
.price__list{margin-bottom:var(--s4)}
.price__list li{font-size:var(--sm)}
.price__popular{position:absolute;right:var(--s4);top:var(--s4)}
@media(max-width:1100px){.price__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.price__grid{grid-template-columns:1fr}.price__popular{position:static}}

/* ===== ファーストビュー：グラフ〜下の説明文までを1画面に収める（PC） ===== */
@media(min-width:761px){
  .header__bar{padding-block:10px}
  #hero{padding-top:20px}
  .hero__layout{align-items:start}
  .hero__copy{padding-top:clamp(0px,3vh,32px)}
  .hero__title{font-size:clamp(2rem,min(3.9vw,7vh),3.5rem);margin:var(--s3) 0 var(--s4)}
  .hero__actions{margin-top:var(--s4)}
  /* グラフ部分の高さ＝画面の高さから、上下の部品の分を引いた残り */
  :root{--kv-h:clamp(230px,calc(100vh - 300px),420px)}
  .kv{height:var(--kv-h)}
  .kv-scene{height:100%;min-height:0;overflow:hidden}
  .hero__chrome{padding-block:10px}
  .hero__insight{padding-block:10px}
  .hero__data{margin-top:var(--s3)}
  .hero__visual .hero__caption{margin-top:var(--s1)}
  /* 1枚目：折れ線 */
  .hero__metrics{padding-block:var(--s3) var(--s2)}
  .hero__metric strong{font-size:clamp(1rem,min(1.8vw,3.4vh),1.6rem);line-height:1.5}
  .hero__graph{flex:1;min-height:0}
  .hero__graph svg{display:block;width:100%;height:100%}
  .hero__graph path,.hero__graph line{vector-effect:non-scaling-stroke}
  .hero__axis{padding-block:var(--s1) var(--s2)}
  /* 2枚目：KPI */
  .kv-kpi{flex:1;min-height:0;margin:var(--s3) var(--s4)}
  .kv-kpi__tile{min-height:0;padding:var(--s3) var(--s4)}
  .kv-kpi__tile strong{font-size:clamp(1.1rem,min(2.2vw,4vh),1.9rem);line-height:1.4}
  .kv-spark{height:clamp(18px,4vh,34px)}
  /* 3枚目：ドーナツ */
  .kv-donut{flex:1;min-height:0;padding:var(--s3) var(--s4)}
  .kv-donut__chart{max-height:calc(var(--kv-h) - 32px)}
  .kv-donut__table{gap:clamp(2px,.8vh,10px)}
  .kv-row{padding-block:2px}
  /* 4枚目：ヒートマップ */
  .kv-heat{flex:1;min-height:0;padding:var(--s3) var(--s4)}
  .kv-heat__title{margin-bottom:var(--s2)}
  .kv-heat__grid{flex:1;min-height:0;height:100%}
}

/* ===== スマホのファーストビュー：4画面を同じ低めの高さにそろえる ===== */
@media(max-width:760px){
  .kv{height:340px}
  .kv-scene{height:100%;min-height:0;overflow:hidden}
  .hero__metrics{padding-block:var(--s3) var(--s2)}
  .hero__graph{flex:1;min-height:0}
  .hero__graph svg{display:block;width:100%;height:100%}
  .hero__graph path,.hero__graph line{vector-effect:non-scaling-stroke}
  .hero__axis{padding-block:var(--s1) var(--s2)}
  .kv-kpi{flex:1;min-height:0;margin:var(--s3)}
  .kv-kpi__tile{min-height:0;padding:var(--s2) var(--s3)}
  .kv-kpi__tile strong{font-size:1.25rem;line-height:1.4}
  .kv-spark{height:24px}
  /* ドーナツは表と横並びに */
  .kv-donut{flex:1;min-height:0;grid-template-columns:104px minmax(0,1fr);gap:var(--s3);padding:var(--s3);align-items:center}
  .kv-donut__chart{max-width:104px}
  .kv-donut__table{gap:4px}
  .kv-row{font-size:11px;column-gap:4px;row-gap:3px}
  .kv-row b{font-size:10px}
  .kv-row--head{font-size:9px}
  .kv-row{grid-template-columns:minmax(0,1.8fr) repeat(3,minmax(0,.9fr))}
  .kv-row em{font-size:8px;margin-left:3px;white-space:nowrap}
  .kv-row>span{white-space:nowrap}
  .kv-heat{flex:1;min-height:0;padding:var(--s3)}
  .kv-heat__grid{flex:1;min-height:0;height:100%}
}

/* 資料：本物のスライド画像 */
.deck__stage{position:relative;background:#000;aspect-ratio:16/9}
.deck__stage img{display:block;width:100%;height:100%;object-fit:contain}
.deck__frame:fullscreen .deck__stage{flex:1;aspect-ratio:auto}


/* ===== 複数ページ化で足した部品 ===== */
.header__nav a[aria-current="page"]{color:var(--accent)}
.page__hero{padding-top:var(--s8);padding-bottom:var(--s6)}
.page__hero .page__inner,.cta__inner,.more__row{max-width:var(--max);margin-inline:auto}
.page__crumb{font:var(--xs) var(--mono);color:var(--muted);margin-bottom:var(--s4)}
.page__crumb a{color:var(--muted)}
.page__crumb a:hover{color:var(--accent)}
.page__hero h1{font-size:var(--h2);line-height:1.35;margin:0}
.page__hero--crumb{padding-bottom:0;border-bottom:0}
.page__hero--crumb+section{padding-top:var(--s5)}
section h1{font-size:var(--h2);line-height:1.35;margin:0;font-weight:500;letter-spacing:-.035em}
.page__hero h1 mark{background:var(--accent-soft);color:var(--accent);padding:0 .15em}
.page__hero p{max-width:680px;margin-top:var(--s3)}
.more__row{display:flex;justify-content:flex-end;margin-top:var(--s5)}
.cta__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);flex-wrap:wrap;border:1px solid var(--accent-mid);background:var(--accent-soft);border-radius:var(--radius);padding:var(--s6)}
.cta__inner h2{font-size:var(--h3);margin:0}
.cta__inner p{margin-top:var(--s1);font-size:var(--sm)}
/* 主なクライアント：数が増えても自動で折り返すロゴの並び */
.clients__inner{max-width:var(--max);margin-inline:auto}
.clients__inner h2{font-size:var(--h3);margin:0}
.clients__logos{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--s3)}
.clients__logo{height:84px;display:grid;place-items:center;padding:var(--s4) var(--s5);border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:border-color .25s}
.clients__logo:hover{border-color:var(--accent)}
/* 取引先のロゴは元の画像のまま使う（色・形の加工はしない） */
.clients__logo img{display:block;max-width:100%;max-height:44px;width:auto;height:auto;object-fit:contain}.clients__link{display:grid;place-items:center;width:100%;height:100%}
@media(max-width:760px){.clients__logos{grid-template-columns:repeat(2,minmax(0,1fr))}.clients__logo{height:72px;padding:var(--s3)}}
/* ===== 解説動画 ===== */
.videos__inner,.vteaser__inner{max-width:var(--max);margin-inline:auto}
.videos__heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s5);flex-wrap:wrap;margin-bottom:var(--s4)}
.videos__heading>div{max-width:680px}
.videos__heading p{margin-top:var(--s2);font-size:var(--sm)}
.videos__toc{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s5)}
.videos__toc a{font-size:var(--xs);border:1px solid var(--line);border-radius:999px;padding:4px 12px;color:var(--muted);transition:border-color .2s,color .2s}
.videos__toc a:hover{border-color:var(--accent);color:var(--accent)}
.videos__toc a b{font:500 var(--xs) var(--mono);color:var(--accent);margin-right:4px}
.videos__list{display:grid;gap:var(--s5)}
.videos__item{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s5);align-items:start;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--s4);scroll-margin-top:90px}
.videos__player{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#05070a}
.videos__player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.videos__facade{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer}
.videos__facade img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:opacity .2s}
.videos__facade:hover img{opacity:1}
.videos__play{position:absolute;left:50%;top:50%;width:64px;height:44px;margin:-22px 0 0 -32px;border-radius:12px;background:rgba(0,0,0,.72);display:grid;place-items:center;transition:background .2s}
.videos__facade:hover .videos__play{background:#f00}
.videos__play:after{content:'';border-left:18px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:4px}
.videos__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:var(--s5);gap:var(--s2);
  background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/32px 32px,radial-gradient(ellipse at 70% 30%,var(--accent-soft),transparent 60%),#07090c}
.videos__badge{align-self:flex-start;font:600 var(--xs) var(--mono);letter-spacing:.1em;color:#1d1608;background:#ffb547;border-radius:999px;padding:2px 10px}
.videos__ph-title{font-size:var(--h3);font-weight:600;color:var(--text);line-height:1.4;margin:0}
.videos__ph-note{font-size:var(--xs);margin:0}
.videos__num{font:500 var(--xs) var(--mono);letter-spacing:.1em;color:var(--accent);margin:0}
.videos__body h3{font-size:var(--h3);margin:var(--s1) 0 var(--s2)}
.videos__body>p{font-size:var(--sm);margin:0}
.videos__sub{font:600 var(--xs) var(--mono);letter-spacing:.08em;color:var(--muted);margin:var(--s4) 0 var(--s2)}
.videos__chapters,.videos__eps{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:var(--sm)}
.videos__chapters b{font:500 var(--xs) var(--mono);color:var(--accent);display:inline-block;min-width:3.4em}
.videos__chapters a,.videos__eps a{color:var(--text)}
.videos__chapters a:hover,.videos__eps a:hover{color:var(--accent)}
.videos__eps a:after{content:' ↗';color:var(--accent)}
.videos__none{font-size:var(--xs);margin:0}.videos__parts{display:grid;gap:var(--s3)}.videos__part{margin:0}.videos__part figcaption{font:500 var(--xs) var(--mono);color:var(--muted);margin-top:6px}.videos__partname{font:500 var(--xs) var(--mono);color:var(--accent);margin:var(--s2) 0 4px}.videos__body>p.videos__partname:first-of-type{margin-top:0}
.videos__body>p.videos__sub{margin:var(--s4) 0 var(--s1)}
.videos__chapters li,.videos__eps li{padding:1px 0 1px 1.3em}
/* 解説動画ページ：最初の動画までを1画面に収める */
[data-page=videos] .page__hero--crumb{padding-top:var(--s4)}
[data-page=videos] .page__hero--crumb .page__crumb{margin-bottom:0}
[data-page=videos] #videos .videos__eyebrow{display:none}
[data-page=videos] #videos h1{font-size:clamp(1.3rem,min(2vw,4vh),1.8rem)}
[data-page=videos] .videos__heading{margin-bottom:var(--s3)}
[data-page=videos] .videos__heading p{margin-top:var(--s1)}
[data-page=videos] .videos__toc{margin-bottom:var(--s3);gap:6px}
[data-page=videos] .videos__toc a{padding:2px 10px}
.vteaser__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);align-items:center}
.vteaser__cats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}
.vteaser__cats a{display:block;height:100%;border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3);background:var(--surface);transition:border-color .25s,background .25s}
.vteaser__cats a:hover{border-color:var(--accent);background:var(--accent-soft)}
.vteaser__cats b{display:block;font-size:var(--sm);color:var(--text);line-height:1.4}
.vteaser__cats small{display:block;margin-top:4px;font:var(--xs) var(--mono);color:var(--muted)}
.vteaser__cats small.is-live{color:var(--accent)}
.vteaser__actions{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s5)}
@media(max-width:760px){.videos__item{grid-template-columns:1fr;padding:var(--s3)}.vteaser__inner{grid-template-columns:1fr;gap:var(--s5)}.vteaser__cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* トップ：BigQuery の予告 */
.bq__inner{max-width:var(--max);margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);align-items:center}
.bq__inner h2 mark{background:var(--accent-soft);color:var(--accent);padding:0 .15em}
.bq__themes{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.bq__themes a{display:flex;align-items:center;gap:var(--s3);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3) var(--s4);background:var(--surface);transition:border-color .25s,background .25s}
.bq__themes a:hover{border-color:var(--accent);background:var(--accent-soft)}
.bq__themes b{font:600 var(--xs) var(--mono);color:var(--accent);min-width:2.2em}
.bq__themes span{flex:1}
.bq__themes i{font-style:normal;color:var(--accent)}
.bq__actions{margin-top:var(--s5)}
/* トップ：資料の予告 */
.deckteaser__inner{max-width:var(--max);margin-inline:auto;display:grid;grid-template-columns:1fr 1.2fr;gap:var(--s7);align-items:center}
.deckteaser__thumb{display:block;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .25s,transform .25s}
.deckteaser__thumb:hover{border-color:var(--accent);transform:translateY(-2px)}
.deckteaser__thumb img{display:block;width:100%;height:auto}
.deckteaser__actions,.deck__downloads{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s5)}
/* 資料ページ */
.deck__downloads{margin-top:var(--s4)}
/* BigQuery ページ：演出を枠いっぱいに */
.showcase__frame{display:block;width:100%;border:0;min-height:420px;background:var(--bg)}
.page__hero--compact{padding-top:var(--s5);padding-bottom:var(--s3);border-bottom:0}
.page__hero--compact .page__crumb{margin-bottom:var(--s2)}
.page__hero--compact h1{font-size:clamp(1.35rem,min(2.2vw,4.2vh),2rem)}
.page__hero--compact p{margin-top:var(--s1);font-size:var(--sm)}
/* 資料ページ：スライドと送りボタンが1画面に収まる幅にする */
.deck__frame{max-width:min(100%,calc((100vh - 285px) * 16 / 9));margin-inline:auto}
[data-page=deck] .page__hero--crumb{padding-top:var(--s4)}
[data-page=deck] .page__hero--crumb .page__crumb{margin-bottom:0}
[data-page=deck] #deck .deck__eyebrow{display:none}
[data-page=deck] #deck h1{font-size:clamp(1.3rem,min(2vw,4vh),1.8rem)}
[data-page=deck] #deck .deck__heading>p{margin-top:var(--s1)}
[data-page=deck] .deck__controls{padding:var(--s2) var(--s4)}
[data-page=deck] .deck__controls [class$="__button"]{min-height:36px;padding:var(--s1) var(--s3)}
.deck__hint,.deck__downloads{max-width:min(100%,calc((100vh - 285px) * 16 / 9));margin-inline:auto}
#deck .deck__heading{margin-bottom:var(--s4)}
section.showcase{padding-top:0;padding-inline:0}
/* 中くらいの画面幅：元の CSS はメニューの2・3番目を隠すが、全部見せて間隔を詰める */
@media(min-width:761px) and (max-width:1050px){.header__nav>a:nth-child(2),.header__nav>a:nth-child(3){display:inline}.header__nav{gap:var(--s3)}.header__nav a{font-size:var(--xs)}}
@media(max-width:760px){.bq__inner,.deckteaser__inner{grid-template-columns:1fr;gap:var(--s5)}.cta__inner{padding:var(--s5)}}

@media(max-width:760px){.page__hero--compact p:not(.page__crumb){display:none}.page__hero--compact h1{font-size:1.2rem}}

/* ===== WordPress 用に足したもの ===== */
.admin-bar .header__bar{top:32px}
@media(max-width:782px){.admin-bar .header__bar{top:46px}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* 固定ページ・投稿（プライバシーポリシーなど）の本文 */
.entry__wrap{padding-top:var(--s5)}
.entry{max-width:780px;margin-inline:auto}
.entry h1{font-size:var(--h2);line-height:1.35;margin:0 0 var(--s5)}
.entry h2{font-size:var(--h3);margin:var(--s7) 0 var(--s3)}
.entry h3{font-size:var(--lg);margin:var(--s6) 0 var(--s2)}
.entry p,.entry li{color:var(--muted);font-size:var(--body)}
.entry p{margin:0 0 var(--s4)}
.entry ul,.entry ol{padding-left:1.4em;margin:0 0 var(--s4)}
.entry a{color:var(--accent);text-decoration:underline}
.entry table{width:100%;border-collapse:collapse;margin:0 0 var(--s5);font-size:var(--sm)}
.entry th,.entry td{border:1px solid var(--line);padding:var(--s2) var(--s3);text-align:left}
.entry__back{margin-top:var(--s7)}
/* お問い合わせフォームのエラー表示 */
.contact__error{grid-column:1/-1;color:#ff8a8a;font-size:var(--xs);margin:0}
.contact__alert{grid-column:1/-1;border:1px solid #ff8a8a;background:rgba(255,138,138,.08);color:#ffd0d0;border-radius:var(--radius);padding:var(--s3) var(--s4);font-size:var(--sm);margin:0}
.contact__field small.contact__opt{color:var(--muted)}
.contact__consent a{color:var(--accent)}
/* 送信完了 */
.thanks__box{max-width:640px;margin:0 auto;text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--s8) var(--s6)}
.thanks__icon{width:56px;height:56px;margin:0 auto var(--s5);border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}
.thanks__box h1{font-size:var(--h3);margin:0 0 var(--s4)}
.thanks__box p{margin:0 0 var(--s3)}
.thanks__box .thanks__button{margin-top:var(--s5)}
/* 料金：サンプルレポートへのリンク */
.price__sample{display:inline-block;margin-top:var(--s2);font-size:var(--xs);color:var(--accent);text-decoration:underline}




/* ==== WORKS QA : make_works_qa.py が書き出す。手で直さない ==== */
.worksqa__heading{margin-bottom:var(--s5)!important}.worksqa__heading h2{font-size:clamp(1.4rem,2.4vw,2rem)}
.worksqa__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5) var(--s6)}
.worksqa__group h3{font-size:var(--body);color:var(--accent);margin-bottom:var(--s2)}
.worksqa__group .faq__item summary{font-size:var(--sm);padding-top:var(--s3);padding-bottom:var(--s3)}
.worksqa__group .faq__item p{font-size:var(--sm)}
.worksqa__ind{display:inline-block;font:var(--xs)/1.6 var(--sans);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 6px;margin-right:var(--s2);vertical-align:1px}
@media(max-width:900px){.worksqa__groups{grid-template-columns:1fr}}
/* ==== /WORKS QA ==== */



/* ==== 言語の切り替え（inc/i18n.php） ==== */
.header__lang{border:1px solid var(--line);border-radius:999px;padding:2px 12px;font-size:var(--xs);color:var(--muted);white-space:nowrap}.header__lang:hover{border-color:var(--accent);color:var(--accent)}
html[lang=en] body{word-break:normal;overflow-wrap:break-word}
/* ==== /言語の切り替え ==== */




/* ==== DECK PAGE (/deck/) : make_deck_page.py が書き出す。手で直さない ==== */
[data-page=deck] #deck{padding-bottom:var(--s6)}
[data-page=deck] .deck__heading{display:flex;align-items:baseline;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s3)}
[data-page=deck] .deck__heading h1{font-size:clamp(1.4rem,2.2vw,1.9rem)}[data-page=deck] .deck__heading>p{margin-top:0}
.deck__layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:var(--s4);align-items:start}
.deck__picks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2)}
.deck__picks li{position:relative}
.deck__pick{width:100%;display:grid;grid-template-columns:88px 1fr;gap:var(--s3);align-items:center;text-align:left;padding:var(--s2);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text);transition:border-color .2s,background .2s}
.deck__pick:hover{border-color:var(--accent-mid)}
.deck__pick[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}
.deck__pick img{width:88px;height:auto;border-radius:4px;display:block}
.deck__pickText{display:flex;flex-direction:column;line-height:1.45}
.deck__pickText strong{font-size:var(--sm);font-weight:600}.deck__pick[aria-pressed=true] strong{color:var(--accent)}
.deck__pickText small{font:var(--xs) var(--mono);color:var(--muted);margin-bottom:18px}
.deck__pickPdf{position:absolute;left:calc(88px + var(--s2) + var(--s3));bottom:var(--s2);font:var(--xs)/1.4 var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 6px;background:var(--bg)}
.deck__pickPdf:hover{color:var(--accent);border-color:var(--accent)}
[data-page=deck] .deck__frame,[data-page=deck] .deck__hint{max-width:min(100%,calc((100vh - 250px) * 16 / 9));margin-inline:0}
.deck__count b{font:600 var(--sm) var(--sans);margin-right:var(--s3);color:var(--text)}
.deck__controls>div{flex-wrap:wrap}
.deck__listHeading{margin-bottom:var(--s5)!important}.deck__listHeading h2{font-size:clamp(1.4rem,2.4vw,2rem)}
.deck__listEyebrow{margin-bottom:var(--s2)!important}
.deck__abouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.deck__about{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s5);display:flex;flex-direction:column}
.deck__aboutTag{font:var(--xs) var(--mono);color:var(--accent)}
.deck__about h3{font-size:var(--lg);margin-top:var(--s2)}
.deck__about>p{font-size:var(--sm);margin-top:var(--s2)}
.deck__for{border-left:2px solid var(--accent-mid);padding-left:var(--s3)}.deck__for b{display:block;color:var(--text);font-size:var(--xs)}
.deck__toc{list-style:none;margin:var(--s3) 0 0;padding:0;font-size:var(--sm);color:var(--muted);counter-reset:toc}
.deck__toc li{counter-increment:toc;padding:3px 0 3px 26px;position:relative;border-top:1px solid var(--line)}
.deck__toc li:before{content:counter(toc,decimal-leading-zero);position:absolute;left:0;font:var(--xs)/2 var(--mono);color:var(--accent)}
.deck__aboutActions{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:auto;padding-top:var(--s4)}
.deck__aboutActions [class$="__button"]{min-height:38px;padding:var(--s1) var(--s4);gap:var(--s3)}
@media(max-width:900px){.deck__abouts{grid-template-columns:1fr}}
@media(max-width:900px){.deck__layout{grid-template-columns:1fr}.deck__picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.deck__pick{grid-template-columns:1fr;gap:var(--s1);padding:var(--s1)}.deck__pick img{width:100%}.deck__pickText small,.deck__pickPdf{display:none}.deck__pickText strong{font-size:var(--xs);line-height:1.35}[data-page=deck] .deck__frame,[data-page=deck] .deck__hint{max-width:100%}.deck__count b{display:block;font-size:var(--xs)}}
/* ==== /DECK PAGE ==== */

/* ==== FLOAT CTA ==== */
.fab{display:none}
@media(max-width:760px){
 .fab{display:inline-flex;align-items:center;gap:6px;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;padding:12px 20px;border-radius:999px;background:var(--accent);color:var(--bg);font-size:var(--sm);font-weight:600;box-shadow:0 8px 28px rgba(0,0,0,.5);opacity:0;transform:translateY(20px) scale(.96);pointer-events:none;transition:opacity .3s ease,transform .3s ease}
 .fab.is-on{opacity:1;transform:none;pointer-events:auto}
}
@media(prefers-reduced-motion:reduce){.fab{transition:none}}
/* ==== /FLOAT CTA ==== */

/* ==== AUDIT PAGE (/audit/) : make_audit_page.py が書き出す。手で直さない ==== */
[data-page=audit] section{padding-block:clamp(40px,5vw,72px)}
[data-page=audit] .page__hero--crumb{padding-bottom:0}
.audit__hero{padding-top:var(--s5)!important}
.audit__heroGrid{display:grid;grid-template-columns:1.25fr .9fr;gap:var(--s7);align-items:center}
.audit__hero h1{font-size:var(--h1);line-height:1.2;letter-spacing:-.04em;font-weight:600}
.audit__hero h1 mark{white-space:nowrap}
.audit__lead{margin-top:var(--s5);font-size:var(--lg)}.audit__lead strong{color:var(--text)}
.audit__ctaRow{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6)}
.audit__small,.audit__tiny{font-size:var(--xs);margin-top:var(--s3)}.audit__tiny{text-align:right}
.audit__verdicts{display:flex;flex-direction:column;gap:var(--s3)}
.audit__heroGrid--single{grid-template-columns:minmax(0,860px)}
#audit-hero{padding-bottom:var(--s7)!important}
.audit__inner{display:flex;align-items:flex-end;gap:var(--s4);margin-top:var(--s5);max-width:720px}
.audit__thinker{width:120px;height:auto;flex:none;display:block}
.audit__innerBubble{position:relative;flex:1;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:var(--s4) var(--s5);margin-bottom:var(--s5)}
.audit__thinker+.audit__innerBubble:before{content:'';position:absolute;left:-9px;bottom:22px;width:16px;height:16px;background:var(--surface);border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}
.audit__innerLabel{font-size:var(--xs)!important;color:var(--muted);margin-bottom:var(--s1)}
.audit__innerBubble p:not(.audit__innerLabel){color:var(--text);font-size:var(--body);line-height:1.7}.audit__innerBubble strong{color:#ffb547;font-weight:600}

.audit__vcard{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--s4) var(--s5)}
.audit__vcard--hl{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-color:var(--accent-mid)}.audit__vcard--hl b{color:var(--accent)}
.audit__vtop{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);font-size:var(--sm);color:var(--muted)}
.audit__vnum{display:block;font:600 2rem/1.3 var(--mono)}
.audit__vcard p{margin-top:var(--s1);color:var(--text)}
.audit__alert{color:#ffb547!important}.audit__ok{color:var(--accent)}
.audit__judge{font-style:normal;font-size:var(--xs);font-weight:600;border:1px solid currentColor;border-radius:999px;padding:1px 10px;white-space:nowrap}
.audit__judge--fix{color:#ffb547}.audit__judge--ok{color:var(--accent)}.audit__judge--check{color:var(--text)}
.audit__heading{margin-bottom:var(--s6)!important}.audit__heading h2{line-height:1.35}
.audit__heading>p:not(.audit__eyebrow){max-width:720px;margin-top:var(--s3)!important}
.audit__card{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s5)}
.audit__card--hl{border-color:var(--accent-mid);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.audit__card h3{font-size:var(--lg);line-height:1.5}.audit__card h4{margin:var(--s4) 0 var(--s1);font-size:var(--body);font-weight:500}
.audit__card>p{font-size:var(--sm);margin-top:var(--s2)}
.audit__tag{font:600 var(--xs)/1.5 var(--mono);letter-spacing:.12em;color:var(--accent);margin-bottom:var(--s2)!important}.audit__tag--alert{color:#ffb547}
.audit__list{margin-top:var(--s3)!important}.audit__list li{padding-block:var(--s1)!important}
.audit__quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.audit__quote{margin:0;position:relative;padding-top:var(--s6)}.audit__quote:before{content:'“';position:absolute;left:var(--s5);top:2px;font:700 2.2rem/1 Georgia,serif;color:var(--accent)}
.audit__quote p{color:var(--text)}
.audit__callout{margin-top:var(--s5);border:1px solid var(--accent-mid);background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:var(--radius);padding:var(--s5) var(--s6)}
.audit__callout p{color:var(--text);font-size:var(--lg);font-weight:500}.audit__callout strong{color:var(--accent);font-weight:600}
.audit__split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);align-items:start}
.audit__split .audit__heading{margin-bottom:0!important}.audit__split .audit__heading p{max-width:none}
.audit__aside{border-left:2px solid var(--line);padding-left:var(--s4);font-size:var(--sm)}
.audit__iceberg{display:flex;flex-direction:column;gap:var(--s3)}
.audit__chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)!important}.audit__chips span{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:0 12px;font-size:var(--sm)}
.audit__divider{text-align:center;font-size:var(--xs);border-top:1px dashed var(--line);padding-top:var(--s2)}
.audit__two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.audit__three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.audit__four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.audit__gaps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2)}
.audit__gap{display:grid;grid-template-columns:40px 1.3fr 1fr;gap:var(--s4);align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3) var(--s5)}
.audit__gap h3{font-size:var(--body)}.audit__gap div p{font-size:var(--xs)}
.audit__num,.audit__bignum{font:600 var(--body) var(--mono);color:var(--accent)}.audit__bignum{font-size:1.6rem;line-height:1.2}
.audit__risk{color:#ffb547;font-size:var(--sm)}
.audit__letter{font:700 1.8rem/1 var(--mono);color:var(--muted)}.audit__card--hl .audit__letter{color:var(--accent)}
.audit__sub{font-size:var(--xs)!important;margin-top:0!important}
.audit__label{font-size:var(--xs)!important;color:var(--muted);margin-top:var(--s4)!important;font-weight:600}
.audit__action{color:var(--text)!important}.audit__card--hl .audit__action{color:var(--accent)!important}
.audit__subhead{margin:var(--s6) 0 var(--s3);font-size:var(--lg)}.audit__subhead small{font-size:var(--xs);color:var(--muted);font-weight:400;margin-left:var(--s2)}
.audit__tableWrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:var(--s3)}
.audit__table{width:100%;border-collapse:collapse;font-size:var(--sm);min-width:760px}
.audit__table th,.audit__table td{padding:var(--s3);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.audit__table thead th{font-size:var(--xs);color:var(--muted);font-weight:500;background:var(--surface);white-space:nowrap}
.audit__table tbody th{font-weight:600;white-space:nowrap}.audit__table tr:last-child>*{border-bottom:0}
.audit__impact{text-align:center!important}.audit__mail{color:var(--muted)}
.audit__steps{list-style:none;margin:0 0 var(--s5);padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s4);position:relative}
.audit__steps:before{content:'';position:absolute;left:18px;right:18px;top:18px;height:1px;background:var(--accent-mid)}
.audit__steps li{position:relative}.audit__steps h3{font-size:var(--lg);margin-top:var(--s3)}.audit__steps p{font-size:var(--sm)}
.audit__dot{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--accent);background:var(--bg);color:var(--accent);font:600 var(--xs) var(--mono);position:relative}
.audit__time{color:var(--accent)!important;font:600 var(--xs) var(--mono)!important}
.audit__plan{position:relative;display:flex;flex-direction:column}
.audit__badge{position:absolute;right:var(--s4);top:var(--s4);font-size:var(--xs);border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:0 10px}
.audit__price{font:600 2rem/1.3 var(--mono)!important;color:var(--accent)!important;margin:var(--s4) 0 var(--s2)!important;padding-bottom:var(--s3);border-bottom:1px solid var(--line)}
.audit__price small{font:400 var(--sm) var(--sans);color:var(--muted);margin-left:var(--s1)}
.audit__note{margin-top:var(--s4);font-size:var(--sm)}.audit__note strong{color:var(--accent)}
.audit__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);margin-bottom:var(--s3)}
.audit__stat{border:1px solid var(--accent-mid);background:color-mix(in srgb,var(--accent) 7%,transparent);border-radius:var(--radius);padding:var(--s4) var(--s5)}
.audit__stat p{color:var(--text);font-weight:600}.audit__stat strong{font:600 2rem/1.2 var(--mono);color:var(--accent);margin-right:var(--s1)}
.audit__stat span{font-size:var(--xs);color:var(--muted)}
.audit__limit{margin-top:var(--s3);border:1px solid #6b5220;background:#2b2212;border-radius:var(--radius);padding:var(--s3) var(--s5);color:var(--text);font-weight:500}
.audit__limit b{color:#ffb547;margin-right:var(--s3)}
.audit__doc{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s7);align-items:center;border:1px solid var(--accent-mid);border-radius:var(--radius);padding:var(--s6);background:color-mix(in srgb,var(--accent) 5%,transparent)}
.audit__doc h2{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.4}.audit__doc p:not(.audit__eyebrow){margin-top:var(--s3)}
.audit__docThumb img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:6px;transition:transform .25s}.audit__docThumb:hover img{transform:translateY(-3px)}
@media(max-width:1050px){.audit__four{grid-template-columns:repeat(2,minmax(0,1fr))}.audit__steps{grid-template-columns:repeat(3,minmax(0,1fr))}.audit__steps:before{display:none}}
@media(max-width:900px){.audit__heroGrid,.audit__split,.audit__doc{grid-template-columns:1fr;gap:var(--s6)}.audit__quotes,.audit__three,.audit__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.audit__gap{grid-template-columns:32px 1fr}.audit__risk{grid-column:2}}
@media(max-width:600px){.audit__quotes,.audit__three,.audit__two,.audit__four,.audit__stats,.audit__steps{grid-template-columns:1fr}.audit__callout{padding:var(--s4)}.audit__callout p{font-size:var(--body)}}
/* AIのレビューでは足りない理由 */
.audit__aiGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.audit__aiCase{grid-column:span 1}.audit__aiCase h3{color:var(--accent)}
.audit__table--ai{min-width:620px}.audit__table--ai td{vertical-align:top}.audit__table--ai thead th:last-child,.audit__aiHl{color:var(--accent)}
/* 図で見るタブ */
.vis__heading{text-align:center;margin-inline:auto}.vis__heading h2{font-size:clamp(1.5rem,3vw,2.3rem)}
.vis__lead{margin-inline:auto!important;color:var(--muted)}
.vis__icon{display:block;width:48px;height:48px;color:var(--accent)}
.vis__pains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);max-width:900px;margin-inline:auto}
.vis__pain{border:1px solid var(--line);border-radius:16px;padding:var(--s6) var(--s4);text-align:center;background:var(--surface)}
.vis__pain .vis__icon{width:72px;height:72px;margin:0 auto var(--s3);color:#ffb547}
.vis__pain p{color:var(--text);font-size:var(--lg);line-height:1.5}.vis__pain b{font-size:1.5rem;color:#ffb547}
.vis__inner{margin-inline:auto;justify-content:center;max-width:440px}
.vis__compare{display:flex;flex-direction:column;gap:var(--s4);max-width:900px;margin-inline:auto}
.vis__row{border:1px solid var(--line);border-radius:16px;padding:var(--s4) var(--s5) var(--s5);background:var(--surface)}
.vis__row--hl{border-color:var(--accent-mid);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
.vis__rowLabel{display:inline-block;font-size:var(--xs);font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 12px;margin-bottom:var(--s3)}
.vis__row--hl .vis__rowLabel{color:var(--accent);border-color:var(--accent-mid)}
.vis__flow{display:flex;align-items:flex-start;justify-content:center;gap:var(--s2)}
.vis__node{flex:1 1 0;min-width:0;max-width:150px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.vis__node .vis__icon{width:52px;height:52px;color:var(--muted);margin-bottom:var(--s1)}
.vis__node b{font-size:var(--sm);color:var(--text);line-height:1.35}.vis__node small{font-size:var(--xs);line-height:1.5;color:var(--muted)}
.vis__node--hl .vis__icon{color:var(--accent)}.vis__node--dim{opacity:.55}
.vis__arrow{flex:0 0 22px;height:52px;position:relative}
.vis__arrow:before{content:'';position:absolute;left:0;right:5px;top:calc(50% - 1px);height:2px;background:var(--line)}
.vis__arrow:after{content:'';position:absolute;right:0;top:calc(50% - 5px);border-left:7px solid var(--line);border-top:5px solid transparent;border-bottom:5px solid transparent}
.vis__row--hl .vis__arrow:before{background:var(--accent-mid)}.vis__row--hl .vis__arrow:after{border-left-color:var(--accent-mid)}
.vis__warn{color:#ffb547!important;font-style:normal}.vis__ok{color:var(--accent);font-style:normal}
.vis__bubbleWrap{flex:1 1 0;min-width:0;max-width:140px;height:52px;display:flex;align-items:center}
.vis__make{color:#7cc4ff;font-style:normal;font-weight:600}
.vis__bubble{width:100%;border:1px solid var(--line);border-radius:14px;padding:var(--s2) var(--s3);font-size:var(--sm);text-align:center;line-height:1.4;color:var(--muted);background:var(--bg)}
.vis__bubble--hl{border-color:var(--accent);color:var(--accent);font-weight:600}
.vis__note{max-width:900px;margin:var(--s5) auto 0;text-align:center;font-size:var(--lg);color:var(--text);line-height:1.7}.vis__note b{color:var(--accent)}
.vis__ice{max-width:640px;margin-inline:auto;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.vis__sky{position:relative;padding:var(--s5) var(--s5) calc(12% + var(--s3));text-align:center;background:linear-gradient(var(--bg),var(--surface))}
.vis__tip{position:absolute;left:32.9%;width:34.2%;bottom:0;height:auto;aspect-ratio:200/70;fill:color-mix(in srgb,var(--accent) 22%,var(--surface));stroke:var(--accent);stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.vis__tip path{vector-effect:non-scaling-stroke}
.vis__hidden{list-style:none;padding:0;margin:var(--s3) auto 0;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}
.vis__hidden li{border:1px solid #ffb547;color:#ffb547;background:rgba(7,9,12,.6);border-radius:999px;padding:0 14px;font-size:var(--sm);opacity:calc(1 - var(--k) * .11);filter:blur(calc(var(--k) * .22px))}
.vis__iceNote{position:relative;margin-top:var(--s4);font-size:var(--xs);color:var(--muted)}
.vis__sea{position:relative;padding:var(--s5) var(--s5) var(--s7);min-height:340px;text-align:center;background:linear-gradient(#0a1c26,#060d12);border-top:2px solid var(--accent-mid)}
.vis__mass{position:absolute;left:12%;top:0;width:76%;height:100%;opacity:.9;fill:rgba(255,181,71,.07);stroke:rgba(255,181,71,.35);stroke-width:1.5;vector-effect:non-scaling-stroke}
.vis__iceLabel{position:relative;font-weight:600;font-size:var(--sm)}
.vis__ice .audit__chips{position:relative;justify-content:center}
.vis__chips--warn span{border-color:#ffb547;color:#ffb547;background:rgba(7,9,12,.65)}
.vis__tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);max-width:900px;margin:var(--s5) auto 0}
.vis__tiles--5{grid-template-columns:repeat(5,minmax(0,1fr))}.vis__tiles--2{grid-template-columns:repeat(2,minmax(0,1fr))}.vis__tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vis__tile{border:1px solid var(--line);border-radius:14px;padding:var(--s4) var(--s3);text-align:center;background:var(--surface)}
.vis__tile .vis__icon{width:44px;height:44px;margin:0 auto var(--s2)}
.vis__tile p{color:var(--text);font-size:var(--sm);line-height:1.5;font-weight:500}
.vis__tile--warn .vis__icon{color:#ffb547}.vis__tile--line{background:transparent}
.vis__sort{max-width:760px;margin-inline:auto;text-align:center}
.vis__sortTop{display:inline-block;border:1px solid #ffb547;color:#ffb547;border-radius:999px;padding:var(--s2) var(--s5);font-weight:600}
.vis__fork{display:block;width:100%;height:40px;fill:none;stroke:var(--line);stroke-width:2;vector-effect:non-scaling-stroke}
.vis__bins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.vis__bin{border:1px solid var(--line);border-radius:14px;padding:var(--s4) var(--s3);display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--surface)}
.vis__bin .vis__icon{width:44px;height:44px;color:var(--muted)}.vis__bin b{color:var(--text);line-height:1.4}.vis__bin small{font-size:var(--xs);color:var(--muted);line-height:1.5}
.vis__letter{font:700 var(--lg) var(--mono);color:var(--muted)}
.vis__bin--hl{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.vis__bin--hl .vis__letter,.vis__bin--hl .vis__icon,.vis__bin--hl small{color:var(--accent)}
.vis__deliver{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s4);max-width:900px;margin:var(--s5) auto 0;align-items:center}
.vis__paper{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:var(--s4) var(--s5)}
.vis__paperHead{font-weight:600;color:var(--text)}.vis__paperHead small{font-size:var(--xs);color:var(--muted);font-weight:400;margin-left:var(--s2)}
.vis__judges{list-style:none;padding:0;margin:var(--s2) 0 0}.vis__judges li{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s2) 0!important;border-top:1px solid var(--line);font-size:var(--sm);color:var(--text)}
.vis__plus{display:flex;align-items:center;gap:var(--s3);border:1px solid var(--accent-mid);border-radius:12px;padding:var(--s4)}.vis__plus p{font-size:var(--sm)}.vis__plus b{color:var(--accent)}
.vis__steps{list-style:none;padding:0;margin:0 auto;max-width:900px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s3);position:relative}
.vis__steps:before{content:'';position:absolute;top:32px;left:10%;right:10%;height:1px;background:var(--accent-mid)}
.vis__steps li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;position:relative}
.vis__steps .vis__icon{width:64px;height:64px;padding:14px;border:1px solid var(--accent-mid);border-radius:50%;background:var(--bg);position:relative;margin-bottom:var(--s2)}
.vis__steps b{font-size:var(--sm);color:var(--text)}.vis__steps small{font:600 var(--xs) var(--mono);color:var(--accent)}
.vis__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);max-width:900px;margin:0 auto}.vis__stats .audit__stat{text-align:center}
.vis__section .audit__subhead{text-align:center}.vis__section .audit__limit{max-width:900px;margin-inline:auto}
@media(max-width:900px){.vis__tiles--5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.audit__aiGrid{grid-template-columns:1fr}
.vis__pains{grid-template-columns:1fr;gap:var(--s2)}.vis__pain{display:flex;align-items:center;gap:var(--s4);text-align:left;padding:var(--s3) var(--s4)}
.vis__pain .vis__icon{width:48px;height:48px;margin:0;flex:none}.vis__pain p{font-size:var(--body)}.vis__pain b{font-size:var(--lg)}
.vis__row{padding:var(--s3) var(--s3) var(--s4)}.vis__flow{gap:2px}.vis__arrow{flex-basis:14px;height:38px}
.vis__node .vis__icon{width:38px;height:38px}.vis__node b{font-size:var(--xs)}.vis__bubbleWrap{height:38px}.vis__bubble{font-size:var(--xs);padding:var(--s1) var(--s2)}
.vis__note{font-size:var(--body)}
.vis__tiles,.vis__tiles--2,.vis__tiles--3,.vis__tiles--4,.vis__tiles--5{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}.vis__tiles>.vis__tile:last-child:nth-child(odd){grid-column:1/-1}
.vis__bins{gap:var(--s2)}.vis__bin{padding:var(--s3) var(--s2)}.vis__bin b{font-size:var(--sm)}
.vis__deliver{grid-template-columns:1fr}
.vis__steps{grid-template-columns:1fr;gap:var(--s3);max-width:340px}.vis__steps:before{top:0;bottom:0;left:24px;right:auto;width:1px;height:auto}
.vis__steps li{flex-direction:row;text-align:left;gap:var(--s3)}.vis__steps .vis__icon{width:48px;height:48px;padding:10px;margin:0;flex:none}.vis__steps b{font-size:var(--body)}
.vis__stats .audit__stat{padding:var(--s3) var(--s2)}.vis__stats .audit__stat p{display:flex;flex-direction:column;align-items:center;font-size:var(--xs)}.vis__stats .audit__stat strong{font-size:1.5rem;margin:0}}
.vis__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);max-width:960px;margin-inline:auto}
.vis__factBox{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:var(--s5) var(--s4);text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.vis__factBox .vis__icon{width:52px;height:52px;margin-bottom:var(--s2)}.vis__factBox b{font:700 2rem/1.2 var(--sans);color:var(--accent)}.vis__factBox span{font-size:var(--sm);color:var(--text);word-break:auto-phrase;text-wrap:pretty}
.vis__small{font-size:var(--xs)!important;color:var(--muted)!important;text-align:center;margin-top:var(--s3)!important}
#audit-plan .vis__small{text-align:left;margin-top:var(--s2)!important}
@media(max-width:600px){.vis__facts{grid-template-columns:1fr 1fr;gap:var(--s2)}.vis__factBox:nth-child(3){grid-column:1/-1}.vis__factBox b{font-size:1.5rem}}
.vis__tree{display:grid;grid-template-columns:96px 56px minmax(0,1fr);align-items:stretch;max-width:900px;margin-inline:auto}
.vis__root{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:var(--s3) var(--s2);align-self:center}
.vis__root .vis__icon{width:44px;height:44px;color:var(--muted)}.vis__root b{font-size:var(--xs);color:var(--text);line-height:1.4}
.vis__branch{width:100%;height:100%;fill:none;stroke:var(--line);stroke-width:2;vector-effect:non-scaling-stroke}.vis__branch path{vector-effect:non-scaling-stroke}.vis__branch .is-hl{stroke:var(--accent-mid)}
.vis__whos{display:grid;grid-template-rows:repeat(3,1fr);gap:var(--s3)}
.vis__who{display:grid;grid-template-columns:44px 150px minmax(0,1fr);align-items:center;gap:var(--s3);border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:var(--s3) var(--s4)}
.vis__who .vis__icon{width:40px;height:40px;color:var(--muted)}
.vis__whoText b{display:block;font-size:var(--sm);color:var(--text);line-height:1.4}.vis__whoText small{font-size:var(--xs);color:var(--muted)}
.vis__say{font-size:var(--sm);color:var(--muted);line-height:1.5}
.vis__meter{height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin-top:6px}.vis__meter i{display:block;height:100%;border-radius:4px;background:var(--muted)}
.vis__meterCap{font-size:var(--xs)!important;color:var(--muted)!important;margin-top:2px!important}
.vis__who--ai .vis__icon{color:#9fd3ff}.vis__who--ai .vis__meter i{background:#9fd3ff}
.vis__who--pro{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.vis__who--pro .vis__icon{color:var(--accent)}
.vis__who--pro .vis__say{color:var(--accent);font-weight:600}.vis__who--pro .vis__meter i{background:var(--accent)}.vis__who--pro .vis__meterCap{color:var(--accent)!important}
.vis__meterNote{max-width:900px;margin:var(--s2) auto 0!important;text-align:right;font-size:var(--xs)!important;color:var(--muted)!important}
.vis__subhead{margin-top:var(--s6)!important}
@media(max-width:700px){.vis__tree{grid-template-columns:64px 28px minmax(0,1fr)}.vis__root{padding:var(--s2) 4px}.vis__root .vis__icon{width:32px;height:32px}
 .vis__who{grid-template-columns:32px minmax(0,1fr);gap:4px var(--s2);padding:var(--s2) var(--s3)}.vis__who .vis__icon{width:30px;height:30px}.vis__whoSay{grid-column:1/-1}.vis__say{font-size:var(--xs)}}
.subnav{display:none}
@media(min-width:761px){
 .subnav{display:block;position:sticky;top:69px;z-index:29;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
 .subnav__inner{display:flex;justify-content:center;gap:2px;padding:3px var(--gutter);overflow-x:auto;scrollbar-width:none}
 .subnav__inner::-webkit-scrollbar{display:none}
 .subnav a{flex:none;white-space:nowrap;font-size:var(--xs);color:var(--muted);padding:2px 10px;line-height:1.6;border-radius:999px;border:1px solid transparent;transition:color .15s,border-color .15s,background .15s}
 .subnav a:hover{color:var(--accent)}
 .subnav a.is-cur{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
 html:has(.subnav){scroll-padding-top:116px}
 .admin-bar .subnav{top:101px}
 html:has(.admin-bar .subnav){scroll-padding-top:148px}
 .admin-bar .spot__feedback{top:148px}
}
@media(min-width:761px) and (max-width:1200px){.subnav__inner{justify-content:flex-start}}

/* 落とし穴探し（spot_game.py） */
.spot{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:var(--s5);align-items:start;max-width:1100px;margin-inline:auto}
.spot__stage{position:relative}
.spot__memo{position:relative;z-index:2;display:inline-block;background:#fff;color:#1f2937;border:1px solid #e5e7eb;border-radius:4px;padding:8px 14px 9px;box-shadow:0 6px 18px rgba(0,0,0,.35);margin:0 0 10px;font-size:13px;line-height:1.6}
.spot__memo p{margin:0;color:inherit!important}.spot__memo b{color:#b4560a}.spot__memoT{font-size:11px!important;font-weight:700;color:#6b7280!important}
.spot__how{font-size:var(--sm);color:var(--muted);margin:0 0 10px!important}.spot__how b{color:var(--accent)}
.spot__report{position:relative;cursor:crosshair;border-radius:10px;box-shadow:0 0 0 1px var(--line),0 18px 50px rgba(0,0,0,.45)}
.spot__hud{position:absolute;right:10px;z-index:3;margin-top:-18px;display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--accent-mid);color:var(--text);border-radius:999px;padding:2px 4px 2px 12px;font:600 var(--xs)/1.6 var(--mono)}
.spot__hudHint{border:1px solid #6b5220;background:#2b2212;color:#ffb547;border-radius:999px;padding:2px 12px;min-height:28px;font:600 var(--xs) var(--sans);cursor:pointer}
.spot__hudHint:disabled,.spot__btn:disabled{opacity:.35;cursor:default}
.spot__hudHint--ans{border-color:var(--line);background:transparent;color:var(--muted)}
.spot__next--ghost{background:transparent;color:var(--accent);border:1px solid var(--accent-mid)}
.spot__hud b{color:var(--accent)}
.spot__layer{position:absolute;inset:0;pointer-events:none}
.spot__ring{position:absolute;border:3px solid #2ee6a6;border-radius:10px;box-shadow:0 0 0 4px rgba(46,230,166,.25);animation:spotIn .35s ease-out}
.spot__ring.is-rev{border-color:#ffb547;border-style:dashed;box-shadow:none}
.spot__ring.is-sel{box-shadow:0 0 0 6px rgba(255,181,71,.45)}
.spot__ring b{position:absolute;left:-12px;top:-12px;width:26px;height:26px;border-radius:50%;background:#2ee6a6;color:#07090c;display:grid;place-items:center;font:700 13px/1 var(--mono)}
.spot__ring.is-rev b{background:#ffb547}.spot__ring.is-thin{border-width:2px;border-radius:4px;box-shadow:none}.spot__ring.is-thin b{left:auto;right:-14px;top:-16px}
.spot__ring.is-hint{border-style:dashed;border-color:rgba(255,181,71,.9);box-shadow:none;animation:spotPulse 1.2s ease-in-out 3}
.spot__miss{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;color:#e5484d;font:700 26px/30px var(--sans);text-align:center;animation:spotMiss .9s ease-out forwards}
.spot__miss.is-near{color:#ffb547}
@keyframes spotIn{from{transform:scale(1.15);opacity:0}}
@keyframes spotPulse{50%{transform:scale(1.04);opacity:.35}}
@keyframes spotMiss{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.3);opacity:0}}
/* レポート本体（外注先の資料らしく白い紙面） */
.rp{background:#fff;color:#1f2937;border-radius:10px;padding:18px 20px 12px;font-size:13px;line-height:1.5;font-family:'Noto Sans JP',sans-serif;user-select:none;-webkit-user-select:none}
.rp p{margin:0;color:inherit}
.rp__head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;border-bottom:2px solid #1a73e8;padding-bottom:8px;margin-bottom:12px}
.rp__title{font-size:17px!important;font-weight:700}.rp__meta,.rp__by{font-size:11px!important;color:#6b7280!important}
.rp__page{font-size:11px;font-weight:500;color:#9ca3af;margin-left:6px}
.rp__kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:4px}
.rp__note{font-size:11px!important;color:#6b7280!important;margin:0 0 10px!important}
.rp__warn{display:inline-block;font-size:11px;font-weight:500;color:#9a6700;background:#fff8c5;border:1px solid #f0d36b;border-radius:4px;padding:0 6px;line-height:1.6}
.rp__cTitle--row{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rp__grid2--wideL{grid-template-columns:1.5fr 1fr}
.rp.is-unassigned [data-spot=unassigned] td,.rp.is-avg [data-spot=avg] td,.rp.is-threshold [data-spot=threshold],.rp.is-bounce .rp__note .rp__phrase{background:#fff4e5}
.rp__kpi{border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;background:#f9fafb}
.rp__kLabel{font-size:11px!important;color:#6b7280!important}.rp__kVal{font-size:19px!important;font-weight:700;font-family:Inter,'Noto Sans JP',sans-serif;line-height:1.25}
.rp__kDiff{font-size:11px!important;color:#188038!important;font-weight:600}.rp__kDiff small{color:#9ca3af;font-weight:400}
.rp__grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:8px;margin-bottom:8px}.rp__grid2--even{grid-template-columns:1fr 1.25fr}
.rp__card,.rp__card:hover{border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;min-width:0;background:#fff;transition:none}
.rp__cTitle{font-size:12px!important;font-weight:700;color:#374151!important;margin-bottom:4px!important}
.rp__svg{display:block;width:100%;height:auto;overflow:visible}
.rp__grid line{stroke:#eef0f3;stroke-width:1}.rp__lab text{fill:#6b7280;font-size:14px;font-family:Inter,sans-serif}
.rp__line{fill:none;stroke:#1a73e8;stroke-width:2.4;stroke-linejoin:round}.rp__area{fill:rgba(26,115,232,.1)}
.rp__hit{fill:transparent}
.rp__bar--prev{fill:#9ab8ee}.rp__bar--now{fill:#1a73e8}.rp__lab .rp__val{fill:#111827;font-weight:700}
.rp__reveal{opacity:0;transition:opacity .4s}.rp__reveal line{stroke:#e8710a;stroke-width:2;stroke-dasharray:5 4}.rp__reveal text{fill:#e8710a;font-size:14px;font-weight:700}
.rp.is-drop .rp__reveal--drop{opacity:1}
.rp.is-axis .rp__y900{fill:#e8710a;font-weight:700}
.rp.is-segment [data-spot=segment]{background:#fff4e5}
.rp.is-referral [data-spot=referral] td{background:#fff4e5}
.rp.is-comment .rp__phrase{background:#fff4e5;box-shadow:0 2px 0 #e8710a}
.rp.is-cv [data-spot=cv]{background:#fff4e5}
.rp__table{width:100%;border-collapse:collapse;font-size:12px}
.rp__table th,.rp__table td{padding:4px 6px;border-bottom:1px solid #eef0f3;text-align:left;white-space:nowrap}
.rp__table th{color:#6b7280;font-weight:500;font-size:11px}.rp__table td:not(:first-child),.rp__table th:not(:first-child){text-align:right;font-family:Inter,sans-serif}
.rp__table td:first-child{white-space:normal;word-break:break-all}
.rp__total td{font-weight:700;border-bottom:0}
/* ゲームの切り替え */
.spot__games{display:flex;justify-content:center;gap:8px;margin:0 auto var(--s5);flex-wrap:wrap}
.spot__game{display:flex;flex-direction:column;align-items:center;gap:0;min-width:180px;min-height:52px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;padding:8px 18px;cursor:pointer;line-height:1.4}
.spot__game span{font-size:var(--xs);color:var(--muted)}.spot__game[aria-selected=true]{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.spot__game[aria-selected=true] span{color:var(--accent)}
.spot[hidden]{display:none}
/* チャットの回答（外注先とのやり取りらしく） */
.ch{background:#f4f5f7;color:#1f2937;border-radius:10px;padding:0 0 10px;font-size:14px;line-height:1.75;font-family:'Noto Sans JP',sans-serif;user-select:none;-webkit-user-select:none;overflow:hidden}
.ch p{margin:0;color:inherit}
.ch__head{display:flex;justify-content:flex-start;gap:10px;align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:13px}.ch__head span{font-size:11px;color:#9ca3af}
.ch__msg{padding:10px 16px 4px}.ch__who{font-size:11px!important;color:#6b7280!important;margin-bottom:4px!important}
.ch__msg--me{display:flex;flex-direction:column;align-items:flex-end}.ch__msg--me .ch__bubble{background:#e3f2e8;max-width:88%}
.ch__bubble{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px 14px}
.ch__bubble ol{margin:4px 0 0;padding-left:1.4em;font-size:13px}.ch__bubble li{padding:0!important}.ch__bubble li:before{content:none!important}
.ch__para{margin-top:10px!important;padding-left:1.6em;position:relative}.ch__no{position:absolute;left:0;font-weight:700;color:#1a73e8}
.ch__hit{border-radius:3px}
.ch.is-scroll [data-spot=scroll],.ch.is-naming [data-spot=naming],.ch.is-crossdomain [data-spot=crossdomain],.ch.is-userid [data-spot=userid],.ch.is-bqcost [data-spot=bqcost],.ch.is-months [data-spot=months]{background:#fff4e5;box-shadow:0 2px 0 #e8710a}
.ch__foot{font-size:10px!important;color:#9ca3af!important;text-align:right;margin:6px 16px 0!important}
.spot__report .ch [data-spot],.spot__report .ch [data-near]{cursor:crosshair}
.rp__comment{border-left:4px solid #1a73e8;background:#f3f6fc;border-radius:6px;padding:8px 12px;margin-top:2px}
.rp__comment p:last-child{font-size:13px}
.rp__foot{font-size:10px!important;color:#9ca3af!important;text-align:right;margin-top:6px!important}
.spot__report [data-spot],.spot__report [data-near]{cursor:crosshair}
/* 右の解説 */
.spot__panel{align-self:stretch;display:flex;flex-direction:column;gap:var(--s3)}
.spot__count{font-size:var(--sm);color:var(--text)}.spot__count b{font:700 1.4rem var(--mono);color:var(--accent);margin:0 2px}
.spot__bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:6px}.spot__bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .4s}
.spot__feedback{position:sticky;top:116px;z-index:2;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:var(--s4) var(--s5);min-height:210px}
.spot__feedback.is-ok{border-color:var(--accent)}.spot__feedback.is-miss{border-color:#6b3a3c}.spot__feedback.is-near{border-color:#6b5220}
.spot__feedback.is-done{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.spot__close{display:none}.spot__sheet{display:none}
.spot__slot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.spot__intro{color:var(--text);line-height:1.8}.spot__intro b{color:var(--accent)}.spot__intro--sub{margin-top:var(--s3)!important;color:var(--muted)!important;font-size:var(--sm)}
.spot__badge{display:inline-block;font-weight:700;font-size:var(--sm);color:#07090c;background:var(--accent);border-radius:999px;padding:1px 12px}
.spot__badge--miss{background:#3a2326;color:#ff8f8f}.spot__badge--near,.spot__badge--hint{background:#3a3020;color:#ffb547}
.spot__fbTitle{font-size:var(--lg);font-weight:700;color:var(--text);margin-top:var(--s2)!important;line-height:1.5}
.spot__fbTitle span{font-family:var(--mono);color:var(--accent);margin-right:8px}
.spot__dl{margin:var(--s3) 0 0;display:grid;gap:var(--s2)}
.spot__dl div{font-size:var(--sm);line-height:1.65}
.spot__dl dt{color:var(--muted);font-size:var(--xs)}.spot__dl dd{margin:0;color:var(--text)}
.spot__dl .is-risk dd{color:#ffb547}.spot__dl .is-fix dd{color:#9fd3ff}.spot__dl .is-audit dd{color:var(--accent)}
.spot__missText{color:var(--text);margin-top:var(--s2)!important}.spot__missHint{color:var(--muted);font-size:var(--sm);margin-top:var(--s2)!important}
.spot__next{margin-top:var(--s3);border:0;border-radius:999px;padding:10px 20px;min-height:44px;font-weight:700;font-size:var(--sm);background:var(--accent);color:#07090c;cursor:pointer}
.spot__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.spot__list li:before{content:none!important;display:none!important}
.spot__slot{display:flex;align-items:center;gap:8px;border:1px dashed var(--line);border-radius:10px;padding:6px 10px!important;font-size:var(--xs);color:var(--muted);min-height:44px;line-height:1.4}
.spot__slot.is-found{border-style:solid;border-color:var(--accent-mid);color:var(--text);cursor:pointer;background:var(--surface)}.spot__slot.is-found:hover,.spot__slot.is-sel{border-color:#ffb547}
.spot__slot.is-revealed{border-color:#6b5220}
.spot__no{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font:600 11px/1 var(--mono)}
.spot__slot.is-found .spot__no{background:var(--accent);border-color:var(--accent);color:#07090c}
.spot__slot.is-revealed .spot__no{background:#ffb547;border-color:#ffb547}
.spot__actions{display:flex;flex-wrap:wrap;gap:8px}
.spot__btn{border:1px solid var(--accent-mid);background:transparent;color:var(--accent);border-radius:999px;padding:8px 18px;min-height:44px;font-size:var(--sm);cursor:pointer}.spot__btn:hover{background:var(--accent-soft)}
.spot__btn--ghost{border-color:var(--line);color:var(--muted)}
.spot__done{color:var(--text);line-height:1.8}.spot__done b{color:var(--accent)}
.spot__groups{display:grid;gap:6px;margin:var(--s3) 0 0}
.spot__group{display:grid;grid-template-columns:auto 1fr;gap:12px;border:1px solid var(--line);border-radius:10px;padding:6px 12px;font-size:var(--sm);color:var(--text)}
.spot__group span{color:var(--muted);font-size:var(--xs);text-align:right}
@media(max-width:600px){.spot__group{grid-template-columns:1fr;gap:2px}.spot__group span{text-align:left}}
.spot__score{display:block;margin-top:var(--s3);font-size:var(--sm);color:var(--muted)}.spot__score b{color:#ffb547;font-family:Inter,var(--sans);font-size:1.05em}
.spot__doneCta{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s3)}
.spot__doneCta a{display:inline-flex;align-items:center;min-height:44px;border-radius:999px;padding:8px 18px;font-weight:600;font-size:var(--sm);background:var(--accent);color:#07090c}
.spot__doneCta button{min-height:44px;border-radius:999px;padding:8px 18px;font-size:var(--sm);border:1px solid var(--accent-mid);background:transparent;color:var(--accent);cursor:pointer}
@media(max-width:900px){
 .spot{grid-template-columns:1fr}
 .spot__panel{align-self:start}
 .spot__feedback{position:relative;top:auto}
 .spot__feedback{min-height:0}
 .rp__table tr[data-spot] td{padding-block:10px}
 .spot__sheet.is-open{display:block;position:fixed;left:8px;right:8px;bottom:8px;z-index:60;max-height:46vh;overflow:auto;border:1px solid var(--accent);border-radius:14px;background:var(--surface);padding:var(--s4) var(--s5);box-shadow:0 -10px 40px rgba(0,0,0,.6);animation:spotSheet .25s ease-out}
 .spot__sheet.is-miss{border-color:#6b3a3c}.spot__sheet.is-near{border-color:#6b5220}
 .spot__sheetBody{padding-right:28px}
 .spot__sheet .spot__close{display:block;position:absolute;right:4px;top:4px;width:44px;height:44px;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}
 .spot__hud{position:static;margin:0 0 8px auto;width:max-content}
 @keyframes spotSheet{from{transform:translateY(30px);opacity:0}}
}
@media(max-width:600px){
 .rp{padding:12px 12px 8px}
 .rp__head{flex-direction:column;align-items:flex-start;gap:2px}
 .rp__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rp__grid2,.rp__grid2--even{grid-template-columns:1fr}
 .rp__kVal{font-size:19px!important}
 .spot__list{grid-template-columns:1fr}
}
/* ==== /AUDIT PAGE ==== */
