.loader-stage{display:grid;place-content:center}.loader{grid-column:1;grid-row:1;display:flex;align-items:center;padding:6em;filter:url(#goo-filter);animation:loader-converge 5s ease-in-out infinite;will-change:transform}.loader-logo{grid-column:1;grid-row:1;align-self:center;justify-self:center;width:130px;height:130px;pointer-events:none;-webkit-user-select:none;user-select:none;animation:logo-form-break 5s ease-in-out infinite;will-change:transform,filter,opacity}.particle{width:0;padding:1.5em;border-radius:50%}.particle:nth-child(5n+1){background:#2f5d62}.particle:nth-child(5n+2){background:#f4a259}.particle:nth-child(5n+3){background:#f6d98a}.particle:nth-child(5n+4){background:#7fafb3}.particle:nth-child(5n){background:#fbebc1}.particle:first-child,.particle:last-child{padding:.75em}.particle:nth-child(odd){animation:pl-pulse var(--t) ease-in-out var(--dt) infinite}.particle:nth-child(2n){transform:rotate(0) translate(3em);animation:pl-spin var(--t) linear infinite}.particle:nth-child(4n){animation-direction:reverse;animation-duration:calc(1.2 * var(--t))}@keyframes pl-pulse{50%{transform:scale(1.8)}70%{transform:scale(.6)}}@keyframes pl-spin{to{transform:rotate(1turn) translate(3em)}}.loading-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#08041499;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:9999;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;opacity:0;transition:opacity .3s ease}.loading-progress-wrap{width:min(320px,80vw);text-align:center}.loading-progress-track{width:100%;height:10px;border-radius:999px;background:#e5c9d738;overflow:hidden}.loading-progress-bar{height:100%;width:0%;border-radius:999px;transition:width .26s ease;background:linear-gradient(90deg,#8ec5ff,#e5c9d7)}.loading-progress-label{margin:.45rem 0 0;font-size:.85rem;color:#ffffffd9}@keyframes loader-converge{0%,20%{transform:scale(1)}40%,70%{transform:scale(.38)}90%,to{transform:scale(1)}}@keyframes logo-form-break{0%{opacity:0;filter:blur(36px) brightness(3) saturate(2);transform:scale(.55)}20%{opacity:0;filter:blur(36px) brightness(3) saturate(2);transform:scale(.55)}40%{opacity:1;filter:blur(0px) brightness(1) saturate(1);transform:scale(1)}70%{opacity:1;filter:blur(0px) brightness(1) saturate(1);transform:scale(1)}90%{opacity:0;filter:blur(36px) brightness(3) saturate(2);transform:scale(.55)}to{opacity:0;filter:blur(36px) brightness(3) saturate(2);transform:scale(.55)}}@media (max-width: 480px){.loader{font-size:10px}.loader-logo{width:85px;height:85px}}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2) format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body.module1-page{background-color:var(--color-bg-page);font-family:Nunito,Arial,sans-serif;color:#fff;display:block;flex-direction:unset;justify-content:unset;align-items:unset;margin:0;padding:0}#preview{display:block;max-width:min(260px,100%);max-height:260px;border-radius:6px;object-fit:contain}.preview-container{position:relative;display:inline-block;margin-top:.5rem}.preview-remove-btn{position:absolute;top:4px;right:4px;width:22px;height:22px;min-width:22px;min-height:22px;box-sizing:border-box;border-radius:50%;aspect-ratio:1 / 1;background:#ba5454e6;border:none;color:#fff;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:0;padding:0;transition:background .15s,transform .15s}.preview-remove-btn:hover{background:#b85454;transform:scale(1.1)}.module1-container{padding:1rem;max-width:100%;overflow-x:hidden;min-height:100%;box-sizing:border-box;overflow:visible}.search-box{margin-bottom:2rem;text-align:center}.search-input{width:100%;max-width:400px;padding:.75rem;border:1px solid rgba(229,201,215,.3);border-radius:25px;background:#26415ecc;color:#e5c9d7;font-size:1rem;outline:none;box-sizing:border-box}.search-input::placeholder{color:#e5c9d799}.output-container{display:flex;align-items:center;margin-top:0;position:fixed;top:0;left:0;width:100%;max-width:100%;overflow-x:hidden;z-index:1000;background:var(--color-bg-page);box-sizing:border-box;padding:0 0rem}.output-container.blurred{filter:blur(2px)}.output-text-wrapper{display:flex;flex-direction:column;flex-grow:1;overflow-x:hidden;min-width:0}.output-text{font-size:var(--output-font-size, 18px);padding:10px;border:1px solid #ccc;height:auto;min-height:50px;overflow-y:hidden;max-height:20vh;color:#fff;text-transform:uppercase;background:#1e3654;white-space:nowrap;box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto;min-width:0}#output-text-content{padding-right:30px}#output-text-content:not(.output-with-icons):not(.output-icons-only){display:flex;align-items:center;height:100%}#output-text-content.output-with-icons{display:flex;flex-wrap:nowrap;align-items:stretch;gap:.3em;white-space:normal;padding:.15em 0}#output-text-content.output-icons-only .output-token-label{display:none}.settings-subsection-header{font-size:.7rem;font-weight:700;color:var(--color-text-muted, #999);text-transform:uppercase;letter-spacing:.06em;margin:1.25rem 0 .5rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-border, rgba(255,255,255,.15))}.settings-card input[type=range]:disabled{opacity:.4;cursor:not-allowed}.output-token-sep{display:none}.output-token{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;vertical-align:top;text-align:center;background:linear-gradient(145deg,#26415e99,#0d1e4c99);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.15em .3em;min-width:3em;max-width:5.5em;overflow:hidden;box-sizing:border-box;flex-shrink:0;align-self:stretch}.output-token-img-wrap{display:flex;align-items:center;justify-content:center;width:100%;flex:1;min-height:0;overflow:hidden}.output-token-icon{width:100%;height:100%;object-fit:contain;border-radius:4px;display:block}.output-token-label{font-size:.65em;color:#e5c9d7;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:1.4em;font-family:Arial,sans-serif;flex-shrink:0}.clear-button{width:100%;height:2em;font-size:1rem;background-color:#ba5454;color:#fff;border:none;cursor:pointer;margin-top:5px;display:flex;align-items:center;justify-content:center}.read-button{background-color:#3eac40;color:#fff;border:none;margin-left:10px;cursor:pointer;padding:0 5vw;align-self:stretch;display:flex;align-items:center;justify-content:center;font-size:clamp(1.5rem,8vw,3rem);position:relative}.read-button.is-gemini-loading{pointer-events:none}.read-button.is-gemini-loading:after{content:"";position:absolute;width:40px;height:40px;border-radius:50%;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;animation:speak-loading-spin .9s linear infinite}@keyframes speak-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.back-button{background-color:#b7d8f3;color:#fff;border:none;margin-right:10px;cursor:pointer;padding:0 5vw;align-self:stretch;display:flex;align-items:center;justify-content:center;font-size:clamp(1.5rem,8vw,3rem)}.pinned-container{position:fixed;top:160px;left:0;width:100%;max-width:100%;overflow-x:hidden;z-index:999;background-color:#0b1b32;box-sizing:border-box;padding:0 0rem}#categories-container{display:flex;flex-direction:column;gap:20px;margin-top:0;padding-top:10px;min-height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto;touch-action:pan-y;overscroll-behavior-x:none;overscroll-behavior-y:auto}.category-title-wrapper{position:relative;display:flex;align-items:center;justify-content:flex-start;width:100%;background-color:transparent;padding:0;box-sizing:border-box}.category-title{margin:0;font-size:1.5rem;color:#e5c9d7}.category-title.hide-text{display:none}.current-category{font-weight:700;background-color:#ba5454}.edit-icon{display:none!important;cursor:pointer;color:#fff;font-size:1.2rem}.vertical-list label{display:block}body.edit-mode .carousel-item .edit-icon,body.edit-mode .category-title-wrapper .edit-icon{display:block!important;margin-left:.5rem}.carousel-item .edit-icon{position:absolute;top:5px;right:5px;z-index:10}.carousel-item .favorite-star{position:absolute;top:5px;left:5px;z-index:10;color:#ff0;font-size:18px}.folder-notch{position:absolute;bottom:-5px;left:-5px;width:20px;height:20px;border-radius:50%;z-index:1}.restaurant-icon{position:absolute;bottom:0;left:0;z-index:1;font-size:1rem}.carousel{display:flex;gap:var(--icon-gap, .7rem);overflow-x:auto;overflow-y:hidden;padding-bottom:1rem;scrollbar-width:thin;scrollbar-color:rgba(229,201,215,.5) rgba(11,27,50,.5);max-width:100%;white-space:nowrap}.carousel-wrapper{min-height:100px;transition:min-height .3s ease;border-radius:15px;overflow:hidden;max-width:100%}.carousel::-webkit-scrollbar{height:8px}.carousel::-webkit-scrollbar-thumb{background:#e5c9d780;border-radius:4px}.carousel::-webkit-scrollbar-track{background:#0b1b3280}.carousel-wrapper.expanded{min-height:auto;overflow:visible}.carousel-wrapper.expanded .carousel{display:grid;gap:var(--icon-gap);overflow-x:auto;overflow-y:hidden;height:auto;max-width:100%}.category,.module1-container{height:auto;overflow:visible}.category{content-visibility:auto;contain-intrinsic-size:auto 150px}.carousel-item{position:relative;flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;background:linear-gradient(145deg,#26415e99,#0d1e4c99);border:1px solid rgba(255,255,255,.2);border-radius:15px;padding:0;transition:transform .2s;overflow:hidden;box-sizing:border-box;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.carousel-item:hover{transform:translateY(-5px)}.carousel-item.item-focused{transform:scale(1.18)!important;z-index:10!important;border:3px solid rgba(255,220,50,.95)!important;border-radius:14px!important;box-shadow:0 0 0 5px #ffdc3280,0 0 30px 10px #ffc800a6,0 0 70px 25px #ff8c0059!important;animation:item-focus-enter .45s cubic-bezier(.34,1.56,.64,1) forwards,item-focus-pulse 1.8s ease-in-out .45s infinite!important}@keyframes item-focus-enter{0%{transform:scale(1);box-shadow:none;border-color:transparent}65%{transform:scale(1.24)}to{transform:scale(1.18);box-shadow:0 0 0 5px #ffdc3280,0 0 30px 10px #ffc800a6,0 0 70px 25px #ff8c0059}}@keyframes item-focus-pulse{0%,to{transform:scale(1.18);box-shadow:0 0 0 5px #ffdc3280,0 0 30px 10px #ffc800a6,0 0 70px 25px #ff8c0059}50%{transform:scale(1.22);box-shadow:0 0 0 10px #ffdc32bf,0 0 55px 22px #ffc800d9,0 0 100px 45px #ff8c0080}}.carousel-item.disabled{opacity:.5;filter:grayscale(100%)}.carousel-item.disabled .edit-icon{opacity:1;filter:none}.carousel-item.disabled:hover{transform:none}.image-container{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:center;width:100%;position:relative}.image-container img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));position:relative;z-index:1}.image-container .blurred-background{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:blur(15px);z-index:0}.default-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.carousel-item .item-name{height:auto;font-size:.7rem;color:#e5c9d7;text-shadow:0 2px 4px rgba(0,0,0,.3);display:block;text-align:center;line-height:1.8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.carousel-item.hide-text .item-name{display:none}.carousel-item.hide-text{justify-content:center}.carousel-item.hide-text .image-container{align-items:center}.carousel-item.folder-child{border-left:3px solid;padding-left:.5rem}.carousel-item .item-name{font-family:Arial,sans-serif}.fab{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:none;font-size:24px;cursor:pointer;transition:transform .2s,opacity .2s;position:relative}#fab{background:transparent;opacity:.3;position:relative;z-index:1;pointer-events:auto}.fab-container.expanded #fab{opacity:1;cursor:grab;touch-action:none}.fab-container.fab-dragging #fab{cursor:grabbing}.fab-container.fab-dragging .fab:hover{transform:none}.fab:hover{transform:scale(1.1)}.fab.fab-additional{display:none;transition:opacity .3s ease,transform .3s ease;pointer-events:auto;color:#24404c}.fab>span{display:flex;align-items:center;justify-content:center;line-height:0}.fab-additional[data-tooltip]:before{content:attr(data-tooltip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) scale(.85);background:#0f1e37eb;color:#e8edf5;font-size:.72rem;font-weight:600;letter-spacing:.03em;white-space:nowrap;padding:4px 10px;border-radius:6px;box-shadow:0 2px 8px #00000059;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease}.fab-additional[data-tooltip]:hover:before{opacity:1;transform:translateY(-50%) scale(1)}.fab-container.expanded .fab-additional[data-tooltip]:before{opacity:1;transform:translateY(-50%) scale(1)}@media (max-width: 768px){.fab-additional[data-tooltip]:before{opacity:.55;transform:translateY(-50%) scale(1)}.fab-additional[data-tooltip]:hover:before,.fab-container.expanded .fab-additional[data-tooltip]:before{opacity:1}}#fab-notifications{overflow:visible}.fab-notifications-icon{line-height:0;display:flex;align-items:center;justify-content:center}.fab-notifications-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#d10d0d;color:#fff;font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #26415ef2}.fab-notifications-badge[hidden]{display:none}.fab-container.expanded .fab-additional{display:flex;opacity:1;transform:translateY(0)}.fab-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:10px;z-index:1001;max-width:100%;pointer-events:none}.fab-scroll-viewport{display:none;height:198px;width:190px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;margin-bottom:-10px;pointer-events:none}.fab-scroll-viewport::-webkit-scrollbar{display:none}.fab-scroll-track{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding:8px 0 2px;pointer-events:none}.fab-container.expanded .fab-scroll-viewport{display:block}@media (max-width: 768px){.fab-scroll-viewport{height:210px;width:190px}}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.main-form-container,.category-edit-form,.settings-card,.training-course-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(300px,40vw,500px);background:#26415ef2;border-radius:1.5rem;padding:0 1rem 1rem;box-shadow:0 1rem 2rem #00000080;z-index:1000;max-height:85vh;overflow-y:auto;box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(229,201,215,.2);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.settings-card h3{margin:0 0 1rem;color:#e5c9d7}.training-course-body{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0 .5rem}.training-course-icon-wrap{width:160px;height:160px;display:flex;align-items:center;justify-content:center;border-radius:1rem;background:#0d1e4c80;border:1px solid rgba(229,201,215,.2);flex-shrink:0}.training-course-icon-img{width:140px;height:140px;object-fit:contain;border-radius:.75rem}.training-course-story-img{width:100%;max-width:280px;height:auto;max-height:200px;object-fit:contain;border-radius:.75rem}.training-course-icon-wrap:has(.training-course-story-img){width:280px;height:auto;min-height:160px;padding:.25rem}.training-course-icon-fallback{font-size:1.8rem;color:#e5c9d7;text-align:center;padding:.5rem;word-break:break-word}.training-course-sentence{font-size:1.4rem;color:#e5c9d7;text-align:center;font-weight:500;margin:0;line-height:1.4;width:100%}.training-course-progress{font-size:.9rem;color:#e5c9d78c;letter-spacing:.03em}.training-course-timer-bar{width:100%;height:10px;background:#e5c9d72e;border-radius:999px;overflow:hidden}.training-course-timer-fill{height:100%;background:linear-gradient(90deg,#8ec5ff,#e5c9d7);border-radius:999px;width:100%}.training-course-card{transition:opacity .6s ease}.training-course-card--dimmed{opacity:.08;pointer-events:none}.training-course-card--find-mode .form-header{position:absolute;top:2px;right:4px;width:auto;padding:0;margin:0;border-bottom:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:2}.training-course-card--find-mode .form-header .form-title-group{width:auto}.training-course-card--find-mode .form-header h3{display:none}.training-course-card--find-mode .close-form{width:1.4rem;height:1.4rem;font-size:.8rem;opacity:.65}.training-course-card--find-mode .training-course-sentence,.training-course-card--find-mode .training-course-progress,.training-course-card--find-mode .training-course-find-prompt,.training-course-card--find-mode .training-course-spinner{display:none}.training-course-card--find-mode .training-course-hint-timer{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:calc(100% - 1.2rem);padding:0 0 .4rem;z-index:3;background:transparent;animation:none}.training-course-card--find-mode .training-course-hint-countdown{display:none}.training-course-card--find-mode .training-course-body{height:100%;padding:0;gap:0;justify-content:center;overflow:hidden}.training-course-card--find-mode .training-course-icon-wrap{width:100%;height:100%;border-radius:0;background:transparent;border:none}.training-course-card--find-mode .training-course-icon-img{width:auto;height:100%;max-height:100%;max-width:100%;border-radius:0}.training-course-card--find-mode .training-course-icon-fallback{font-size:1.4rem}.training-course-card--find-mode{overflow:hidden;max-height:none;z-index:1001;position:fixed}.training-course-spinner{width:40px;height:40px;border:4px solid rgba(229,201,215,.2);border-top-color:#83a6ce;border-radius:50%;animation:tc-spin .8s linear infinite}@keyframes tc-spin{to{transform:rotate(360deg)}}.training-course-find-prompt{font-size:1rem;font-weight:600;color:#83a6ce;text-align:center;margin:0;padding:.5rem 1.25rem;background:#83a6ce1f;border:1px solid rgba(131,166,206,.35);border-radius:.75rem;animation:fadeIn .3s ease-out}.training-course-hint-timer{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%;animation:fadeIn .3s ease-out}.training-course-hint-countdown{font-size:.78rem;color:#e5c9d780;letter-spacing:.04em}.training-course-completion-card{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:2.5rem 1.5rem;min-height:300px;transition:opacity .6s ease}.training-course-completion-card--fade-out{opacity:0}.training-course-confetti-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;border-radius:1.5rem}.training-course-completion-message{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.training-course-completion-like{width:100px;height:100px;object-fit:contain;border-radius:50%;animation:tc-trophy-pop .5s cubic-bezier(.36,.07,.19,.97) both}.training-course-completion-trophy{font-size:4rem;line-height:1;animation:tc-trophy-pop .6s cubic-bezier(.36,.07,.19,.97) both}@keyframes tc-trophy-pop{0%{transform:scale(.2);opacity:0}60%{transform:scale(1.18);opacity:1}80%{transform:scale(.95)}to{transform:scale(1)}}.training-course-completion-text{font-size:2.4rem;font-weight:700;color:#83a6ce;margin:0;letter-spacing:.02em;animation:tc-rise .5s .2s ease-out both}@keyframes tc-rise{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}.notifications-card{z-index:1000}.notifications-content{padding-bottom:.25rem}.notifications-list{display:flex;flex-direction:column;gap:.9rem}.notification-item{border:1px solid rgba(229,201,215,.22);border-left:5px solid rgba(131,166,206,.8);border-radius:1rem;padding:.9rem 1rem;background:#09141f52}.notification-warning{border-left-color:#db970e}.notification-error{border-left-color:#d10d0d}.notification-level-pill{text-transform:capitalize;font-size:.78rem;letter-spacing:.03em;font-weight:700;color:#fff;background:#83a6ce80;border-radius:999px;padding:.2rem .6rem}.notification-error .notification-level-pill{background:#d10d0db3}.notification-warning .notification-level-pill{background:#db970eb3}.notification-timestamp,.notification-message,.notification-subtext,.notification-occurrence-count,.notification-empty-state{color:#e5c9d7}.notification-timestamp{font-size:.8rem;opacity:.8}.notification-message,.notification-subtext,.notification-occurrence-count,.notification-empty-state{margin:0}.notification-message{font-weight:700;margin-bottom:.35rem}.notification-subtext{opacity:.9;line-height:1.4}.notification-occurrence-count{margin-top:.55rem;font-size:.8rem;opacity:.75}.notification-empty-state{padding:1rem;text-align:center;border-radius:1rem;border:1px dashed rgba(229,201,215,.35);background:#09141f38}.notification-copy-btn{font-size:14px;color:#e5c9d7;cursor:pointer;background:none;border:none;flex-shrink:0;opacity:.7;padding:0;line-height:1}.notification-section-divider{display:flex;align-items:center;gap:.75rem;color:#e5c9d78c;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-top:.1rem}.notification-section-divider:before,.notification-section-divider:after{content:"";flex:1;border-top:1px solid rgba(229,201,215,.3)}.settings-card label{color:#e5c9d7;margin-bottom:.75rem;font-weight:500;display:block}.settings-help-text{margin:.5rem 0 0;color:#e5c9d7bf;font-size:.85rem;line-height:1.4}.settings-card input[type=range]{width:100%;margin-bottom:1rem;accent-color:#83A6CE}.settings-card input[type=checkbox]{margin-right:.5rem;accent-color:#83A6CE;transform:scale(1.3);transform-origin:left center}.settings-card select{width:100%;padding:.5rem;border-radius:.5rem;border:1px solid rgba(229,201,215,.3);background:#0d1e4ccc;color:#e5c9d7;margin-bottom:1rem}.settings-card button:not(.close-form){margin-top:1rem;padding:.75rem 1.5rem;border-radius:.75rem;border:1px solid rgba(229,201,215,.3);background:linear-gradient(135deg,#83a6ce,#5a7a99);color:#0b1b32;cursor:pointer;transition:all .3s ease;font-weight:500}.settings-card button:hover:not(.close-form){transform:translateY(-2px);box-shadow:0 .25rem .75rem #0000004d;background:linear-gradient(135deg,#9bb8d6,#6b8fb0)}.pin-tip{font-size:.85rem;color:#e5c9d7b3;margin-top:.25rem;margin-left:1.5rem;font-style:italic}.developer-button{background:linear-gradient(135deg,#ff6b6b,#d64545);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin:.5rem 0;width:100%;max-width:200px}.developer-button:hover{background:linear-gradient(135deg,#d64545,#b83a3a);transform:translateY(-2px);box-shadow:0 .25rem .75rem #ff6b6b66}.developer-description{color:#b8c5d6;font-size:.9rem;margin:.5rem 0 1rem;line-height:1.4}.account-info-section{background:#0d1e4ccc;border:1px solid rgba(229,201,215,.3);border-radius:5px;padding:.4rem .75rem;margin-bottom:.5rem}.user-name{color:#e5c9d7;font-size:1rem;font-weight:600;margin-bottom:.25rem}.user-email{color:#b8c5d6;font-size:.85rem}.logout-section{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(229,201,215,.3);text-align:center}.logout-button{background:linear-gradient(135deg,#d64545,#b83a3a);color:#fff;border:1px solid rgba(229,201,215,.3);padding:.75rem 2rem;border-radius:.75rem;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease}.logout-button:hover{background:linear-gradient(135deg,#b83a3a,#a32f2f);transform:translateY(-2px);box-shadow:0 .25rem .75rem #ff6b6b66}.about-version-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .25rem .25rem}.about-version-label{font-size:.85rem;color:#e5c9d7b3}.about-version-value{font-size:.9rem;font-weight:600;color:#e5c9d7;letter-spacing:.03em}.pn-header{margin:1rem 0 .5rem;padding-bottom:.4rem;border-bottom:1px solid rgba(229,201,215,.2)}.pn-title{margin:0;font-size:.9rem;font-weight:600;color:#e5c9d7cc;text-transform:uppercase;letter-spacing:.06em}.pn-list{display:flex;flex-direction:column;gap:.75rem;max-height:260px;overflow-y:auto;padding-right:.25rem;scrollbar-width:thin;scrollbar-color:rgba(229,201,215,.2) transparent}.pn-list::-webkit-scrollbar-thumb{background:#e5c9d740;border-radius:2px}.pn-release{background:#0d1e4c8c;border:1px solid rgba(229,201,215,.15);border-radius:.6rem;padding:.6rem .75rem}.pn-version{font-size:.95rem;font-weight:700;color:#e5c9d7}.pn-date{font-size:.75rem;color:#e5c9d780}.pn-changes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.pn-change{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;line-height:1.45}.pn-badge{flex-shrink:0;display:inline-block;padding:.1rem .4rem;border-radius:.3rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-top:.1rem}.pn-badge--feat{background:#43a36b40;color:#6dda9a;border:1px solid rgba(67,163,107,.35)}.pn-badge--fix{background:#cc993340;color:#f0c060;border:1px solid rgba(204,153,51,.35)}.pn-badge--qol{background:#538ece40;color:#8bbcf0;border:1px solid rgba(83,142,206,.35)}.pn-badge--remove{background:#d6454540;color:#f08080;border:1px solid rgba(214,69,69,.35)}.pn-change-text{color:#e5c9d7d9}.pn-empty{font-size:.85rem;color:#e5c9d780;text-align:center;padding:1rem 0;margin:0}.test-results{background:#0000004d;border:1px solid #4A90E2;border-radius:.5rem;padding:1rem;margin-top:1rem}.test-results h5{color:#4a90e2;margin:0 0 .5rem;font-size:1.1rem}.test-results pre{background:#00000080;color:#e8f4fd;padding:.75rem;border-radius:.25rem;font-family:Courier New,monospace;font-size:.8rem;line-height:1.4;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word}.test-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.test-results-header h5{margin:0}.copy-button{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;padding:.4rem .8rem;border-radius:.25rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.25rem}.copy-button:hover{background:linear-gradient(135deg,#357abd,#2e5f99);transform:translateY(-1px);box-shadow:0 .15rem .5rem #4a90e24d}.copy-button:active{transform:translateY(0)}.copy-button.copied{background:linear-gradient(135deg,#28a745,#1e7e34)}.copy-button.copied:hover{background:linear-gradient(135deg,#1e7e34,#155724)}.restaurant-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1001;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}body.restaurant-order-active{overflow:hidden}.restaurant-card{background:#26415ef2;border-radius:1.5rem;padding:0 1.5rem 1.5rem;box-shadow:0 1rem 2rem #00000080;max-height:90%;overflow-y:auto;box-sizing:border-box;border:1px solid rgba(229,201,215,.2);animation:fadeIn .3s ease-out;width:clamp(300px,40vw,500px)}.restaurant-card h3{margin:0 0 1rem;color:#e5c9d7}.restaurant-container .carousel-item.restaurant-menu-item{width:calc(var(--item-width) * 1.2);height:calc(var(--item-height) * 1.2)}.restaurant-container .carousel-item.restaurant-menu-item:hover{transform:translateY(-5px);box-shadow:0 6px 12px #0006}.restaurant-container .carousel-item.restaurant-menu-item .image-container img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.restaurant-container .carousel-item.restaurant-menu-item .default-icon{font-size:2.4rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}#icon-library-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1001;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}body.icon-library-active{overflow:hidden}.icon-library-card{background:#26415ef2;border-radius:1.5rem;padding:1.5rem;box-shadow:0 1rem 2rem #00000080;max-height:90vh;overflow-y:auto;box-sizing:border-box;border:1px solid rgba(229,201,215,.2);animation:fadeIn .3s ease-out;width:clamp(800px,90vw,1200px);max-width:95vw}.icon-library-card h3{margin:0 0 1rem;color:#e5c9d7;text-align:center}.icon-library-search{margin-bottom:1rem;text-align:center}.icon-search-input{width:100%;max-width:400px;padding:.75rem;border:1px solid var(--color-border);border-radius:25px;background:var(--color-bg-input);color:var(--color-text-primary);font-size:1rem;outline:none;box-sizing:border-box}.icon-search-input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.icon-search-input::placeholder{color:#e5c9d799}.icon-search-input:focus{border-color:#e5c9d7cc;box-shadow:0 0 0 2px #e5c9d733}.icon-library-container{min-height:400px;max-height:60vh;overflow-y:auto}.icon-category{margin-bottom:2rem}.icon-category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.icon-category h4{color:#e5c9d7;margin:0;font-size:1.2rem;border-bottom:1px solid rgba(229,201,215,.3);padding-bottom:.5rem;flex-grow:1}.category-toggle{background:#0d1e4c4d;color:#e5c9d7;border:none;border-radius:.5rem;padding:.25rem .75rem;cursor:pointer;font-size:.9rem;transition:all .2s ease;margin-left:1rem}.category-toggle:hover{background:#1e3447;transform:translateY(-1px)}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:1rem;padding:.5rem;background:#122f4f;border-radius:.5rem;transition:max-height .3s ease;max-height:500px;overflow-y:auto}.icon-grid.collapsed{max-height:120px;overflow:hidden;background:#122f4f}.icon-grid.expanded{max-height:none;background:#122f4f}.selectable-image{width:50px;height:50px;object-fit:contain;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;background:#ffffff1a;padding:2px}.icon-item{display:flex;flex-direction:column;align-items:center;cursor:pointer;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:4px;transition:all .2s ease;background:#122f4f}.icon-item:hover{border-color:#e5c9d780;transform:scale(1.05)}.icon-item.selected{border-color:#e5c9d7;box-shadow:0 0 10px #e5c9d780;background:#e5c9d71a}.icon-label{font-size:.75rem;color:#fff;text-align:center;margin-top:4px;width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-library-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(229,201,215,.3)}.icon-library-actions button{padding:.5rem 1rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#26415e,#83a6ce);color:#e5c9d7;cursor:pointer;transition:all .2s ease;font-weight:500}.icon-library-actions button:hover{background:linear-gradient(135deg,#1e3447,#6b8fb3);transform:translateY(-1px)}.icon-library-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none}.main-form-container{display:none}.main-form-container.visible{display:block}.form-header{position:sticky;top:0;display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 0;border-bottom:1px solid rgba(229,201,215,.3);background:#26415ef2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1}.sync-button{padding:.5rem 1rem;border:none;border-radius:.5rem;background:#26415e;color:#e5c9d7;cursor:pointer;transition:all .2s ease;font-weight:500;font-size:.9rem}.sync-button:hover:not(:disabled){background:#1e3447;transform:translateY(-1px)}.sync-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.icon-library-progress-wrap{width:90%;margin:.5rem auto 0}.icon-library-progress-track{width:100%;height:6px;border-radius:999px;background:#e5c9d726;overflow:hidden}.icon-library-progress-bar{height:100%;width:0%;border-radius:999px;transition:width .22s ease;background:linear-gradient(90deg,#8ec5ff,#e5c9d7)}@media (prefers-reduced-motion: reduce){.icon-library-progress-bar{transition:none}}.import-btn{padding:.5rem 1rem;border:none;border-radius:.5rem;background:#83a6ce;color:#fff;cursor:pointer;transition:all .2s ease;font-weight:500;font-size:.9rem;margin-bottom:.5rem}.import-btn:hover{background:#6b8fbf;transform:translateY(-1px)}#more-image-options-btns{container-type:inline-size;display:flex;gap:.25rem;width:100%}#more-image-options-btns .import-btn{flex:1;min-width:0;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:.3rem;white-space:nowrap;padding-inline:.4rem;margin-bottom:0}@container (max-width: 260px){#more-image-options-btns .import-btn{flex-direction:column;white-space:normal;word-break:break-word;text-align:center;gap:.1rem;line-height:1.2}}.form-header .form-title-group{display:flex;align-items:center;justify-content:space-between;gap:.5rem;position:relative;width:100%}.settings-title-group{justify-content:space-between}.form-header .form-buttons{display:flex;align-items:center;gap:.5rem}.form-header h3{margin:0;color:#e5c9d7;font-size:1.5rem;font-weight:600}.close-form{background:#ba5454cc;border:none;color:#fff;font-size:1.25rem;cursor:pointer;border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}#delete-button{background:#ba5454cc;color:#fff;height:2.5rem;width:100%;border-radius:5px;border:none;cursor:pointer;font-size:1rem;transition:all .3s ease}#delete-button:hover{background:#b85454}#remove-icon{background:#ba5454cc;color:#fff;border:none;cursor:pointer;font-size:1rem;transition:all .3s ease;padding:.5rem 1rem;border-radius:5px}#remove-icon:hover{background:#b85454}#download-icon{background:#83a6ce;color:#0b1b32;border:none;cursor:pointer;font-size:1rem;transition:all .3s ease;padding:.5rem 1rem;border-radius:5px}#download-icon:hover{background:#6b8fb3}#submit-button{background:#83a6ce;color:#0b1b32;height:2.5rem;width:100%;border-radius:5px;border:none;cursor:pointer;font-size:1rem;transition:all .3s ease}#submit-button:hover{opacity:.9}.form-content{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;padding-top:1rem}.form-section{display:flex;flex-direction:column;gap:.5rem}input,select,button{padding:.75rem;border-radius:5px;border:1px solid #e5c9d74d;background:var(--color-bg-card);color:var(--color-text-primary);outline:none;font-size:1rem;box-sizing:border-box}input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}button{background:#83a6ce;color:#0b1b32;cursor:pointer}button:hover{opacity:.9}#audio-preview{display:none;width:100%;margin-top:.5rem}#sign-out-button{padding:10px 28px;background-color:#8b1a1a;color:#fff;border:1.5px solid #6e1515;border-radius:999px;cursor:pointer}#sign-out-button:hover{background-color:#6e1515}@media (min-width: 768px){.settings-card,.restaurant-card{width:50vw;max-width:600px}}@media (min-width: 768px){.selection-indicator{font-size:18px;margin-left:12px}.reorder-list li.selected .selection-indicator{color:#fff;text-shadow:0 0 8px rgba(0,123,255,1);animation:pulse 1.5s infinite}}@media (max-width: 767px){.settings-card{width:95vw;max-width:95vw;padding:0 1rem 1rem;border-radius:1rem}.settings-container{height:calc(100% - 4rem)}.settings-sidebar{width:150px;padding:.5rem 0;overflow-y:auto}.settings-tabs{padding:0 .5rem}.tab-button{padding:.5rem .75rem;font-size:.8rem}.settings-main{padding:1rem;overflow-y:auto}}@media (max-width: 600px){.main-form-container,.category-edit-form,.settings-card{width:90vw;max-width:90vw;max-height:80vh}.fab{width:60px;height:60px;font-size:28px}.form-section{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;align-items:center;gap:.5rem}.form-row label{flex:1}.form-row input,.form-row select{flex:2}.button-group{display:flex;gap:.5rem}.pinned-container{margin-top:0!important}.tab-button{padding:.3rem .5rem;font-size:.9rem}.dual-list-box-container{display:flex;justify-content:space-between;gap:10px}.list-box{width:48%}.item-list{list-style:none;padding:5px;margin:0;border:1px solid #ccc;height:150px;overflow-y:auto;border-radius:4px}.item-list li{padding:5px;cursor:pointer;border-radius:3px}.item-list li:hover{background-color:#f0f0f0}.item-list li.selected{background-color:#007bff;color:#fff}.list-box-controls button{margin:5px 0}.reorder-list{padding:5px;margin:0;border:1px solid #ccc;height:200px;overflow-y:auto;border-radius:4px}.reorder-list li{padding:8px;margin:4px 0;background-color:#26415ecc;border:1px solid rgba(229,201,215,.3);border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between}.selection-indicator{color:#007bffcc;font-weight:700;margin-left:8px;transition:all .2s ease}.reorder-list li.selected .selection-indicator{color:#fff;text-shadow:0 0 4px rgba(0,123,255,.8)}.reorder-controls{display:flex;justify-content:center;gap:10px;margin-top:10px}.reorder-controls button{padding:8px 16px;font-size:16px;border:none;border-radius:4px;background-color:#26415ecc;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-width:80px}.reorder-controls button:hover,.reorder-controls button:active{background-color:#007bffcc}.swatch{width:36px;height:36px}.color-swatches{display:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.cat-drag-clone{list-style:none;padding:8px;background-color:#007bffd9;border:2px solid rgba(0,123,255,1);border-radius:4px;color:#fff;box-shadow:0 6px 20px #00000073;transform:scale(1.04);transition:opacity .1s ease;pointer-events:none;display:flex;align-items:center;justify-content:space-between}.reorder-list li.cat-drag-source{opacity:.35;background-color:#26415e66;border-style:dashed}.cat-drag-placeholder{background:transparent;border:2px dashed rgba(0,123,255,.7);border-radius:4px;margin:4px 0;transition:height .1s ease}body.cat-drag-active,body.cat-drag-active *{cursor:grabbing!important}.reorder-list li:not([data-pinned=true]){cursor:grab}.category-card-drag-clone{opacity:.65;box-shadow:0 10px 26px #00000073;transform:scale(1.01);pointer-events:none}.category.category-card-drag-source{opacity:.35}.category-card-drag-placeholder{border:2px dashed rgba(0,123,255,.75);border-radius:10px;margin-bottom:18px}body.category-card-drag-active,body.category-card-drag-active *{cursor:grabbing!important}#suggested-icons{margin-top:.3rem}.suggested-icons-label{display:block;font-size:.65rem;color:#a89ab0;margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.04em}.suggested-icons-list{display:flex;flex-direction:row;align-items:center;gap:.25rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.4rem;scrollbar-width:thin;scrollbar-color:rgba(229,201,215,.5) rgba(11,27,50,.5)}.suggested-icons-list::-webkit-scrollbar{height:6px}.suggested-icons-list::-webkit-scrollbar-thumb{background:#e5c9d780;border-radius:4px}.suggested-icons-list::-webkit-scrollbar-track{background:#0b1b3280;border-radius:4px}.suggested-icon-btn,.suggested-icon-img{flex-shrink:0;scroll-snap-align:start;width:6rem;height:6rem;max-width:6rem;max-height:6rem;object-fit:contain;display:block;border-radius:5px;border:1.5px solid transparent;cursor:pointer;transition:border-color .15s ease;box-sizing:border-box}.suggested-icon-img:hover,.suggested-icon-img:focus-visible{border-color:#e5c9d7;outline:none}.collapsible-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.5rem;background:#0d1e4ccc;border:1px solid rgba(229,201,215,.3);border-radius:5px;margin-bottom:.25rem;transition:background-color .2s ease}.collapsible-header:hover{background:#0d1e4ce6}.collapsible-header h4{margin:0;color:#e5c9d7;font-size:1rem}.toggle-icon{color:#e5c9d7;font-size:1.2rem;transition:transform .2s ease;-webkit-user-select:none;user-select:none}.collapsible-content{margin-top:.25rem;padding:.25rem;background:#26415e80;border:1px solid rgba(229,201,215,.2);border-radius:5px}.destination-tree{border:1px solid rgba(229,201,215,.3);border-radius:5px;background:#0d1e4ccc;max-height:200px;overflow-y:auto;padding:.5rem}.tree-node{display:flex;align-items:center;padding:.25rem;cursor:pointer;border-radius:3px;transition:background-color .2s ease}.tree-node:hover{background:#26415e80}.tree-node.selected{background:#83a6cecc;color:#0b1b32}.tree-node-icon{margin-right:.5rem;font-size:1rem;-webkit-user-select:none;user-select:none}.tree-node-label{flex-grow:1}.tree-children{margin-left:1rem;border-left:1px solid rgba(229,201,215,.2);padding-left:.5rem}.color-picker{display:flex;flex-direction:column;gap:.5rem}.color-picker-container{display:flex;gap:1rem;align-items:flex-start}.color-input{width:60px;height:60px;border:2px solid rgba(229,201,215,.3);border-radius:8px;cursor:pointer;background:none;padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:4px}.color-input::-moz-color-swatch{border:none;border-radius:4px}.color-preview{width:100px;height:40px;border:2px solid rgba(229,201,215,.3);border-radius:8px;margin-top:5px;box-shadow:0 2px 4px #0003}.tags-container{border:1px solid rgba(229,201,215,.3);border-radius:5px;background:#0d1e4ccc;max-height:300px;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.tag-checkbox-item{display:flex;align-items:center;padding:.25rem;cursor:pointer;border-radius:3px;transition:background-color .2s ease}.tag-checkbox-item:hover{background:#26415e80}.tag-checkbox-item.selected{background:#83a6cecc}.tag-checkbox-item input[type=checkbox]{margin-right:.5rem;accent-color:#83A6CE}.tag-checkbox-item.add-new{border-top:1px solid rgba(229,201,215,.2);margin-top:.5rem;padding-top:.5rem;font-weight:700;color:#83a6ce}.tab-button:focus{outline:2px solid #83A6CE;outline-offset:2px}.settings-card input:focus,.settings-card select:focus,.settings-card button:focus{outline:2px solid #83A6CE;outline-offset:2px}.setting-group{margin-bottom:1rem}.setting-divider{border:none;border-top:1px solid rgba(229,201,215,.3);margin:1rem 0}#folder-only-fields{margin-top:-1.4rem}#version-display{position:fixed;bottom:0;right:10px;opacity:.3;font-size:.75rem;color:#666;background-color:#fffc;padding:0;border-radius:4px;z-index:1000;font-family:monospace;-webkit-user-select:none;user-select:none;pointer-events:none;transition:opacity .2s}@media (max-width: 768px) and (orientation: portrait){.back-button img,.read-button img{width:24px;height:24px;object-fit:contain}.read-button.is-gemini-loading:after{width:30px;height:30px}.output-text-wrapper{flex-grow:1}.fab-container{z-index:999}}.tooltip-container{position:relative;display:inline-block;margin-right:.5rem}.tooltip-trigger{background:none;border:1px solid rgba(255,255,255,.3);border-radius:50%;width:1.2rem;height:1.2rem;color:#ffffffb3;font-size:.8rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.tooltip-trigger:hover,.tooltip-trigger:focus{background-color:#ffffff1a;border-color:#ffffff80;color:#ffffffe6;transform:scale(1.1)}.tooltip-trigger:active{transform:scale(.95)}.tooltip-content{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#223a5ff2;color:#fff;padding:.75rem;border-radius:.5rem;font-size:.85rem;line-height:1.4;max-width:250px;width:max-content;box-shadow:0 .25rem .75rem #0000004d;opacity:0;visibility:hidden;transition:all .2s ease;z-index:10000;margin-bottom:.5rem;pointer-events:none;word-wrap:break-word;white-space:normal}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:.5rem solid transparent;border-top-color:#223a5ff2}.tooltip-content.tooltip-top{bottom:100%;top:auto;left:50%;transform:translate(-50%);margin-bottom:.5rem}.tooltip-content.tooltip-top:after{top:100%;bottom:auto;left:50%;transform:translate(-50%);border-top-color:#223a5ff2;border-bottom-color:transparent}.tooltip-content.tooltip-bottom{top:100%;bottom:auto;left:50%;transform:translate(-50%);margin-top:.5rem}.tooltip-content.tooltip-bottom:after{bottom:100%;top:auto;left:50%;transform:translate(-50%);border-bottom-color:#223a5ff2;border-top-color:transparent}.tooltip-content.tooltip-left{left:auto;right:100%;top:50%;bottom:auto;transform:translateY(-50%);margin-right:.5rem}.tooltip-content.tooltip-left:after{left:100%;right:auto;top:50%;transform:translateY(-50%);border-left-color:#223a5ff2;border-right-color:transparent;border-top-color:transparent;border-bottom-color:transparent}.tooltip-content.tooltip-right{right:auto;left:100%;top:50%;bottom:auto;transform:translateY(-50%);margin-left:.5rem}.tooltip-content.tooltip-right:after{right:100%;left:auto;top:50%;transform:translateY(-50%);border-right-color:#223a5ff2;border-left-color:transparent;border-top-color:transparent;border-bottom-color:transparent}.tooltip-container.show-tooltip .tooltip-content{opacity:1;visibility:visible;pointer-events:auto}.tooltip-content strong{color:#aa88d8;font-weight:600}@media (max-width: 768px){.tooltip-content{max-width:200px;font-size:.8rem;padding:.6rem}.tooltip-trigger{width:1.4rem;height:1.4rem;font-size:.9rem}}.collapsible-header .tooltip-container{margin-left:.5rem;margin-right:.5rem}.edit-mode .category-title.hide-text,.edit-mode .carousel-item.hide-text .item-name{display:block}.selectable-image.selected{border:3px solid #83A6CE;box-shadow:0 8px 16px #00000080}.camera-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.camera-modal-content{background:#26415ef2;border-radius:1.5rem;padding:0 1.5rem 1.5rem;max-width:90vw;max-height:90%;width:600px;box-shadow:0 1rem 2rem #00000080;border:1px solid rgba(229,201,215,.2);animation:fadeIn .3s ease-out;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column}.camera-container{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:400px}#camera-feed{width:100%;max-width:500px;border-radius:.5rem;background-color:#000;margin:0 auto}.camera-overlay{position:absolute;pointer-events:none;box-sizing:border-box}.camera-controls{margin-top:1rem}.capture-button{background:linear-gradient(135deg,#23d160,#20c95a);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all .3s ease;font-weight:500}.capture-button:hover{background:linear-gradient(135deg,#20c95a,#1eb852);transform:translateY(-2px);box-shadow:0 .25rem .75rem #23d16066}.progress-page .output-container{background:linear-gradient(145deg,#26415ef2,#0d1e4cf2);border-bottom:1px solid rgba(229,201,215,.2);padding:0 1rem;min-height:56px}.progress-page .output-text-wrapper{flex-direction:row;justify-content:space-between;align-items:center;padding:.6rem 0;width:100%}.progress-page .output-text-wrapper h3{margin:0;font-size:1.15rem;font-weight:700;color:#e5c9d7;letter-spacing:.04em}.progress-content{padding:1rem;max-width:960px;margin:64px auto 2rem;overflow-x:hidden;box-sizing:border-box}.additional-charts{max-width:100%;overflow-x:hidden;box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1.25rem;align-items:stretch}.additional-charts h4{color:#e5c9d7;text-align:center;margin:0 0 .25rem;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;grid-column:1 / -1}.timeframe-controls{display:flex;justify-content:center;align-items:flex-end;gap:1.5rem;padding:1rem 1.5rem;background:linear-gradient(145deg,#26415eb3,#0d1e4cb3);border:1px solid rgba(229,201,215,.2);border-radius:14px;flex-wrap:wrap;grid-column:1 / -1;margin-bottom:0}.control-group{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.control-group label{color:#e5c9d7;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.85}.control-group select,.control-group input{padding:.45rem .75rem;border:1px solid rgba(229,201,215,.3);border-radius:8px;background:#0d1e4ccc;color:#e5c9d7;font-size:.9rem;min-width:130px}.control-group select:focus-visible,.control-group input:focus-visible{outline:none;border-color:#83a6ce;box-shadow:0 0 0 2px #83a6ce33}.generate-report-btn{background:linear-gradient(135deg,#83a6cee6,#648cb4e6);border:none;color:#0b1b32;padding:.48rem 1.25rem;border-radius:8px;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:.03em;margin-top:1.15rem;white-space:nowrap}.generate-report-btn:hover{background:linear-gradient(135deg,#83a6ce,#6b8fb0);transform:translateY(-2px);box-shadow:0 4px 14px #83a6ce59}.chart-container{background:linear-gradient(to right,#26415ed9,#162850d9);border:1px solid rgba(229,201,215,.15);padding:1.25rem;border-radius:16px;box-shadow:0 4px 18px #00000061;overflow:hidden;position:relative;max-width:100%;box-sizing:border-box}.chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#e5c9d747,#83a6ce1f);border-radius:16px 16px 0 0}.chart-container h5{margin:0 0 .875rem;font-size:.8rem;font-weight:700;color:#e5c9d7;text-transform:uppercase;letter-spacing:.08em;opacity:.9}.additional-charts .chart-container{margin-bottom:0}.additional-charts .chart-container canvas{max-width:100%;display:block}.chart-container--pie canvas{max-height:260px;margin:0 auto}.data-table{width:100%;border-collapse:collapse;background:transparent;border-radius:8px;overflow:hidden}.data-table th,.data-table td{padding:.6rem .875rem;text-align:left;border-bottom:1px solid rgba(229,201,215,.12);color:#e5c9d7;font-size:.88rem}.data-table th{background:#0d1e4c8c;font-weight:700;color:#e5c9d7;border-bottom:1px solid rgba(229,201,215,.25);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;opacity:.85}.data-table tr:last-child td{border-bottom:none}.spoken-text-cell{word-break:break-word;white-space:normal;min-width:0}.data-table tr:hover:not(:last-child){background:#e5c9d70d}.data-table .total-row{background:#e5c9d714!important;border-top:1px solid rgba(229,201,215,.25)}.data-table .total-row td{font-weight:700;color:#e5c9d7}.speech-score-summary{display:flex;align-items:baseline;gap:.6rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(229,201,215,.2)}.speech-score-summary .score-value{font-size:2.5rem;font-weight:700;color:#e5c9d7;line-height:1}.speech-score-summary .score-label{font-size:.8rem;color:#e5c9d7;opacity:.7;text-transform:uppercase;letter-spacing:.06em}@media (max-width: 768px){.progress-content{margin-top:60px;padding:.75rem}.additional-charts{grid-template-columns:1fr;gap:1rem}.timeframe-controls{flex-direction:column;gap:.75rem;align-items:stretch;padding:.875rem 1rem}.control-group{align-items:stretch}.control-group select,.control-group input{width:100%;min-width:unset}.generate-report-btn{width:100%;margin-top:0;padding:.6rem;text-align:center}.chart-container{padding:1rem;border-radius:12px}.additional-charts .chart-container canvas{max-width:100%;height:auto;display:block;margin:0 auto;max-height:280px}.data-table{font-size:.85rem}.data-table th,.data-table td{padding:.45rem .65rem}.speech-score-summary .score-value{font-size:2rem}}@media (max-width: 480px){.additional-charts{gap:.875rem}.chart-container{padding:.875rem;border-radius:10px}.additional-charts .chart-container canvas{max-height:220px}.data-table{font-size:.8rem}.data-table th,.data-table td{padding:.4rem .5rem}}@media (min-width: 769px){.additional-charts{align-items:stretch;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem}.chart-container{padding:1rem 1.1rem .9rem}.additional-charts .chart-container canvas{max-height:220px}.chart-container--pie canvas{max-height:200px}}.carousel-item.dragging{opacity:.5;transform:rotate(5deg);z-index:1000;box-shadow:0 8px 25px #0000004d}.drag-placeholder{background:#ffffff1a;border:2px dashed rgba(255,255,255,.3);border-radius:15px;margin:0 5px;flex:0 0 auto;visibility:visible!important}body.drag-active{touch-action:none;overscroll-behavior:none}body.drag-active #categories-container{overflow-x:hidden!important;overflow-y:auto;touch-action:pan-y;overscroll-behavior-y:contain}body.drag-active .carousel-item:not(.dragging):hover{transform:translateY(-2px)}.learning-wrap{max-width:1080px}.learning-grid .chart-container{box-shadow:none;background:linear-gradient(to right,#223a56e0,#1c304ee0)}.learning-grid{grid-template-columns:minmax(0,1fr)}.learn-section{grid-column:1 / -1}.learn-section-title{margin:0;color:#000!important;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.learn-section-subtitle{margin:0;color:#e5c9d7c7;font-size:.95rem;line-height:1.6}.print-phrases-btn,.learn-fab,.phrase-group-duplicate-btn,.learn-fab-sm,.ie-add-folder-btn{border:1px solid rgba(131,166,206,.35);background:linear-gradient(135deg,#83a6ced1,#7696c0cc);color:#0b1b32;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:transform .2s ease,border-color .2s ease;box-shadow:none}.print-phrases-btn:hover,.learn-fab:hover,.phrase-group-duplicate-btn:hover,.learn-fab-sm:hover,.ie-add-folder-btn:hover{transform:translateY(-2px);border-color:#e5c9d761}.print-phrases-btn:focus-visible,.learn-fab:focus-visible,.phrase-group-duplicate-btn:focus-visible,.learn-fab-sm:focus-visible,.phrase-slot-remove-btn:focus-visible,.phrase-slot-insert-btn:focus-visible,.ie-add-folder-btn:focus-visible,.ie-tree-node:focus-visible{outline:none;box-shadow:0 0 0 2px #83a6ce47,0 0 0 4px #e5c9d729}.print-phrases-btn{min-height:44px;padding:.7rem 1.1rem;border-radius:10px;font-size:.86rem}.learn-fab{min-height:44px;padding:.7rem 1rem;border-radius:10px;font-size:.86rem;min-width:130px}.learn-section{display:flex;flex-direction:column;gap:1rem}.learn-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.learn-section-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-top:.05rem;border:1px solid rgba(229,201,215,.22);border-radius:8px;background:#26415e8c;color:#e5c9d7cc;cursor:pointer;transition:background .2s ease,border-color .2s ease}.learn-section-toggle:hover{background:#26415ed9;border-color:#e5c9d761;color:#e5c9d7}.learn-section-chevron{font-size:.65rem;line-height:1;display:block;transition:transform .25s ease}.learn-section-toggle[aria-expanded=false] .learn-section-chevron{transform:rotate(-90deg)}.phrase-groups-container{display:flex;flex-direction:column;gap:1rem;overflow:hidden;transition:opacity .25s ease}.phrase-groups-collapsed{display:none}.learn-section-intro{display:flex;flex-direction:column;gap:.5rem;max-width:48rem}.learn-section-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.phrase-group-box{background:linear-gradient(to bottom,#0e2452db,#0e2452c2);border:1px solid rgba(229,201,215,.16);border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.9rem;position:relative}.phrase-group-box:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:16px 16px 0 0;background:linear-gradient(90deg,#e5c9d747,#83a6ce1f)}.phrase-group-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.phrase-group-delete-btn{min-height:36px;padding:.55rem .9rem;border-radius:999px;font-size:.76rem;text-transform:uppercase;font-weight:700;letter-spacing:.03em;cursor:pointer;border:1px solid rgba(186,84,84,.45);background:linear-gradient(135deg,#ba5454b8,#b24c4cb8);color:#fff;transition:transform .2s ease}.phrase-group-delete-btn:hover{transform:translateY(-1px);background:linear-gradient(135deg,#ba5454e0,#b24c4ce0)}.phrase-group-duplicate-btn{min-height:36px;padding:.55rem .9rem;border-radius:999px;font-size:.76rem;text-transform:uppercase}.phrase-group-icons-row{display:flex;flex-wrap:wrap;gap:.65rem;min-height:84px;align-items:center;padding:.9rem;background:#07132b42;border:1px dashed rgba(229,201,215,.22);border-radius:14px}.phrase-group-add-area{display:flex;align-items:center;gap:.75rem;width:100%;min-height:64px;padding:.3rem 0}.learn-fab-sm{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;font-size:1rem;flex-shrink:0}.add-icon-label{color:#e5c9d7cc;font-size:.92rem;font-weight:600;letter-spacing:.01em}.phrase-icon-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.4rem;background:linear-gradient(to bottom,#1e3454e0,#162c4cd1);border:1px solid rgba(229,201,215,.16);border-radius:14px;padding:.7rem .55rem .6rem;min-width:88px;max-width:104px;min-height:116px}.phrase-slot-remove-btn{position:absolute;top:.35rem;right:.35rem;width:22px;height:22px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:#ba5454e0;color:#fff;font-size:.82rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,background .15s ease}.phrase-slot-remove-btn:hover{transform:scale(1.05);background:#ba5454}.phrase-slot-insert-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px dashed rgba(229,201,215,.42);font-size:.95rem;background:#83a6ce24;color:#e5c9d7b8;cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease,transform .15s ease,border-color .15s ease}.phrase-slot-insert-btn:hover{background:#83a6ce4d;color:#fff;transform:scale(1.08);border-color:#e5c9d79e}.phrase-slot-icon{font-size:2.15rem;line-height:1;display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-top:.15rem}.phrase-slot-img{width:56px;height:56px;object-fit:contain;border-radius:10px;background:#ffffff0f}.phrase-slot-name{color:#e5c9d7;font-size:.74rem;line-height:1.35;font-weight:600;text-align:center;word-break:break-word;max-width:90px}.course-questions-row{flex-direction:column;align-items:stretch;min-height:64px}.course-question-number{flex-shrink:0;min-width:2rem;text-align:right;font-size:.8rem;font-weight:700;color:#e5c9d78c;-webkit-user-select:none;user-select:none}.course-question-remove-btn{flex-shrink:0;width:24px;height:24px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:#ba5454e0;color:#fff;font-size:.82rem;line-height:1;cursor:pointer;transition:background .15s ease,transform .15s ease}.course-question-remove-btn:hover{background:#ba5454;transform:scale(1.1)}.course-question-input{width:100%;box-sizing:border-box;padding:.55rem .8rem;border-radius:8px;border:1px solid rgba(229,201,215,.22);background:#07132b80;color:#e5c9d7;font-size:.92rem;font-family:inherit}.course-question-input::placeholder{color:#e5c9d773}.course-question-input:focus-visible{outline:none}.course-question-wrapper{display:flex;flex-direction:row;align-items:flex-start;gap:.5rem;width:100%}.course-question-controls{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex-shrink:0;padding-top:.3rem}.course-question-slot{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:0}.course-sentence-check-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.course-sentence-check-arrow{font-size:.72rem;color:#83a6ce73;line-height:1;margin-right:-.25rem;-webkit-user-select:none;user-select:none}.course-sentence-check-label{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:#e5c9d78c;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.course-sentence-check-label:hover{color:#e5c9d7d9}.course-sentence-checkbox{accent-color:#83A6CE;width:13px;height:13px;cursor:pointer}.course-answer-slot{display:flex;align-items:center;gap:.5rem;padding-left:2.5rem;box-sizing:border-box;width:100%;min-width:0}.course-answer-input{font-size:.84rem!important;padding:.4rem .7rem!important;opacity:.85;min-width:0;width:0;flex:1}.course-answer-btn{flex-shrink:0;background:none;border:none;font-size:1.1rem;cursor:pointer;padding:0 .2rem;line-height:1;transition:transform .15s ease}.course-answer-btn:hover{transform:scale(1.2)}.course-sentence-item-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.18rem .3rem .18rem .6rem;border-radius:999px;background:#83a6ce2e;border:1px solid rgba(131,166,206,.35);max-width:11rem;align-self:flex-start}.course-sentence-item-name{font-size:.8rem;color:#83a6ce;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:9rem}.course-sentence-repick-btn{flex-shrink:0;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:#e5c9d71f;color:#e5c9d799;font-size:.75rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.course-sentence-repick-btn:hover{background:#ba5454bf;color:#fff}.course-group-title-input{flex:1;padding:.45rem .75rem;border-radius:8px;border:1px solid rgba(229,201,215,.22);background:#07132b80;color:#e5c9d7;font-size:.92rem;font-weight:600;font-family:inherit;text-align:center;min-width:0}.course-group-title-input::placeholder{color:#e5c9d766;font-weight:400}.course-group-footer{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap}.course-group-footer-right{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.course-configure-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;cursor:pointer;border:1px solid rgba(131,166,206,.35);background:#83a6ce1a;color:#e5c9d7cc;transition:background .2s ease,transform .2s ease;flex-shrink:0;font-family:inherit}.course-configure-btn:hover{background:#83a6ce38;transform:translateY(-1px)}.course-configure-icon{width:16px;height:16px;flex-shrink:0}.course-generate-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:36px;padding:.55rem 1.1rem;border-radius:999px;font-size:.76rem;text-transform:uppercase;font-weight:700;letter-spacing:.03em;cursor:pointer;border:1px solid rgba(131,166,206,.45);background:linear-gradient(135deg,#83a6ceb8,#7698c0b8);color:#fff;transition:transform .2s ease;font-family:inherit}.course-generate-btn:hover{transform:translateY(-1px);background:linear-gradient(135deg,#83a6cee0,#7698c0e0)}.course-generate-icon{width:15px;height:15px;flex-shrink:0}.course-group-body{display:flex;flex-direction:column;gap:.75rem;overflow:hidden;transition:opacity .25s ease}.course-group-body--collapsed{display:none}.course-collapse-btn{flex-shrink:0}.course-start-btn{min-height:36px;padding:.55rem 1.2rem;border-radius:999px;font-size:.76rem;text-transform:uppercase;font-weight:700;letter-spacing:.03em;cursor:pointer;border:1px solid rgba(62,172,64,.45);background:linear-gradient(135deg,#3eac40b8,#349e38b8);color:#fff;transition:transform .2s ease}.course-start-btn:hover{transform:translateY(-1px);background:linear-gradient(135deg,#3eac40e0,#349e38e0)}.course-type-badge{flex-shrink:0;width:5.75rem;padding:.18rem .55rem;border-radius:999px;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;-webkit-user-select:none;user-select:none;pointer-events:none;line-height:1.4;text-align:center}.course-type-badge--story{background:#7b6da547;border:1px solid rgba(123,109,165,.52);color:#c5b8e8}.course-type-badge--sentence{background:#4892bd3d;border:1px solid rgba(72,146,189,.52);color:#9fd6f0}.story-course-toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.story-images-row{display:flex;flex-direction:row;align-items:flex-start;gap:.5rem;flex-wrap:nowrap;overflow-x:auto;padding:.4rem .2rem .25rem;scrollbar-width:thin;scrollbar-color:rgba(229,201,215,.25) transparent}.story-images-row::-webkit-scrollbar{height:4px}.story-images-row::-webkit-scrollbar-thumb{background:#e5c9d740;border-radius:2px}.story-image-thumb-wrap{flex-shrink:0;border-radius:8px;overflow:hidden;border:1px solid rgba(229,201,215,.18);background:#07132b99}.story-image-thumb{display:block;width:96px;height:96px;object-fit:cover}.story-add-item-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:34px;padding:.45rem 1rem;border-radius:999px;font-size:.76rem;text-transform:uppercase;font-weight:700;letter-spacing:.03em;cursor:pointer;border:1px solid rgba(123,109,165,.5);background:linear-gradient(135deg,#7b6da5a6,#64588ca6);color:#fff;font-family:inherit;transition:transform .2s ease,background .2s ease}.story-add-item-btn:hover{transform:translateY(-1px);background:linear-gradient(135deg,#7b6da5d9,#64588cd9)}.story-add-item-icon{width:14px;height:14px;flex-shrink:0}.story-editor{min-height:180px;padding:.85rem 1rem;border-radius:10px;border:1px solid rgba(229,201,215,.22);background:#07132b6b;color:#e5c9d7;font-size:.95rem;font-family:inherit;line-height:1.65;word-break:break-word;white-space:pre-wrap;cursor:text;outline:none;transition:border-color .2s ease,background .2s ease}.story-editor:focus-visible{outline:none}.story-editor:empty:before{content:attr(data-placeholder);color:#e5c9d761;pointer-events:none;font-weight:400;font-style:italic}.story-item-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.12rem .45rem .12rem .3rem;margin:0 .1rem;border-radius:999px;background:#7b6da547;border:1px solid rgba(123,109,165,.52);font-size:.84em;font-weight:700;color:#533d8e;cursor:default;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;line-height:1.4}.story-item-chip__remove{flex-shrink:0;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#e5c9d71f;color:#533d8e;font-size:.72rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease;font-family:inherit}.story-item-chip__remove:hover{background:#ba5454bf;color:#fff}.icon-explorer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060d1dc2;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;box-sizing:border-box}.icon-explorer-panel{background:linear-gradient(145deg,#26415ef7,#0d1e4cf7);border:1px solid rgba(229,201,215,.18);border-radius:18px;width:clamp(300px,90vw,520px);max-height:min(76vh,720px);display:flex;flex-direction:column;box-shadow:0 22px 48px #00000070;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.icon-explorer-header{display:flex;align-items:center;justify-content:space-between;padding:.95rem 1.1rem;border-bottom:1px solid rgba(229,201,215,.14);flex-shrink:0}.icon-explorer-header h4{margin:0;color:#e5c9d7;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.icon-explorer-tree{flex:1;overflow-y:auto;padding:.7rem;background:#0d1e4cb8}.ie-category-wrapper{margin-bottom:.3rem}.ie-tree-node{display:flex;align-items:center;gap:.55rem;padding:.5rem .65rem;border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease;border:1px solid transparent}.ie-tree-node:hover{background:#26415eb8;border-color:#e5c9d71f}.ie-item-node:hover{background:#83a6ce29}.ie-toggle{font-size:.6rem;color:#e5c9d78c;width:12px;flex-shrink:0;-webkit-user-select:none;user-select:none}.ie-icon{font-size:1rem;-webkit-user-select:none;user-select:none}.ie-item-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;font-size:1.05rem}.ie-item-icon-img{width:28px;height:28px;object-fit:contain;border-radius:6px}.ie-label{color:#e5c9d7;font-size:.88rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ie-category-node .ie-label{font-weight:600;color:#83a6ce}.ie-add-folder-btn{flex-shrink:0;margin-left:.4rem;font-size:.72rem;line-height:1;padding:.45rem .62rem;border-radius:999px}.ie-children{margin-left:1.25rem;border-left:1px solid rgba(229,201,215,.14);padding-left:.55rem}.ie-children.collapsed{display:none}.ie-empty,.ie-loading{color:#e5c9d773;font-size:.8rem;padding:.5rem .65rem;font-style:italic}.ie-loading{text-align:center;padding:1rem}@media (max-width: 768px){.learn-section{padding:1rem}.learn-section-header{flex-direction:column;align-items:stretch}.learn-section-actions{justify-content:stretch}.print-phrases-btn,.learn-fab{width:100%;justify-content:center}.phrase-group-box{padding:.9rem}.phrase-group-icons-row{padding:.75rem;gap:.55rem}.phrase-group-add-area{flex-direction:column;align-items:flex-start}.phrase-icon-slot{min-width:82px;max-width:96px}.icon-explorer-panel{width:min(100%,520px);max-height:78vh}.ie-tree-node{padding:.55rem .6rem}}@media (max-width: 480px){.learning-wrap{padding-left:.75rem;padding-right:.75rem}.learn-section-subtitle{font-size:.9rem}.phrase-group-header{justify-content:stretch}.phrase-group-header.course-group-header{flex-wrap:wrap}.course-group-title-input{width:100%;flex-basis:100%;order:-1}.phrase-group-duplicate-btn{width:100%;justify-content:center}.phrase-group-icons-row{min-height:72px}.phrase-icon-slot{min-width:78px;min-height:110px}.phrase-slot-icon,.phrase-slot-img{width:52px;height:52px}}.gen-wizard-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;box-sizing:border-box}.gen-wizard-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(300px,40vw,500px);background:#26415ef2;border-radius:1.5rem;box-shadow:0 1rem 2rem #00000080;z-index:2000;max-height:85vh;box-sizing:border-box;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(229,201,215,.2);animation:fadeIn .3s ease-out;display:flex;flex-direction:column;overflow:hidden}.gen-wizard-body{flex:1;overflow-y:auto;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.9rem}.gen-wizard-footer{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;padding:.85rem 1.1rem;border-top:1px solid rgba(229,201,215,.14);flex-shrink:0;flex-wrap:wrap}.gen-wizard-section{display:flex;flex-direction:column;gap:.5rem}.gen-wizard-label{margin:0;color:#e5c9d7cc;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.gen-wizard-stepper{width:36px;height:36px;border-radius:50%;border:1px solid rgba(229,201,215,.28);background:#26415eb3;color:#e5c9d7;font-size:1.15rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0;flex-shrink:0;font-family:inherit;transition:background .15s ease}.gen-wizard-stepper:hover:not(:disabled){background:#26415e}.gen-wizard-stepper:disabled{opacity:.35;cursor:not-allowed}.gen-wizard-count-input{width:64px;text-align:center;font-size:1.1rem;font-weight:700;color:#e5c9d7;background:#07132b99;border:1px solid rgba(229,201,215,.28);border-radius:8px;padding:.35rem .5rem;flex-shrink:0}.gen-wizard-count-input::-webkit-inner-spin-button,.gen-wizard-count-input::-webkit-outer-spin-button{-webkit-appearance:none}.gen-wizard-count-input[type=number]{-moz-appearance:textfield}.gen-wizard-limit-note{color:#e5c9d773;font-size:.78rem;font-style:italic}.gen-wizard-divider{border:none;border-top:1px solid rgba(229,201,215,.12);margin:.1rem 0}.gen-wizard-tabs{display:flex;gap:.4rem}.gen-wizard-tab{flex:1;padding:.5rem .75rem;border-radius:8px;border:1px solid rgba(229,201,215,.18);background:#07132b80;color:#e5c9d78c;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;text-align:center;font-family:inherit}.gen-wizard-tab.active{background:#26415ee6;color:#e5c9d7;border-color:#83a6ce73}.gen-wizard-tab:not(.active):hover{background:#0e1c3cb3;color:#e5c9d7cc}.gen-wizard-tab-content{margin-top:.25rem}.gen-wizard-library-panel{display:flex;flex-direction:row;gap:.75rem;align-items:flex-start}.gen-wizard-tree-col{flex:1 1 0;min-width:0}.gen-wizard-tree{max-height:220px;border-radius:10px;border:1px solid rgba(229,201,215,.1)}.gen-wizard-selected-col{flex:0 0 175px;display:flex;flex-direction:column;gap:.35rem;min-width:0}.gen-wizard-selected-list{overflow-y:auto;max-height:220px;border-radius:10px;border:1px solid rgba(229,201,215,.1);background:#07132b59;padding:.4rem;display:flex;flex-direction:column;gap:.3rem}.gen-wizard-empty-selection{color:#e5c9d759;font-size:.8rem;font-style:italic;padding:.5rem .25rem;text-align:center}.gen-wizard-chip{display:flex;align-items:center;gap:.3rem;background:#26415e99;border:1px solid rgba(131,166,206,.25);border-radius:6px;padding:.3rem .35rem .3rem .5rem;min-width:0}.gen-wizard-chip-name{flex:1;font-size:.79rem;color:#e5c9d7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-wizard-chip-remove{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:none;background:transparent;color:#e5c9d78c;font-size:.95rem;cursor:pointer;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;transition:color .15s ease,background .15s ease}.gen-wizard-chip-remove:hover{color:#e5c9d7;background:#c8505059}.gen-wizard-node--selected{background:#83a6ce2e!important;border-color:#83a6ce66!important}.gen-wizard-topic-panel{padding:.25rem 0}.gen-wizard-topic-input{width:100%;padding:.6rem .85rem;border-radius:10px;border:1px solid rgba(229,201,215,.25);background:#07132b99;color:#e5c9d7;font-size:.9rem;font-family:inherit;box-sizing:border-box}.gen-wizard-topic-input::placeholder{color:#e5c9d759}.gen-wizard-topic-input:focus-visible{outline:none}.gen-wizard-notes-input{width:100%;padding:.6rem .85rem;border-radius:10px;border:1px solid rgba(229,201,215,.25);background:#07132b99;color:#e5c9d7;font-size:.9rem;font-family:inherit;box-sizing:border-box;resize:vertical;min-height:70px}.gen-wizard-notes-input::placeholder{color:#e5c9d759}.gen-wizard-notes-input:focus-visible{outline:none}.gen-wizard-opts-row{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem;margin-top:.4rem}.gen-wizard-opts-label{display:flex;align-items:center;gap:.35rem;font-size:.87rem;color:#e5c9d7b3;cursor:pointer;-webkit-user-select:none;user-select:none}.gen-wizard-opts-label:hover{color:#e5c9d7f2}.gen-wizard-opts-checkbox{accent-color:#83A6CE;width:14px;height:14px;cursor:pointer}.gen-wizard-selectable{cursor:pointer}@media (max-width: 560px){.gen-wizard-panel{max-height:92vh}.gen-wizard-library-panel{flex-direction:column}.gen-wizard-selected-col{flex:none}.gen-wizard-selected-list{max-height:120px}.gen-wizard-footer{flex-direction:column-reverse;align-items:stretch}.gen-wizard-footer .phrase-group-delete-btn,.gen-wizard-footer .course-generate-btn{width:100%;justify-content:center;text-align:center}}.course-config-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060d1db8;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;box-sizing:border-box}.course-config-panel{width:clamp(280px,36vw,420px);background:#26415ef2;border-radius:1.5rem;box-shadow:0 1rem 2rem #00000080;border:1px solid rgba(229,201,215,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fadeIn .25s ease-out;display:flex;flex-direction:column;overflow:hidden}.course-config-body{padding:1rem 1.1rem .5rem;display:flex;flex-direction:column;gap:.9rem}.course-config-hint{margin:0;font-size:.78rem;color:#e5c9d773;font-style:italic}.course-config-voice-select{width:100%;margin-top:.5rem;padding:.45rem .65rem;background:#83a6ce12;border:1px solid rgba(131,166,206,.28);border-radius:.6rem;color:#e5c9d7e6;font-size:.84rem}.course-config-voice-select:focus{outline:2px solid #83A6CE;outline-offset:2px}.course-config-voice-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.course-config-voice-row .course-config-voice-select{margin-top:0;flex:1;min-width:0}.voice-preview-btn{flex-shrink:0;width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center;padding:0;background:#83a6ce12;border:1px solid rgba(131,166,206,.28);border-radius:.6rem;color:#e5c9d7e6;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.voice-preview-btn:hover{background:#83a6ce2e;border-color:#83a6ce80}.voice-preview-btn.playing{color:#83a6ce;border-color:#83a6ce80;background:#83a6ce26}.voice-preview-icon{width:.85rem;height:.85rem}.voice-preview-stop,.voice-preview-btn.playing .voice-preview-play{display:none}.voice-preview-btn.playing .voice-preview-stop{display:block}.course-config-check-label{display:flex;align-items:center;gap:.55rem;font-size:.84rem;color:#e5c9d7cc;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.55rem .7rem;border-radius:.6rem;border:1px solid rgba(131,166,206,.18);background:#83a6ce12;transition:background .15s ease,border-color .15s ease}.course-config-check-label:hover{background:#83a6ce26;border-color:#83a6ce59}.course-config-check-label input[type=checkbox]{accent-color:#83A6CE;width:15px;height:15px;cursor:pointer;flex-shrink:0}:root{--color-bg-page: #0b1b32;--color-bg-card: rgba(13, 30, 76, .8);--color-bg-input: rgba(38, 65, 94, .8);--color-text-primary: #E5C9D7;--color-text-muted: rgba(229, 201, 215, .6);--color-focus: #8ec5ff;--color-bg-auth: #f0f4f5;--color-bg-auth-dark: #0e1a1b;--color-text-auth: #1a2829;--color-text-auth-dark: #e8f4f5;--teal-50: #e8f4f5;--teal-100: #c2dfe2;--teal-300: #7FAFB3;--teal-600: #2F5D62;--teal-800: #1a3d42;--orange-300: #f7c490;--orange-500: #F4A259;--orange-700: #d4773a;--yellow-200: #FBEBC1;--yellow-400: #F6D98A;--neutral-50: #f8fafb;--neutral-100: #f0f4f5;--neutral-200: #dde5e7;--neutral-400: #9ab0b3;--neutral-600: #5a7275;--neutral-900: #1a2829;--color-bg: var(--neutral-100);--color-surface: #ffffff;--color-border: var(--neutral-200);--color-text: var(--neutral-900);--color-text-sub: var(--neutral-600);--color-primary: var(--teal-600);--color-primary-lt: var(--teal-50);--color-accent: var(--orange-500);--color-accent-lt: #fff4ea;--color-focus-ring: var(--teal-300);--color-danger: #c0392b;--color-danger-lt: #fff0f0;--color-success: #1e8a4a;--color-success-lt: #e8f8f0;--color-warning: var(--orange-500);--color-warning-lt: var(--yellow-200);--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 26px;--r-pill: 999px;--sh-sm: 0 1px 4px rgba(26,56,60,.08);--sh-md: 0 3px 12px rgba(26,56,60,.11);--sh-lg: 0 8px 28px rgba(26,56,60,.14);--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 26px;--font: "Nunito", Arial, sans-serif}body{font-family:Nunito,Arial,sans-serif;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--color-bg-auth);color:var(--color-text-auth);color-scheme:light dark}@media (prefers-color-scheme: dark){body{background-color:var(--color-bg-auth-dark);color:var(--color-text-auth-dark)}#status{background-color:#1c2b2c;color:var(--color-text-auth-dark)}}.container{text-align:center}h1{color:inherit}#status{font-size:1.2em;margin-top:20px;padding:10px 20px;border-radius:8px}.online{color:#2ecc71!important}.offline{color:#e74c3c!important}.bottom{width:100%;background-color:#8a8a8a;font-size:1.2em;margin-top:20px;padding:10px 20px;border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-items:center}.explanation{width:80%}.highlight{color:#7a0478}#version-display{position:fixed;bottom:10px;right:10px;font-size:.75rem;color:#666;background-color:#fffc;padding:2px 6px;border-radius:4px;z-index:1000;font-family:monospace;-webkit-user-select:none;user-select:none;pointer-events:none}@media (prefers-color-scheme: dark){#version-display{background-color:#0009;color:#ccc}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.settings-card,.main-form-container,.category-edit-form,.training-course-card,.icon-library-card,.restaurant-card,.camera-modal-content,.progress-page .progress-content,.learning-page .progress-content,.gen-wizard-panel,.course-config-panel,.icon-explorer-panel{font-family:var(--font)}.main-form-container,.category-edit-form,.settings-card,.training-course-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--r-xl);box-shadow:var(--sh-lg);color:var(--color-text);backdrop-filter:none;-webkit-backdrop-filter:none}.form-header{background:var(--color-surface);border-bottom:1.5px solid var(--color-border);backdrop-filter:none;-webkit-backdrop-filter:none;padding:.75rem 1rem}.form-header h3{color:var(--color-text);font-size:var(--text-xl);font-weight:800;margin:0}.close-form{background:#ba5454cc;border:none;color:#fff;border-radius:50%;width:2rem;height:2rem;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .15s}.close-form:hover{background:#b85454;transform:scale(1.1)}#submit-button{background:var(--color-primary);color:#fff;border:2px solid var(--color-primary);border-radius:var(--r-pill);font-family:var(--font);font-weight:800;font-size:var(--text-sm);padding:10px 20px;height:auto;cursor:pointer;transition:all .16s cubic-bezier(.34,1.56,.64,1);box-shadow:0 3px 10px #2f5d6247}#submit-button:hover{background:var(--teal-800);border-color:var(--teal-800);box-shadow:0 5px 18px #2f5d6261;transform:translateY(-1px);opacity:1}#delete-button,#remove-icon{background:var(--color-danger-lt);color:var(--color-danger);border:1.5px solid #f5c6c6;border-radius:var(--r-pill);font-family:var(--font);font-weight:800;font-size:var(--text-sm);cursor:pointer;transition:background .15s}#delete-button{padding:10px 20px;width:100%;height:auto}#remove-icon{padding:8px 14px}#delete-button:hover,#remove-icon:hover{background:#fde0e0}#cancel-crop{background:var(--color-danger-lt);color:var(--color-danger);border:1.5px solid #f5c6c6;border-radius:var(--r-pill);font-family:var(--font);font-weight:800;font-size:var(--text-sm);padding:8px 14px;cursor:pointer;transition:background .15s}#cancel-crop:hover{background:#fde0e0}#adjust-crop,#download-icon{background:var(--color-primary-lt);color:var(--color-primary);border:1.5px solid var(--teal-100);border-radius:var(--r-pill);font-family:var(--font);font-weight:800;font-size:var(--text-sm);padding:8px 14px;cursor:pointer;transition:background .15s}#adjust-crop:hover,#download-icon:hover{background:var(--teal-100)}button svg,.settings-icon svg,.import-btn svg,.sync-button svg,.reorder-controls button svg,.icon-library-actions button svg{vertical-align:middle}.form-content{color:var(--color-text);display:flex;flex-direction:column;gap:.75rem}.main-form-container #add-type-section,.main-form-container #name-field-section,.main-form-container #category-only-fields,.main-form-container #item-folder-fields,.main-form-container #folder-only-fields,.main-form-container #restaurant-only-fields,.main-form-container #menu-item-type-section,.main-form-container #menu-item-restaurants-section,.main-form-container #import-icon-section{background:var(--neutral-50);border:1.5px solid var(--color-border);border-radius:var(--r-lg);padding:1rem 1rem .75rem}.main-form-container #name-field-section label{display:block;margin-bottom:.35rem}.required-asterisk{color:#c0392b;margin-left:.1em}.main-form-container #category-only-fields .collapsible-header,.main-form-container #item-folder-fields .collapsible-header,.main-form-container #folder-only-fields .collapsible-header,.main-form-container #restaurant-only-fields .collapsible-header,.main-form-container #menu-item-restaurants-section .collapsible-header{background:var(--neutral-100);border-radius:var(--r-md);margin:.5rem -.25rem 0;padding-left:.75rem;padding-right:.75rem}.main-form-container #category-only-fields .collapsible-content,.main-form-container #item-folder-fields .collapsible-content,.main-form-container #folder-only-fields .collapsible-content,.main-form-container #restaurant-only-fields .collapsible-content,.main-form-container #menu-item-restaurants-section .collapsible-content{background:var(--neutral-100);border-radius:0 0 var(--r-md) var(--r-md);padding:.75rem;margin:0 -.25rem}.settings-card h3{color:var(--color-text);margin:0 0 .75rem;font-size:var(--text-xl);font-weight:800}.main-form-container input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.main-form-container textarea,.main-form-container select,.settings-card input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.settings-card textarea,.settings-card select,.category-edit-form input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.category-edit-form select,.gen-wizard-panel input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.gen-wizard-panel select,.course-config-panel input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.course-config-panel select{font-family:var(--font);font-size:var(--text-sm);font-weight:600;color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--r-md);padding:11px 14px;outline:none;width:100%;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.main-form-container input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file])::placeholder,.main-form-container textarea::placeholder,.settings-card input::placeholder,.settings-card textarea::placeholder,.category-edit-form input::placeholder,.gen-wizard-panel input::placeholder,.course-config-panel input::placeholder{color:var(--color-text-sub);font-weight:500}.main-form-container input:focus:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.main-form-container textarea:focus,.settings-card input:focus:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.settings-card select:focus,.settings-card textarea:focus,.category-edit-form input:focus:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.category-edit-form select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--teal-50)}.main-form-container select,.settings-card select,.category-edit-form select,.gen-wizard-panel select,.course-config-panel select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237fa8ac' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;cursor:pointer}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 0;border-bottom:1px solid var(--color-border)}.setting-row:last-child{border-bottom:none}.setting-row-label,.setting-row>label:first-child{color:var(--color-text);font-family:var(--font);font-size:var(--text-sm);font-weight:700;flex:1;min-width:0}label.toggle{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0;margin-bottom:0!important;font-size:unset!important;font-weight:unset!important;color:unset!important;cursor:pointer}label.toggle input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}label.toggle .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--neutral-400);border-radius:var(--r-pill);transition:background .25s ease;cursor:pointer}label.toggle .slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000040;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}label.toggle input[type=checkbox]:checked+.slider{background:var(--color-primary)}label.toggle input[type=checkbox]:checked+.slider:before{transform:translate(20px)}label.toggle input[type=checkbox]:focus-visible+.slider{outline:3px solid var(--color-focus-ring);outline-offset:2px}label.toggle.accent input[type=checkbox]:checked+.slider{background:var(--color-accent)}label.toggle.accent input[type=checkbox]:focus-visible+.slider{outline-color:var(--color-accent)}.settings-card input[type=range],.main-form-container input[type=range],.gen-wizard-panel input[type=range],.course-config-panel input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--r-pill);background:var(--color-border);outline:none;cursor:pointer;border:none;padding:0;box-shadow:none;margin-bottom:0;accent-color:var(--color-primary)}.settings-card input[type=range]::-webkit-slider-thumb,.main-form-container input[type=range]::-webkit-slider-thumb,.gen-wizard-panel input[type=range]::-webkit-slider-thumb,.course-config-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--color-primary);border:3px solid var(--color-surface);box-shadow:0 2px 8px #2f5d624d;cursor:pointer;transition:transform .15s}.settings-card input[type=range]::-webkit-slider-thumb:hover,.main-form-container input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}#gap-multiplier-slider,#label-font-scale-slider,#ui-volume-slider{accent-color:var(--color-accent)}#gap-multiplier-slider::-webkit-slider-thumb,#label-font-scale-slider::-webkit-slider-thumb,#ui-volume-slider::-webkit-slider-thumb{background:var(--color-accent);box-shadow:0 2px 8px #ea580c40}.settings-card input[type=checkbox],.main-form-container input[type=checkbox],.category-edit-form input[type=checkbox],.gen-wizard-panel input[type=checkbox],.course-config-panel input[type=checkbox]{width:18px;height:18px;border-radius:var(--r-sm);border:2px solid var(--color-border);background:var(--color-surface);accent-color:var(--color-primary);cursor:pointer;margin:0;padding:0;transform:none;transform-origin:unset;box-shadow:none}.settings-card label,.main-form-container label,.category-edit-form label{color:var(--color-text);font-family:var(--font);font-size:var(--text-sm);font-weight:700;margin-bottom:.35rem;display:block}.settings-card .input-label,.main-form-container .input-label{font-size:var(--text-xs);font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-sub)}.settings-card button:not(.close-form):not(.tooltip-trigger):not(.character-btn),.main-form-container button:not(.close-form):not(.tooltip-trigger):not(.learn-fab):not(.learn-fab-sm):not(.phrase-group-delete-btn):not(.phrase-group-duplicate-btn):not(.course-generate-btn):not(.course-start-btn):not(.print-phrases-btn):not(.learn-section-toggle):not(.phrase-slot-remove-btn):not(.phrase-slot-insert-btn):not(.course-question-remove-btn):not(.course-answer-btn):not(.course-sentence-repick-btn):not(.course-configure-btn):not(.course-collapse-btn):not(.ie-add-folder-btn):not(.ie-tree-node){background:var(--color-primary);color:#fff;border:2px solid var(--color-primary);border-radius:var(--r-pill);font-family:var(--font);font-weight:800;font-size:var(--text-sm);padding:10px 20px;cursor:pointer;transition:all .16s cubic-bezier(.34,1.56,.64,1);box-shadow:0 3px 10px #2f5d622e;width:auto;max-width:none;margin-top:0;height:auto}.settings-card button:not(.close-form):not(.tooltip-trigger):not(.character-btn):hover,.main-form-container button:not(.close-form):not(.tooltip-trigger):hover{background:var(--teal-800);border-color:var(--teal-800);box-shadow:0 5px 18px #2f5d6247;transform:translateY(-1px);opacity:1}.sync-button,.import-btn{background:var(--color-primary-lt);color:var(--color-primary);border:1.5px solid var(--teal-100);border-radius:var(--r-pill);font-family:var(--font);font-weight:800;font-size:var(--text-sm);padding:7px 14px;cursor:pointer;transition:background .15s}.sync-button:hover:not(:disabled),.import-btn:hover{background:var(--teal-100);transform:translateY(-1px)}.sync-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.collapsible-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:13px 18px;background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);border-radius:0;margin-bottom:0;transition:background .12s}.settings-card .form-content>.collapsible-header:first-of-type{border-top:1.5px solid var(--color-border);border-radius:var(--r-sm) var(--r-sm) 0 0}.collapsible-header:hover{background:var(--color-bg)}.collapsible-header-label{display:flex;align-items:center;gap:.45rem}.collapsible-header-label svg{color:var(--color-primary);flex-shrink:0}.collapsible-header h4{margin:0;color:var(--color-text);font-size:var(--text-sm);font-weight:800}.toggle-icon{color:var(--color-text-sub);font-size:.9rem;transition:transform .2s ease;-webkit-user-select:none;user-select:none}.collapsible-content{background:var(--color-bg);border:none;border-bottom:1px solid var(--color-border);border-radius:0;margin-top:0;padding:1rem 1.25rem;color:var(--color-text)}.setting-divider{border:none;border-top:1px solid var(--color-border);margin:.75rem 0}.settings-help-text{color:var(--color-text-sub);font-size:var(--text-xs);font-weight:500;margin:.25rem 0 .5rem;line-height:1.5}.pin-tip{font-size:var(--text-xs);color:var(--color-text-sub);margin-top:.2rem;font-style:italic}.account-info-section{background:var(--color-primary-lt);border:1.5px solid var(--teal-100);border-radius:var(--r-md);padding:.4rem 1rem;margin-bottom:.75rem}.user-name{color:var(--color-text);font-size:var(--text-base);font-weight:700;margin-bottom:.2rem}.user-email{color:var(--color-text-sub);font-size:var(--text-sm);font-weight:500}.logout-section{margin-top:1.25rem;padding-top:1rem;border-top:1.5px solid var(--color-border);text-align:center}.logout-button{background:#8b1a1a;color:#fff;border:1.5px solid #6e1515;padding:10px 28px;border-radius:var(--r-pill);cursor:pointer;font-family:var(--font);font-size:var(--text-sm);font-weight:800;transition:background .15s;width:auto;max-width:none;box-shadow:none}.logout-button:hover{background:#6e1515;transform:none;opacity:1}.settings-card .logout-section .logout-button{background:#8b1a1a;color:#fff;border:1.5px solid #6e1515;box-shadow:none;padding:10px 28px}.settings-card .logout-section .logout-button:hover{background:#6e1515;border-color:#6e1515;box-shadow:none;transform:none}.about-version-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--color-border);margin-bottom:.75rem}.about-version-label{font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-sub)}.about-version-value{font-size:var(--text-sm);font-weight:800;color:var(--color-primary);letter-spacing:.03em}.pn-header{margin:.75rem 0 .5rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-border)}.pn-title{margin:0;font-size:var(--text-xs);font-weight:800;color:var(--color-text-sub);text-transform:uppercase;letter-spacing:.08em}.pn-list{display:flex;flex-direction:column;gap:.6rem;max-height:260px;overflow-y:auto;padding-right:.25rem;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.pn-list::-webkit-scrollbar{width:4px}.pn-list::-webkit-scrollbar-track{background:transparent}.pn-list::-webkit-scrollbar-thumb{background:var(--neutral-200);border-radius:2px}.pn-release{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--r-md);padding:.6rem .875rem}.pn-release-header{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.5rem}.pn-version{font-size:var(--text-sm);font-weight:800;color:var(--color-primary)}.pn-date{font-size:var(--text-xs);color:var(--color-text-sub);font-weight:500}.pn-changes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.pn-change{display:flex;align-items:flex-start;gap:.5rem;font-size:var(--text-xs);line-height:1.5}.pn-badge{flex-shrink:0;display:inline-block;padding:.1rem .45rem;border-radius:var(--r-sm);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-top:.1rem}.pn-badge--feat{background:var(--color-success-lt);color:var(--color-success);border:1px solid rgba(30,138,74,.25)}.pn-badge--fix{background:var(--color-warning-lt);color:#7a5000;border:1px solid rgba(244,162,89,.3)}.pn-badge--qol{background:var(--color-primary-lt);color:var(--color-primary);border:1px solid var(--teal-100)}.pn-badge--remove{background:var(--color-danger-lt);color:var(--color-danger);border:1px solid #f5c6c6}.pn-change-text{color:var(--color-text);font-weight:500}.pn-empty{font-size:var(--text-sm);color:var(--color-text-sub);text-align:center;padding:1rem 0;font-weight:500}.notification-item{background:var(--color-bg);border:1.5px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--r-md);padding:.875rem 1rem}.notification-warning{border-left-color:var(--color-warning)}.notification-error{border-left-color:var(--color-danger)}.notification-item-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.notification-level-pill{font-size:var(--text-xs);font-weight:800;text-transform:capitalize;letter-spacing:.04em;color:var(--color-primary);background:var(--color-primary-lt);border-radius:var(--r-pill);padding:2px 8px;border:1px solid var(--teal-100)}.notification-error .notification-level-pill{background:var(--color-danger-lt);color:var(--color-danger);border-color:#f5c6c6}.notification-warning .notification-level-pill{background:var(--color-warning-lt);color:#7a5000;border-color:#f4a2594d}.notification-timestamp{color:var(--color-text-sub);font-size:var(--text-xs);font-weight:500}.notification-message{color:var(--color-text);font-weight:700;margin-bottom:.3rem;font-size:var(--text-sm)}.notification-subtext{color:var(--color-text-sub);font-size:var(--text-xs);font-weight:500;line-height:1.45}.notification-occurrence-count{color:var(--color-text-sub);font-size:var(--text-xs);margin-top:.45rem;font-weight:500}.notification-empty-state{color:var(--color-text-sub);font-size:var(--text-sm);padding:1.25rem;text-align:center;border-radius:var(--r-md);border:1.5px dashed var(--color-border);background:var(--color-bg);font-weight:500}.notification-item--read{opacity:.5}.notification-copy-btn{color:var(--color-text-sub);cursor:pointer;background:none;border:none;font-size:14px;opacity:.7;padding:0;transition:opacity .15s}.notification-copy-btn:hover{opacity:1}.notification-section-divider{display:flex;align-items:center;gap:.75rem;color:var(--color-text-sub);font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin:.5rem 0}.notification-section-divider:before,.notification-section-divider:after{content:"";flex:1;border-top:1px solid var(--color-border)}.destination-tree{border:2px solid var(--color-border);border-radius:var(--r-md);background:var(--color-bg);max-height:200px;overflow-y:auto;padding:.5rem}.tree-node{color:var(--color-text);border-radius:var(--r-sm);transition:background .12s}.tree-node:hover{background:var(--color-primary-lt)}.tree-node.selected{background:var(--color-primary);color:#fff}.tree-children{border-left:2px solid var(--color-border)}.tags-container{border:2px solid var(--color-border);border-radius:var(--r-md);background:var(--color-bg);padding:.5rem}.tag-checkbox-item{color:var(--color-text);border-radius:var(--r-sm);transition:background .12s}.tag-checkbox-item:hover{background:var(--color-primary-lt)}.tag-checkbox-item.selected{background:var(--color-primary);color:#fff}.tag-checkbox-item input[type=checkbox]{accent-color:var(--color-primary)}.tag-checkbox-item.add-new{border-top:1px solid var(--color-border);margin-top:.4rem;padding-top:.5rem;font-weight:800;color:var(--color-primary)}.reorder-list{border:2px solid var(--color-border);border-radius:var(--r-md);background:var(--color-bg)}.reorder-list li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-sm);color:var(--color-text);transition:background .12s}.reorder-list li.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.reorder-controls button{background:var(--color-primary-lt);color:var(--color-primary);border:1.5px solid var(--teal-100);border-radius:var(--r-md);font-family:var(--font);font-weight:800}.reorder-controls button:hover,.reorder-controls button:active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.developer-button{background:var(--color-danger-lt);color:var(--color-danger);border:1.5px solid #f5c6c6;border-radius:var(--r-pill);font-family:var(--font);font-weight:800;font-size:var(--text-sm);padding:10px 20px;cursor:pointer;transition:background .15s;width:100%;max-width:220px;margin:.4rem 0}.developer-button:hover{background:#fde0e0;transform:none;box-shadow:none}.developer-description{color:var(--color-text-sub);font-size:var(--text-sm);font-weight:500;line-height:1.5;margin:.4rem 0 .75rem}.test-results{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--r-md);padding:1rem;margin-top:.75rem}.test-results h5{color:var(--color-primary);margin:0 0 .5rem}.test-results pre{background:var(--neutral-900);color:var(--teal-50);border-radius:var(--r-sm);font-size:11px}.icon-library-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--r-xl);box-shadow:var(--sh-lg);color:var(--color-text);backdrop-filter:none;-webkit-backdrop-filter:none}.icon-library-card h3{color:var(--color-text)}.icon-search-input{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--r-pill);color:var(--color-text);font-family:var(--font);font-size:var(--text-sm)}.icon-search-input::placeholder{color:var(--color-text-sub)}.icon-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--teal-50);outline:none}.icon-category h4{color:var(--color-text);border-bottom:1.5px solid var(--color-border)}.category-toggle{background:var(--color-primary-lt);color:var(--color-primary);border:1.5px solid var(--teal-100);border-radius:var(--r-pill);font-family:var(--font);font-weight:800;font-size:var(--text-xs)}.category-toggle:hover{background:var(--teal-100);transform:translateY(-1px)}.icon-grid{background:#122f4f;border-radius:var(--r-md);border:1.5px solid var(--color-border)}.icon-item{background:#122f4f;border:1px solid rgba(255,255,255,.2);border-radius:var(--r-sm)}.icon-item:hover{border-color:#ffffff80;box-shadow:var(--sh-sm)}.icon-item.selected{border-color:#e5c9d7;background:#e5c9d71a;box-shadow:0 0 10px #e5c9d780}.icon-label{color:#fff;font-size:var(--text-xs);font-weight:700}.icon-library-actions{border-top:1.5px solid var(--color-border)}.icon-library-actions button{background:var(--color-primary);color:#fff;border:2px solid var(--color-primary);border-radius:var(--r-pill);font-family:var(--font);font-weight:800}.main-form-container,.settings-card,.training-course-card,.restaurant-card,.camera-modal-content,.icon-library-card,.icon-library-container,.notification-panel,.course-config-panel,.gen-wizard-panel,.settings-sidebar,.settings-main,.pn-list,.tags-container,.icon-explorer-tree,.gen-wizard-body,.gen-wizard-selected-list,.item-list,.reorder-list,.test-results pre{overscroll-behavior:contain}.tree-node:nth-child(2n){background:#0000000a}.tree-node:hover{background:var(--color-primary-lt)!important}.tree-node.selected{background:var(--color-primary)!important;color:#fff}.tag-checkbox-item:nth-child(2n){background:#0000000a}.tag-checkbox-item:hover{background:var(--color-primary-lt)!important}.tag-checkbox-item.selected{background:var(--color-primary)!important;color:#fff}.tag-checkbox-item.add-new,.tag-checkbox-item.add-new:nth-child(2n){background:transparent!important;color:var(--color-primary)}.item-list li:nth-child(2n){background:#0000000a}.item-list li:hover{background:var(--color-primary-lt)!important}.item-list li.selected{background:var(--color-primary)!important;color:#fff}.ie-tree-node:nth-child(2n){background:#0000000a}.ie-tree-node:hover{background:var(--color-primary-lt)!important}.ie-tree-node.selected{background:var(--color-primary)!important;color:#fff}.icon-library-actions button:hover{background:var(--teal-800);border-color:var(--teal-800);transform:translateY(-1px)}.icon-library-actions button:disabled{opacity:.45;cursor:not-allowed;transform:none}.restaurant-card{background:#26415ef2;border:1.5px solid var(--color-border);border-radius:var(--r-xl);box-shadow:var(--sh-lg);color:#e5c9d7;backdrop-filter:none;-webkit-backdrop-filter:none}.restaurant-card .form-header,.camera-modal-content .form-header{background:transparent;border-bottom:1px solid rgba(229,201,215,.2)}.restaurant-card h3,.camera-modal-content h3{color:#e5c9d7}.tooltip-trigger,.settings-card .tooltip-trigger,.main-form-container .tooltip-trigger,.category-edit-form .tooltip-trigger{border:1.5px solid var(--neutral-400)!important;color:var(--color-text-sub)!important;background:transparent!important;vertical-align:middle;box-shadow:none!important;transform:none!important;border-radius:50%!important;width:1.2rem!important;height:1.2rem!important;padding:0!important;font-size:.8rem!important;font-weight:700!important;min-width:unset!important;max-width:unset!important}.tooltip-trigger:hover,.tooltip-trigger:focus,.settings-card .tooltip-trigger:hover,.settings-card .tooltip-trigger:focus,.main-form-container .tooltip-trigger:hover,.main-form-container .tooltip-trigger:focus{background:var(--color-primary-lt)!important;border-color:var(--color-primary)!important;color:var(--color-primary)!important;transform:scale(1.1)!important}.tooltip-content{background:var(--neutral-900);color:#fff;border-radius:var(--r-md);box-shadow:var(--sh-lg)}.tooltip-content:after{border-top-color:var(--neutral-900)}.tooltip-content.tooltip-bottom:after{border-bottom-color:var(--neutral-900);border-top-color:transparent}.tooltip-content.tooltip-left:after{border-left-color:var(--neutral-900);border-top-color:transparent;border-bottom-color:transparent}.tooltip-content.tooltip-right:after{border-right-color:var(--neutral-900);border-top-color:transparent;border-bottom-color:transparent}.tooltip-content strong{color:var(--orange-300)}.tooltip-container+label,.settings-card .tooltip-container+label,.main-form-container .tooltip-container+label,.category-edit-form .tooltip-container+label{display:inline!important;vertical-align:middle}.training-course-sentence{color:var(--color-text)}.training-course-progress{color:var(--color-text-sub);font-size:var(--text-xs)}.training-course-icon-wrap{background:var(--color-bg);border:1.5px solid var(--color-border)}.training-course-icon-fallback{color:var(--color-text)}.training-course-find-prompt{color:var(--color-primary);background:var(--color-primary-lt);border:1.5px solid var(--teal-100);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:700}.training-course-hint-countdown{color:var(--color-text-sub)}.training-course-timer-bar{background:var(--color-border)}.training-course-timer-fill{background:var(--color-primary)}.training-course-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:tc-spin .8s linear infinite}.settings-card input:focus-visible,.settings-card select:focus-visible,.settings-card button:focus-visible,.main-form-container input:focus-visible,.main-form-container select:focus-visible,.main-form-container button:focus-visible,.gen-wizard-panel input:focus-visible,.gen-wizard-panel button:focus-visible,.course-config-panel input:focus-visible,.course-config-panel button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus-ring),0 0 0 5px #7fafb333}.progress-page .output-container{background:var(--color-primary);border-bottom:none}.progress-page .output-text-wrapper h3{color:#fff;font-family:var(--font);font-size:var(--text-lg);font-weight:800;letter-spacing:.02em;margin:0}.progress-page .output-container .close-form{background:#ffffff2e;border:1.5px solid rgba(255,255,255,.35);color:#fff}.progress-page .output-container .close-form:hover{background:#ffffff4d;transform:scale(1.1)}.progress-page body,.progress-content{background:transparent}body.progress-page{background:var(--color-bg)}.additional-charts>h4{color:var(--color-text);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.timeframe-controls{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.control-group label{color:var(--color-text-sub);font-family:var(--font);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.control-group select,.control-group input[type=date]{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--r-md);color:var(--color-text);font-family:var(--font);font-size:var(--text-sm);font-weight:600;padding:8px 12px;outline:none}.control-group select:focus,.control-group input[type=date]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--teal-50);outline:none}.generate-report-btn{background:var(--color-primary);border:2px solid var(--color-primary);color:#fff;border-radius:var(--r-pill);font-family:var(--font);font-size:var(--text-sm);font-weight:800;padding:9px 22px;cursor:pointer;transition:all .16s cubic-bezier(.34,1.56,.64,1);box-shadow:0 3px 10px #2f5d6238;white-space:nowrap}.generate-report-btn:hover{background:var(--teal-800);border-color:var(--teal-800);box-shadow:0 5px 18px #2f5d6252;transform:translateY(-1px)}.chart-container{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);position:relative;overflow:hidden}.progress-page .chart-container:before,.learning-page .chart-container:before{display:none}.chart-container h5{color:var(--color-text-sub);font-family:var(--font);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin:0 0 .875rem}.data-table{width:100%;border-collapse:collapse;table-layout:auto}.data-table th,.data-table td{color:var(--color-text);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:.35rem .5rem;font-size:var(--text-sm);white-space:nowrap}.data-table th:last-child,.data-table td:last-child{border-right:none}.data-table .spoken-text-cell{white-space:normal;word-break:break-word;width:99%;min-width:8rem}.data-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table th{background:var(--color-bg);color:var(--color-text-sub);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.data-table tr:hover:not(:last-child){background:var(--color-primary-lt)}.data-table .total-row{background:var(--color-bg)!important;border-top:1.5px solid var(--color-border)}.data-table .total-row td{color:var(--color-text);font-weight:800}.data-table-note{font-size:var(--text-xs);color:var(--color-text-sub);margin:0 0 .5rem}.course-word-table-title{font-size:var(--text-sm);font-weight:700;color:var(--color-text);margin:1rem 0 .4rem}.word-attempt-perfect{text-align:center;color:var(--color-success)}.word-attempt-absent{color:var(--color-text-sub);text-align:center}.word-check{display:block;margin:0 auto;color:var(--color-success)}.speech-score-summary{border-bottom:1px solid var(--color-border)}.speech-score-summary .score-value{color:var(--color-primary);font-size:2.25rem;font-weight:800}.speech-score-summary .score-label{color:var(--color-text-sub);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em}body.learning-page{background:var(--color-bg)}.learning-page .output-container{background:var(--color-primary);border-bottom:none}.learning-page .output-text-wrapper h3{color:#fff;font-family:var(--font);font-size:var(--text-lg);font-weight:800;margin:0}.learning-page .output-container .close-form{background:#ffffff2e;border:1.5px solid rgba(255,255,255,.35);color:#fff}.learning-page .output-container .close-form:hover{background:#ffffff4d;transform:scale(1.1)}.learn-section-title{color:var(--color-text);font-family:var(--font);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.learn-section-subtitle{color:var(--color-text-sub);font-size:var(--text-sm);font-weight:500;line-height:1.5}.learning-grid .chart-container{background:var(--color-surface);border:1.5px solid var(--color-border);box-shadow:var(--sh-sm)}.learn-section-toggle{background:var(--color-surface);border:1.5px solid var(--color-border);color:var(--color-text-sub);border-radius:var(--r-sm);transition:background .15s,border-color .15s}.learn-section-toggle:hover{background:var(--color-primary-lt);border-color:var(--teal-100);color:var(--color-primary)}.print-phrases-btn,.learn-fab,.phrase-group-duplicate-btn,.learn-fab-sm,.ie-add-folder-btn{background:var(--color-primary);color:#fff;border:2px solid var(--color-primary);font-family:var(--font);font-weight:800;box-shadow:0 3px 10px #2f5d622e;transition:all .16s cubic-bezier(.34,1.56,.64,1)}.print-phrases-btn:hover,.learn-fab:hover,.phrase-group-duplicate-btn:hover,.learn-fab-sm:hover,.ie-add-folder-btn:hover{background:var(--teal-800);border-color:var(--teal-800);box-shadow:0 5px 18px #2f5d6247;transform:translateY(-2px)}.print-phrases-btn:focus-visible,.learn-fab:focus-visible,.phrase-group-duplicate-btn:focus-visible,.learn-fab-sm:focus-visible,.ie-add-folder-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus-ring),0 0 0 5px #7fafb333}.phrase-group-box{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.phrase-group-box:before{background:linear-gradient(90deg,var(--teal-100),var(--orange-300));opacity:.65}.phrase-group-delete-btn{background:var(--color-danger-lt);color:var(--color-danger);border:1.5px solid #f5c6c6;border-radius:var(--r-pill);font-family:var(--font);font-weight:800}.phrase-group-delete-btn:hover{background:#fde0e0;transform:translateY(-1px)}.phrase-icon-slot{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--r-md)}.phrase-slot-remove-btn{background:var(--color-danger-lt);border:1.5px solid #f5c6c6;color:var(--color-danger)}.phrase-slot-remove-btn:hover{background:#fde0e0}.phrase-slot-insert-btn{background:var(--color-primary-lt);border:1.5px dashed var(--teal-100);color:var(--color-primary)}.phrase-slot-insert-btn:hover{background:var(--teal-100);color:var(--color-primary);border-color:var(--color-primary)}.phrase-slot-name{color:var(--color-text);font-weight:600}.add-icon-label{color:var(--color-text-sub);font-weight:600}.phrase-group-icons-row{background:var(--color-bg);border:1.5px dashed var(--color-border);border-radius:var(--r-md)}.course-group-title-input{background:var(--color-bg);border:2px solid var(--color-border);color:var(--color-text);border-radius:var(--r-md);font-family:var(--font);font-weight:700}.course-group-title-input::placeholder{color:var(--color-text-sub);font-weight:400}.course-group-title-input:focus-visible{outline:none}.course-question-input,.course-answer-input{background:var(--color-bg);border:2px solid var(--color-border);color:var(--color-text);border-radius:var(--r-md);font-family:var(--font);font-size:var(--text-sm)}.course-question-input::placeholder,.course-answer-input::placeholder{color:var(--color-text-sub)}.course-question-input:focus-visible,.course-answer-input:focus-visible{outline:none}.course-question-remove-btn{background:var(--color-danger-lt);color:var(--color-danger);border:1.5px solid #f5c6c6}.course-question-remove-btn:hover{background:#fde0e0}.course-sentence-check-label{color:var(--color-text-sub)}.course-sentence-check-label:hover{color:var(--color-text)}.course-sentence-checkbox{accent-color:var(--color-primary)}.course-sentence-item-chip{background:var(--color-primary-lt);border:1.5px solid var(--teal-100)}.course-sentence-item-name{color:var(--teal-800);font-weight:700}.course-sentence-repick-btn{background:var(--color-bg);border:1.5px solid var(--color-border);color:var(--color-text)}.course-sentence-repick-btn:hover{background:var(--color-danger-lt);color:var(--color-danger);border-color:#f5c6c6}.story-item-chip__remove:hover{background:#fde0e0;color:var(--color-danger)}.course-sentence-check-arrow{color:var(--color-text-sub)}.course-generate-btn{background:var(--color-accent);border:2px solid var(--color-accent);color:#fff;font-family:var(--font);font-weight:800;border-radius:var(--r-pill);box-shadow:0 3px 10px #f4a25940;transition:all .16s cubic-bezier(.34,1.56,.64,1)}.course-generate-btn:hover{background:var(--orange-700);border-color:var(--orange-700);transform:translateY(-1px);box-shadow:0 5px 18px #f4a25961}.course-start-btn{background:var(--color-success-lt);color:var(--color-success);border:1.5px solid rgba(30,138,74,.35);border-radius:var(--r-pill);font-family:var(--font);font-weight:800;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.course-start-btn:hover{background:var(--color-success);color:#fff;border-color:var(--color-success);transform:translateY(-1px)}.course-configure-btn{background:var(--color-primary-lt);color:var(--color-primary);border:1.5px solid var(--teal-100);border-radius:50%}.course-configure-btn:hover{background:var(--teal-100);transform:translateY(-1px)}.course-type-badge--story{background:#7b6da51a;border:1px solid rgba(123,109,165,.35);color:#7b6da5}.course-type-badge--sentence{background:var(--color-primary-lt);border:1px solid var(--teal-100);color:var(--color-primary)}.gen-wizard-panel,.course-config-panel{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--r-xl);box-shadow:var(--sh-lg);color:var(--color-text);backdrop-filter:none;-webkit-backdrop-filter:none}.gen-wizard-label,.gen-wizard-section>p{color:var(--color-text-sub);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.gen-wizard-divider{border-top:1px solid var(--color-border)}.gen-wizard-count-row{display:flex;align-items:center;gap:.5rem}.gen-wizard-stepper{background:var(--color-primary-lt);color:var(--color-primary);border:1.5px solid var(--teal-100);border-radius:var(--r-sm);font-family:var(--font);font-weight:800;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .15s}.gen-wizard-stepper:hover{background:var(--teal-100)}.gen-wizard-count-input{width:56px!important;text-align:center;background:var(--color-bg);border:2px solid var(--color-border);color:var(--color-text);border-radius:var(--r-md);font-family:var(--font);font-weight:700;padding:6px 8px}.gen-wizard-count-input:focus-visible{outline:none}.gen-wizard-limit-note{color:var(--color-text-sub);font-size:var(--text-xs);font-weight:600}.gen-wizard-footer{border-top:1.5px solid var(--color-border)}.course-config-hint{color:var(--color-text-sub);font-size:var(--text-xs);font-weight:500;line-height:1.5}.course-config-check-label{display:flex;align-items:center;gap:.5rem;color:var(--color-text);font-family:var(--font);font-size:var(--text-sm);font-weight:700;cursor:pointer}.course-config-voice-row{display:flex;align-items:center;gap:.5rem}.course-config-voice-select{flex:1;background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text);border-radius:var(--r-md);font-family:var(--font);font-size:var(--text-sm);padding:8px 12px}.voice-preview-btn{background:var(--color-primary-lt);color:var(--color-primary);border:1.5px solid var(--teal-100);border-radius:var(--r-sm);width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .15s}.voice-preview-btn:hover{background:var(--teal-100)}.icon-explorer-tree{background:var(--color-bg)}.ie-label,.ie-category-node .ie-label{color:var(--color-text)}.gen-wizard-empty-selection{color:var(--color-text-sub)}.gen-wizard-notes-input{background:var(--color-bg);border-color:var(--color-border);color:var(--color-text)}.gen-wizard-notes-input::placeholder{color:var(--color-text-sub)}.icon-explorer-panel{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--r-xl);box-shadow:var(--sh-lg);color:var(--color-text)}.icon-explorer-header h4{color:var(--color-text);font-family:var(--font);font-size:var(--text-lg);font-weight:800;margin:0}.ie-tree-node{color:var(--color-text);border-radius:var(--r-sm);transition:background .12s}.ie-tree-node:hover{background:var(--color-primary-lt)}.ie-tree-node.selected{background:var(--color-primary);color:#fff}.story-editor{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--r-md);color:var(--color-text);font-family:var(--font)}.story-editor:empty:before{color:var(--color-text-sub)}.story-add-item-btn{background:var(--color-accent);border:2px solid var(--color-accent);color:#fff;font-family:var(--font);font-weight:800;border-radius:var(--r-pill);transition:all .16s cubic-bezier(.34,1.56,.64,1);box-shadow:0 3px 10px #f4a25938}.story-add-item-btn:hover{background:var(--orange-700);border-color:var(--orange-700);transform:translateY(-1px)}.ai-instructor-content,.course-config-body{color:var(--color-text)}.course-question-number{color:var(--color-text-sub)}.settings-card *::-webkit-scrollbar,.main-form-container *::-webkit-scrollbar,.icon-library-card *::-webkit-scrollbar,.gen-wizard-panel *::-webkit-scrollbar,.course-config-panel *::-webkit-scrollbar{width:5px;height:5px}.settings-card *::-webkit-scrollbar-track,.main-form-container *::-webkit-scrollbar-track,.icon-library-card *::-webkit-scrollbar-track{background:var(--color-bg);border-radius:4px}.settings-card *::-webkit-scrollbar-thumb,.main-form-container *::-webkit-scrollbar-thumb,.icon-library-card *::-webkit-scrollbar-thumb{background:var(--neutral-200);border-radius:4px}.settings-card *::-webkit-scrollbar-thumb:hover,.main-form-container *::-webkit-scrollbar-thumb:hover{background:var(--teal-300)}@media (max-width: 600px){.main-form-container,.category-edit-form,.settings-card{border-radius:var(--r-lg)}.settings-card .form-content>.collapsible-header:first-of-type{border-radius:0}}.cropper-view-box{outline:2px solid var(--color-primary);outline-color:var(--color-primary)}.cropper-face{background-color:#2f5d620f;cursor:move}.cropper-modal{opacity:.6}.cropper-dashed{border-color:#2f5d6266}.cropper-center:before,.cropper-center:after{background-color:var(--color-primary)}.cropper-line{background-color:var(--color-primary);opacity:.7}.cropper-point{background-color:var(--color-primary);border-radius:3px;opacity:1}.cropper-point:before{content:"";position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px}.cropper-point.point-n,.cropper-point.point-s{width:36px;height:6px;border-radius:3px;margin-left:-18px}.cropper-point.point-e,.cropper-point.point-w{width:6px;height:36px;border-radius:3px;margin-top:-18px}.cropper-point.point-ne,.cropper-point.point-nw,.cropper-point.point-sw{width:12px;height:12px;border-radius:2px;border:2px solid #ffffff;box-shadow:0 1px 4px #0000004d}.cropper-point.point-se{width:12px;height:12px;border-radius:2px;border:2px solid #ffffff;box-shadow:0 1px 4px #0000004d;opacity:1}.character-btn{display:flex!important;flex-direction:column!important;align-items:center!important;gap:.4rem!important;padding:.25rem!important;background:transparent!important;border:2px solid transparent!important;border-radius:var(--r-md)!important;cursor:pointer!important;box-shadow:none!important;width:auto!important;height:auto!important;max-width:none!important;transition:border-color .18s ease!important;transform:none!important}.character-btn:hover{background:transparent!important;border-color:transparent!important;box-shadow:none!important;transform:none!important}.character-btn--selected,.character-btn--selected:hover{border-color:var(--color-border)!important}.character-btn-img{width:64px;height:64px;object-fit:contain;border-radius:var(--r-sm);display:block;pointer-events:none}.character-btn-name{font-family:var(--font);font-size:var(--text-xs);font-weight:700;color:var(--color-text);pointer-events:none}.survey-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#00000073;padding:1rem;animation:survey-fade-in .2s ease}@keyframes survey-fade-in{0%{opacity:0}to{opacity:1}}.survey-card{position:relative;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--r-xl);box-shadow:var(--sh-lg);color:var(--color-text);font-family:var(--font);padding:2rem 2rem 1.75rem;max-width:340px;width:100%;display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:survey-slide-up .22s ease}@keyframes survey-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.survey-close-btn{position:absolute;top:.85rem;right:.85rem}.survey-icon{width:clamp(6.25rem,22vw,9.5rem);aspect-ratio:1 / 1;height:auto;object-fit:contain;border-radius:var(--r-md);overflow:hidden;margin-bottom:.25rem}.survey-heading{font-size:var(--text-xl);font-weight:800;color:var(--color-text);text-align:center;margin:0;line-height:1.3}.survey-stars{display:flex;gap:.4rem;margin:.35rem 0 .25rem}.survey-star{background:none;border:none;padding:.2rem;font-size:2.25rem;line-height:1;cursor:pointer;color:var(--color-border);transition:color .12s,transform .1s;border-radius:var(--r-sm)}.survey-star:hover,.survey-star--hover,.survey-star--filled{color:var(--color-accent)}.survey-star:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.survey-star:active{transform:scale(.9)}.survey-comment-wrap{width:100%;display:flex;flex-direction:column;gap:.5rem;animation:survey-fade-in .18s ease}.survey-comment-label{font-size:var(--text-sm);font-weight:700;color:var(--color-text-sub);display:block}.survey-comment{width:100%;resize:vertical;padding:.65rem .75rem;border:1.5px solid var(--color-border);border-radius:var(--r-md);font-family:var(--font);font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface);box-sizing:border-box;transition:border-color .15s}.survey-comment:focus{outline:none;border-color:var(--color-primary)}.survey-submit-btn{align-self:flex-end;background:var(--color-primary);color:#fff;border:none;border-radius:var(--r-pill);padding:.6rem 1.4rem;font-family:var(--font);font-size:var(--text-sm);font-weight:800;cursor:pointer;transition:background .15s,transform .1s;box-shadow:var(--sh-sm)}.survey-submit-btn:hover{background:var(--teal-600);transform:translateY(-1px)}.survey-submit-btn:active{transform:translateY(0)}
