:root{--bg-color: #0f1115;--panel-bg: #1a1d24;--text-main: #e2e8f0;--text-muted: #94a3b8;--accent: #3b82f6;--accent-hover: #2563eb;--color-noun: #60a5fa;--color-verb: #f87171;--color-adjective: #34d399;--color-adverb: #fbbf24;--color-pronoun: #c084fc;--color-particle: #2dd4bf;--color-interjection: #f472b6;--color-counter: #fb923c;--color-determiner: #38bdf8;--color-conjunction: #a3e635;--color-copula: #fb7185;--font-korean: "Pretendard", "Malgun Gothic", sans-serif;--font-english: "Inter", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-english);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}.korean-text{font-family:var(--font-korean);letter-spacing:-.02em}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:280px;background-color:var(--panel-bg);border-right:1px solid rgba(255,255,255,.05);padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem;flex-shrink:0;overflow-y:auto}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:10px}.sidebar h1{font-size:1.25rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,#60a5fa,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.setting-group{display:flex;flex-direction:column;gap:.65rem}.setting-label{font-size:.8rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem}.toggle-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);padding:.65rem 1rem;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.85rem;transition:all .2s ease;text-align:left;display:flex;justify-content:space-between;align-items:center}.toggle-btn:hover{background:#ffffff1a}.toggle-btn.active{background:#3b82f61a;border-color:var(--accent);color:#fff}.audio-settings-panel{background:#00000026;padding:1rem;border-radius:10px;border:1px solid rgba(255,255,255,.03)}.slider-container{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.slider-label{font-size:.85rem;color:#e2e8f0;display:flex;justify-content:space-between}.styled-slider{-webkit-appearance:none;width:100%;height:6px;border-radius:3px;background:#ffffff1a;outline:none;cursor:pointer}.styled-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;transition:transform .1s}.styled-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.styled-slider.delay::-webkit-slider-thumb{background:#34d399}.auto-flip-btn.active{background:#34d3991a;border-color:#34d399;color:#fff}.auto-flip-btn.active span{color:#34d399;font-weight:700}.syntax-guide{display:flex;flex-direction:column;gap:.5rem;background:#0003;padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.05);transition:opacity .3s ease;margin-top:.5rem}.syntax-guide.hidden{opacity:.3;pointer-events:none}.syntax-guide-item{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-muted)}.syntax-dot{width:8px;height:8px;border-radius:50%}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.panes-wrapper{display:flex;flex:1;overflow:hidden}.pane{flex:1;overflow-y:auto;padding:3rem}.pane-left{border-right:1px solid rgba(255,255,255,.05);overflow:hidden;display:grid;grid-template-rows:repeat(10,1fr);padding:1.5rem 3rem;gap:.25rem}.pane-right{background-color:#0003;display:flex;flex-direction:column}.phrase-number{font-family:var(--font-english);font-size:.85em;color:var(--text-muted);width:32px;display:inline-flex;align-items:center;font-weight:700;opacity:.5;-webkit-user-select:none;user-select:none}.phrase-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;margin:0;padding:0 1rem;min-height:0;border-radius:12px;transition:all .3s ease;cursor:pointer;border-left:4px solid transparent;position:relative}.phrase-row:hover{background-color:#ffffff05}.phrase-row.selected{background-color:#ffffff0a;border-left-color:var(--text-muted)}.phrase-row.selected .phrase-number{opacity:1;color:var(--text-main)}.phrase-row.playing{background-color:#3b82f614;border-left-color:var(--accent);transform:scale(1.01);box-shadow:0 4px 15px #0000001a}.phrase-row.playing .phrase-number{opacity:1;color:var(--accent)}.words-container{display:flex;flex-wrap:wrap;align-items:center;flex:1}.word-block-wrapper{position:relative;display:inline-block}.word-block{font-size:1.75em;font-weight:500;cursor:pointer;padding:.25rem .2rem;border-radius:6px;transition:all .2s ease;border:1px solid transparent}.word-block.has-space{margin-right:.5rem}.word-block:hover,.word-block.highlighted{background-color:#ffffff1a;transform:translateY(-2px)}.word-block.playing{background-color:#3b82f62e;border-color:transparent;color:#fff}.word-tooltip{position:absolute;bottom:110%;left:50%;transform:translate(-50%);background:var(--panel-bg);color:var(--text-main);padding:.75rem 1rem;border-radius:8px;font-size:.9rem;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:all .2s ease;box-shadow:0 4px 15px #00000080;border:1px solid rgba(255,255,255,.1);z-index:50;display:flex;flex-direction:column;align-items:center;gap:.25rem}.word-block-wrapper:hover .word-tooltip{opacity:1;visibility:visible;bottom:120%}.tooltip-dict{font-weight:600;font-size:1rem;color:var(--accent)}.tooltip-meaning{color:#e2e8f0}.tooltip-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:rgba(255,255,255,.1) transparent transparent transparent}.syntax-noun{color:var(--color-noun)}.syntax-verb{color:var(--color-verb)}.syntax-adjective{color:var(--color-adjective)}.syntax-adverb{color:var(--color-adverb)}.syntax-pronoun{color:var(--color-pronoun)}.syntax-particle{color:var(--color-particle)}.syntax-interjection{color:var(--color-interjection)}.syntax-counter{color:var(--color-counter)}.syntax-determiner{color:var(--color-determiner)}.syntax-conjunction{color:var(--color-conjunction)}.syntax-copula{color:var(--color-copula)}.meaning-dual-container{display:inline-flex;align-items:baseline;gap:.5rem}.meaning-natural{color:inherit}.meaning-divider{color:var(--text-muted);opacity:.5;margin:0 .25rem}.meaning-literal{color:inherit}.syntax-badge{display:inline-block;padding:.1rem;margin:0 .1rem;border-radius:3px;font-size:.65rem;font-weight:700;vertical-align:middle;line-height:1}.badge-hanja{background:#60a5fa33;color:#60a5fa;border:1px solid rgba(96,165,250,.3)}.badge-particle-drop{background:#c2a88426;color:#c2a884;border:1px solid rgba(194,168,132,.25)}.badge-contraction{background:#a78bfa26;color:#a78bfa;border:1px solid rgba(167,139,250,.25)}.translation-box{background:var(--panel-bg);padding:2rem;border-radius:12px;border:1px solid rgba(255,255,255,.05);box-shadow:0 10px 30px -10px #00000080}.translation-header{display:flex;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.translation-header .phrase-number{width:auto;margin-right:1rem;font-size:1.25em;color:var(--accent);opacity:1}.translation-text{font-size:1.5em;line-height:1.4;font-weight:500}.translation-intent{color:#fff}.translation-literal{color:var(--text-muted);font-style:italic}.word-details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.8rem}.word-detail-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);padding:1rem;border-radius:12px;transition:all .2s ease;cursor:pointer;display:flex;flex-direction:column;gap:.4rem;position:relative}.word-detail-card:hover,.word-detail-card.highlighted{border-color:#fff3;background:#ffffff0d;transform:translateY(-2px)}.word-detail-card.playing{background-color:#3b82f614;border-color:var(--accent);transform:scale(1.02);box-shadow:0 4px 15px #0000001a}.word-type-badge{position:absolute;top:1rem;right:1rem;padding:.25rem .5rem;border-radius:4px;font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#0000004d;z-index:0}.word-detail-header{display:flex;justify-content:flex-start;align-items:baseline;gap:.75rem;padding-right:4rem;position:relative;z-index:1}.word-surface{font-size:1.5em;font-weight:600}.word-dict{font-size:1em;color:var(--text-muted)}.word-meaning{font-size:1.1em;color:#e2e8f0}.word-grammar{font-size:.9em;color:var(--text-muted);background:#0000004d;padding:.75rem;border-radius:8px;line-height:1.4}.action-hint{font-size:.75em;color:var(--accent);margin-top:.5rem;opacity:0;transition:opacity .2s;display:flex;align-items:center;gap:.25rem}.word-detail-card:hover .action-hint{opacity:1}.word-play-btn{position:absolute;bottom:.75rem;right:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);width:var(--detail-audio-button-size, 32px);height:var(--detail-audio-button-size, 32px);border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s ease;z-index:2;opacity:0}.word-detail-card:hover .word-play-btn{opacity:1}.word-play-btn svg{width:calc(var(--detail-audio-button-size, 32px) * .5);height:calc(var(--detail-audio-button-size, 32px) * .5)}.word-play-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.1)}.pagination-bar{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.25rem 2rem;background-color:var(--panel-bg);border-top:1px solid rgba(255,255,255,.05);z-index:10}.audio-controls{display:flex;align-items:center;gap:.5rem}.audio-control-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.95rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-weight:600;min-width:160px}.audio-control-btn.play{color:#34d399;border-color:#34d3994d}.audio-control-btn.play:hover{background:#34d399;color:#0f1115}.audio-control-btn.pause{color:#fbbf24;border-color:#fbbf244d}.audio-control-btn.pause:hover{background:#fbbf24;color:#0f1115}.audio-control-btn.resume{color:#60a5fa;border-color:#60a5fa4d}.audio-control-btn.resume:hover{background:#60a5fa;color:#0f1115}.audio-control-btn.back{padding:.75rem 1.25rem;font-size:.95rem;background:#ffffff08;border-color:#ffffff0d}.audio-control-btn.back:hover:not(:disabled){background:#ffffff1a;color:var(--accent);border-color:var(--accent)}.audio-control-btn.back:disabled{opacity:.2;cursor:not-allowed}.audio-app{background:radial-gradient(circle at 20% 0%,rgba(59,130,246,.14),transparent 34rem),radial-gradient(circle at 85% 12%,rgba(52,211,153,.08),transparent 30rem),var(--bg-color)}.audio-setup-screen{width:100%;padding:2rem;overflow-y:auto}.audio-setup-header{position:relative;width:100%;margin-bottom:3rem;display:flex;flex-direction:column;align-items:center;text-align:center}.back-to-hub-large{position:absolute;top:0;left:0;padding:1.4rem 2.8rem;font-size:1.3rem;font-weight:700;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);border-radius:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.back-to-hub-large:before{content:"←";font-size:1.5rem}.back-to-hub-large:hover{background:#ffffff1a;color:var(--text-main);border-color:var(--text-main);transform:scale(1.05)}.audio-eyebrow{color:#34d399;font-size:.8rem;font-weight:700;letter-spacing:.12em;margin-bottom:.5rem;text-transform:uppercase}.audio-title{color:var(--text-main);font-size:2.3rem;line-height:1;margin:0 0 .6rem}.audio-subtitle{color:var(--text-muted);font-size:1rem;margin:0}.audio-header-btn{justify-content:center;min-width:130px}.audio-setup-grid{display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(300px,1fr) minmax(280px,340px);gap:1rem;align-items:start}.audio-section{background:#1a1d24d1;border:1px solid rgba(255,255,255,.07);border-radius:8px;min-height:0}.audio-section-header,.audio-presets-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.audio-section-header{padding:1rem 1rem .8rem;border-bottom:1px solid rgba(255,255,255,.06)}.audio-section-header h2,.audio-panel-block h2,.audio-presets-header h2{margin:0;color:var(--text-main);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}.audio-section-header span{color:var(--text-muted);font-size:.82rem}.audio-library-scroll,.audio-playlist-list{max-height:calc(100vh - 12rem);overflow-y:auto;padding:1rem}.audio-library-group+.audio-library-group{margin-top:1.25rem}.audio-library-group h3{color:var(--text-muted);font-size:.85rem;margin:0 0 .65rem}.audio-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.65rem}.audio-module-card{appearance:none;background:#ffffff09;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text-main);cursor:pointer;display:flex;flex-direction:column;gap:.45rem;min-height:116px;padding:.85rem;text-align:left;transition:border-color .2s,background .2s,transform .2s}.audio-module-card:hover{background:#ffffff12;border-color:#60a5fa73;transform:translateY(-1px)}.audio-module-theme{color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.audio-module-card strong{font-size:.98rem;line-height:1.25}.audio-module-meta{align-items:center;color:var(--text-muted);display:flex;font-size:.75rem;justify-content:space-between;margin-top:auto}.audio-playlist-list{display:flex;flex-direction:column;gap:.65rem}.audio-empty-state,.audio-muted{color:var(--text-muted);font-size:.9rem}.audio-empty-state{align-items:center;border:1px dashed rgba(255,255,255,.13);border-radius:8px;display:flex;min-height:10rem;padding:1rem}.audio-playlist-item{align-items:center;background:#ffffff0b;border:1px solid rgba(255,255,255,.06);border-radius:8px;display:grid;gap:.75rem;grid-template-columns:2rem minmax(0,1fr) auto;padding:.75rem}.audio-playlist-order{align-items:center;background:#3b82f61f;border-radius:999px;color:var(--accent);display:flex;font-size:.78rem;font-weight:800;height:2rem;justify-content:center;width:2rem}.audio-playlist-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.audio-playlist-copy strong,.audio-queue-module strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-playlist-copy span,.audio-queue-module span{color:var(--text-muted);font-size:.78rem}.audio-playlist-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.audio-icon-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--text-muted);cursor:pointer;font:inherit;font-size:.72rem;font-weight:700;padding:.4rem .55rem}.audio-icon-btn:hover:not(:disabled){border-color:#ffffff2e;color:var(--text-main)}.audio-icon-btn:disabled{cursor:not-allowed;opacity:.35}.audio-icon-btn.danger{color:#f87171}.audio-control-panel{display:flex;flex-direction:column;gap:1rem;padding:1rem}.audio-start-btn,.audio-resume-btn{justify-content:center;width:100%}.audio-start-btn{background:var(--accent);border-color:var(--accent);color:#fff}.audio-resume-btn{background:#34d3991a;border-color:#34d39947;color:#34d399}.audio-panel-block{border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:1rem;padding-top:1rem}.audio-checkbox-row{align-items:center;color:var(--text-main);cursor:pointer;display:flex;font-size:.9rem;gap:.65rem}.audio-checkbox-row input{accent-color:var(--accent);height:1rem;width:1rem}.audio-compact-btn{font-size:.72rem;padding:.35rem .55rem;text-align:center}.audio-presets-list{display:flex;flex-direction:column;gap:.5rem}.audio-preset-row{align-items:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:8px;color:var(--text-main);cursor:pointer;display:grid;font:inherit;gap:.5rem;grid-template-columns:minmax(0,1fr) auto auto;padding:.55rem;text-align:left}.audio-preset-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-preset-row>span:nth-child(2){color:var(--text-muted);font-size:.75rem}.audio-player-app{position:relative}.audio-player-sidebar{background:#1a1d24f0;border:1px solid rgba(255,255,255,.08);border-left:0;border-radius:0 8px 8px 0;bottom:1rem;box-shadow:18px 0 40px #00000047;display:flex;flex-direction:column;left:0;padding:1.25rem;position:fixed;top:1rem;transform:translate(calc(-100% + 14px));transition:transform .24s ease;width:300px;z-index:5}.audio-sidebar-hover-zone{bottom:0;left:0;position:fixed;top:0;width:32px;z-index:4}.audio-sidebar-hover-zone:hover+.audio-player-sidebar,.audio-player-sidebar:hover,.audio-player-sidebar:focus-within{transform:translate(0)}.audio-stop-btn{justify-content:center;margin-bottom:1rem}.audio-sidebar-header{color:var(--text-muted);display:flex;font-size:.78rem;justify-content:space-between;letter-spacing:.08em;margin-bottom:.8rem;text-transform:uppercase}.audio-sidebar-header strong{color:var(--text-main)}.audio-module-queue{display:flex;flex:1;flex-direction:column;gap:.5rem;overflow-y:auto;padding-right:.35rem}.audio-queue-module{background:#ffffff06;border:1px solid transparent;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:.75rem;text-align:left;transition:background .2s,border-color .2s,color .2s}.audio-queue-module.active{background:#3b82f621;border-color:#60a5fab8;color:var(--text-main)}.audio-player-main{display:flex;flex:1;flex-direction:column;min-width:0;padding:1.25rem 2rem 2rem;position:relative;width:100%}.audio-player-topbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;position:relative;z-index:2}.audio-player-status{display:flex;flex-direction:column;gap:.3rem}.audio-player-top-actions{align-items:center;display:flex;gap:.6rem}.audio-progress-track{background:#ffffff12;border-radius:999px;flex:0 0 100%;height:.5rem;overflow:hidden}.audio-progress-fill{background:linear-gradient(90deg,var(--accent),#34d399);height:100%;transition:width .25s ease}.audio-blackout-btn{background:#00000059;color:var(--text-main)}.audio-now-playing,.audio-finished-state{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:center;text-align:center;width:100%}.audio-now-playing{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100vw;max-height:calc(100vh - 8rem);overflow-y:auto;padding:1rem 2rem 2rem;pointer-events:none;z-index:1}.audio-now-playing>*{pointer-events:auto}.audio-now-module{color:#34d399;font-size:.9rem;font-weight:800;letter-spacing:.12em;margin-bottom:.75rem;text-transform:uppercase}.audio-now-id{color:var(--text-muted);font-size:.9rem;font-weight:600;opacity:.75}.audio-korean-line{color:var(--text-main);font-family:var(--font-korean);font-size:clamp(2.25rem,6vw,4.5rem);font-weight:800;line-height:1.25;max-width:100%;overflow-wrap:anywhere;word-break:keep-all}.audio-favorite-btn,.audio-reveal-btn{border-radius:8px;cursor:pointer;font:inherit;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .2s}.audio-favorite-btn{background:#fbbf2414;border:1px solid rgba(251,191,36,.25);color:#fbbf24}.audio-favorite-btn.active{background:#fbbf24;border-color:#fbbf24;color:#0f1115}.audio-favorite-btn:disabled{cursor:not-allowed;opacity:.45}.audio-reveal-btn{background:#ffffff0b;border:1px solid rgba(255,255,255,.12);color:var(--text-main);padding:.65rem 1rem}.audio-reveal-btn:hover,.audio-favorite-btn:hover:not(:disabled){transform:translateY(-1px)}.audio-translation-reveal{background:#ffffff0e;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text-main);font-size:1.25rem;line-height:1.45;margin-top:.5rem;width:100%;padding:1rem 1.25rem;text-align:left;overflow-wrap:break-word;word-break:break-word}.audio-word-reveal-grid{display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-top:.5rem;width:100%}.audio-reveal-panel{bottom:1.5rem;display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 7rem);overflow-y:auto;overflow-x:hidden;position:fixed;right:1.5rem;top:6rem;width:min(720px,42vw);z-index:3}.audio-word-card{background:#1a1d24eb;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.85rem;text-align:left}.audio-word-card-head{align-items:baseline;display:flex;gap:.6rem;justify-content:space-between}.audio-word-card-head strong{font-size:1.2rem}.audio-word-card-head span{color:var(--text-muted);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.audio-word-dict{color:var(--text-muted);font-size:.92rem;margin-top:.25rem}.audio-word-meaning{color:var(--text-main);line-height:1.35;margin-top:.55rem}.audio-player-controls{align-items:center;display:flex;flex-direction:column;gap:1.25rem}.audio-player-ui-wrap{position:fixed;bottom:10vh;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1.5rem;z-index:10;pointer-events:none;transition:opacity .15s ease-out;opacity:1}.audio-player-ui-wrap.ui-hidden{opacity:0;transition:opacity 1s ease-in;pointer-events:none}.audio-player-ui-wrap>*{pointer-events:auto}.audio-player-ui-wrap.ui-hidden>*{pointer-events:none}.audio-main-play-btn{min-width:120px}.audio-player-volume{background:#0000002e;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:1rem;width:min(320px,80vw)}.audio-finished-state h2{color:var(--text-muted);font-size:2rem;margin:0 0 1rem}.audio-blackout-overlay{background:#000;border:0;cursor:none;inset:0;position:fixed;z-index:9999}@media(max-width:1050px){.audio-setup-grid{grid-template-columns:1fr}.audio-library-scroll,.audio-playlist-list{max-height:none}.audio-player-app{flex-direction:column;overflow-y:auto}.audio-player-sidebar{border-bottom:1px solid rgba(255,255,255,.07);border-right:0;max-height:34vh;width:280px}.audio-player-main{min-height:66vh;padding-right:2rem!important}.audio-reveal-panel{bottom:1rem;left:1rem;max-height:34vh;right:1rem;top:auto;width:auto}}@media(max-width:640px){.audio-setup-screen{padding:1rem}.audio-setup-header,.audio-player-topbar{align-items:stretch;flex-direction:column}.audio-player-top-actions{flex-wrap:wrap}.audio-now-playing{position:static;transform:none;width:100%}.audio-korean-line{max-width:100%}.audio-title{font-size:1.8rem}.audio-playlist-item{grid-template-columns:2rem minmax(0,1fr)}.audio-playlist-actions{grid-column:1 / -1;justify-content:flex-start}.audio-preset-row{grid-template-columns:minmax(0,1fr) auto}.audio-preset-row .audio-icon-btn{grid-column:1 / -1;justify-self:start}.audio-controls{flex-wrap:wrap;justify-content:center}.audio-control-btn{min-width:100px}}.pagination-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);padding:.75rem 2rem;border-radius:8px;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.pagination-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-1px)}.pagination-btn:disabled{opacity:.3;cursor:not-allowed}.pagination-info-wrapper{position:relative;display:flex;align-items:center}.pagination-info-btn{font-size:1rem;font-weight:500;color:var(--text-muted);background:#0003;padding:.5rem 1.5rem;border-radius:20px;border:1px solid transparent;cursor:pointer;transition:all .2s ease;font-family:inherit}.pagination-info-btn:hover{background:#ffffff0d;border-color:#ffffff1a;color:var(--text-main)}.page-selector-popover{position:absolute;bottom:calc(100% + 15px);left:50%;transform:translate(-50%);background:var(--panel-bg);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.25rem;box-shadow:0 15px 40px -10px #000c;z-index:1001;min-width:250px;max-width:350px;max-height:400px;overflow-y:auto}.page-selector-popover:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:8px;border-style:solid;border-color:var(--panel-bg) transparent transparent transparent}.page-selector-section{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.page-selector-divider{height:1px;background:#ffffff1a;width:100%}.page-selector-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.page-select-btn{background:#ffffff08;border:1px solid rgba(255,255,255,.05);color:var(--text-muted);padding:.75rem 0;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .15s ease;display:flex;justify-content:center;align-items:center}.page-select-btn.star-page-btn{color:#fbbf24;background:#fbbf240d;border-color:#fbbf2433}.page-select-btn:hover{background:#ffffff1a;color:#fff}.page-select-btn.star-page-btn:hover{background:#fbbf2433;color:#fff}.page-select-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.page-select-btn.star-page-btn.active{background:#fbbf24;color:#0f1115;border-color:#fbbf24}.page-selector-overlay{position:fixed;inset:0;z-index:1000;background:transparent}.audio-btn-single{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);width:var(--phrase-audio-button-size, 44px);height:var(--phrase-audio-button-size, 44px);border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s ease;font-size:calc(var(--phrase-audio-button-size, 44px) * .45);opacity:0;margin-left:auto;flex-shrink:0}.phrase-row:hover .audio-btn-single,.phrase-row.selected .audio-btn-single{opacity:1}.phrase-row.playing .audio-btn-single{opacity:1;background:var(--accent);border-color:var(--accent);transform:scale(1.1)}.audio-btn-single:hover{background:var(--accent);border-color:var(--accent);transform:scale(1.1)}.audio-bars{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:16px;width:16px}.audio-bars .bar{width:3px;background-color:#fff;border-radius:1px;animation:bounce .5s infinite ease-in-out alternate}.audio-bars .bar:nth-child(1){height:10px;animation-delay:0s}.audio-bars .bar:nth-child(2){height:16px;animation-delay:.2s}.audio-bars .bar:nth-child(3){height:12px;animation-delay:.4s}@keyframes bounce{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--panel-bg);width:90%;max-width:650px;max-height:85vh;border-radius:20px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.75rem;font-weight:600;font-family:var(--font-korean);margin:0}.modal-title span{font-size:1rem;color:var(--text-muted);font-family:var(--font-english);margin-left:.75rem;font-weight:400}.modal-close{background:none;border:none;color:var(--text-muted);font-size:2rem;cursor:pointer;line-height:1;padding:0;transition:color .2s}.modal-close:hover{color:#fff}.modal-body{padding:1.5rem 2rem;overflow-y:auto}.settings-section{margin-bottom:1.5rem}.settings-section-title{font-size:1.1rem;color:var(--accent);margin:0 0 1rem;font-weight:600}.keybinds-grid{display:flex;flex-direction:column;gap:.5rem}.keybind-row{display:flex;justify-content:space-between;align-items:center;background:#ffffff08;padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.keybind-label{font-size:.9rem;font-weight:500;color:var(--text-main)}.keybind-input{background:#0000004d;border:1px solid rgba(255,255,255,.1);color:var(--accent);padding:.4rem .75rem;border-radius:6px;font-family:monospace;font-size:.85rem;width:140px;text-align:center;transition:all .2s;outline:none}.keybind-input:focus{border-color:var(--accent);background:#00000080}.web-search-template-list{display:flex;flex-direction:column;gap:.65rem}.web-search-template-header{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(150px,1.4fr) 32px;gap:.5rem;margin-bottom:.4rem;color:var(--text-muted);font-size:.78rem;font-weight:600}.web-search-template-row{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(150px,1.4fr) 32px;gap:.5rem;align-items:center}.web-search-label-input,.web-search-query-input{width:100%;text-align:left;font-family:inherit;color:var(--text-main)}.web-search-remove-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}.cross-ref-item{padding:1.25rem;background:#0003;border-radius:8px;margin-bottom:1rem;border:1px solid rgba(255,255,255,.02);transition:background-color .2s}.cross-ref-item:hover{background:#0000004d}.cross-ref-phrase{font-size:1.4rem;margin-bottom:.75rem}.cross-ref-trans{color:var(--text-muted);font-size:1.05rem}.cross-ref-modal-content{max-width:min(1180px,94vw)}.cross-ref-term-toggle{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.cross-ref-term-btn{min-height:48px;padding:.7rem 1.25rem;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:var(--text-main);font-family:var(--font-korean);font-size:1.05rem;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.cross-ref-term-btn:hover{background:#ffffff1a}.cross-ref-term-btn.active{background:#3b82f62e;border-color:#3b82f68c;color:var(--accent)}.cross-ref-level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;align-items:start}.cross-ref-level-column{min-width:0}.cross-ref-level-heading{position:sticky;top:-1.5rem;z-index:1;padding:.6rem 0 .7rem;margin-bottom:.75rem;background:var(--panel-bg);color:var(--accent);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.08)}.modal-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1.5rem;color:var(--text-muted)}.modal-loading-state .loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.cross-ref-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.module-badge{background:#3b82f61a;padding:.2rem .6rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border:1px solid rgba(59,130,246,.3)}.phrase-number{font-size:.9rem;color:var(--text-muted);min-width:2rem;margin-right:.5rem}.star-btn{background:transparent;border:none;color:var(--text-muted);opacity:var(--star-hover-opacity, 0);cursor:pointer;padding:0 1rem;margin:-1rem .25rem -1rem -1rem;border-top-left-radius:8px;border-bottom-left-radius:8px;font-size:1.7rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:1;align-self:stretch}.star-btn:hover:not(.starred){opacity:1;color:#fbbf24;transform:scale(1.15)}.star-btn.starred{opacity:1;color:#fbbf24}.cross-ref-item.local-result{border-left:3px solid var(--accent);padding-left:calc(1.25rem - 3px)}.hub-screen{flex:1;display:flex;flex-direction:column;padding:4rem 2rem;overflow-y:auto;background:radial-gradient(ellipse at top,rgba(59,130,246,.06) 0%,transparent 60%)}.hub-header{text-align:center;margin-bottom:3rem;align-self:stretch;display:flex;flex-direction:column;align-items:center}.hub-title{font-size:2.5rem;font-weight:800;margin:0 0 .75rem;background:linear-gradient(135deg,#60a5fa,#c084fc,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.hub-subtitle{font-size:1.1rem;color:var(--text-muted);margin:0 0 1.5rem}.hub-lang-toggle{display:flex;gap:.5rem;justify-content:center}.hub-controls{display:flex;align-items:center;justify-content:center;width:100%;margin-top:1rem;position:relative}.hub-secondary-actions{position:absolute;right:0;display:flex;gap:.75rem;align-items:center}.audio-mode-primary-btn{appearance:none;background:linear-gradient(135deg,#1e40af,#1e3a8a);border:none;border-radius:14px;color:#fff;cursor:pointer;display:flex;align-items:center;gap:.8rem;font-family:inherit;font-size:1.2rem;font-weight:700;padding:1rem 2.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #1e40af66}.audio-mode-primary-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px #1e40af80;background:linear-gradient(135deg,#2563eb,#1e40af)}.audio-mode-primary-btn:active{transform:translateY(-1px)}.hub-columns{display:flex;flex-direction:column;gap:2.5rem;width:100%;padding-bottom:2rem}.hub-column{display:flex;flex-direction:column;width:100%}.hub-column-header{font-size:1.25rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid rgba(255,255,255,.1);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.hub-column-cards{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.25rem}.hub-card{background:var(--panel-bg);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:2rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;min-width:280px;max-width:400px;flex:1 1 280px}.hub-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#60a5fa,#c084fc);opacity:0;transition:opacity .3s ease}.hub-card:hover{transform:translateY(-4px);border-color:#ffffff26;box-shadow:0 12px 40px -10px #00000080}.hub-card:hover:before{opacity:1}.hub-card-theme{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-bottom:.75rem}.hub-card-title{font-size:1.4rem;font-weight:700;margin:0 0 1rem;color:var(--text-main)}.hub-card-meta{display:flex;justify-content:space-between;align-items:center}.hub-card-difficulty{font-size:.85rem;font-weight:600}.hub-card-count{font-size:.85rem;color:var(--text-muted);background:#ffffff0d;padding:.25rem .75rem;border-radius:20px}.hub-empty{text-align:center;color:var(--text-muted);margin-top:3rem;font-size:1.1rem}.hub-empty code{background:#ffffff1a;padding:.2rem .5rem;border-radius:4px;font-size:.85rem}.loading-screen{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;color:var(--text-muted);font-size:1.1rem}.loading-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-text{color:#f87171;font-size:1.2rem;font-weight:600}.back-to-hub-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.85rem;transition:all .2s ease;text-align:left}.back-to-hub-btn:hover{background:#ffffff1a;color:var(--text-main)}.module-meta-badge{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.module-meta-badge span:first-child{font-weight:600}.hidden-details-overlay{position:absolute;inset:0;background:#0f1115f2;z-index:10;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;border-radius:12px;color:var(--text-muted);transition:background .2s}.hidden-details-overlay:hover{background:#0f1115d9;color:var(--text-main)}.hidden-details-message{text-align:center}.hidden-details-message span{font-size:2.5rem;display:block;margin-bottom:.5rem}.hidden-details-message p{font-size:1.1rem;margin:0 0 .5rem;font-weight:500}.hidden-details-message small{font-size:.85rem;opacity:.7}.custom-context-menu{position:fixed;background:var(--panel-bg);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 24px #00000080;border-radius:8px;padding:.5rem;display:flex;flex-direction:column;min-width:180px;z-index:9999}.custom-context-menu button{background:transparent;border:none;color:var(--text-main);padding:.6rem 1rem;text-align:left;font-size:.9rem;cursor:pointer;border-radius:4px;transition:background .2s;font-family:inherit;font-weight:500}.custom-context-menu button:hover{background:#ffffff1a;color:#fff}.word-detail-card.multi-selected,.word-block.multi-selected{background-color:#3b82f633;border-color:#3b82f680}.keybind-row-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff05;border:1px solid rgba(255,255,255,.04);padding:.6rem 1rem;border-radius:10px;transition:all .2s ease}.keybind-row-item:hover{background:#ffffff0a;border-color:#ffffff14}.keybind-label{font-size:.95rem;font-weight:500;color:#e2e8f0}.keybind-slots{display:flex;gap:.75rem}.keybind-wrapper{position:relative;display:flex;align-items:center}.keybind-capture-btn{background:#0003;border:1px solid rgba(255,255,255,.1);color:var(--text-main);padding:.4rem .6rem;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.85rem;transition:all .2s ease;min-width:90px;height:32px;display:flex;justify-content:center;align-items:center;outline:none}.keybind-capture-btn:hover{border-color:#ffffff4d;background:#ffffff0d}.keybind-capture-btn.capturing{background:#3b82f626;border-color:var(--accent);box-shadow:0 0 10px #3b82f64d}.key-badge{background:linear-gradient(180deg,#374151,#1f2937);border:1px solid #4b5563;border-bottom:2px solid #111827;border-radius:4px;padding:.1rem .4rem;font-size:.75rem;font-weight:700;color:#f3f4f6;min-width:1.2rem;text-align:center;text-transform:capitalize;box-shadow:0 2px 4px #0000004d}.clear-key-btn.small{position:absolute;right:-4px;top:-4px;width:16px;height:16px;background:#ef4444;color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;opacity:0;transition:opacity .2s;z-index:5;box-shadow:0 2px 4px #0000004d}.keybind-wrapper:hover .clear-key-btn.small{opacity:1}.no-keys{color:var(--text-muted);font-size:.75rem;opacity:.4}.capturing-placeholder{color:var(--accent);font-weight:700;font-size:1.2rem;line-height:0;margin-top:-4px}.clear-key-btn.small:hover{background:#dc2626;transform:scale(1.1)}@media(max-width:900px){.hub-controls{flex-direction:column;gap:1.5rem}.hub-secondary-actions{position:static;justify-content:center;flex-wrap:wrap}}.session-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:900;border:1px solid rgba(255,255,255,.1);border-radius:50px;cursor:pointer;font-family:var(--font-english);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0006;display:flex;align-items:center;justify-content:center}.session-fab:not(.active){background:var(--panel-bg);color:var(--text-muted);width:48px;height:48px;padding:0}.session-fab:not(.active):hover{background:#3b82f626;border-color:var(--accent);color:var(--accent);transform:scale(1.08);box-shadow:0 6px 25px #3b82f640}.session-fab.active{background:linear-gradient(135deg,#34d39926,#3b82f626);border-color:#34d39966;color:var(--text-main);padding:.5rem 1rem;min-width:140px;height:48px;gap:.5rem}.session-fab.active:hover{background:linear-gradient(135deg,#34d39940,#3b82f640);border-color:#34d39999;transform:scale(1.03);box-shadow:0 6px 25px #34d39933}.session-fab-idle{display:flex;align-items:center;justify-content:center}.session-fab-active-content{display:flex;align-items:center;gap:.5rem;position:relative}.session-fab-pulse{width:8px;height:8px;border-radius:50%;background:#34d399;flex-shrink:0;animation:session-pulse 2s ease-in-out infinite}@keyframes session-pulse{0%,to{opacity:1;box-shadow:0 0 #34d39966}50%{opacity:.7;box-shadow:0 0 0 6px #34d39900}}.session-fab-timer{font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums;color:#34d399}.session-fab-count{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.session-report-modal{max-width:720px!important;width:92%!important}.session-report-body{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem!important}.session-report-section{display:flex;flex-direction:column;gap:.65rem}.session-report-section-header{display:flex;justify-content:space-between;align-items:center}.session-report-section-header h3{margin:0;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.session-chunk-summary{font-size:.75rem;color:var(--text-muted);opacity:.7}.session-link-btn{background:none;border:none;color:var(--accent);font-size:.8rem;font-weight:600;cursor:pointer;padding:.2rem .5rem;border-radius:4px;transition:all .15s;font-family:inherit}.session-link-btn:hover{background:#3b82f61a}.session-time-display{font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-main)}.session-time-edit{display:flex;align-items:center;gap:.75rem}.session-time-input{width:80px;padding:.5rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--text-main);font-size:1.25rem;font-weight:600;font-family:inherit;text-align:center;font-variant-numeric:tabular-nums}.session-time-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f633}.session-time-unit{font-size:.9rem;color:var(--text-muted)}.session-chunk-toggles{display:flex;gap:.5rem}.session-chunk-toggle{padding:.45rem 1rem;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.session-chunk-toggle:hover{background:#ffffff1a}.session-chunk-toggle.active{background:#3b82f626;border-color:var(--accent);color:var(--accent)}.session-method-pills{display:flex;flex-wrap:wrap;gap:.4rem}.session-method-pill{display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:50px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.session-method-pill:hover{background:#3b82f61f;border-color:#3b82f666}.session-method-mult{font-size:.7rem;color:#34d399;font-weight:700}.session-chunks-list{display:flex;flex-direction:column;gap:.4rem;max-height:280px;overflow-y:auto;padding-right:.25rem}.session-chunks-list::-webkit-scrollbar{width:5px}.session-chunks-list::-webkit-scrollbar-track{background:transparent}.session-chunks-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.session-chunk-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:10px;transition:background .15s}.session-chunk-row:hover{background:#ffffff0a}.session-chunk-index{font-size:.75rem;font-weight:700;color:var(--text-muted);opacity:.5;width:20px;text-align:center;flex-shrink:0}.session-chunk-info{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.session-chunk-count-row{display:flex;align-items:center;gap:.4rem}.session-chunk-count-input{width:42px;padding:.2rem .35rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:var(--text-main);font-size:.85rem;font-weight:600;font-family:inherit;text-align:center}.session-chunk-count-input:focus{outline:none;border-color:var(--accent)}.session-chunk-of{font-size:.75rem;color:var(--text-muted)}.session-chunk-chars{font-size:.7rem;color:var(--text-muted);opacity:.6}.session-chunk-method-select{padding:.35rem .6rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--text-main);font-size:.8rem;font-family:inherit;cursor:pointer;min-width:130px}.session-chunk-method-select:focus{outline:none;border-color:var(--accent)}.session-exp-preview{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#34d39914,#3b82f614);border:1px solid rgba(52,211,153,.2);border-radius:12px}.session-exp-preview-label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.session-exp-preview-value{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#34d399,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.session-report-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.session-btn{padding:.65rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;border:none}.session-btn:disabled{opacity:.4;cursor:not-allowed}.session-btn-ghost{background:#ffffff0d;color:var(--text-muted);border:1px solid rgba(255,255,255,.1)}.session-btn-ghost:hover:not(:disabled){background:#ffffff1a;color:var(--text-main)}.session-btn-accent{background:linear-gradient(135deg,#34d399,#3b82f6);color:#0f1115}.session-btn-accent:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #34d3994d}.session-reward-overlay{z-index:1100}.session-reward-popup{position:relative;background:var(--panel-bg);border-radius:24px;border:1px solid rgba(255,255,255,.1);padding:2.5rem;max-width:380px;width:90%;text-align:center;overflow:hidden;box-shadow:0 30px 60px #00000080;animation:reward-pop-in .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes reward-pop-in{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.reward-glow{position:absolute;top:-40%;left:-20%;width:140%;height:100%;background:radial-gradient(ellipse at center,rgba(52,211,153,.15),transparent 70%);pointer-events:none}.reward-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem}.reward-icon{font-size:3rem;animation:reward-float 2s ease-in-out infinite}@keyframes reward-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.reward-title{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-main)}.reward-exp-display{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin:.5rem 0}.reward-exp-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.reward-exp-value{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#34d399,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1;animation:reward-count-in .6s ease-out forwards}@keyframes reward-count-in{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.reward-level-section{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 0}.reward-level-badge{background:linear-gradient(135deg,#3b82f633,#c084fc33);border:1px solid rgba(192,132,252,.3);border-radius:8px;padding:.4rem .8rem;font-size:.85rem;font-weight:700;color:#c084fc;flex-shrink:0}.reward-progress-bar-wrap{flex:1;display:flex;flex-direction:column;gap:.3rem}.reward-progress-bar{width:100%;height:8px;background:#ffffff14;border-radius:4px;overflow:hidden}.reward-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#3b82f6,#c084fc);transition:width .8s cubic-bezier(.4,0,.2,1)}.reward-progress-label{font-size:.7rem;color:var(--text-muted);text-align:right}.reward-close-btn{margin-top:.5rem;width:100%}
