:root{--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--color-header-from:#0b6e6b;--color-header-to:#17b8ac;--color-accent-purple:#6e3fa3;--color-accent-purple-dark:#5c2f8e;--color-app-bg:#f4f7f7;--color-chat-bg:#e3eeec;--color-white:#fff;--color-text-dark:#17302e;--color-text-muted:#5e7472;--color-text-on-header:#fff;--color-bubble-received-bg:#fff;--color-bubble-sent-bg:#9ee0d9;--color-bubble-sent-text:#123a37;--color-emergency-red:#e5484d;--color-emergency-red-dark:#c7383d;--color-emergency-confirm:#2f9e6e;--radius-bubble:20px;--shadow-card:0 2px 12px #0f2e2c1a;--shadow-fab:0 4px 14px #6e3fa359;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:18px/1.45 var(--sans)}*{box-sizing:border-box}html,body{background:var(--color-app-bg);height:100%;color:var(--color-text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;margin:0;padding:0}#root{flex-direction:column;min-height:100svh;display:flex}button{font:inherit;color:inherit}input{font:inherit}img{max-width:100%;display:block}.splash-screen{background:var(--color-app-bg);opacity:1;z-index:999;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.splash-screen--exiting{opacity:0}.splash-logo{width:min(72vw,340px);animation:.7s ease-out both splash-logo-in}@keyframes splash-logo-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.home-screen{background:var(--color-app-bg);min-height:100svh;padding:max(56px, env(safe-area-inset-top) + 24px) 20px 40px;flex-direction:column;display:flex;position:relative;overflow:hidden}.home-pattern-layer{opacity:.35;pointer-events:none;z-index:0;background-image:url(/home-pattern.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.home-header{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:4px;margin-bottom:32px;display:flex;position:relative}.home-logo{object-fit:contain;width:72px;height:72px;margin-bottom:10px}.home-header h1{color:var(--color-text-dark);margin:0;font-size:30px}.home-header p{color:var(--color-text-muted);margin:0;font-size:17px}.home-menu{z-index:1;flex-direction:column;flex:1;gap:18px;width:100%;max-width:480px;margin:0 auto;display:flex;position:relative}.home-relink-link{z-index:1;text-align:center;color:var(--color-text-muted);margin:20px auto 0;font-size:15px;text-decoration:underline;display:block;position:relative}.home-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.home-card{cursor:pointer;background:var(--color-white);min-height:150px;box-shadow:var(--shadow-card);text-align:center;border:none;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px 14px;display:flex}.home-card:active{transform:scale(.97)}.home-card-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:inline-flex}.home-card-label{font-size:18px;font-weight:600;line-height:1.25}.home-card--primary .home-card-icon{background:linear-gradient(135deg, var(--color-header-from), var(--color-header-to));color:var(--color-white)}.home-card--primary .home-card-label{color:var(--color-text-dark)}.home-card--emergency .home-card-icon{background:var(--color-emergency-red);color:var(--color-white)}.home-card--emergency .home-card-label{color:var(--color-emergency-red-dark)}.home-card--games .home-card-icon{background:linear-gradient(135deg, var(--color-accent-purple), var(--color-accent-purple-dark));color:var(--color-white)}.home-card--libro .home-card-icon{color:var(--color-white);background:linear-gradient(135deg,#e59a3a,#c66a1e)}.home-card--libro .home-card-label,.home-card--games .home-card-label{color:var(--color-text-dark)}.back-button{width:44px;height:44px;color:var(--color-text-dark);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.back-button:active{background:#0000000f}.back-button--light{color:var(--color-white)}.back-button--light:active{background:#ffffff26}.chat-screen{background:var(--color-chat-bg);flex-direction:column;height:100svh;display:flex;overflow:hidden}.chat-header{padding:max(14px, env(safe-area-inset-top)) 12px 14px;background:linear-gradient(100deg, var(--color-header-from), var(--color-header-to));flex-shrink:0;align-items:center;gap:10px;display:flex}.chat-header-logo-circle{background:var(--color-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.chat-header-logo{object-fit:contain;width:80%;height:80%}.chat-header-title{flex-direction:column;flex:1;min-width:0;display:flex}.chat-header-name{color:var(--color-text-on-header);font-size:24px;font-weight:700;line-height:1.15}.chat-header-status{color:#ffffffbf;font-size:13px;line-height:1.2}.chat-font-size-controls{flex-shrink:0;gap:6px;display:flex}.chat-font-size-btn{width:44px;height:44px;color:var(--color-text-on-header);cursor:pointer;background:#ffffff26;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.chat-font-size-btn:active{background:#ffffff4d}.chat-font-size-btn:disabled{opacity:.4;cursor:default}.chat-header-menu{width:40px;height:40px;color:var(--color-text-on-header);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-header-menu:active{background:#ffffff26}.chat-messages-wrapper{background:var(--color-chat-bg);flex:1;min-height:0;position:relative;overflow:hidden}.chat-pattern-layer{opacity:.45;pointer-events:none;background-image:url(/chat-pattern.png);background-repeat:repeat;background-size:clamp(320px,94vw,490px);position:absolute;inset:0}.chat-status-message{text-align:center;color:var(--color-text-muted);margin:8px 0;font-size:13px}.chat-status-message--error{color:var(--color-emergency-red-dark)}.chat-messages{flex-direction:column;gap:10px;padding:18px 14px;display:flex;position:absolute;inset:0;overflow-y:auto}.chat-bubble-row{display:flex}.chat-bubble-row--received{justify-content:flex-start}.chat-bubble-row--sent{justify-content:flex-end}.chat-bubble{border-radius:var(--radius-bubble);max-width:78%;box-shadow:var(--shadow-card);padding:12px 14px;position:relative}.chat-bubble-row--received .chat-bubble{background:var(--color-bubble-received-bg);color:var(--color-text-dark);border-bottom-left-radius:6px}.chat-bubble-row--received .chat-bubble:after{content:"";background:var(--color-bubble-received-bg);clip-path:polygon(100% 0,100% 100%,0% 100%);width:14px;height:14px;position:absolute;bottom:0;left:-7px}.chat-bubble--typing{align-items:center;gap:4px;padding:14px 16px;display:flex}.chat-typing-dot{background:var(--color-text-muted);opacity:.5;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite chat-typing-bounce}.chat-typing-dot:nth-child(2){animation-delay:.15s}.chat-typing-dot:nth-child(3){animation-delay:.3s}@keyframes chat-typing-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-bubble-row--sent .chat-bubble{background:var(--color-bubble-sent-bg);color:var(--color-bubble-sent-text);border-bottom-right-radius:6px}.chat-bubble-row--sent .chat-bubble:after{content:"";background:var(--color-bubble-sent-bg);clip-path:polygon(0 0,100% 100%,0% 100%);width:14px;height:14px;position:absolute;bottom:0;right:-7px}.chat-bubble-text{font-size:var(--chat-message-font-size,17px);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.4}.chat-bubble-time{text-align:right;margin-top:4px;font-size:11px;display:block}.chat-bubble-row--received .chat-bubble-time{color:var(--color-text-muted)}.chat-bubble-row--sent .chat-bubble-time{color:#123a3799}.chat-bubble-status{text-align:right;color:#123a3799;margin-top:4px;font-size:11px;display:block}.chat-bubble-status--error{color:var(--color-emergency-red-dark);justify-content:flex-end;align-items:center;gap:4px;font-weight:600;display:flex}.chat-bubble-audio-expired{color:var(--color-text-muted);align-items:center;gap:4px;font-size:13px;display:flex}.chat-input-bar{padding:10px 14px max(10px, env(safe-area-inset-bottom));background:var(--color-chat-bg);flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.chat-input-field{background:var(--color-white);min-width:0;box-shadow:var(--shadow-card);border-radius:24px;flex:1;align-items:flex-end;gap:10px;padding:10px 16px;display:flex}.chat-input-emoji{color:var(--color-accent-purple);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 0;display:inline-flex}.chat-input-text{resize:none;min-width:0;color:var(--color-text-dark);background:0 0;border:none;outline:none;flex:1;max-height:120px;padding:4px 0;font-family:inherit;font-size:16px;line-height:1.4;overflow-y:hidden}.chat-input-text::placeholder{color:var(--color-text-muted)}.chat-input-mic{background:var(--color-accent-purple);width:52px;height:52px;color:var(--color-white);box-shadow:var(--shadow-fab);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-input-mic:active{background:var(--color-accent-purple-dark)}.chat-input-mic,.chat-recording-bar,.chat-recording-preview-bar{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.chat-input-mic--recording{background:var(--color-emergency-red-dark)}.chat-input-mic--flash{animation:.22s ease-out chat-mic-flash}@keyframes chat-mic-flash{0%{transform:scale(1.35);box-shadow:0 0 0 14px #c7383d59}to{transform:scale(1);box-shadow:0 0 #c7383d00}}.chat-recording-timer{color:var(--color-emergency-red-dark);flex-shrink:0;align-self:center;font-size:13px;font-weight:700}.chat-recording-bar,.chat-recording-preview-bar{background:var(--color-white);min-width:0;box-shadow:var(--shadow-card);border-radius:24px;flex:1;align-items:center;gap:10px;padding:10px 16px;display:flex}.chat-recording-preview-bar{justify-content:space-between}.chat-recording-wave{flex:1;align-items:center;gap:2px;min-width:0;height:24px;display:flex;overflow:hidden}.chat-recording-wave-bar{background:var(--color-accent-purple);transform-origin:50%;border-radius:2px;flex-shrink:0;width:3px;height:100%;transition:transform 60ms linear}.chat-recording-trash,.chat-recording-send{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.chat-recording-trash{color:var(--color-emergency-red-dark);background:0 0}.chat-recording-send{background:var(--color-emergency-confirm);color:var(--color-white)}.chat-mic-permission-error{margin:0;padding:0 14px 10px}.push-prompt-overlay{z-index:50;background:#123a3780;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.push-prompt-card{background:var(--color-white);width:100%;max-width:340px;box-shadow:var(--shadow-card);border-radius:20px;padding:24px 20px}.push-prompt-text{text-align:center;color:var(--color-text-dark);margin:0 0 20px;font-size:17px;line-height:1.4}.push-prompt-actions{flex-direction:column;gap:10px;display:flex}.push-prompt-btn{cursor:pointer;border:none;border-radius:14px;min-height:48px;font-size:16px;font-weight:700}.push-prompt-btn--accept{background:var(--color-accent-purple);color:var(--color-white)}.push-prompt-btn--accept:active{background:var(--color-accent-purple-dark)}.push-prompt-btn--dismiss{color:var(--color-text-muted);background:0 0}.push-prompt-btn--dismiss:active{background:#0000000d}.emergency-screen{background:var(--color-app-bg);flex-direction:column;min-height:100svh;display:flex}.emergency-header{padding:max(10px, env(safe-area-inset-top)) 8px 0;flex-shrink:0}.emergency-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:24px;display:flex}.emergency-hint{max-width:280px;color:var(--color-text-muted);margin:0;font-size:17px}.emergency-button{background:radial-gradient(circle at 35% 30%, var(--color-emergency-red), var(--color-emergency-red-dark));width:220px;height:220px;color:var(--color-white);letter-spacing:1px;cursor:pointer;border:none;border-radius:50%;font-size:26px;font-weight:800;box-shadow:0 10px 30px #c5383d73}.emergency-button:active{transform:scale(.97)}.emergency-button:disabled{opacity:.6;cursor:default}.emergency-button:disabled:active{transform:none}.emergency-screen--confirm{text-align:center;justify-content:center;align-items:center;gap:18px;padding:32px}.emergency-confirm-icon{width:96px;height:96px;color:var(--color-emergency-confirm);background:#2f9e6e1f;border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.emergency-screen--confirm h1{color:var(--color-text-dark);max-width:320px;margin:0;font-size:26px}.emergency-screen--confirm p{max-width:300px;color:var(--color-text-muted);margin:0;font-size:17px}.emergency-confirm-button{background:linear-gradient(135deg, var(--color-header-from), var(--color-header-to));color:var(--color-white);cursor:pointer;box-shadow:var(--shadow-card);border:none;border-radius:999px;margin-top:14px;padding:14px 28px;font-size:17px;font-weight:600}.emergency-confirm-button:active{transform:scale(.97)}.emergency-error-icon{width:96px;height:96px;color:var(--color-emergency-red-dark);background:#c5383d1f;border-radius:50%;justify-content:center;align-items:center;display:flex}.emergency-error-text{max-width:300px;color:var(--color-text-dark);margin:0;font-size:17px}.emergency-retry-button{background:var(--color-emergency-red);color:var(--color-white);cursor:pointer;border:none;border-radius:999px;padding:14px 28px;font-size:17px;font-weight:600;box-shadow:0 6px 18px #c5383d4d}.emergency-retry-button:active{transform:scale(.97)}.install-screen{text-align:center;background:var(--color-app-bg);min-height:100svh;padding:max(56px, env(safe-area-inset-top) + 24px) 24px 40px;flex-direction:column;align-items:center;gap:20px;display:flex}.install-logo{object-fit:contain;width:72px;height:72px}.install-title{color:var(--color-text-dark);max-width:320px;margin:0;font-size:24px}.install-hint{max-width:320px;color:var(--color-text-muted);margin:0;font-size:17px}.install-error{max-width:320px;color:var(--color-text-dark);margin:0;font-size:17px}.install-loading{color:var(--color-text-muted);margin:0;font-size:15px}.ios-demo{width:100%;max-width:260px;box-shadow:var(--shadow-card);border-radius:20px;position:relative;overflow:hidden}.ios-demo-screen{background:var(--color-chat-bg);height:128px;position:relative}.ios-demo-toolbar{background:var(--color-white);height:44px;color:var(--color-text-muted);border-top:1px solid #17302e1a;justify-content:space-around;align-items:center;padding:0 8px;display:flex}.ios-demo-share-icon{color:var(--color-header-from);display:inline-flex}.ios-demo-sheet{background:var(--color-white);opacity:0;border-radius:12px 12px 0 0;padding:10px 14px;animation:7s ease-in-out infinite ios-sheet-slide;position:absolute;bottom:0;left:10px;right:10px;transform:translateY(100%);box-shadow:0 -3px 10px #0f2e2c1f}.ios-demo-sheet-row{color:var(--color-text-dark);font-size:12px;font-weight:600;display:block}.ios-demo-dialog{opacity:0;background:var(--color-white);box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 18px;animation:7s ease-in-out infinite ios-dialog-appear;display:flex;position:absolute;top:62px;left:50%;transform:translate(-50%,-50%)scale(.85)}.ios-demo-dialog-title{color:var(--color-text-muted);font-size:11px}.ios-demo-dialog-button{color:var(--color-header-from);font-size:13px;font-weight:700}.ios-demo-finger{z-index:2;background:var(--color-text-dark);opacity:0;border-radius:50%;width:14px;height:14px;animation:7s ease-in-out infinite ios-finger-move;position:absolute;top:150px;left:130px;transform:translate(-50%,-50%)}.ios-demo-tap{z-index:2;border:2px solid var(--color-header-from);opacity:0;border-radius:50%;width:26px;height:26px;animation:7s ease-in-out infinite ios-tap-pulse;position:absolute;top:150px;left:130px;transform:translate(-50%,-50%)scale(.4)}@keyframes ios-finger-move{0%,3%{opacity:0;top:150px;left:130px}6%,28%{opacity:1;top:150px;left:130px}36%,60%{opacity:1;top:103px;left:130px}68%,90%{opacity:1;top:62px;left:150px}96%,to{opacity:0;top:62px;left:150px}}@keyframes ios-tap-pulse{0%,9%{opacity:0;top:150px;left:130px;transform:translate(-50%,-50%)scale(.4)}13%{opacity:.7;top:150px;left:130px;transform:translate(-50%,-50%)scale(1.3)}19%,38%{opacity:0;top:150px;left:130px}42%{opacity:0;top:103px;left:130px;transform:translate(-50%,-50%)scale(.4)}47%{opacity:.7;top:103px;left:130px;transform:translate(-50%,-50%)scale(1.3)}53%,70%{opacity:0;top:103px;left:130px}74%{opacity:0;top:62px;left:150px;transform:translate(-50%,-50%)scale(.4)}79%{opacity:.7;top:62px;left:150px;transform:translate(-50%,-50%)scale(1.3)}85%,to{opacity:0;top:62px;left:150px}}@keyframes ios-sheet-slide{0%,30%{opacity:0;transform:translateY(100%)}36%,60%{opacity:1;transform:translateY(0)}66%,to{opacity:0;transform:translateY(100%)}}@keyframes ios-dialog-appear{0%,64%{opacity:0;transform:translate(-50%,-50%)scale(.85)}70%,88%{opacity:1;transform:translate(-50%,-50%)scale(1)}96%,to{opacity:0;transform:translate(-50%,-50%)scale(.85)}}.install-steps{text-align:left;flex-direction:column;gap:14px;width:100%;max-width:340px;margin:0;padding:0;list-style:none;display:flex}.install-steps li{background:var(--color-white);border-radius:var(--radius-bubble);box-shadow:var(--shadow-card);color:var(--color-text-dark);align-items:center;gap:14px;padding:14px 16px;font-size:16px;font-weight:400;display:flex}.install-steps li:first-child{animation:7s ease-in-out infinite ios-step-highlight-1}.install-steps li:nth-child(2){animation:7s ease-in-out infinite ios-step-highlight-2}.install-steps li:nth-child(3){animation:7s ease-in-out infinite ios-step-highlight-3}@keyframes ios-step-highlight-1{0%,30%{background:#0b6e6b1f;font-weight:700}31%,to{background:var(--color-white);font-weight:400}}@keyframes ios-step-highlight-2{0%,30%{background:var(--color-white);font-weight:400}31%,65%{background:#0b6e6b1f;font-weight:700}66%,to{background:var(--color-white);font-weight:400}}@keyframes ios-step-highlight-3{0%,65%{background:var(--color-white);font-weight:400}66%,95%{background:#0b6e6b1f;font-weight:700}96%,to{background:var(--color-white);font-weight:400}}@media (prefers-reduced-motion:reduce){.ios-demo-finger,.ios-demo-tap,.ios-demo-sheet,.ios-demo-dialog,.install-steps li{animation:none}}.install-step-number{background:linear-gradient(135deg, var(--color-header-from), var(--color-header-to));width:32px;height:32px;color:var(--color-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:inline-flex}.install-fineprint{max-width:320px;color:var(--color-text-muted);margin:0;font-size:13px}.install-button{background:linear-gradient(135deg, var(--color-header-from), var(--color-header-to));min-width:220px;color:var(--color-white);cursor:pointer;box-shadow:var(--shadow-fab);border:none;border-radius:999px;padding:16px 28px;font-size:18px;font-weight:700}.install-button:active{transform:scale(.97)}.install-success{max-width:320px;color:var(--color-emergency-confirm);margin:0;font-size:17px;font-weight:600}.vincular-form{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:280px;display:flex}.vincular-code-input{background:var(--color-white);width:100%;font:inherit;letter-spacing:10px;text-align:center;color:var(--color-text-dark);border:2px solid #c6d7d4;border-radius:20px;padding:16px;font-size:32px;font-weight:700}.vincular-code-input:focus{border-color:var(--color-header-to);outline:none}.games-screen{background:var(--color-app-bg);flex-direction:column;min-height:100svh;display:flex}.games-header{padding:max(10px, env(safe-area-inset-top)) 8px 0;flex-shrink:0}.games-content{flex:1;width:100%;max-width:520px;margin:0 auto;padding:8px 20px 40px}.games-content h1{color:var(--color-text-dark);margin:0;font-size:30px}.games-subtitle{color:var(--color-text-muted);margin:4px 0 24px;font-size:18px}.games-list{flex-direction:column;gap:16px;display:flex}.games-card{background:var(--color-white);width:100%;min-height:110px;box-shadow:var(--shadow-card);text-align:left;cursor:pointer;border:none;border-radius:24px;align-items:center;gap:16px;padding:18px;display:flex}.games-card:active{transform:scale(.98)}.games-card:focus-visible{outline:4px solid var(--color-accent-purple);outline-offset:3px}.games-card-icon{background:linear-gradient(135deg, var(--color-accent-purple), var(--color-accent-purple-dark));width:70px;height:70px;color:var(--color-white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.games-card-text{flex-direction:column;gap:4px;min-width:0;display:flex}.games-card-name{color:var(--color-text-dark);font-size:21px;font-weight:700;line-height:1.25}.games-card-description{color:var(--color-text-muted);font-size:16px;line-height:1.35}.door-intro{color:#f6efe0;background:linear-gradient(#0e1836 0%,#1a2a5c 55%,#2b3f73 100%);flex-direction:column;min-height:100svh;display:flex;overflow-x:hidden}.door-intro-header{padding:max(10px, env(safe-area-inset-top)) 8px 0;flex-shrink:0}.door-intro-content{width:100%;max-width:520px;padding:0 24px max(36px, env(safe-area-inset-bottom) + 20px);text-align:center;flex-direction:column;flex:1;align-items:center;margin:0 auto;display:flex}.door-intro-stage{width:min(62vw,250px);animation:1.1s both intro-fade-in;position:relative}.door-intro-halo{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#ffc96e80 0%,#ffc96e00 62%);border-radius:50%;width:150%;animation:4.5s ease-in-out infinite intro-glow;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.intro-door-art{width:100%;height:auto;max-height:36svh;display:block;position:relative}.door-intro-title{letter-spacing:.5px;color:#ffe6ae;text-shadow:0 2px 18px #ffbe6459;margin:8px 0 22px;font-size:40px;font-weight:800;line-height:1.1;animation:1.1s .35s both intro-fade-in}.door-intro-poem{flex-direction:column;gap:22px;margin-bottom:34px;animation:1.1s .8s both intro-fade-in;display:flex}.door-intro-poem p{margin:0;font-size:21px;line-height:1.65}.door-intro-line{display:block}.door-intro-start{color:#2a1a05;cursor:pointer;background:linear-gradient(135deg,#ffd47f,#f5a24d);border:none;border-radius:999px;width:100%;max-width:340px;min-height:64px;padding:16px 24px;font-size:24px;font-weight:800;animation:1.1s 1.2s both intro-fade-in;box-shadow:0 6px 22px #f5a24d66}.door-intro-start:active{transform:scale(.97)}.door-intro-start:focus-visible{outline-offset:4px;outline:4px solid #fff}@keyframes intro-fade-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-glow{0%,to{opacity:.65}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.door-intro-stage,.door-intro-title,.door-intro-poem,.door-intro-start,.door-intro-halo{animation:none}}.door-intro.door-finale{background:linear-gradient(#0e1836 0%,#22336b 48%,#5a3f7a 100%);position:relative}.door-finale-layer{z-index:1;position:relative}.door-finale .door-intro-content{padding-top:4px}.door-finale .door-intro-halo{background:radial-gradient(circle,#ffd6829e 0%,#ffd68200 64%)}.finale-door-art{width:100%;height:auto;max-height:34svh;display:block;position:relative}.door-finale .door-intro-title{color:#ffd98a;margin:8px 0 14px;font-size:42px}.door-finale-text{flex-direction:column;gap:10px;margin-bottom:30px;animation:1.1s .8s both intro-fade-in;display:flex}.door-finale-text p{margin:0}.door-finale-lead{color:#f6efe0;font-size:22px;line-height:1.4}.door-finale-memory{color:#fff;text-shadow:0 2px 16px #ffbe6466;font-size:32px;font-weight:800;line-height:1.2}.door-finale-note{color:#e4e9ff;font-size:20px;line-height:1.55}.door-finale-sparks{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.door-finale-spark{opacity:0;clip-path:polygon(50% 0%,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0% 50%,38% 38%);background:#ffe08a;animation-name:finale-spark-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-24px}@keyframes finale-spark-fall{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:.85}90%{opacity:.85}to{opacity:0;transform:translateY(105svh)rotate(160deg)}}@media (prefers-reduced-motion:reduce){.door-finale-sparks{display:none}.door-finale-text{animation:none}}.music-toggle{top:max(10px, env(safe-area-inset-top));z-index:50;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#100a1a9e;border:1.5px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:inline-flex;position:fixed;right:12px;box-shadow:0 2px 10px #0000004d}.music-toggle:active{transform:scale(.93)}.music-toggle:focus-visible{outline-offset:2px;outline:3px solid #ffd47f}.music-toggle--muted{color:#ffffffb8;background:#100a1ac7}.door-intro.door-transition--arcoiris{background:linear-gradient(#151a44 0%,#2a2a6b 55%,#4a3a7a 100%)}.door-intro.door-transition--bosque{background:linear-gradient(#0b1f22 0%,#123a34 55%,#1f4a3a 100%)}.door-transition{position:relative}.door-transition-art{opacity:.45;filter:brightness(.55)saturate(.85);pointer-events:none;height:62svh;animation:1.4s both intro-fade-in;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 55%);mask-image:linear-gradient(#0000 0%,#000 55%)}.door-transition-art svg{width:100%;height:100%}.door-transition-layer{z-index:1;position:relative}.door-transition .door-intro-content{justify-content:center}.door-transition-eyebrow{letter-spacing:3px;text-transform:uppercase;color:#cfd6f5;margin:0 0 6px;font-size:20px;font-weight:700;animation:1.1s both intro-fade-in}.door-transition .door-intro-title{margin-top:0}.door-transition .door-intro-poem p{text-shadow:0 1px 10px #00000073}@media (prefers-reduced-motion:reduce){.door-transition-art,.door-transition-eyebrow{animation:none}}.door-game{--game-bg:#e4f1ef;--game-accent:var(--color-header-from);background:var(--game-bg);flex-direction:column;min-height:100svh;display:flex;overflow:hidden}.door-game--castillo{--game-bg:#ddd3f2;--game-accent:var(--color-accent-purple)}.door-game--arcoiris{--game-bg:#c9e6f8;--game-accent:#d9694e}.door-game--bosque{--game-bg:#cbe7d0;--game-accent:#2e7d5b}.door-game-header{padding:max(10px, env(safe-area-inset-top)) 68px 6px 8px;flex-shrink:0;align-items:center;gap:8px;display:flex}.door-game-header-text{min-width:0}.door-game-title{color:var(--color-text-dark);margin:0;font-size:24px;line-height:1.2}.door-game-stage-count{color:var(--color-text-muted);margin:2px 0 0;font-size:19px;font-weight:600}.door-game-progress{background:#ffffffb3;border-radius:999px;flex-shrink:0;height:12px;margin:4px 20px 8px;overflow:hidden}.door-game-progress-fill{background:var(--game-accent);border-radius:999px;height:100%;transition:width .5s}.door-game-message{text-align:center;min-height:3.2em;color:var(--color-text-dark);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;margin:0 16px 8px;padding:8px 16px;font-size:22px;font-weight:700;line-height:1.3;display:flex}.door-game-message--wrong{color:#8a1414;box-shadow:var(--shadow-card);background:#fde2e2}.door-game-scene{flex:1;min-height:400px;position:relative}.door-scene-svg{width:100%;height:100%;display:block;position:absolute;inset:0}@media (width>=640px){.door-game-scene{border-radius:28px 28px 0 0;flex:0 620px;width:100%;max-width:560px;margin:0 auto;overflow:hidden}}.door-hit{cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none;animation:.45s both door-enter}.door-hit[aria-disabled=true]{cursor:default;pointer-events:none}.door-art{transform-box:fill-box;transform-origin:50% 100%;transition:transform .12s,opacity .2s}.door-hit:active .door-art{transform:scale(.96)}.door-ring{stroke:#0000;stroke-width:4px}.door-hit:focus-visible .door-ring{stroke:var(--game-accent);fill:#ffffff59}.door-hit--wrong{animation:.5s door-nudge}.door-hit--wrong .door-art{opacity:.6}.door-hit--wrong .door-ring{stroke:#ef4444;fill:#fee2e259}.door-hit--wrong .door-plaque rect,.door-hit--wrong .door-plaque circle{fill:#fde2e2;stroke:#b91c1c}@keyframes door-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes door-nudge{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.door-game--image{background:#120d1a;min-height:0;position:fixed;inset:0}.door-game--image .door-game-hud{z-index:2;pointer-events:none;background:linear-gradient(#100a1ae0 0%,#100a1abd 62%,#100a1a00 100%);padding-bottom:26px;position:relative}.door-game--image .back-button{pointer-events:auto}.door-game--image .door-game-title{color:#fff}.door-game--image .door-game-stage-count{color:#ffffffd1}.door-game--image .door-game-progress{background:#ffffff47}.door-game--image .door-game-progress-fill{background:#ffd47f}.door-game--image .door-game-message{background:#fffaf0f2;box-shadow:0 2px 10px #00000040}.door-game--image .door-game-message--wrong{background:#fde2e2}.door-game--image .door-game-scene{z-index:0;flex:none;min-height:0;position:absolute;inset:0}.door-image-scene{position:absolute;inset:0;overflow:hidden}.door-image-backdrop{filter:blur(22px)brightness(.7)saturate(1.1);background-position:50%;background-size:cover;position:absolute;inset:-24px}.door-image-stage{aspect-ratio:768/1376;width:min(100%,55.8svh);animation:.5s both scene-fade;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.door-image-img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(#0000 0,#000 9%);mask-image:linear-gradient(#0000 0,#000 9%)}.door-spot{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none;margin:0;padding:0;animation:.45s both door-enter;position:absolute}.door-spot:disabled{cursor:default;pointer-events:none}.door-spot-glow{opacity:0;pointer-events:none;background:radial-gradient(at 50% 60%,#ffe0a06b,#ffe0a01f);border-radius:45% 45% 4% 4%/22% 22% 2% 2%;transition:opacity .15s;position:absolute;inset:0;box-shadow:inset 0 0 22px #ffd68cb3}.door-spot:active .door-spot-glow{opacity:1}.door-spot:focus-visible .door-spot-glow{opacity:1;box-shadow:inset 0 0 0 4px #fff, 0 0 0 4px var(--game-accent)}.door-spot-badge{color:#2b1d3a;text-shadow:0 0 3px #ffffffe6,0 0 6px #ffffffb3;pointer-events:none;background:linear-gradient(#fffdf594,#f5e4c27a);border:2px solid #7a5226bf;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;font-weight:800;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:1px 2px 4px #140a1e40}.door-spot--wrong{animation:.5s door-nudge}.door-spot--wrong .door-spot-glow{opacity:1;background:#ef44444d;box-shadow:inset 0 0 0 3px #ef4444,inset 0 0 22px #ef4444b3}.door-spot--wrong .door-spot-badge{background:#fee2e2b3;border-color:#b91c1c}@keyframes scene-fade{0%{opacity:0}to{opacity:1}}.door-game-celebration{z-index:10;background:#17302e73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.door-game-celebration-card{background:var(--color-white);text-align:center;border-radius:28px;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:360px;padding:30px 24px 26px;animation:.45s both celebration-pop;display:flex;box-shadow:0 10px 34px #0f2e2c40}.door-game-celebration-emoji{font-size:64px;line-height:1}.door-game-celebration-card h2{color:var(--color-text-dark);margin:4px 0 0;font-size:30px}.door-game-celebration-card p{color:var(--color-text-muted);margin:0 0 14px;font-size:20px}.door-game-celebration-btn{background:linear-gradient(135deg, var(--color-header-from), var(--color-header-to));width:100%;min-height:60px;color:var(--color-white);cursor:pointer;border:none;border-radius:999px;padding:14px 20px;font-size:21px;font-weight:700}.door-game-celebration-btn:active{transform:scale(.97)}.door-game-celebration-btn:focus-visible{outline:4px solid var(--color-accent-purple);outline-offset:3px}@keyframes celebration-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.door-game-progress-fill,.door-art{transition:none}.scene-far{transition:none!important}.door-hit,.door-hit--wrong,.door-spot,.door-spot--wrong,.door-image-stage,.door-game-celebration-card{animation:none}.door-spot-glow{transition:none}}.fuse-bomb{top:max(8px, env(safe-area-inset-top));z-index:6;pointer-events:none;width:46vw;max-width:230px;position:absolute;right:8px}.fuse-bomb-frame{aspect-ratio:2076/758;width:100%;position:relative;overflow:visible}.fuse-bomb-rope{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 8px #0a0a1466);height:100%;transition:clip-path .5s cubic-bezier(.3,.7,.3,1);display:block;position:absolute;top:0;right:0}.fuse-bomb-flame{-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 0 10px #ff9628bf);height:100%;transition:left .5s cubic-bezier(.3,.7,.3,1),top .5s cubic-bezier(.3,.7,.3,1);display:block;position:absolute}.fuse-bomb--popped .fuse-bomb-rope{animation:.45s fuse-bomb-jolt}.fuse-bomb-flash{aspect-ratio:1;background:radial-gradient(circle,#fff6d8 0%,#ffb45c 35%,#d9542a 60%,#d9542a00 72%);border-radius:50%;width:46%;animation:.6s ease-out both fuse-bomb-flash;position:absolute;top:6%;right:6%;transform:translate(50%,-20%)}@keyframes fuse-bomb-jolt{0%{transform:translate(0)rotate(0)}20%{transform:translate(-3px,1px)rotate(-2deg)}45%{transform:translate(3px,-1px)rotate(2deg)}70%{transform:translate(-2px,1px)rotate(-1deg)}to{transform:translate(0)rotate(0)}}@keyframes fuse-bomb-flash{0%{opacity:0;transform:translate(50%,-20%)scale(.2)}30%{opacity:1}to{opacity:0;transform:translate(50%,-20%)scale(2.6)}}@media (prefers-reduced-motion:reduce){.fuse-bomb-rope,.fuse-bomb-flame{transition:none}.fuse-bomb--popped .fuse-bomb-rope{animation:none}.fuse-bomb-flash{animation-duration:.01ms}}.word-keyboard{padding:10px 10px max(10px, env(safe-area-inset-bottom));background:var(--color-app-bg);border-top:1px solid #d3e0de;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:7px;display:grid}.word-key{min-height:52px;box-shadow:var(--shadow-card);color:var(--color-text-dark);cursor:pointer;background:linear-gradient(#fff 0%,#eef4f3 100%);border:none;border-radius:12px;font-size:19px;font-weight:800;transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .15s,background .2s,opacity .2s}.word-key:active:not(:disabled){transform:scale(.92)}.word-key:focus-visible{outline:3px solid var(--color-header-to);outline-offset:2px}.word-key--correct{color:#fff;background:linear-gradient(#7fe0d6 0%,#0b6e6b 100%);box-shadow:inset 0 -3px 6px #00000038,inset 0 2px 2px #fff6}.word-key--wrong{color:#4a3f5c;opacity:.75;background:linear-gradient(#ddd6e6 0%,#ab9dc0 100%);box-shadow:inset 0 2px 4px #0000002e}.word-key:disabled{cursor:default}@media (prefers-reduced-motion:reduce){.word-key{transition:none}}.spin-wheel{aspect-ratio:1230/1279;width:100%;position:relative}.spin-wheel-disc{transform-origin:50%;will-change:transform;transition-property:transform;position:absolute;inset:0}.spin-wheel-disc-img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;filter:drop-shadow(0 10px 20px #0a142866);width:100%;height:100%;display:block}.spin-wheel-pointer-img{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 8px #0a142873);z-index:2;width:22%;position:absolute;top:-14%;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.spin-wheel-disc{transition-duration:.4s!important}}.ww-stage{flex:1;min-height:0;position:relative;overflow:hidden}.ww-stage-backdrop{filter:blur(22px)brightness(.75)saturate(1.05);background-position:50%;background-size:cover;position:absolute;inset:-24px}.ww-stage-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ww-stage-bg{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;display:block}.word-cell{width:calc(var(--stage-width,300px) * .061);height:calc(var(--stage-width,300px) * .061);background:linear-gradient(155deg,#1a1a1e 0%,#050506 100%);border:1px solid #8cfff573;border-radius:12%;justify-content:center;align-items:center;animation:.35s both word-cell-in;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 5px #6efff066,inset 0 2px 3px #ffffff14,inset 0 -3px 5px #0009}.word-cell-letter{font-size:calc(var(--stage-width,300px) * .038);color:#fff;text-shadow:0 0 6px #6efff0cc;font-weight:800;line-height:1;animation:.5s cubic-bezier(.34,1.56,.64,1) both word-cell-reveal}@keyframes word-cell-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes word-cell-reveal{0%{opacity:0;transform:scale(.4)rotateY(90deg)}60%{opacity:1;transform:scale(1.08)rotateY(0)}to{opacity:1;transform:scale(1)rotateY(0)}}@media (prefers-reduced-motion:reduce){.word-cell,.word-cell-letter{animation:none}}.ww-intro{color:#f4f7f7;background:linear-gradient(165deg,#0b6e6b 0%,#145f6e 45%,#4a2f73 100%);flex-direction:column;min-height:100svh;display:flex;overflow-x:hidden}.ww-intro-header{padding:max(10px, env(safe-area-inset-top)) 8px 0;flex-shrink:0}.ww-intro-content{width:100%;max-width:480px;padding:4px 24px max(36px, env(safe-area-inset-bottom) + 20px);text-align:center;flex-direction:column;flex:1;align-items:center;margin:0 auto;display:flex}.ww-intro-stage{width:min(70vw,280px);margin-bottom:6px;animation:1s both ww-intro-fade-in;position:relative}.ww-intro-halo{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#f7c94866 0%,#f7c94800 62%);border-radius:50%;width:145%;animation:4.2s ease-in-out infinite ww-intro-glow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ww-intro-title{letter-spacing:.3px;color:#ffe6ae;text-shadow:0 2px 16px #00000040;margin:12px 0 14px;font-size:36px;font-weight:800;line-height:1.1;animation:1s .25s both ww-intro-fade-in}.ww-intro-text{color:#eef4f3;margin:0 0 14px;font-size:20px;line-height:1.5;animation:1s .5s both ww-intro-fade-in}.ww-intro-start{color:#2a1a05;cursor:pointer;background:linear-gradient(135deg,#ffd47f,#f5a24d);border:none;border-radius:999px;width:100%;max-width:340px;min-height:64px;margin-top:18px;padding:16px 24px;font-size:24px;font-weight:800;animation:1s .9s both ww-intro-fade-in;box-shadow:0 6px 22px #f5a24d66}.ww-intro-start:active{transform:scale(.97)}.ww-intro-start:focus-visible{outline-offset:4px;outline:4px solid #fff}@keyframes ww-intro-fade-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes ww-intro-glow{0%,to{opacity:.6}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.ww-intro-stage,.ww-intro-title,.ww-intro-text,.ww-intro-start,.ww-intro-halo{animation:none}}.ww-result{z-index:20;background:#17302e80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ww-result-card{text-align:center;border-radius:28px;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:380px;padding:30px 26px 26px;animation:.5s cubic-bezier(.2,.9,.3,1.15) both ww-result-pop;display:flex;box-shadow:0 14px 38px #0f2e2c4d}.ww-result-card--won{background:linear-gradient(165deg,#eafff6 0%,#d3f5e6 100%);border:2px solid #2f9e6e59}.ww-result-card--lost{background:var(--color-white)}.ww-result-badge{color:#fff;letter-spacing:.4px;background:linear-gradient(135deg,#2f9e6e,#1f7a53);border-radius:999px;padding:6px 18px;font-size:16px;font-weight:800;display:inline-block;box-shadow:0 3px 10px #2f9e6e59}.ww-result-emoji{font-size:56px;line-height:1}.ww-result-title{color:var(--color-text-dark);margin:10px 0 0;font-size:23px;line-height:1.3}.ww-result-divider{border-top:2px dashed #17302e33;width:100%;height:0;margin:16px 0 4px}.ww-result-word{color:var(--color-text-dark);word-break:break-word;margin:6px 0 0;font-size:26px;font-weight:800;line-height:1.25}.ww-result-category{color:var(--color-text-muted);margin:4px 0 18px;font-size:17px}.ww-result-actions{flex-direction:column;gap:12px;width:100%;display:flex}.ww-result-btn{cursor:pointer;border:none;border-radius:999px;width:100%;min-height:58px;padding:14px 20px;font-size:20px;font-weight:700;transition:transform .12s}.ww-result-btn:active{transform:scale(.97)}.ww-result-btn:focus-visible{outline:4px solid var(--color-accent-purple);outline-offset:3px}.ww-result-btn--primary{background:linear-gradient(135deg, var(--color-header-from), var(--color-header-to));color:var(--color-white)}.ww-result-btn--quiet{color:var(--color-text-muted);background:0 0;font-weight:600}@keyframes ww-result-pop{0%{opacity:0;transform:scale(.88)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.ww-result-card{animation:none}}.ww-game{background:#0b1c3a;flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:hidden}.ww-game-header{padding:max(10px, env(safe-area-inset-top)) 8px 4px;z-index:4;flex-shrink:0;align-items:center;gap:4px;display:flex;position:relative}.ww-game-header-text{flex:1;min-width:0}.ww-game-title{color:#fdf6e3;text-shadow:0 1px 4px #00000073;margin:0;font-size:19px}.ww-game-status{color:#cdd8f0;text-shadow:0 1px 4px #00000073;margin:2px 0 0;font-size:15px;font-weight:600}.ww-wheel-slot{position:absolute;transform:translate(-50%)}.ww-board-category{text-align:center;color:#fdf6e3;text-shadow:0 1px 4px #00000080;margin:0;padding:0 4%;font-weight:800;line-height:1.15;position:absolute;transform:translateY(-50%)}.ww-board-wrong-chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex;position:absolute;transform:translateY(-50%)}.ww-chip{color:#4a3f5c;background:linear-gradient(#ddd6e6 0%,#ab9dc0 100%);border-radius:8px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 7px;font-size:14px;font-weight:800;display:flex;box-shadow:0 2px 6px #00000073,inset 0 1px 2px #00000026}.ww-game--boom{animation:.5s cubic-bezier(.3,.7,.3,1) ww-game-shake}@keyframes ww-game-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px,2px)}30%{transform:translate(5px,-3px)}45%{transform:translate(-4px,3px)}60%{transform:translate(4px,-2px)}75%{transform:translate(-2px,1px)}}@media (prefers-reduced-motion:reduce){.ww-game--boom{animation:none}}.libro-screen{background:var(--color-app-bg);flex-direction:column;min-height:100svh;display:flex}.libro-header{padding:max(10px, env(safe-area-inset-top)) 8px 0;flex-shrink:0;align-items:center;gap:4px;display:flex}.libro-header-title{color:var(--color-text-dark);margin:0;font-size:22px}.libro-content{width:100%;max-width:560px;padding:8px 20px max(32px, env(safe-area-inset-bottom));flex:1;margin:0 auto}.libro-content h1{color:var(--color-text-dark);margin:0 0 8px;font-size:30px;line-height:1.2}.libro-lead{color:var(--color-text-muted);margin:0 0 20px;font-size:20px}.libro-status{text-align:center;color:var(--color-text-muted);margin:48px 0;font-size:20px}.libro-error{color:var(--color-emergency-red-dark);background:#fdecec;border-radius:16px;margin:12px 0;padding:14px 16px;font-size:18px}.libro-button{width:100%;min-height:60px;font:inherit;cursor:pointer;border:none;border-radius:20px;justify-content:center;align-items:center;padding:14px 20px;font-size:20px;font-weight:700;display:flex}.libro-button:disabled{opacity:.55;cursor:default}.libro-button--primary{background:linear-gradient(135deg, var(--color-header-from), var(--color-header-to));color:var(--color-white)}.libro-button--secondary{background:var(--color-white);color:var(--color-text-dark);box-shadow:var(--shadow-card)}.libro-button--quiet{min-height:52px;color:var(--color-text-muted);background:0 0;font-weight:600}.libro-actions{flex-direction:column;gap:12px;margin-top:24px;display:flex}.libro-consent-card{background:var(--color-white);box-shadow:var(--shadow-card);border-radius:24px;padding:22px 20px}.libro-consent-card p{color:var(--color-text-dark);margin:0 0 14px;font-size:20px;line-height:1.5}.libro-consent-card h2{color:var(--color-text-dark);margin:22px 0 10px;font-size:21px}.libro-consent-card ul{color:var(--color-text-dark);margin:0;padding-left:22px;font-size:19px;line-height:1.5}.libro-consent-card li+li{margin-top:8px}.libro-progress{background:var(--color-white);box-shadow:var(--shadow-card);border-radius:20px;margin:0 0 24px;padding:18px 20px}.libro-progress-text{color:var(--color-text-dark);margin:0 0 10px;font-size:19px}.libro-progress-track{background:#dbe6e4;border-radius:6px;height:12px;overflow:hidden}.libro-progress-fill{background:linear-gradient(90deg, var(--color-header-from), var(--color-header-to));border-radius:6px;height:100%}.libro-badge{background:var(--color-header-to);color:var(--color-white);border-radius:999px;margin-left:8px;padding:2px 10px;font-size:16px}.libro-interview{background:var(--color-chat-bg);flex-direction:column;height:100svh;display:flex}.libro-interview-sub{color:var(--color-text-muted);margin:0;font-size:15px}.libro-thread{flex-direction:column;flex:1;gap:12px;padding:16px 16px 8px;display:flex;overflow-y:auto}.libro-bubble{border-radius:var(--radius-bubble);white-space:pre-wrap;overflow-wrap:anywhere;max-width:88%;padding:14px 16px;font-size:21px;line-height:1.45}.libro-bubble--ari{background:var(--color-bubble-received-bg);color:var(--color-text-dark);box-shadow:var(--shadow-card);border-bottom-left-radius:6px;align-self:flex-start}.libro-bubble--me{background:var(--color-bubble-sent-bg);color:var(--color-bubble-sent-text);border-bottom-right-radius:6px;align-self:flex-end}.libro-interlude{background:var(--color-white);box-shadow:var(--shadow-card);text-align:center;border-radius:22px;align-self:stretch;padding:20px}.libro-interlude h2{color:var(--color-text-dark);margin:0 0 8px;font-size:24px}.libro-interlude p{color:var(--color-text-muted);margin:0 0 16px;font-size:19px}.libro-composer{padding:10px 12px max(12px, env(safe-area-inset-bottom));background:var(--color-app-bg);border-top:1px solid #d3e0de;flex-shrink:0}.libro-composer-row{align-items:flex-end;gap:8px;display:flex}.libro-textarea{background:var(--color-white);min-height:56px;max-height:160px;font:inherit;color:var(--color-text-dark);resize:none;border:2px solid #c6d7d4;border-radius:20px;flex:1;padding:14px 16px;font-size:20px;line-height:1.4}.libro-textarea:focus{border-color:var(--color-header-to);outline:none}.libro-round{width:56px;height:56px;color:var(--color-white);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.libro-round:disabled{opacity:.5;cursor:default}.libro-round--send{background:linear-gradient(135deg, var(--color-header-from), var(--color-header-to))}.libro-round--mic{background:var(--color-accent-purple)}.libro-round--listening{background:var(--color-emergency-red);animation:1.4s ease-in-out infinite libro-pulse}@keyframes libro-pulse{50%{box-shadow:0 0 0 10px #e5484d2e}}@media (prefers-reduced-motion:reduce){.libro-round--listening{animation:none}}.libro-composer-hint{color:var(--color-text-muted);margin:8px 4px 0;font-size:16px}.libro-chapter-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.libro-chapter-card{background:var(--color-white);width:100%;box-shadow:var(--shadow-card);font:inherit;text-align:left;cursor:pointer;border:none;border-radius:20px;padding:18px;display:block}.libro-chapter-card:active{transform:scale(.99)}.libro-chapter-card-title{color:var(--color-text-dark);font-size:22px;font-weight:700;display:block}.libro-chapter-card-note{color:var(--color-text-muted);margin-top:4px;font-size:17px;display:block}.libro-section-title{color:var(--color-text-dark);margin:28px 0 10px;font-size:21px}.libro-reader{background:var(--color-white);box-shadow:var(--shadow-card);border-radius:24px;padding:22px 20px}.libro-reader p{color:var(--color-text-dark);overflow-wrap:anywhere;margin:0 0 16px;font-size:21px;line-height:1.6}.libro-reader p:last-child{margin-bottom:0}.libro-editor{background:var(--color-white);width:100%;min-height:55svh;font:inherit;color:var(--color-text-dark);resize:vertical;border:2px solid #c6d7d4;border-radius:20px;padding:18px;font-size:21px;line-height:1.6}.libro-editor:focus{border-color:var(--color-header-to);outline:none}.libro-qa-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.libro-qa-item{background:var(--color-white);box-shadow:var(--shadow-card);border-radius:20px;padding:18px}.libro-qa-question{color:var(--color-text-dark);margin:0 0 8px;font-size:19px;font-weight:700}.libro-qa-answer{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0 0 14px;font-size:19px;line-height:1.5}.libro-qa-editor{min-height:30svh;margin-bottom:12px;font-size:19px}
