:root{color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:ui-rounded,SF Pro Rounded,Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}html,body{overflow:hidden}body{min-width:320px}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid var(--open);outline-offset:3px}.app{width:100%;height:100dvh;min-height:0;padding:max(env(safe-area-inset-top), 12px) 16px max(env(safe-area-inset-bottom), 14px);background:radial-gradient(100% 54% at 0% 0%, color-mix(in srgb, var(--blue-soft) 90%, transparent), transparent 72%), radial-gradient(90% 50% at 100% 100%, color-mix(in srgb, var(--open-soft) 78%, transparent), transparent 74%), var(--canvas);flex-direction:column;display:flex;position:relative;overflow:hidden}.topbar{flex:none;justify-content:space-between;align-items:center;gap:10px;width:min(100%,440px);min-height:52px;margin:0 auto;display:flex}.brand{align-items:center;gap:8px;min-width:0;display:inline-flex}.brand-mark{border:1px solid color-mix(in srgb, var(--ink) 15%, transparent);width:35px;height:35px;color:var(--open-deep);background:color-mix(in srgb, var(--paper) 84%, transparent);box-shadow:0 5px 12px color-mix(in srgb, var(--shadow) 66%, transparent);border-radius:12px;place-items:center;display:grid}.thread-mark{width:27px;height:27px}.brand-name{letter-spacing:-.03em;font-size:17px;font-weight:850}.return-note{min-width:0;max-width:54%;color:var(--muted);letter-spacing:.01em;text-align:right;justify-content:flex-end;align-items:center;font-size:11px;font-weight:750;display:inline-flex}.dot-separator{color:var(--faint);padding:0 5px}.app-body{flex-direction:column;flex:auto;width:min(100%,440px);min-height:0;margin:0 auto;display:flex}.progress-block{flex:none;padding:16px 2px 12px}.progress-heading{justify-content:space-between;align-items:baseline;margin-bottom:9px;display:flex}.eyebrow{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:850;line-height:1.2}.progress-count{color:var(--ink);letter-spacing:.03em;font-size:12px;font-weight:850}.pips{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;width:100%;display:grid}.pip{background:color-mix(in srgb, var(--ink) 10%, transparent);border-radius:99px;height:5px;transition:background-color .18s,transform .18s;display:block}.pip--filled{background:var(--open);transform:scaleY(1.25)}.question-card{border:1px solid color-mix(in srgb, var(--ink) 11%, transparent);background:color-mix(in srgb, var(--paper) 90%, transparent);min-height:150px;max-height:190px;box-shadow:0 12px 25px color-mix(in srgb, var(--shadow) 70%, transparent), inset 0 1px 0 color-mix(in srgb, var(--white) 88%, transparent);border-radius:25px;flex-direction:column;flex:0 auto;padding:16px 17px 17px;display:flex;position:relative;overflow:hidden}.question-card:after{border:1px solid color-mix(in srgb, var(--blue) 20%, transparent);content:"";pointer-events:none;border-radius:50%;width:128px;height:128px;position:absolute;bottom:-38px;right:-17px}.question-card--long{max-height:224px}.question-card--long blockquote{letter-spacing:-.04em;font-size:clamp(18px,4.9vw,22px);line-height:1.14}.bubble-topline{flex:none;justify-content:space-between;align-items:center;display:flex}.bubble-dots{gap:4px;padding:4px 1px;display:inline-flex}.bubble-dots i{background:var(--blue);border-radius:50%;width:4px;height:4px;display:block}.bubble-dots i:nth-child(2){opacity:.62}.bubble-dots i:nth-child(3){opacity:.34}.quote-pane{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--blue) 55%, transparent) transparent;flex:auto;align-items:center;min-height:0;margin-top:7px;padding:6px 3px 3px 29px;display:flex;position:relative;overflow:auto}.quote-mark{color:var(--open);font-family:Georgia,serif;font-size:55px;font-weight:700;line-height:.9;position:absolute;top:0;left:1px}blockquote{max-width:100%;color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(20px,5.7vw,27px);font-weight:720;line-height:1.12}.quote-tail{border-bottom:1px solid color-mix(in srgb, var(--ink) 11%, transparent);border-left:1px solid color-mix(in srgb, var(--ink) 11%, transparent);background:var(--paper);border-radius:0 0 0 22px;width:34px;height:28px;position:absolute;bottom:-19px;left:38px;transform:rotate(-23deg)skewY(27deg)}.question-prompt{flex:none;padding:17px 3px 10px}.question-prompt h1{letter-spacing:-.035em;margin:0;font-size:clamp(18px,5vw,22px);font-weight:850;line-height:1.18}.question-prompt p{min-height:17px;color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:650;line-height:1.35}.reply-list{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--blue) 45%, transparent) transparent;flex-direction:column;flex:auto;gap:8px;min-height:0;padding:0 2px 1px;display:flex;overflow:auto}.reply{border:1px solid color-mix(in srgb, var(--ink) 13%, transparent);background:color-mix(in srgb, var(--paper) 84%, transparent);min-height:61px;box-shadow:0 5px 12px color-mix(in srgb, var(--shadow) 40%, transparent);cursor:pointer;text-align:left;border-radius:17px;flex:1 1 0;align-items:center;padding:10px 12px 10px 10px;transition:border-color .16s,background-color .16s,transform .16s,box-shadow .16s;display:flex;position:relative}.reply:not(:disabled):active{transform:translateY(2px)scale(.995)}.reply:not(:disabled):hover{border-color:color-mix(in srgb, var(--open) 46%, var(--line));box-shadow:0 8px 16px color-mix(in srgb, var(--shadow) 68%, transparent)}.reply-letter{border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);width:32px;height:32px;color:var(--muted);background:color-mix(in srgb, var(--paper-warm) 86%, transparent);border-radius:10px;flex:none;place-items:center;margin-right:10px;font-size:12px;font-weight:850;display:grid}.reply-body{flex-direction:column;flex:auto;justify-content:center;gap:5px;min-width:0;display:flex}.reply-text{color:var(--ink);font-size:13px;font-weight:680;line-height:1.22}.reply-side{width:31px;height:31px;color:var(--faint);background:color-mix(in srgb, var(--ink) 5%, transparent);border-radius:10px;flex:none;place-items:center;margin-left:7px;display:grid}.reply-icon{width:19px;height:19px}.reply--right,.reply--answer{border-color:color-mix(in srgb, var(--open) 54%, var(--line));background:var(--open-soft);box-shadow:0 7px 14px color-mix(in srgb, var(--open) 15%, transparent)}.reply--right .reply-letter,.reply--answer .reply-letter{border-color:var(--open);color:var(--open-deep);background:var(--paper)}.reply--right .reply-side,.reply--answer .reply-side{color:var(--open-deep);background:color-mix(in srgb, var(--open) 15%, transparent)}.reply--wrong{border-color:color-mix(in srgb, var(--yellow) 66%, var(--line));background:color-mix(in srgb, var(--paper-warm) 90%, var(--yellow))}.reply--wrong .reply-letter{border-color:var(--yellow);color:color-mix(in srgb, var(--ink) 76%, var(--yellow))}.reply--wrong .reply-side{color:var(--yellow)}.reply-reason{color:var(--muted);font-size:11px;font-weight:580;line-height:1.25;display:block}.reason-label{color:var(--open-deep);letter-spacing:.04em;text-transform:uppercase;margin-right:4px;font-size:10px;font-weight:850}.tap-hint{height:42px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;flex:none;justify-content:center;align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex}.tap-dot{background:var(--open);border-radius:50%;width:5px;height:5px}.next-button,.again-button{border:1px solid var(--open);width:100%;min-height:56px;color:var(--white);background:var(--open);box-shadow:0 8px 16px color-mix(in srgb, var(--open) 23%, transparent);cursor:pointer;letter-spacing:-.01em;border-radius:17px;flex:none;justify-content:space-between;align-items:center;margin-top:8px;padding:0 17px 0 19px;font-size:14px;font-weight:850;transition:transform .16s,box-shadow .16s,background-color .16s;display:flex}.next-button span:last-child,.again-button span:last-child{font-size:21px;font-weight:500;line-height:1}.next-button:active,.again-button:active{box-shadow:0 4px 9px color-mix(in srgb, var(--open) 20%, transparent);transform:translateY(2px)}.storage-note{max-width:100%;color:var(--muted);text-align:center;flex:none;margin:6px 3px 0;font-size:10px;font-weight:650;line-height:1.25}.score-body{justify-content:center;padding:10px 0 17px}.score-card{border:1px solid color-mix(in srgb, var(--ink) 11%, transparent);background:color-mix(in srgb, var(--paper) 92%, transparent);min-height:0;box-shadow:0 16px 30px color-mix(in srgb, var(--shadow) 72%, transparent), inset 0 1px 0 color-mix(in srgb, var(--white) 92%, transparent);border-radius:28px;flex-direction:column;flex:0 auto;padding:27px 20px 20px;display:flex;position:relative;overflow:hidden}.score-card:before{border:1px solid color-mix(in srgb, var(--open) 28%, transparent);content:"";border-radius:50%;width:152px;height:152px;position:absolute;top:-60px;right:-32px}.score-orbit{gap:5px;display:flex;position:absolute;top:24px;right:26px}.score-orbit span{background:var(--open);border-radius:50%;width:6px;height:6px;display:block}.score-orbit span:nth-child(2){background:var(--yellow);transform:translateY(6px)}.score-orbit span:nth-child(3){background:var(--blue);transform:translateY(1px)}.score-eyebrow{color:var(--open-deep)}.score-card h1{max-width:350px;color:var(--ink);letter-spacing:-.065em;margin:11px 0 0;font-size:clamp(28px,8.5vw,37px);font-weight:850;line-height:1.06}.score-card h1 strong{color:var(--open);font-weight:900}.score-subtitle{max-width:320px;color:var(--muted);margin:11px 0 17px;font-size:12px;font-weight:620;line-height:1.4}.insight-card{border:1px solid color-mix(in srgb, var(--blue) 19%, transparent);background:var(--blue-soft);border-radius:17px;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:12px 14px;display:flex}.insight-card>div{flex-direction:column;gap:7px;min-width:0;display:flex}.insight-card strong{color:var(--ink);font-size:15px;font-weight:850;line-height:1.15}.insight-mark{width:34px;height:34px;color:var(--blue);background:var(--paper);border-radius:50%;flex:none;place-items:center;font-size:21px;display:grid}.advice{color:var(--muted);margin:14px 2px 0;font-size:12px;font-weight:620;line-height:1.42}.advice span{color:var(--open-deep);font-weight:850}.score-footer{align-items:center;gap:12px;margin-top:21px;display:flex}.quiet-history{color:var(--muted);flex:auto;font-size:10px;font-weight:750;line-height:1.25}.again-button{width:auto;min-width:126px;min-height:52px;margin:0}@media (max-height:700px){.progress-block{padding-top:8px;padding-bottom:7px}.question-card{min-height:126px;max-height:156px;padding-top:12px;padding-bottom:12px}.question-prompt{padding-top:10px;padding-bottom:6px}.reply{min-height:56px;padding-top:7px;padding-bottom:7px}.tap-hint{height:32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation-duration:0s!important;animation-delay:0s!important}}
