:root{--plant-ink:#124c71;--plant-green:#2c8069;--plant-mint:#e7f6ee;--plant-line:#c2dde3;--plant-yellow:#fff1bc}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(130deg,#eefaff,#fffdf6 55%,#effaf3);color:var(--plant-ink);font-family:system-ui,"Noto Sans JP",sans-serif;line-height:1.75}button,input,a{touch-action:manipulation}button{font:inherit;font-weight:700;color:var(--plant-ink);background:#fff;border:1px solid #a7cfdc;border-radius:15px;min-height:46px;padding:9px 17px;cursor:pointer}button:hover:not(:disabled){background:#edf8ff;border-color:#087cc9}button:disabled{cursor:default;opacity:.55}button[aria-pressed=true],button[aria-checked=true]{background:#dcf4eb;border:2px solid #267d67}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #a76605;outline-offset:4px}h1,h2,h3,p{margin:0 0 .65em}h1{line-height:1.5;font-size:clamp(28px,4.7vw,46px);letter-spacing:.02em}h2{font-size:clamp(21px,3vw,28px);line-height:1.5}h3{font-size:18px}p:last-child{margin-bottom:0}main{width:min(100% - 40px,1040px);margin:24px auto 0}a{color:#005fb7}.preview-note{font-size:12px;color:#657d92;margin-bottom:16px}.hero{position:relative;border:1px solid #c8e8df;border-radius:30px;background:linear-gradient(110deg,#e4f5fa,#ebf8ec);padding:34px 36px;display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center;overflow:hidden}.eyebrow{font-weight:700;font-size:13px;letter-spacing:.08em;color:#287765}.subtitle{display:inline-block;padding:3px 16px;border-radius:30px;background:#fff2bd;color:#66521f;font-size:19px;font-weight:800}.hero .lede{font-size:17px;line-height:1.85;margin-top:16px}.hero-art{position:relative;display:flex;align-items:end}.hero-art .plant-illustration{width:70%;transform:rotate(3deg)}.hero-art .seed-first{width:42%;margin-right:-14%;transform:rotate(-7deg)}.hero-art:after{content:'小さな種から、発見。';position:absolute;bottom:-15px;right:0;color:#367365;font-size:13px;font-weight:700;letter-spacing:.05em}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.mode-card{background:#fff;border-radius:22px;padding:22px;border:1px solid var(--plant-line);box-shadow:0 4px 12px #16497107}.mode-card p{font-size:14px;color:#4d7087}.primary{background:#007ceb;color:white;border:1px solid #0070d9;box-shadow:inset 0 1px 0 #ffffff60;font-weight:800}.primary:hover:not(:disabled){background:#006ad0;color:#fff}.mode-card button{width:100%;font-size:18px;margin-top:10px}.quiz-mode{background:#fffcf2}.panel{background:#fff;border:1px solid var(--plant-line);border-radius:25px;padding:26px;margin:20px 0;box-shadow:0 4px 14px #15476206}.help summary{font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center}.help ol{padding-left:23px}.help p,.help li{font-size:15px}.progress-note{font-size:14px;color:#4c756a}.missions{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.mission-card{background:#fff;border:1px solid var(--plant-line);border-radius:20px;overflow:hidden}.mission-card button{border:0;border-radius:0;width:100%;height:100%;text-align:left;padding:21px}.mission-card .number{background:#e6f4ef;border-radius:50%;width:33px;height:33px;display:inline-grid;place-items:center;color:#1e7963;margin-bottom:10px}.mission-title{display:block;line-height:1.55;margin-bottom:8px;font-size:17px}.mission-card small{display:block;font-weight:400}.topbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:18px}.topbar p{margin:0;font-size:14px}.step-strip{display:flex;gap:9px;list-style:none;padding:0;flex-wrap:wrap;font-size:13px;color:#5b7688}.step-strip li{padding:3px 11px;background:#edf3f6;border-radius:30px}.step-strip .current{background:#d9f1e5;color:#1b6d53;font-weight:700}.experiment-header{margin-bottom:20px}.experiment-header p{font-size:16px}.vessel-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;margin:18px 0}.vessel{min-width:0;border:1px solid #c4dde0;border-radius:20px;padding:16px;background:#fbfefd}.vessel h3{display:flex;align-items:center;gap:9px;margin:0 0 8px}.vessel-letter{display:inline-grid;place-items:center;min-width:34px;height:34px;font-size:20px;background:#dcf1ed;color:#176b5a;border-radius:10px}.vessel-sub{font-size:13px;line-height:1.5}.plant-illustration{display:block;width:100%;max-height:220px;margin:0 auto}.conditions{margin:12px 0 0}.condition-row{display:grid;grid-template-columns:1fr 1.2fr;gap:7px;padding:6px 8px;border-bottom:1px solid #deebe9;align-items:center;font-size:14px;line-height:1.5}.condition-row.changed{background:#fff2c8;border:1px solid #e8cd83;border-radius:10px}.condition-row dt{display:flex;align-items:center;gap:5px;font-weight:700;flex-wrap:wrap}.condition-row dd{margin:0}.condition-icon{width:16px;height:19px;flex-shrink:0;color:#3e89a0}.condition-kind{font-size:11px;font-weight:500;background:#fff;padding:0 4px;border-radius:4px}.observation{font-size:14px;padding:9px 1px 0;line-height:1.65;min-height:52px}.small-note{font-size:13px;color:#526e83;line-height:1.75}.fixed-note{background:#eff7fa;border-radius:12px;padding:12px 15px;margin:12px 0;font-size:14px}.prediction{border:0;padding:0;margin:22px 0 18px}.prediction legend{font-weight:800;margin-bottom:10px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice-grid button{text-align:left;font-size:15px}.predict-label{font-size:13px;color:#63788b;display:block;margin-top:6px}.action-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}.action-row .primary{flex:1;min-width:160px;font-size:17px}.feedback{border:1px solid #a5cfbe;border-left:5px solid #31876f;background:#ecf8f1;border-radius:16px;padding:22px;margin-top:20px}.feedback.wrong{border-color:#d9c689;background:#fff8e6}.feedback h3{font-size:21px}.feedback .answer-text{font-size:20px;font-weight:800}.message{font-size:15px;min-height:1.7em;margin:12px 0;color:#576938}.compare-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.compare-choice{padding:15px;text-align:left;font-weight:400}.compare-choice strong{display:block;font-size:17px}.compare-choice .conditions{pointer-events:none}.compare-choice .condition-row{grid-template-columns:1fr 1.2fr}.repair-options{display:flex;flex-wrap:wrap;gap:9px}.repair-options button{flex:1;min-width:85px}.stage-controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.stage-controls button{flex:1;min-width:90px;font-size:14px}.stage-summary{font-weight:700;background:#fff3c7;padding:9px 15px;border-radius:12px;margin:15px 0}.stages{display:flex;gap:6px;margin-top:12px}.stages button{flex:1;font-size:13px;padding:5px;min-width:0}.quiz-progress{height:6px;border-radius:6px;background:#dfedf0;overflow:hidden;margin-bottom:20px}.quiz-progress span{height:100%;display:block;background:#399887}.quiz-choices{display:grid;gap:10px;margin-top:24px}.quiz-choices button{text-align:left;padding:14px 16px;display:flex;align-items:center;gap:14px}.choice-number{width:27px;height:27px;display:inline-grid;place-items:center;border-radius:50%;background:#e6f3fa;flex-shrink:0}.quiz-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.mini-condition-card{border:1px solid #c4dbe0;border-radius:14px;padding:12px}.mini-condition-card .condition-row{display:block;padding:5px}.mini-condition-card dd{margin-top:2px}.single-vessel{max-width:280px;margin-left:auto;margin-right:auto;grid-template-columns:1fr}.result-score{text-align:center;font-size:21px;padding:24px;background:#e9f7ef;border-radius:18px;margin:20px 0}.result-score strong{font-size:48px;color:#206f56}.review-item{border-top:1px solid #d7e4e8;padding:17px 0}.review-item h3{font-size:16px}.review-item p{font-size:15px}.review-answer{font-weight:700}.preferences{margin:20px 0;font-size:14px;display:flex;align-items:center}.preferences input{width:20px;height:20px;vertical-align:middle;margin-right:8px}.save-area{font-size:13px;color:#687b8d}.save-area:has(p:empty){display:none}footer{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;font-size:13px;margin:45px 0 28px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{display:block;padding:12px;background:white;z-index:999}.inline-tool{font-size:13px;min-height:44px;padding:5px 12px}.topic-pill{font-size:12px;font-weight:700;letter-spacing:.05em;color:#27795f}.home-records{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:14px}.result-actions{display:flex;gap:12px;flex-wrap:wrap}.result-actions button{flex:1}.credits{max-width:850px}.credits h2{font-size:21px;margin-top:25px}.credits ul{padding-left:22px}.credits p{font-size:16px}.seed-caption{font-size:13px;text-align:center;color:#527b70}.plant-illustration{animation:appear .22s ease-out}@keyframes appear{from{opacity:.6}to{opacity:1}}[data-reduce-motion=true] *{animation:none!important;transition:none!important}
@media(max-width:650px){main{width:calc(100% - 24px);margin-top:17px}.hero{padding:25px 22px;grid-template-columns:1fr;gap:10px;border-radius:23px}.hero-art{max-width:275px;justify-self:center;height:160px}.hero-art .plant-illustration{max-height:165px}.hero-art .seed-first{max-height:110px}.hero-art:after{bottom:-5px;right:-3px;font-size:12px}.hero h1{font-size:30px}.hero .lede{font-size:15px}.home-actions{gap:10px}.mode-card{padding:17px 13px;border-radius:18px}.mode-card h2{font-size:19px}.mode-card p{font-size:13px}.mode-card button{font-size:15px;padding:10px 6px}.panel{padding:18px 14px;border-radius:20px}.missions{grid-template-columns:1fr 1fr;gap:10px}.mission-card button{padding:16px 12px}.mission-title{font-size:15px}.vessel-pair{gap:9px;margin:14px 0}.vessel{padding:10px 8px;border-radius:15px}.plant-illustration{max-height:170px}.condition-row{grid-template-columns:1fr;padding:5px;font-size:14px;gap:2px}.condition-row dt{font-size:12px;gap:4px}.condition-row dd{font-size:14px}.vessel h3{gap:5px}.vessel-sub{font-size:11px}.vessel-letter{min-width:29px;height:29px;font-size:18px}.observation{font-size:13px;min-height:64px}.experiment-header h2{font-size:21px}.experiment-header p{font-size:14px}.choice-grid button{font-size:14px;padding:10px}.feedback{padding:17px 14px}.feedback p{font-size:15px}.feedback .answer-text{font-size:19px}.compare-cards{gap:9px}.compare-choice{padding:12px 8px}.compare-choice .condition-row{grid-template-columns:1fr}.quiz-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.mini-condition-card{padding:8px 5px}.mini-condition-card h3{font-size:14px}.mini-condition-card .condition-row dd{font-size:13px}.stage-controls button{min-width:80px;padding:7px;font-size:13px}.small-note{font-size:12px}.topbar{gap:7px}.topbar button{font-size:14px;padding:8px 13px}.topbar p{font-size:12px}.stages button{font-size:12px}.step-strip{gap:5px;font-size:12px}.step-strip li{padding:3px 7px}.action-row .primary{min-width:130px}.result-actions{gap:8px}.result-actions button{min-width:135px}}
.cotton-label{margin:5px 0 0;text-align:center;font-size:14px;font-weight:700;color:#456b71;line-height:1.5}
[data-observation-view]{scroll-margin-top:16px}
.cotton-label .condition-icon{vertical-align:-3px;margin-right:3px}.cotton-label.is-moist{color:#176992}.cotton-label.is-dry{color:#80632d}
.air-indicator{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 9px;align-items:center;width:100%;max-width:220px;margin:10px auto 0;padding:8px 10px;background:#eff7fa;border:1px solid #c2dde3;border-radius:12px;font-size:14px;line-height:1.5}.air-indicator-label{grid-column:1/-1;font-size:12px}.air-indicator strong{font-size:14px;white-space:nowrap}.air-level{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.air-level>span{display:block;height:16px;border:1px solid #8eb5c2;border-radius:3px;background:#fff;overflow:hidden}.air-level>span:after{content:'';display:block;height:100%;background:#3e89a0}.air-level.is-low>span:after{width:0}.air-level.is-low>span:first-child:after{width:30%}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep the next action in reach while leaving explanations and observations scrollable. */
@media(max-width:700px),(max-height:500px) and (max-width:1000px){
  #game-root:has([data-action="quiz-next"]){padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  #game-root :is([data-action="quiz-next"]){position:fixed;z-index:20;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));width:auto;margin:0;min-height:52px;box-shadow:0 0 0 6px #fffdf7,0 -4px 18px #073e7d24}
}
