:root{--max-w: 430px}*,*:before,*:after{box-sizing:border-box;margin:0}body{margin:0;font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#e9ebe7}#root{display:flex;justify-content:center}.app-shell{width:100%;max-width:var(--max-w);min-height:100dvh}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.instrument-page{min-height:100dvh;background:#f4f5f1;color:#191d1b}.instrument-header{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 20px;border-bottom:1px solid #cbd0cc}.instrument-kicker{font-family:"Source Sans 3",sans-serif;font-size:12px;font-weight:500;line-height:1.2;letter-spacing:.02em;color:#5f6763}.instrument-title{font-family:"Source Sans 3",sans-serif;font-size:clamp(22px,5.5vw,25px);font-weight:500;line-height:1.16;letter-spacing:-.025em}.instrument-reading{font-family:"Source Serif 4",Georgia,serif;font-size:15.5px;line-height:1.5;color:#303633}.instrument-rule{border-top:1px solid #cbd0cc}.instrument-action{width:100%;min-height:46px;border:1px solid #1f4e49;border-radius:4px;background:#1f4e49;color:#fff;font-family:"Source Sans 3",sans-serif;font-size:15px;font-weight:500;cursor:pointer}.instrument-link{border:0;background:transparent;color:#1f4e49;font-family:"Source Sans 3",sans-serif;font-size:13px;font-weight:500;cursor:pointer;padding:8px 0}.instrument-choice{min-height:40px;padding:8px 12px;border:1px solid #cbd0cc;border-radius:4px;background:transparent;color:#303633;font-family:"Source Sans 3",sans-serif;font-size:13px;cursor:pointer}.instrument-choice[aria-pressed=true]{border-color:#1f4e49;background:#e0e9e6;color:#153b37}.instrument-answer{border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:#5f6763;font-family:"Source Sans 3",sans-serif;font-size:13px;line-height:1.3;padding:2px 0 4px;cursor:pointer}.instrument-answer[aria-pressed=true]{border-bottom-color:#1f4e49;color:#1f4e49;font-weight:600}.phase-preview-page{min-height:100dvh}.phase-preview-hero{padding:26px 20px 22px}.phase-preview-meta{display:flex;align-items:baseline;justify-content:space-between;gap:16px;color:#1f4e49;font-family:"Source Sans 3",sans-serif;font-size:12px;font-weight:600;line-height:1.25;letter-spacing:.01em}.phase-preview-meta span:last-child{flex:0 0 auto;color:#5f6763;font-weight:500}.phase-preview-hero h1{max-width:360px;margin:15px 0 0;color:#191d1b;font-family:"Source Sans 3",sans-serif;font-size:clamp(25px,7vw,30px);font-weight:500;line-height:1.08;letter-spacing:-.035em}.phase-preview-hero p,.phase-preview-mars p{margin:13px 0 0;color:#303633;font-family:"Source Serif 4",Georgia,serif;font-size:15.5px;line-height:1.53}.phase-preview-section{margin:0 20px;padding:17px 0 18px;border-top:1px solid #cbd0cc}.phase-preview-scenes{margin:8px 0 0;color:#5f6763;font-family:"Source Sans 3",sans-serif;font-size:14px;line-height:1.55}.phase-preview-move{margin:8px 0 0;color:#191d1b;font-family:"Source Sans 3",sans-serif;font-size:16px;font-weight:500;line-height:1.4}.phase-preview-mars{padding-left:12px;border-left:2px solid #9f6a55}.phase-preview-mars .phase-preview-meta{color:#8b513c}.phase-preview-mars h2{margin:11px 0 0;color:#191d1b;font-family:"Source Sans 3",sans-serif;font-size:18px;font-weight:600;line-height:1.2;letter-spacing:-.015em}.phase-preview-footnote{padding:7px 20px 22px;color:#7f8883;font-family:"Source Sans 3",sans-serif;font-size:10px;line-height:1.2}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes progressFill{0%{width:0%}to{width:100%}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#f0ebe3;border-radius:2px}::selection{background:#b8956a33}@media (min-width: 360px){.justify-mobile{text-align:justify}}
