*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Noto Sans JP,Inter,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.bottom-5{bottom:1.25rem}.right-5{right:1.25rem}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mt-2{margin-top:.5rem}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.contents{display:contents}.hidden{display:none}.h-14{height:3.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-7{height:1.75rem}.min-h-screen{min-height:100vh}.w-14{width:3.5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.resize-none{resize:none}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-amber-600\/40{border-color:#d9770666}.border-blue-500\/30{border-color:#3b82f64d}.border-brand-500\/20{border-color:#e0428d33}.border-brand-500\/30{border-color:#e0428d4d}.border-brand-500\/40{border-color:#e0428d66}.border-brand-500\/50{border-color:#e0428d80}.border-cyan-500\/30{border-color:#06b6d44d}.border-cyan-700\/40{border-color:#0e749066}.border-emerald-500\/30{border-color:#10b9814d}.border-emerald-500\/40{border-color:#10b98166}.border-indigo-500\/40{border-color:#6366f166}.border-pink-500\/40{border-color:#ec489966}.border-purple-500\/40{border-color:#a855f766}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-violet-500\/40{border-color:#8b5cf666}.border-zinc-600\/40{border-color:#52525b66}.bg-amber-500\/20{background-color:#f59e0b33}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.bg-brand-500\/10{background-color:#e0428d1a}.bg-brand-500\/20{background-color:#e0428d33}.bg-cyan-900{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity,1))}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-900{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.bg-emerald-950{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity,1))}.bg-indigo-950{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity,1))}.bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.bg-pink-900{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}.bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.bg-rose-500\/20{background-color:#f43f5e33}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/90{background-color:#0f172ae6}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-violet-900{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-brand-600{--tw-gradient-from:#ca2673 var(--tw-gradient-from-position);--tw-gradient-to:#ca267300 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-rose-600{--tw-gradient-to:#e11d48 var(--tw-gradient-to-position)}.fill-brand-400{fill:#ea73a8}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-5{padding:1.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-0\.5{padding-top:.125rem}.text-center{text-align:center}.font-sans{font-family:Noto Sans JP,Inter,sans-serif}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-brand-300{--tw-text-opacity:1;color:rgb(242 168 204/var(--tw-text-opacity,1))}.text-brand-400{--tw-text-opacity:1;color:rgb(234 115 168/var(--tw-text-opacity,1))}.text-cyan-200{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.text-pink-200{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}.text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-violet-200{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-brand-500\/25{--tw-shadow-color:#e0428d40;--tw-shadow:var(--tw-shadow-colored)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:#0f172a99}.custom-scrollbar::-webkit-scrollbar-thumb{background:#e0428d66;border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#e0428dcc}@keyframes pulse-subtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.92;transform:scale(1.02)}}.heart-pulse{animation:2s ease-in-out infinite pulse-subtle}.glass-panel{-webkit-backdrop-filter:blur(12px);background:#111827d9;border:1px solid #ffffff1a}.glass-panel-adult{-webkit-backdrop-filter:blur(14px);background:radial-gradient(circle at 50% 20%,#560e3173,#0f172aeb);border:1px solid #e0428d40;box-shadow:0 10px 30px -10px #e0428d33}@keyframes dot-bounce{0%,80%,to{opacity:.3;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.dot-bounce-1{animation:1.4s ease-in-out infinite both dot-bounce}.dot-bounce-2{animation:1.4s ease-in-out .2s infinite both dot-bounce}.dot-bounce-3{animation:1.4s ease-in-out .4s infinite both dot-bounce}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf1e9;background:#111715;font-family:Segoe UI,Yu Gothic UI,Meiryo,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:4px;outline:2px solid #c6dbad}.practice-app{color:#eef1e9;background:radial-gradient(at 5% 0,#26372c55,#0000 45%),#111715;min-height:100svh}.app-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:20px;max-width:1440px;margin:auto;padding:24px 40px;display:flex}.wordmark{letter-spacing:-1px;color:#eef1e9;font-size:24px;font-weight:600;text-decoration:none}.wordmark>span{color:#aabf9c;margin-left:5px;font-weight:300}.wordmark small{letter-spacing:2px;color:#97a297;margin-top:4px;font-size:10px;font-weight:400;display:block}.app-header nav{align-items:center;gap:8px;display:flex}.icon-button,.settings-button,.partner-button,.subtle-button{color:#d7e1d3;background:#ffffff04;border:1px solid #ffffff1c;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 12px;font-size:12px;display:inline-flex}.icon-button{flex-shrink:0;width:42px;padding:8px}.icon-button:hover,.settings-button:hover,.partner-button:hover,.subtle-button:hover{background:#ffffff10;border-color:#a9bf9670}.icon-button[aria-pressed=true]{color:#c5d8ac;background:#c5d8ac0d}.partner-button img{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:25px;height:25px}.settings-button i{background:#a2926b;border-radius:50%;width:5px;height:5px}.settings-button i.connected{background:#a9cc8e}.practice-intro{justify-content:space-between;align-items:flex-end;gap:24px;max-width:1440px;margin:auto;padding:34px 40px 26px;display:flex}.eyebrow{letter-spacing:2px;color:#a9bc9a;font-size:10px;font-weight:600}.practice-intro h1{letter-spacing:.02em;margin-top:8px;font-size:clamp(21px,2.1vw,30px);font-weight:500}.practice-intro>p{color:#9ba69b;font-size:12px}.practice-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:36px;max-width:1440px;margin:auto;padding:0 40px 30px;display:grid}.visual-column,.interaction-column{min-width:0}.visual-column{position:sticky;top:20px}.interaction-column{flex-direction:column;gap:18px;display:flex}.scene-panel{background:#1b221d;border:1px solid #ffffff1c;border-radius:18px;overflow:hidden}.scene-image-area{background:#202921;height:clamp(350px,53vh,640px);min-height:350px;position:relative;overflow:hidden}.scene-photo{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;display:block}.photo-label{letter-spacing:.06em;color:#e4ebde;background:#152017d9;border:1px solid #ffffff29;border-radius:6px;padding:7px 10px;font-size:10px;position:absolute;top:16px;left:16px}.expand-button{background:#111a14cc;border:1px solid #ffffff30;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:14px;right:14px}.generation-indicator{color:#deebd1;background:#16221aeb;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:12px;font-size:12px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.scene-caption{justify-content:space-between;align-items:center;gap:12px;padding:21px 23px;display:flex}.scene-caption h2{margin:5px 0 8px;font-size:23px;font-weight:500}.scene-caption h2 small{color:#a6b2a2;margin-left:12px;font-size:12px}.scene-caption p{color:#a6b2a2;align-items:center;gap:6px;font-size:12px;display:flex}.scene-help{color:#9ca995;padding:0 23px 18px;font-size:11px;line-height:1.8}.image-notice{color:#ddc899;background:#c0a06b15;border:1px solid #b99d6435;border-radius:8px;margin:0 18px 18px;padding:14px;font-size:12px;line-height:1.7}.image-notice p{margin:5px 0}.image-notice button{text-decoration:underline}.visual-column>.glass-panel{box-shadow:none;background:0 0;border-color:#ffffff12 currentColor;border-left-style:none;border-left-width:0;border-right-style:none;border-right-width:0;border-radius:0;margin-top:16px;padding:16px 0}.stage-heading h2{margin:6px 0 12px;font-size:25px;font-weight:500}.lesson-progress{gap:5px;margin-bottom:17px;display:flex}.lesson-progress span{background:#ffffff14;border-radius:2px;flex:1;height:3px}.lesson-progress .active{background:#bdd1a6}.stage-heading>p{color:#aeb8ac;font-size:13px;line-height:1.9}.conversation-panel{background:#1b231e;border:1px solid #ffffff18;border-radius:14px;padding:21px 22px 12px}.conversation-heading{justify-content:space-between;align-items:center;display:flex}.live-label{color:#96a98c;font-size:10px}.speaker-name{color:#bbceac;margin:20px 0 10px;font-size:13px}.speaker-name span{margin-left:4px;font-size:11px}.reply-text{letter-spacing:.02em;color:#f1f2e9;min-height:72px;font-size:clamp(17px,1.6vw,21px);line-height:1.9}.current-reply{padding-bottom:20px}.reply-coach{color:#b5c0ae;border-left:2px solid #bace9c;margin:0 0 18px;padding:6px 0 6px 12px;font-size:12px;line-height:1.8}.reply-coach>span{color:#d5e1c9;letter-spacing:.08em;font-size:10px}.conversation-history{color:#acbaa1;margin-bottom:15px;font-size:12px}.conversation-history>div{max-height:230px;padding:10px 0;overflow:auto}.conversation-history p{margin:12px 0;line-height:1.8}.conversation-history strong{color:#e3ebdc;font-size:10px;display:block}.mode-switch{background:#111a14;border-radius:9px;gap:4px;padding:4px;display:flex}.mode-switch button{color:#92a08a;border-radius:6px;flex:1;padding:10px 5px;font-size:12px}.mode-switch button[aria-pressed=true]{color:#e5eddc;background:#35422f}.answer-panel>p{color:#a7b3a0;margin-bottom:10px;font-size:12px}.answer-choice{text-align:left;color:#dbe4d5;background:#ffffff03;border:1px solid #fff2;border-radius:12px;align-items:flex-start;gap:13px;width:100%;padding:17px;font-size:14px;line-height:1.9;transition:background .2s,border-color .2s;display:flex}.answer-choice:hover{background:#c0d1ac0d;border-color:#bfd3a5}.choice-number{color:#bbcfab;border:1px solid #b5c79f40;border-radius:7px;flex-shrink:0;place-items:center;width:25px;height:25px;margin-top:2px;font-size:11px;display:grid}.free-answer{background:#1b231e;border:1px solid #ffffff18;border-radius:12px;padding:18px}.free-answer textarea{background:#131a15;border-color:#526047;min-height:110px;padding:12px;font-size:14px;line-height:1.8}.free-answer button{color:#1c2a1a;box-shadow:none;background:#c8d9b1}.primary-button{color:#1d2919;background:#c6d8ae;border-radius:10px;justify-content:center;align-items:center;min-height:48px;padding:15px 22px;font-size:14px;font-weight:600;display:flex}.primary-button:hover{background:#d5e4c2}.lesson-hint{color:#aab6a3;border-top:1px solid #ffffff14;padding:17px 0;font-size:12px}.lesson-hint summary{cursor:pointer;line-height:1.8}.lesson-hint summary span{letter-spacing:1.5px;color:#c1d2ad;margin-right:12px;font-size:9px}.lesson-hint p{padding:13px 0 0;line-height:1.9}.end-practice{color:#889480;align-self:center;padding:8px;font-size:11px;text-decoration:underline}.app-footer{color:#7e8c76;text-align:center;border-top:1px solid #ffffff0c;padding:22px;font-size:10px;line-height:1.9}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080e0be6}.people-dialog{color:#e6eddf;background:#151d17;border:1px solid #46513f;border-radius:20px;width:min(1120px,100vw - 40px);max-width:none;height:min(880px,90svh);max-height:90svh;margin:auto;padding:0;overflow:hidden}.people-dialog[open]{flex-direction:column;display:flex}.people-heading{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 30px 22px;display:flex}.people-heading h2{margin:7px 0;font-size:26px;font-weight:500}.people-heading p{color:#9cae92;font-size:12px}.people-filters{border-bottom:1px solid #ffffff13;flex-shrink:0;align-items:center;gap:20px;padding:0 30px 22px;display:flex}.people-search{color:#9fae97;border:1px solid #fff2;border-radius:9px;flex:1;align-items:center;gap:10px;padding:11px 14px;display:flex}.people-search input{color:#e7efdf;background:0 0;outline:none;width:100%;min-width:0;font-size:13px}.filter-chips{flex-shrink:0;gap:5px;display:flex}.filter-chips button{color:#a6b19e;border-radius:7px;min-height:38px;padding:8px 14px;font-size:12px}.filter-chips button[aria-pressed=true]{color:#24311d;background:#c6d8ae}.people-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:20px 30px 30px;overflow-y:auto}.people-count{color:#c1ceb4;justify-content:space-between;gap:12px;margin-bottom:18px;font-size:11px;display:flex}.people-count span{color:#8e9e84}.people-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:18px;display:grid}.person-card{text-align:left;background:#202a20;border:1px solid #ffffff1c;border-radius:12px;align-self:start;min-width:0;height:auto;transition:border-color .2s;display:block;overflow:hidden}.person-card:hover{border-color:#c2d5ab}.person-card[aria-pressed=true]{border-color:#c2d5ab;box-shadow:0 0 0 1px #c2d5ab}.person-photo{aspect-ratio:4/5;background:#2a3527;min-height:180px;position:relative}.person-photo img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 25%;object-position:center 25%;width:100%;height:100%;position:absolute;inset:0}.selected-tag{color:#25351c;background:#d1e0bd;border-radius:5px;align-items:center;gap:4px;padding:5px 8px;font-size:10px;display:flex;position:absolute;top:10px;left:10px}.person-info{padding:15px}.person-info h3{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:16px;display:flex}.person-info small{color:#a3b198;font-size:10px;font-weight:400}.person-info p{color:#a8b59c;font-size:11px;line-height:1.8}.person-role{min-height:40px;padding-top:4px}.person-bottom{color:#c1d3ad;border-top:1px solid #ffffff13;justify-content:space-between;align-items:center;margin-top:10px;padding-top:12px;font-size:9px;display:flex}.no-results{text-align:center;padding:50px 20px;font-size:14px}.no-results button{margin:20px auto}.portrait-empty{min-height:inherit;color:#c1cfb4;flex-direction:column;justify-content:center;align-items:center;height:100%;font-size:28px;display:flex}.portrait-empty small{margin-top:15px;font-size:12px}.photo-dialog{background:#0b100c;border:1px solid #46513f;border-radius:14px;width:min(1100px,95vw);max-width:95vw;height:92svh;max-height:92svh;margin:auto;padding:0;overflow:hidden}.photo-dialog>img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.photo-dialog>.icon-button{background:#172217e6;position:absolute;top:15px;right:15px}@media (width>=1500px){.scene-image-area{height:620px}}@media (width<=1100px){.app-header{padding:20px 24px}.practice-intro{padding:28px 24px 22px}.practice-intro>p{display:none}.practice-layout{gap:24px;padding:0 24px 24px}.people-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=800px){.practice-layout{grid-template-columns:minmax(0,1fr);max-width:720px}.visual-column{position:static}.scene-image-area{height:400px;min-height:320px}.practice-intro{max-width:720px}.app-header{flex-wrap:wrap;gap:16px}.app-header nav{margin-left:auto}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people-filters{flex-direction:column;align-items:stretch;gap:12px}.filter-chips{justify-content:flex-start}.people-heading h2{font-size:22px}.people-count{flex-direction:column;gap:4px}}@media (width<=480px){.app-header{gap:14px;padding:18px 16px 14px}.wordmark{font-size:22px}.wordmark small{font-size:9px}.app-header nav{justify-content:space-between;gap:6px;width:100%;margin:0}.icon-button{width:38px;min-height:40px}.partner-button{margin-right:auto}.practice-intro{padding:25px 16px 20px}.practice-intro h1{font-size:21px}.practice-layout{gap:22px;padding:0 16px 20px}.scene-image-area{height:350px}.scene-caption{padding:17px}.scene-caption h2{font-size:20px}.scene-caption .subtle-button{flex-shrink:0;padding:10px 9px;font-size:10px}.scene-caption p{font-size:10px}.scene-help{padding:0 17px 15px}.conversation-panel{padding:18px 16px 12px}.people-dialog{border-radius:14px;width:calc(100vw - 16px);height:94svh;max-height:94svh}.people-heading{padding:20px 17px 16px}.people-heading h2{font-size:20px}.people-heading p{font-size:11px}.people-filters{padding:0 17px 15px}.people-scroll{padding:15px 13px 25px}.people-grid{gap:12px}.person-photo{min-height:170px}.person-info{padding:11px}.person-info h3{gap:4px;font-size:14px}.person-bottom{font-size:8px}.filter-chips button{padding:8px 12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.relationship-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:22px 4px;display:grid}.relationship-stats>div>div{color:#aab7a0;justify-content:space-between;gap:5px;font-size:11px;display:flex}.relationship-stats strong{color:#c9d7bd;font-weight:500}.relationship-stats small{color:#7b8e70;font-size:9px}.relationship-stats progress{appearance:none;background:#ffffff12;border:0;border-radius:5px;width:100%;height:4px;margin-top:10px;overflow:hidden}.relationship-stats progress::-webkit-progress-bar{background:#ffffff12}.relationship-stats progress::-webkit-progress-value{background:#9db783;border-radius:5px}.relationship-stats progress::-moz-progress-bar{background:#9db783}.mobile-jump{display:none}#conversation,#scene{scroll-margin-top:20px}.settings-dialog{color:#e6eddf;background:#1b241c;border:1px solid #495940;border-radius:18px;width:min(520px,100vw - 24px);max-height:92svh;margin:auto;padding:0;overflow-y:auto}.settings-content{padding:28px}.settings-content header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.settings-content h2{margin-top:7px;font-size:22px;line-height:1.6}.settings-benefits{color:#c2d6ac;border:1px solid #ffffff18;border-radius:10px;align-items:flex-start;gap:14px;margin:24px 0;padding:17px;display:flex}.settings-benefits svg{flex-shrink:0}.settings-benefits p{font-size:13px;line-height:1.9}.settings-benefits span{color:#9eaf93}.settings-content label{margin-bottom:9px;font-size:13px;display:block}.settings-content input{background:#111a12;border:1px solid #536347;border-radius:9px;width:100%;padding:13px;font-size:15px;display:block}.settings-footnote{color:#a0b096;margin:12px 0;font-size:11px;line-height:1.9}.settings-content a{color:#cedcbd;align-items:center;gap:8px;font-size:12px;text-decoration:underline;display:inline-flex}.settings-actions{justify-content:space-between;gap:12px;margin-top:28px;display:flex}.settings-actions .primary-button{font-size:12px}@media (width<=800px){.mobile-jump{justify-content:flex-end;gap:8px;max-width:720px;margin:0 auto;padding:0 24px 16px;display:flex}.mobile-jump a{color:#c7d8b5;background:#253322;border-radius:20px;padding:8px 12px;font-size:11px}}@media (width<=480px){.settings-content{padding:22px 18px}.settings-content h2{font-size:19px}.settings-actions{gap:8px}.settings-actions .primary-button{padding:13px}.mobile-jump{padding:0 16px 16px}.relationship-stats{gap:13px}}.conversation-source{color:#647568;padding:0 6px;font-size:11px;line-height:1.7}.mobile-scene-details{display:none}@media (width<=800px),(width<=1000px) and (height<=500px){.practice-app{height:100dvh;min-height:0;overflow:hidden}.app-header{z-index:5;background:#111715;flex-wrap:nowrap;gap:8px;height:54px;padding:6px 12px;position:absolute;inset:0 0 auto}.wordmark{white-space:nowrap;font-size:16px}.wordmark small{display:none}.app-header nav{gap:4px;width:auto;margin-left:auto}.app-header .icon-button{border:0;width:36px;min-height:40px;padding:7px}.app-header .partner-button{border:0;min-height:40px;margin:0;padding:6px}.app-header .partner-button span,.app-header .settings-button span{display:none}.app-header .settings-button{border:0;min-height:40px;padding:8px}.practice-intro,.mobile-jump,.app-footer{display:none}.practice-layout{max-width:none;margin:0;padding:0;display:block}.visual-column{height:34dvh;position:absolute;top:54px;left:0;right:0}.scene-panel{background:#18221c;border:0;border-radius:0;height:100%}.scene-image-area{height:100%;min-height:0}.scene-photo{-o-object-fit:cover;object-fit:cover;-o-object-position:center 27%;object-position:center 27%}.photo-label{padding:4px 7px;font-size:9px;top:10px;left:12px}.expand-button{width:40px;height:40px;top:8px;right:12px}.scene-caption{background:linear-gradient(#0000,#0d1914e8);align-items:flex-end;padding:35px 16px 22px;position:absolute;bottom:0;left:0;right:0}.scene-caption .eyebrow{display:none}.scene-caption h2{margin:0 0 3px;font-size:17px}.scene-caption h2 small{color:#e0e6dc}.scene-caption p{color:#e0e6dc;font-size:10px}.scene-caption .subtle-button{background:#14251bd9;min-height:40px;padding:8px;font-size:10px}.scene-help,.visual-column>.relationship-stats{display:none}.generation-indicator{padding:8px;font-size:10px;bottom:86px;left:12px;right:12px}.image-notice{z-index:6;background:#283020;max-height:22dvh;margin:0;position:absolute;top:48px;left:10px;right:10px;overflow:auto}.interaction-column{padding:12px 14px max(16px,env(safe-area-inset-bottom));overscroll-behavior-y:contain;background:linear-gradient(135deg,#1c2a23fa,#111b16);border-radius:20px 20px 0 0;gap:10px;scroll-padding:12px;position:absolute;inset:calc(42px + 34dvh) 0 0;overflow-y:auto;box-shadow:0 -8px 32px #07100b40}.interaction-column>*{flex-shrink:0}.stage-heading{align-items:center;gap:10px;display:flex}.stage-heading>.eyebrow{letter-spacing:1px;font-size:9px}.stage-heading h2{color:#c4d4bc;margin:0;font-size:12px}.stage-heading .lesson-progress,.stage-heading>p{display:none}.conversation-panel{background:#22332980;border-color:#c4dac51c;border-radius:12px;padding:10px 12px 8px}.conversation-heading{display:none}.speaker-name{margin:0 0 4px;font-size:12px}.current-reply{padding-bottom:8px}.reply-text{min-height:0;max-height:19dvh;font-size:15px;line-height:1.65;overflow:auto}.conversation-history{margin:0 0 7px;font-size:10px}.conversation-history>div{max-height:140px}.mode-switch{padding:2px}.mode-switch button{min-height:40px;padding:7px 4px;font-size:11px}.answer-panel>p{display:none}.answer-choice{background:#d1e4cf09;gap:9px;min-height:44px;padding:10px 11px;font-size:13px;line-height:1.6}.choice-number{width:22px;height:22px;margin-top:0}.answer-panel .space-y-2>:not([hidden])~:not([hidden]){margin-top:6px}.free-answer{padding:12px}.free-answer textarea{min-height:80px;font-size:16px}.free-answer>div:last-child{flex-wrap:wrap;gap:6px}.free-answer>div:last-child button{min-height:44px;margin-left:auto}.mobile-scene-details{color:#a9bca2;font-size:11px;line-height:1.8;display:block}.mobile-scene-details summary{cursor:pointer;min-height:44px;padding:12px 2px}.mobile-scene-details .relationship-stats{padding:14px 0}.conversation-source{color:#a1b29a;font-size:10px}.end-practice{min-height:44px}}@media (width<=370px){.app-header .wordmark{font-size:13px}.app-header{gap:2px;padding-inline:8px}.app-header nav{gap:0}.interaction-column{padding-inline:10px}}@media (width<=1000px) and (height<=500px) and (orientation:landscape){.visual-column{width:40%;height:auto;top:54px;bottom:0}.interaction-column{border-radius:16px 0 0;top:54px;left:40%}.scene-caption{flex-wrap:wrap;padding:25px 12px 12px}.reply-text{max-height:26dvh}}.people-dialog.people-welcome{background:radial-gradient(at top,#2b3c2e,#151d17 60%);border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:none}.people-welcome .people-heading,.people-welcome .people-filters,.people-welcome .people-scroll{width:100%;max-width:1120px;margin-inline:auto}.people-welcome .people-heading{padding-top:max(28px,env(safe-area-inset-top))}.people-welcome .people-scroll{padding-bottom:max(28px,env(safe-area-inset-bottom))}.romance-status{color:#e0c7b0;background:#bb917b0d;border-left:2px solid #bb917b;border-radius:0 7px 7px 0;padding:9px 12px;font-size:11px;line-height:1.6}.selection\:bg-brand-500 ::selection{--tw-bg-opacity:1;background-color:rgb(224 66 141/var(--tw-bg-opacity,1))}.selection\:text-white ::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.selection\:bg-brand-500::selection{--tw-bg-opacity:1;background-color:rgb(224 66 141/var(--tw-bg-opacity,1))}.selection\:text-white::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:border-brand-500\/40:hover{border-color:#e0428d66}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:from-brand-500:hover{--tw-gradient-from:#e0428d var(--tw-gradient-from-position);--tw-gradient-to:#e0428d00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-rose-500:hover{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.focus\:border-brand-500:focus{--tw-border-opacity:1;border-color:rgb(224 66 141/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-brand-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(224 66 141/var(--tw-ring-opacity,1))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}
