ion-content.default-background{--background: var(--app-page-background)}.ion-content-flex::part(scroll){display:flex;flex-direction:column}.button-group-container{background-color:rgba(0,0,0,.09);border-radius:16px;padding:16px 8px;margin-bottom:16px}.button-group-container+.button-group-container{margin-top:24px}.button-grid-child:not(:last-child){margin-bottom:16px;display:block}.about-content-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;box-sizing:border-box}.about-card{max-width:400px;margin:1rem auto;background:var(--app-toolbar-background)}.about-card-title,.about-card-text{text-align:center;color:#fff}ion-card-content .about-card-text{font-size:1.1rem;line-height:1.6;text-align:left}ion-list.centered-list{max-width:400px;margin:0 auto;background:transparent}ion-list.centered-list ion-item{--background: transparent;--color: white}ion-list.centered-list>ion-label{color:#fff;font-weight:600;font-size:1.1rem;margin-top:1rem;display:block;text-align:center}ion-list.centered-list ion-item.select-item{--background: transparent;--color: white;--placeholder-color: white;--placeholder-opacity: .8;margin-top:.5rem;--border-width: 0px}ion-list.centered-list ion-item.select-item::part(native){background:var(--app-toolbar-background);border-radius:8px}.centered-select{width:100%}.select-item{width:100%;max-width:400px;margin:0 auto;--inner-border-width: 0}.primary-select-popover{--background: var(--app-toolbar-background);--ion-text-color: white;--ion-item-color: white;--ion-list-background: transparent;--ion-item-background: transparent;--ion-item-background-hover: rgba(0, 0, 255, 1);--ion-item-background-activated: rgba(0, 0, 255, 1);--ion-radio-color-checked: blue}.primary-select-popover ion-item.item-radio-checked{--background: rgba(50, 50, 255, .5)}.centered-button{display:block;width:90%;margin:1rem auto 8px;white-space:nowrap}ion-button{--background: var(--app-toolbar-background);--color: white;--border-radius: 12px;--padding-top: 1.1em;--padding-bottom: 1.1em;--padding-start: 1.4em;--padding-end: 1.4em;text-transform:none;font-size:.95em;--justify-content: flex-start}.main-page-logo{display:block;width:100%;max-width:400px;height:auto;margin:1rem auto;border:8px solid var(--app-toolbar-background);border-radius:20px;position:relative;z-index:1}.rounded-image::part(image){border-radius:16px;border:4px solid white;object-fit:cover}.center-action-sheet{--ion-animation-name: none}.center-action-sheet.sc-ion-action-sheet-md-h .action-sheet-wrapper,.center-action-sheet.sc-ion-action-sheet-ios-h .action-sheet-wrapper{top:50%;left:50%;bottom:auto;transform:translate(-50%,-50%);z-index:11;animation:math-action-sheet-enter .2s ease-in-out forwards}.center-action-sheet.sc-ion-action-sheet-md-h .action-sheet-wrapper,.center-action-sheet.sc-ion-action-sheet-ios-h .action-sheet-wrapper{top:20%;left:0%;bottom:auto;transform:translate(-50%,-50%);z-index:11;animation:math-action-sheet-enter .2s ease-in-out forwards}.button-grid-label{display:block;text-align:center;color:#fff;font-weight:700;font-size:1.2em;margin-bottom:.5em;position:relative;z-index:1}.math-problem-container{display:flex;justify-content:center;align-items:center;text-align:center;padding:0;box-sizing:border-box;overflow:hidden;width:100%;height:100%;position:relative}.display-screen-content-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex:1}.math-problem-text{font-weight:700;line-height:1}.math-problem-part{display:inline-block}.math-problem-operator{margin-left:.25em;margin-right:.25em}.display-media-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;box-sizing:border-box}.display-media-container>svg,.display-media-container>img{max-width:100%;max-height:100%}.display-buttons-container{position:absolute;top:10px;right:10px;z-index:10;display:flex;gap:8px}.overlay-button{--background: var(--app-toolbar-background);--background-activated: var(--app-toolbar-background);--background-focused: var(--app-toolbar-background);--background-hover: var(--app-toolbar-background);--color: white;border-radius:50%;width:2.5em;height:2.5em;--padding-start: 0px;--padding-end: 0px;--padding-top: 0px;--padding-bottom: 0px;font-size:1.5rem}.fireworks-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:10}.firework-rocket{position:absolute;bottom:0;left:var(--left);width:5px;height:5px;border-radius:50%;background-color:hsl(var(--hue),100%,70%);box-shadow:0 0 10px hsl(var(--hue),100%,70%);animation:shoot var(--flight-duration) ease-out forwards}@keyframes shoot{0%{bottom:0}99%{width:5px;height:5px}to{bottom:var(--explosion-height);width:0;height:0;box-shadow:none}}.particle{position:absolute;top:0;left:0;width:9px;height:9px;border-radius:50%;background-color:hsl(var(--hue),100%,70%);box-shadow:0 0 10px hsla(var(--hue),100%,70%,.8);opacity:0;animation:explode var(--explosion-duration) ease-in forwards;animation-delay:var(--explosion-delay)}@keyframes explode{0%{transform:rotate(var(--angle)) translate(0);opacity:1}to{transform:rotate(var(--angle)) translate(var(--distance)) translateY(80px);opacity:0}}.drag-over{border:2px dashed #007bff}.drop-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,123,255,.1);display:flex;align-items:center;justify-content:center;color:#007bff;font-size:1.5em;font-weight:700;z-index:1000;pointer-events:none}.waveform-card.draw-ui-card{width:90%;max-width:900px;height:85%;max-height:800px;display:flex;flex-direction:column}.waveform-card.draw-ui-card ion-card-content{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.draw-canvas-container{position:relative;width:100%;border:1px solid var(--ion-color-medium);border-radius:8px;overflow:hidden;background-color:var(--app-page-background);margin-top:1rem;flex-grow:1;display:flex;justify-content:center;align-items:center}.drawing-canvas{position:absolute;top:0;left:0;width:100%;height:100%;touch-action:none}.drawing-controls{display:flex;justify-content:space-around;align-items:center;margin-top:1rem;gap:10px;flex-shrink:0;padding-bottom:1rem}.drawing-controls ion-button{--padding-start: 15px;--padding-end: 15px;--padding-top: 10px;--padding-bottom: 10px;height:auto}.color-picker{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;width:40px;height:40px;background-color:transparent;cursor:pointer;padding:0;border-radius:50%;overflow:hidden;box-shadow:var(--ion-color-medium) 0 0 0 2px inset}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:50%}.color-picker::-moz-color-swatch-wrapper{padding:0}.color-picker::-moz-color-swatch{border:none;border-radius:50%}.custom-leave-alert{--background: #ffffff;--color: #333;--border-radius: 16px;box-shadow:0 8px 24px rgba(0,0,0,.1)}.custom-leave-alert .alert-title{color:var(--ion-color-primary, #3880ff);font-size:1.25rem;font-weight:600}.custom-leave-alert .alert-message{color:#666;font-size:1rem;line-height:1.5;white-space:pre-line}.custom-leave-alert .alert-button-group{padding:8px}.custom-leave-alert .alert-button{font-weight:600;border-radius:8px;transition:background-color .2s ease-in-out,color .2s ease-in-out}.custom-leave-alert .alert-button.alert-button-role-confirm{background-color:var(--ion-color-primary, #3880ff);color:#fff}.custom-leave-alert .alert-button.alert-button-role-cancel{color:#888}.custom-leave-alert .alert-button.alert-button-role-confirm.ion-activated{background-color:var(--ion-color-primary-shade, #3171e0)}.custom-leave-alert .alert-button.alert-button-role-cancel.ion-activated{background-color:rgba(0,0,0,.05)}.chat-container{display:flex;flex-direction:column;flex:1;width:100%;max-width:400px;position:relative;z-index:0;background-color:rgba(0,0,0,.09);border-radius:16px;margin:0 auto;padding:0;border:none}:root{--primary: #2c3e50;--secondary: #e0e0e0;--bubble-user: #096daf;--bubble-user-text: #ffffff;--bubble-assistant: #e59f07;--bubble-assistant-text: #ffffff;--bg: #f4f4f4;--shadow: 0 2px 8px rgba(0, 0, 0, .15)}html,body{height:100%;margin:0;padding:0}body{font-family:Inter,Arial,sans-serif;font-weight:500;color:#222;min-height:100vh;display:flex;flex-direction:column}.messages-content{--background: transparent;--padding-top: 20px;--padding-end: 16px;--padding-bottom: 16px;--padding-start: 16px}.messages-content::part(scroll){background:transparent}.messages-content::part(scroll)::-webkit-scrollbar{width:10px}.messages-content::part(scroll)::-webkit-scrollbar-track{background:var(--app-toolbar-background)}.messages-content::part(scroll)::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.7);border-radius:5px}.message-line{display:flex;width:100%}.message-line.user{justify-content:flex-end}.message-line.assistant{justify-content:flex-start}.bubble{padding:12px 16px;border-radius:16px;max-width:82%;font-size:1.02rem;line-height:1.6;position:relative;display:inline-block;word-break:break-word;box-shadow:0 .5px 2px rgba(44,62,80,.1)}#messages .message-line{margin-bottom:16px}#messages{background:transparent;width:100%}#messages .message-line:last-of-type{margin-bottom:0}.bubble.user{background:var(--bubble-user);color:var(--bubble-user-text);border-bottom-right-radius:4px}.bubble.assistant{background:var(--bubble-assistant);color:var(--bubble-assistant-text);border-bottom-left-radius:4px}.bubble.typing{background:#ebedef;color:#444;font-style:italic;opacity:.9;animation:pulsebg 1.3s linear infinite;min-width:60px;border-radius:16px}@keyframes pulsebg{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}ion-footer ion-toolbar{--border-width: 1px 0 0 0;--border-color: #e1e5ef;--border-style: solid;--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;--background: #fff}.bubble.user img.chat-image,.bubble.assistant img.chat-image{max-width:100%;border-radius:10px;display:block;margin-top:5px}.messages-content.drag-over{--inner-border-width: 0}.chat-ui-container{position:relative;height:calc(100% - 10px);margin-top:10px;display:flex;flex-direction:column;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 40px);mask-image:linear-gradient(to bottom,transparent 0%,black 40px)}.drop-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;display:flex;align-items:center;justify-content:center;background-color:rgba(40,40,40,.75);color:#fff;font-size:1.5rem;font-weight:700;border:3px dotted white;border-radius:12px;box-sizing:border-box;pointer-events:none}.drop-overlay>div{padding:20px 40px;background-color:rgba(0,0,0,.3);border-radius:10px}.chat-input-container{display:flex;align-items:center;padding:0;--chat-button-icon-size: 2rem;background-color:rgba(0,0,0,0)}@media (min-width: 768px){.chat-input-container{--chat-button-icon-size: 2.5rem}}@media (min-width: 1024px){.chat-input-container{--chat-button-icon-size: 2.8rem}}.chat-input{flex:1;--background: #049262ff;--border-radius: 20px;--color: var(--bubble-user-text);--placeholder-color: var(--ion-color-step-600, #ffffffff);--caret-color: var(--bubble-user-text);--border-bottom: none --highlight-color-focused: #ffffffff;--highlight-height: 0;--padding-start: 16px;--padding-end: 16px}.mute-btn,.send-btn{--padding-start: .5em;--padding-end: .5em;--padding-top: .5em;--padding-bottom: .5em;--background: transparent;--background-activated: transparent;--background-focused: transparent;--background-hover: transparent}.mute-btn ion-icon,.send-btn ion-icon{font-size:var(--chat-button-icon-size);color:var(--ion-color-primary);transition:font-size .2s ease-in-out}.chat-ui-container.listening .messages-content{animation:pulse 1s infinite}@keyframes pulse{0%{box-shadow:inset 0 0 0 5px rgba(0,122,255,.9)}50%{box-shadow:inset 0 0 0 60px rgba(0,122,255,0)}to{box-shadow:inset 0 0 0 5px rgba(0,122,255,.9)}}.alert-input-primary-color .alert-input-text{color:var(--ion-color-primary, #3880ff)}.alert-input-primary-color .alert-input-text::placeholder{color:var(--ion-color-primary-tint, #4c8dff);opacity:.7}.messages-content::part(scroll)::-webkit-scrollbar-track{background:transparent}.messages-content::part(scroll){scrollbar-color:rgba(0,0,0,.3) transparent}.bubble-content{white-space:pre-wrap}.themed-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:10;background-color:rgba(var(--ion-color-dark-rgb, 0, 0, 0),.4);display:flex;justify-content:center;align-items:center}.themed-box{background-color:var(--ion-color-primary);color:var(--ion-color-primary-contrast);padding:24px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.themed-box ion-spinner{width:56px;height:56px;color:var(--ion-color-primary-contrast)}.display-camera-container{width:100%;height:100%;position:relative;display:flex;justify-content:center;align-items:center;background-color:#000;overflow:hidden}.camera-feed{width:100%;height:100%;object-fit:contain}.capture-button{position:absolute;bottom:20px;--padding-start: 20px;--padding-end: 20px;--padding-top: 20px;--padding-bottom: 20px;font-size:2rem}.error-message{color:#fff;padding:20px;text-align:center}.waveform-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.waveform-card{width:90%;max-width:500px;--background: var(--app-page-background);--color: var(--ion-text-color)}.waveform-card ion-card-title{color:#fff;font-weight:500}.waveform-canvas{width:100%;height:100px;background-color:var(--app-toolbar-background);border-radius:4px;margin-top:1rem}.stop-button-container{text-align:center;margin-top:1rem}.resizable-divider{height:20px;cursor:row-resize;flex-shrink:0;display:flex;align-items:center;justify-content:center;touch-action:none}.resizable-divider-visual-bar{width:50%;height:100%;background-color:var(--app-page-background);border-top:1px var(--app-page-background);border-bottom:1px var(--app-page-background);border-radius:5px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.resizable-divider-toggle-button{--border-radius: 50%;--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;width:14px;height:14px;--background: var(--ion-color-primary);--color: var(--ion-color-primary-contrast);font-size:10px}.animated-shapes-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.shape-wrapper{position:absolute;display:flex;justify-content:center;align-items:center;animation:float linear infinite}.shape{border-radius:50%}.square{border-radius:0}.triangle{background:none;border-radius:0}@keyframes float{0%{transform:translateY(0);opacity:0}50%{opacity:1}to{transform:translateY(-150vh);opacity:0}}.vacuum-game-container{width:100%;height:100%;background-color:tan;cursor:none}.badges-container{padding:16px}.badge-card{text-align:center;--background: rgba(255, 255, 255, .1);border:1px solid rgba(255,255,255,.2);transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;position:relative}.badge-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(0,0,0,.2)}.badge-card[button]{cursor:pointer}.badge-unearned{opacity:.6}.badge-unearned .badge-image,.badge-unearned .badge-placeholder{filter:grayscale(1)}.badge-name{font-size:1rem;font-weight:600;min-height:2.4em;display:flex;align-items:center;justify-content:center}.badge-image{width:100px;height:100px;margin:0 auto}.badge-placeholder{width:100px;height:100px;margin:0 auto;border-radius:50%;background-color:#9e9e9e;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:#fff;border:4px dashed #757575}.badge-count{position:absolute;top:8px;right:8px;background-color:var(--ion-color-primary);color:var(--ion-color-primary-contrast);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;box-shadow:0 2px 4px rgba(0,0,0,.2)}.category-header{font-size:1.2rem;font-weight:600;color:var(--ion-color-light, #ffffff);margin-top:24px;margin-bottom:8px}
