/* Seki & Co. R4.5.2 | Responsive refinement · desktop legibility + mobile density */
:root{--r452-border:#3a6883;--r452-text:#d2e5f3;--r452-soft:#aac8db}
.r452-demo-tools{min-width:0;border:1px solid #365c78;border-radius:10px;background:#0b2539}
.r452-demo-tools summary{cursor:pointer;color:#a9cadd;font-size:13px;padding:11px 14px;font-weight:700;list-style:none}
.r452-demo-tools summary::-webkit-details-marker{display:none}
.r452-demo-tools summary::after{content:'⌄';float:right}
.r452-demo-tools[open]{padding-bottom:9px}.r452-demo-tools[open] .r43-btn{margin:5px 12px}
.r452-coop-page .r43-hero{max-width:none}
/* Desktop: use space efficiently and keep text readable on high-density screens */
@media(min-width:1001px){
 .r2-shell,.v1-shell.r2-shell{max-width:1800px;width:100%;grid-template-columns:252px minmax(0,1fr)}
 .r2-shell .v1-sidebar{padding:23px 15px 22px}
 .r2-shell .v1-sidebar .v1-tabs button{min-height:54px!important;font-size:15px!important;padding:13px 15px!important}
 .r2-shell .v1-sidebar .v1-tabs button small{font-size:14px!important}
 .r2-shell .v1-brand strong{font-size:17px}
 .r2-side-systems strong{font-size:14px}.r2-side-systems small{font-size:11px}
 .r2-shell .v1-top{height:72px;padding-inline:clamp(24px,2.6vw,44px)}
 .r2-breadcrumb,.r2-breadcrumb strong{font-size:13px}.r2-shell .v1-readonly{font-size:12px}
 .r2-content,.r2-shell .v1-content{max-width:1570px!important;width:100%;padding:26px clamp(25px,2.9vw,46px) 65px!important}
 .r451-page-title{margin-bottom:22px}.r451-page-title h1{font-size:clamp(30px,2.45vw,40px)}
 .r451-page-title p{font-size:16px;line-height:1.55;max-width:850px}
 .r451-overline,.r451-side-heading,.r2-kicker{font-size:12px;letter-spacing:.11em}
 .r451-home-grid,.r451-story-layout,.r451-team-layout{grid-template-columns:minmax(0,1.88fr) minmax(290px,.85fr);gap:20px}
 .r451-home-aside,.r451-story-aside{gap:16px}
 .r451-focus{min-height:340px}.r451-focus-body{padding:clamp(25px,2.5vw,42px)}
 .r451-focus h2{font-size:clamp(32px,2.4vw,42px)}
 .r451-focus p{font-size:16px;line-height:1.6;max-width:610px;margin-bottom:20px}
 .r451-progress-text{font-size:13px;max-width:570px}.r451-meter{max-width:570px}
 .r451-section-title h2{font-size:23px}.r451-section-title>span{font-size:13px}
 .r451-primary,.r451-secondary{font-size:14px;min-height:46px}
 .r451-action-card{min-height:152px;padding:18px}.r451-action-card strong{font-size:16px}
 .r451-action-card small{font-size:13px}.r451-action-card em{font-size:12px}
 .r451-side-panel{padding:21px}.r451-side-panel h3{font-size:20px}.r451-side-panel p{font-size:14px}
 .r451-side-heading button,.r451-side-panel .r451-text-link{font-size:13px}.r451-roster-row strong{font-size:15px}.r451-roster-row small{font-size:12px}
 .r451-tiny-note{font-size:12px!important}.r451-story-status{font-size:14px}
 .r451-story-main .r43-card,.r451-story-main .r43-block{padding:24px;gap:15px}
 .r451-story-main .r43-card>h2{font-size:clamp(26px,2.1vw,34px)}
 .r451-story-main .r43-card p,.r451-story-main .r43-block p{font-size:15px;line-height:1.65}
 .r43-btn,.r45-bridge-options button,.r45-actions button{font-size:14px;min-height:43px}
 .r43-field{font-size:14px}.r43-field input,.r43-field select,.r43-field textarea{font-size:15px}
 .r43-target{font-size:15px}.r43-kpis strong{font-size:26px}.r43-kpis small{font-size:13px}
 .r43-kicker{font-size:12px}.r43-foot{font-size:13px}
 .r451-team-member h2{font-size:26px}.r451-team-member p{font-size:15px}.r451-team-member small{font-size:13px}
 .ex-hero h1{font-size:38px!important}.ex-hero p{font-size:16px!important}
 .ex-box h2,.ex-section-head h2{font-size:24px}.ex-item strong{font-size:15px}.ex-item small,.ex-stops small{font-size:12px}
 .ex-item button,.ex-tabs button,.ex-button,.ex-ghost,.ex-more{font-size:14px;min-height:42px}
 .ex-counter,.ex-section-head span,.ex-filters label,.ex-label,.ex-foot{font-size:13px}
 .ex-page input,.ex-page select,.ex-page textarea{font-size:15px;min-height:46px}
 .r452-coop-page .r43-hero{padding:24px 28px!important}
 .r452-coop-page .r43-hero h1{font-size:31px;margin:8px 0}
 .r452-coop-page .r43-hero p{font-size:15px;line-height:1.55;max-width:900px}
 .r452-coop-page .r43-card p,.r452-coop-page .r43-block p{font-size:15px;line-height:1.6}
 .r2-content .r2-card p{font-size:15px}.r45-archive-stats small{font-size:13px}
 .r451-more-panel{display:none}
}
@media(min-width:1001px) and (max-width:1250px){.r451-home-grid,.r451-story-layout,.r451-team-layout{grid-template-columns:minmax(0,1.45fr) minmax(265px,.8fr)}.r451-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Mobile and tablets: show the actionable content early, tame banners, clear fixed nav */
@media(max-width:920px){
 .r2-shell .v1-main{padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}
 .r2-shell .v1-content,.r2-shell .r2-content{padding-bottom:calc(135px + env(safe-area-inset-bottom))!important}
 .r451-mobile-nav{min-height:69px;gap:2px;padding-top:5px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 .r451-mobile-nav button{min-height:52px;border-radius:10px;padding:5px 1px}.r451-mobile-nav button>span{font-size:21px}.r451-mobile-nav button small{font-size:11px}
 .r451-more-panel{bottom:calc(83px + env(safe-area-inset-bottom))}
 .r451-story-aside{position:static}
 .r43-btn,.r45-bridge-options button,.r451-primary,.r451-secondary,.ex-button{min-height:44px}
 .r43-page button,.ex-page button{touch-action:manipulation}
}
@media(max-width:650px){
 .r2-shell .v1-top{height:51px!important;min-height:51px!important;padding-inline:14px!important}
 .r2-breadcrumb strong{font-size:12px}.r2-shell .v1-readonly{font-size:10px}
 .r2-shell .r2-content{padding:13px 12px calc(140px + env(safe-area-inset-bottom))!important}
 .r451-page-title{margin:2px 0 12px}.r451-page-title h1{font-size:clamp(24px,6.4vw,29px);margin:5px 0;line-height:1.13}
 .r451-page-title p{font-size:13px;line-height:1.4;max-width:345px}
 .r2-kicker,.r451-overline{font-size:10px;letter-spacing:.1em}
 .r451-focus{border-radius:14px}.r451-focus-body{padding:17px}
 .r451-focus h2{font-size:clamp(23px,6vw,29px);margin:7px 0 9px;line-height:1.12}
 .r451-focus p{font-size:13px;line-height:1.43;margin:0 0 12px}
 .r451-progress-text{font-size:11px}.r451-meter{margin:7px 0 12px}
 .r451-focus-actions{grid-template-columns:1.1fr .9fr;gap:8px}
 .r451-focus-actions button{font-size:12px;padding:9px 11px;min-height:43px}
 .r451-section-title{margin:13px 0 8px}.r451-section-title h2{font-size:18px}
 .r451-action-grid{gap:7px}.r451-action-card{min-height:112px;padding:11px;gap:5px}
 .r451-action-card:last-child{min-height:92px}.r451-action-icon{font-size:18px;margin:0}
 .r451-action-card strong{font-size:13px}.r451-action-card small{font-size:11px}.r451-action-card em{font-size:11px}
 .r451-home-aside,.r451-story-aside{gap:9px}.r451-side-panel{padding:14px}
 .r451-side-panel h3{font-size:17px}.r451-side-panel p{font-size:12px;line-height:1.45}
 .r451-modebar{margin-bottom:10px}.r451-modebar .v1-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .r451-modebar .v1-switch button{min-height:42px;font-size:11px;padding:8px 6px;white-space:normal}
 .r451-story-status{margin:0 0 10px;gap:6px}.r451-story-status .r451-pill{font-size:11px;padding:6px 9px}
 .r451-story-main .r43-toolbar{gap:9px}.r451-story-main .r43-tabs{gap:7px}
 .r451-story-main .r43-btn{font-size:12px;padding:9px 12px;min-height:40px}
 .r452-demo-tools{margin-left:auto;max-width:190px}
 .r452-demo-tools summary{font-size:11px;padding:9px 11px}
 .r43-kpis{gap:6px}.r43-kpis>div{padding:10px 7px;min-width:0}
 .r43-kpis strong{font-size:19px}.r43-kpis small{font-size:10px;line-height:1.2}
 .r451-story-main .r43-card,.r451-story-main .r43-block{padding:15px;gap:10px}
 .r451-story-main .r43-card>h2{font-size:23px;line-height:1.18}
 .r451-story-main .r43-card p,.r451-story-main .r43-block p{font-size:13px;line-height:1.52}
 .r43-target{gap:9px;padding:10px;font-size:12px}
 .r43-field{font-size:12px}.r43-field input,.r43-field select,.r43-field textarea{font-size:16px;min-height:44px;padding:11px}
 .r45-contract-bridge{gap:9px;padding:12px}.r45-contract-bridge>strong{font-size:13px}.r45-contract-bridge p{font-size:12px}
 .r45-bridge-options{gap:5px}.r45-bridge-options button{font-size:11px;min-height:40px;padding:8px 10px;flex:1 1 auto}
 .r43-foot,.r45-contract-bridge small{font-size:11px}
 .r451-coop-guide summary{padding:10px 12px}.r451-chapters-drawer summary{padding:11px}
 .r452-coop-page{gap:10px}.r452-coop-page>.r43-hero{padding:15px!important;border-radius:13px}
 .r452-coop-page .r43-hero h1{font-size:clamp(22px,5.8vw,28px);margin:7px 0}
 .r452-coop-page .r43-hero p{font-size:12px;line-height:1.48;margin:7px 0}
 .r452-coop-page .r43-topline{display:flex;gap:8px;font-size:11px;margin-top:10px;padding-top:9px}
 .r452-coop-page .r43-card,.r452-coop-page .r43-block{padding:16px;gap:10px}
 .r452-coop-page .r43-block h2,.r452-coop-page .r43-card h2{font-size:22px;line-height:1.16}
 .r452-coop-page .r43-block p,.r452-coop-page .r43-card p{font-size:13px;line-height:1.48}
 .r452-coop-page .r43-tabs{gap:7px}
 .ex-page{gap:9px!important}.ex-hero{padding:14px!important;border-radius:13px}
 .ex-hero h1{font-size:25px!important;margin:5px 0!important}
 .ex-hero p{font-size:12px!important;line-height:1.44!important;margin:5px 0 8px}
 .ex-hero-meta{margin-top:10px!important;gap:4px}.ex-hero-meta span{font-size:10px!important;padding:5px 7px!important}
 .ex-box{padding:14px}.ex-section-head h2,.ex-box h2{font-size:21px}
 .ex-filters{grid-template-columns:1fr;gap:9px}
 .ex-tabs button{min-height:40px}.ex-item button{min-height:38px}
 .r451-team-member{padding:14px;gap:10px}.r451-team-member h2{font-size:20px;margin:5px 0}
 .r45-archive-stats{gap:6px}.r45-archive-stats>div{padding:10px 7px}
 .r451-mobile-nav button small{font-size:10px}
 .r2-shell .v1-footer{display:none!important}
}
@media(max-width:350px){.r451-focus-actions{grid-template-columns:1fr}.r451-story-main .r43-tabs{width:100%}.r452-demo-tools{margin-left:0;width:100%;max-width:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important}}

/* Shared-story unlock path: report actual state rather than repeating introduction */
.r452-unlock-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 12px}
.r452-unlock-steps>div{border:1px solid #345976;background:#0b2538;border-radius:12px;padding:12px;display:grid;gap:5px;align-content:start;min-width:0}
.r452-step-number{border:1px solid #4584a4;border-radius:50%;height:26px;width:26px;display:grid;place-items:center;color:#9ce0fb;font-size:13px;font-weight:800}
.r452-unlock-steps strong{font-size:14px;color:#f1faff}.r452-unlock-steps small{font-size:12px;color:#acc8da;line-height:1.5}
@media(max-width:650px){.r2-shell .v1-readonly::after{content:none!important;display:none!important}.r2-shell .v1-readonly{font-size:11px!important}.r452-unlock-steps{grid-template-columns:1fr;gap:7px}.r452-unlock-steps>div{grid-template-columns:29px 1fr;gap:1px 10px;padding:9px 11px;align-items:center}.r452-step-number{grid-row:span 2}.r452-unlock-steps strong{font-size:13px}.r452-unlock-steps small{font-size:11px}}
@media(min-width:651px) and (max-width:1100px){.r452-unlock-steps{grid-template-columns:1fr}}
