/* KEYS UI Design Refresh: presentation only. Shared tokens override legacy views. */
:root{--color-navy:#142A4A;--color-bg:#fff;--color-surface:#F7F8FA;--color-muted:#67768A;--color-border:#E4E9F0;--color-success-bg:#FFF7DD;--color-success:#EDB52F;--color-failure-bg:#EAF4FF;--color-failure:#3887DC;--color-play-bg:#FCEEF4;--color-play:#DC5887;--color-self-bg:#EAF8F3;--color-self:#299D7D;--color-deep-bg:#F3EEFF;--color-deep:#8564CC;--font-title:28px;--font-section:21px;--font-item:17px;--font-body:15px;--font-caption:12px;--space-xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-soft:0 3px 12px #142a4a08}
body{background:var(--color-surface)}.phone{background:var(--color-bg)}main,.screen-book main.book{padding:24px 22px 116px}.phone>header.ds-header,.manual>header.ds-header{background:var(--color-bg);border-bottom:var(--border);height:58px;min-height:58px}.phone.screen-book>header.ds-header{display:none}.phone>header.ds-header>strong{font-size:14px}.phone.screen-home>header.ds-header{display:none}.heading{margin-bottom:24px}.heading h1,.welcome h1,.manual h1,.record-review h1,.profile-overview h1{font-size:var(--font-title)!important;line-height:1.5;font-weight:750}.phone h2,.manual h2,.section-heading h2,.section-head h2{font-size:var(--font-section);line-height:1.55}.phone h3{font-size:var(--font-item)}.phone p{line-height:1.85}.phone .caption,.phone .viz-note,.phone .manual-note{font-size:var(--font-caption);color:var(--color-muted)}.heading .eyebrow{display:none}
.phone .primary,.manual .manual-primary,.phone .interview-style .answer-bar .primary{background:var(--color-navy);border:1px solid var(--color-navy);color:white!important;border-radius:var(--radius-md);min-height:50px;box-shadow:none}.phone .secondary,.manual .manual-more{background:white;border:1px solid #B8C5D5;color:var(--color-navy)!important;border-radius:var(--radius-md);min-height:50px}.phone nav.ds-bottom-nav{background:white;border-top:var(--border);min-height:74px}.phone .ds-bottom-nav button.current{color:var(--color-navy);background:none}.ds-bottom-nav small{font-size:11px}.ds-bottom-nav svg{width:23px;height:23px}
.reference-home-hero{position:relative;isolation:isolate;margin:-24px -22px 0;padding:28px 22px 16px;min-height:184px;background:#173551 url('../assets/volleyball-court.png') center/cover}.reference-home-hero:before{content:'';display:block;position:absolute;inset:0;background:linear-gradient(90deg,#142a4add,#142a4a08);z-index:-1}.home-greeting{color:white;margin:0}.home-greeting p{font-size:23px;font-weight:700;line-height:1.65}.home-greeting button{color:white}.court-banner{background:none;border:0;height:48px;width:100%;padding:0;margin:0}.court-banner>span{display:none}.court-banner i{width:28px;height:28px}.home-record-actions{display:flex;flex-direction:column;gap:12px;margin:16px 0 32px}.home-record-actions [data-quick-record="うまくいった"]{order:-1}.phone .home-record-actions button{min-height:66px;border-radius:var(--radius-md);padding:16px;border:0;color:var(--color-navy)!important;box-shadow:none}.phone .home-record-actions button[data-quick-record="うまくいった"]{background:var(--color-success-bg)}.phone .home-record-actions button[data-quick-record="うまくいかなかった"]{background:var(--color-failure-bg)}.home-recent{margin:32px 0}.phone .home .discovery-card{background:var(--color-success-bg);border:0;padding:20px 36px 20px 18px;border-radius:var(--radius-md);min-height:96px}.home .discovery-card h3{font-size:16px;font-weight:600}.home .discovery-card:before{display:none}.section-heading,.section-head{margin:32px 0 16px}.section-heading>button{font-size:12px;color:var(--color-muted)}
.ds-play-list{margin-top:16px}.ds-list-item{min-height:78px;padding:16px 0;gap:14px}.ds-list-icon{background:var(--color-failure-bg);color:var(--color-failure);border-radius:50%}.ds-list-copy strong{font-size:16px}.ds-list-copy small{font-size:12px}.record-kind-cards{display:flex;flex-direction:column;gap:16px}.record-kind.good{order:-1}.phone .record-kind{min-height:182px;padding:24px;text-align:center;border:0;border-radius:var(--radius-lg)}.phone .record-kind.good{background:var(--color-success-bg)}.phone .record-kind.bad{background:var(--color-failure-bg)}.phone .kind-face{background:none;width:52px;height:52px;margin:0 auto 12px;display:grid;place-items:center}.kind-face .manual-icon{width:46px;height:46px}.phone .record-kind h2{font-size:22px}.phone .record-kind p{font-size:13px}
.phone .interview-style .question-bubble{display:block;margin:0 0 18px}.phone .interview-style .question-bubble>.coach-avatar{display:none!important}.phone .interview-style .question-bubble p{padding:0;background:none;font-size:24px!important;font-weight:700;line-height:1.65}.phone .choice{background:white;min-height:60px;padding:16px;font-size:var(--font-body);border:var(--border);border-radius:var(--radius-md)}.phone .choice.selected{background:var(--color-failure-bg);border-color:var(--color-failure);box-shadow:inset 0 0 0 1px var(--color-failure)}.phone .choice.selected i{background:var(--color-failure);border-color:var(--color-failure);color:white}.phone .choice-description{font-size:12px;line-height:1.7}.previous-answer span,.user-bubble{background:var(--color-failure);color:white;border-radius:14px 0 14px 14px}.conversation-flow{background:var(--color-surface);padding:12px;border-radius:var(--radius-sm)}.phone .interview-style .selection-help{margin:0 0 20px!important;font-size:13px}.flow-stage{color:var(--color-muted)}
.record-review h1{margin-bottom:28px}.piece-event,.piece-play_factors,.piece-mental_context{margin:0 0 16px;padding:20px!important;border:0!important;border-left:3px solid var(--color-navy)!important;border-radius:0 var(--radius-md) var(--radius-md) 0!important;background:var(--color-surface)!important}.piece-play_factors{border-left-color:var(--color-play)!important;background:var(--color-play-bg)!important}.piece-mental_context{border-left-color:var(--color-self)!important;background:var(--color-self-bg)!important}.phone .piece-event h3,.phone .piece-play_factors h3,.phone .piece-mental_context h3{font-size:13px;color:var(--color-muted);margin-bottom:10px}.piece-event p{font-size:20px;font-weight:650}.piece-play_factors p,.piece-mental_context p{font-size:16px}.review-actions{margin-top:28px;gap:12px}.finding-parts article{padding:20px;border-radius:var(--radius-md);background:var(--color-deep-bg);margin:16px 0}.finding-parts article h3{font-size:21px}.finding-parts article+article{background:var(--color-surface)}
.manual-welcome{margin-bottom:28px}.manual-floor{min-height:148px;padding:22px;margin-bottom:16px;border-radius:var(--radius-lg)}.manual-floor strong{font-size:25px}.manual-floor p{font-size:14px}.manual-floor .floor-art{opacity:.35}.manual-motto{background:var(--color-surface);border-radius:var(--radius-md);padding:20px}.manual-summary{border:0;border-radius:0;border-bottom:var(--border);padding:20px 0}.manual-summary b{font-size:34px}.manual-encourage{margin:24px 0;color:var(--color-muted);font-size:14px}.manual-summary-link{padding:18px 16px}.manual-tabs{background:none;border:0;border-bottom:var(--border);border-radius:0}.manual-tabs button.active{background:none;color:var(--color-navy);border-bottom:3px solid var(--color-navy);border-radius:0}.manual-tabs button{font-size:12px}.manual-summary-link.up{background:var(--color-success-bg)}.manual-summary-link.down{background:var(--color-failure-bg)}.manual-summary-link.refine{background:var(--color-deep-bg)}.ds-ranking-list{border:0;border-radius:0}.ds-ranking-list .manual-rank{background:white;border-bottom:var(--border);padding:20px 0;min-height:76px}.manual-rank strong{font-size:16px}.manual-rank b{font-size:20px}.manual-rank b small{font-size:12px}.rank-number{box-shadow:none}.manual-thought{border:0;border-bottom:var(--border);padding:18px 0}.manual-bar{height:6px;background:var(--color-surface)}.manual-bar i{background:var(--color-play)}.manual-factor{padding:20px;background:var(--color-deep-bg)}.manual-record{border-radius:0;border:0;border-bottom:var(--border);background:white;padding:18px 0}.manual-record strong{font-size:15px}.manual-counts{gap:12px}.manual-period button.active{background:var(--color-navy)}
.reference-flow-node,.live-node{box-shadow:none;border-radius:var(--radius-md)}.reference-flow-node.event{background:var(--color-surface)}.reference-flow-node.thought{background:var(--color-self-bg)}.reference-flow-node.action{background:var(--color-failure-bg)}.reference-flow-node.result{background:var(--color-success-bg)}.preview-down,.explanation-card.down{background:var(--color-failure-bg)!important}.preview-up,.explanation-card.up{background:var(--color-success-bg)!important}.unknown-card,.unlinked-note{background:var(--color-surface)}.assistant-bubble{background:var(--color-surface);border:0!important;border-radius:0 14px 14px 14px;font-size:15px!important;padding:18px!important}.coach .suggestions button{font-size:15px;padding:16px;background:white;border:var(--border);border-radius:var(--radius-md);color:var(--color-navy)}.profile-menu>button{padding:18px 4px;border-bottom:var(--border)}.profile-overview{padding:24px 0 32px}.record-row{padding:18px 0}.ds-empty,.manual-empty,.viz-empty{box-shadow:none;background:var(--color-surface);border:0;padding:20px}.progress i{background:var(--color-self)}.welcome .hero-art{height:200px}.welcome .float{background:var(--color-bg);box-shadow:var(--shadow-soft)}.phone .scene{font-size:26px}.phone .question-bubble p{font-size:21px;line-height:1.7}.settings .secondary,.help .secondary{margin-top:16px}
@media(max-width:370px){main,.screen-book main.book{padding-left:20px;padding-right:20px}.reference-home-hero{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.heading h1,.manual h1{font-size:26px!important}.phone .interview-style .question-bubble p{font-size:22px!important}.home-record-actions button>span{font-size:14px}.manual-rank strong{font-size:15px}}
.reference-home-hero{overflow:hidden}.reference-home-hero:before{top:0;left:0;right:0;bottom:0;width:auto;height:auto;border-radius:0}.phone .home-record-actions{position:relative;z-index:1}.manual-side-up .manual-heading h1,.manual-side-down .manual-heading h1,.manual-side-thought .manual-heading h1{font-size:17px!important}
