@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5901b7c6-module__ec5Qua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5901b7c6-module__ec5Qua__variable{--font-inter:"Inter","Inter Fallback"}
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.866357a4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.758e15a8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_8778cd42-module__wRojWG__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_8778cd42-module__wRojWG__variable{--font-outfit:"Outfit","Outfit Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--bg-primary:#0a0a0f;--bg-secondary:#0f0f18;--bg-card:#12121c;--border-subtle:#ffffff0f;--border-hover:#ffffff1f;--text-primary:#f0ede6;--text-secondary:#8a8798;--text-muted:#5a5770;--accent-memorize:#34d399;--accent-understand:#818cf8;--accent-character:#c084fc;--accent-revision:#f59e0b}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-inter,"Inter",system-ui,-apple-system,sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#1e1e30;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#2a2a42}.bg-mesh{z-index:0;pointer-events:none;background:radial-gradient(80% 50% at 20% 0,#34d39908 0%,#0000 60%),radial-gradient(60% 40% at 80% 10%,#818cf808 0%,#0000 50%),radial-gradient(50% 80% at 50% 100%,#c084fc05 0%,#0000 50%);position:fixed;inset:0}.app-header{z-index:40;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(24px)saturate(1.5);background:#0a0a0fbf;position:sticky;top:0}.app-header-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:14px 24px;display:flex}.header-left{align-items:center;gap:12px;display:flex}.header-logo{border:1px solid var(--border-subtle);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.header-logo.unified{background:#c9a9611a}.header-title{font-family:var(--font-outfit,"Outfit",sans-serif);letter-spacing:-.02em;color:var(--text-primary);font-size:18px;font-weight:800;line-height:1}.header-subtitle{text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);margin-top:2px;font-size:9px;font-weight:600}.offline-badge{color:#818cf8;font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.1em;background:#818cf81a;border:1px solid #818cf833;border-radius:99px;align-items:center;gap:8px;padding:6px 14px;font-size:10px;font-weight:700;animation:2s ease-in-out infinite offline-pulse;display:flex}.offline-dot{background:#818cf8;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #818cf8}@keyframes offline-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.main-content{z-index:10;max-width:1200px;margin:0 auto;padding:32px 24px;position:relative}.search-bar{border:1px solid var(--border-subtle);background:#0f0f1880;border-radius:14px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 18px;transition:border-color .2s;display:flex}.search-bar:focus-within{border-color:var(--border-hover)}.search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px;font-weight:500}.search-input::placeholder{color:var(--text-muted)}.search-clear{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:2px;transition:color .2s;display:flex}.search-clear:hover{color:var(--text-secondary)}.surah-grid-info{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.surah-count{font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:11px;font-weight:600}.surah-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (max-width:1100px){.surah-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.surah-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.surah-grid{grid-template-columns:1fr}}.surah-card.unified{border:1px solid var(--border-subtle);cursor:default;background:linear-gradient(145deg,#12121c99,#0c0c1459);border-radius:14px;align-items:center;gap:12px;padding:14px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.surah-card.unified:hover{border-color:var(--border-hover);box-shadow:0 6px 24px #0003}.surah-number{font-family:var(--font-outfit,"Outfit",sans-serif);color:var(--text-muted);text-align:center;flex-shrink:0;width:26px;font-size:13px;font-weight:700}.surah-info{flex:1;min-width:0}.surah-name{font-family:var(--font-outfit,"Outfit",sans-serif);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:700;line-height:1.2;overflow:hidden}.surah-meaning{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:600;overflow:hidden}.progress-squares{flex-shrink:0;align-items:center;gap:6px;display:flex}.psq{cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .3s;display:flex;position:relative}.psq:before{content:"";background:var(--bg-card,#12121c);z-index:0;border-radius:5px;transition:background .3s;position:absolute;inset:2.5px}.psq-letter{z-index:1;font-family:var(--font-outfit,"Outfit",sans-serif);letter-spacing:.02em;color:#ffffff26;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:700;line-height:1;transition:all .3s;position:relative}.psq:hover .psq-letter{color:#ffffff4d}.psq:hover{filter:brightness(1.15);transform:scale(1.12)}.psq:active{transform:scale(.95)}.psq-memorize.filled{box-shadow:0 0 10px #34d3994d}.psq-memorize.filled:before{background:#0f1f1a}.psq-memorize.filled .psq-letter{color:#34d399;text-shadow:0 0 8px #34d39980}.psq-understand.filled{box-shadow:0 0 10px #818cf84d}.psq-understand.filled:before{background:#111428}.psq-understand.filled .psq-letter{color:#818cf8;text-shadow:0 0 8px #818cf880}.psq-character.filled{box-shadow:0 0 10px #c084fc4d}.psq-character.filled:before{background:#181228}.psq-character.filled .psq-letter{color:#c084fc;text-shadow:0 0 8px #c084fc80}.psq.filled-revision{box-shadow:0 0 10px #f59e0b4d}.psq.filled-revision:before{background:#1f1a0f}.psq.filled-revision .psq-letter{color:#f59e0b;text-shadow:0 0 8px #f59e0b80}@media (max-width:640px){.psq{border-radius:8px;width:32px;height:32px}.psq:before{border-radius:5.5px;inset:3px}.psq-letter{font-size:11px}.progress-squares{gap:5px}}.empty-state{text-align:center;padding:60px 20px}.empty-title{font-family:var(--font-outfit,"Outfit",sans-serif);color:var(--text-muted);font-size:16px;font-weight:600}.empty-subtitle{color:var(--text-muted);opacity:.6;margin-top:8px;font-size:13px}.app-footer{z-index:10;border-top:1px solid var(--border-subtle);margin-top:48px;position:relative}.app-footer-inner{text-align:center;max-width:1200px;margin:0 auto;padding:28px 24px}.footer-text{color:var(--text-muted);font-size:11px;font-weight:500}.toast-message{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text-primary);background:#141420f2;border:1px solid #c084fc33;border-radius:14px;align-items:center;gap:10px;max-width:90vw;padding:14px 22px;font-size:13px;font-weight:500;animation:.3s ease-out toastIn;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #0006}.toast-message svg{color:var(--accent-character);flex-shrink:0}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.modal-overlay{z-index:50;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05050ad9;position:absolute;inset:0}.modal-content{border:1px solid var(--border-subtle);background:linear-gradient(160deg,#141420f7,#0c0c14fc);border-radius:20px;width:100%;max-width:380px;padding:32px;animation:.3s cubic-bezier(.2,.9,.3,1) modalSlideUp;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}.modal-content.verse-modal{max-width:460px}.modal-content.character-modal{max-width:440px}.modal-glow{opacity:.15;filter:blur(30px);pointer-events:none;border-radius:50%;width:120px;height:120px;position:absolute;top:-40px;right:-40px}.modal-glow.character-glow{background-color:#c084fc}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex;position:relative}.modal-surah-meta{align-items:center;gap:8px;margin-bottom:6px;display:flex}.modal-surah-id{font-family:var(--font-outfit,"Outfit",sans-serif);border-radius:6px;padding:3px 8px;font-size:10px;font-weight:700}.modal-surah-id.memorize{color:var(--accent-memorize);background:#34d3991a}.modal-surah-id.understand{color:var(--accent-understand);background:#818cf81a}.modal-surah-meaning{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:10px;font-weight:600}.modal-surah-name{font-family:var(--font-outfit,"Outfit",sans-serif);color:var(--text-primary);letter-spacing:-.01em;font-size:20px;font-weight:800}.modal-close{cursor:pointer;width:32px;height:32px;color:var(--text-muted);background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close:hover{color:var(--text-secondary);background:#ffffff0d}.verse-legend{border:1px solid var(--border-subtle);background:#0f0f1880;border-radius:10px;align-items:center;gap:16px;margin-bottom:20px;padding:10px 14px;display:flex}.legend-item{color:var(--text-muted);font-size:10px;font-weight:600;font-family:var(--font-outfit,"Outfit",sans-serif);letter-spacing:.04em;align-items:center;gap:6px;display:flex}.legend-dot{border-radius:3px;flex-shrink:0;width:8px;height:8px}.legend-dot.memorize-completed{background:var(--accent-memorize);box-shadow:0 0 6px #34d39966}.legend-dot.understand-completed{background:var(--accent-understand);box-shadow:0 0 6px #818cf866}.legend-dot.revision{background:var(--accent-revision);box-shadow:0 0 6px #f59e0b66}.legend-dot.selected{background:0 0;border:2px solid #ffffffb3;box-shadow:0 0 6px #ffffff4d}.counter-section{text-align:center;margin-bottom:28px;position:relative}.counter-label{font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);margin-bottom:16px;font-size:10px;font-weight:700}.verse-boxes-grid{flex-wrap:wrap;justify-content:center;gap:6px;max-width:100%;max-height:220px;margin-bottom:16px;padding:4px;display:flex;overflow-y:auto}.verse-boxes-grid::-webkit-scrollbar{width:4px}.verse-box{border:1.5px solid var(--border-subtle);width:32px;height:32px;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font-outfit,"Outfit",sans-serif);background:#0f0f1899;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.verse-box:hover{background:#181826cc;border-color:#ffffff40;transform:scale(1.06)}.verse-box.selected{color:var(--text-primary);background:#ffffff0f;border-color:#ffffffbf;transform:scale(1.06);box-shadow:0 0 10px #fff3,inset 0 0 6px #ffffff0d}.verse-box.completed.memorize{color:var(--accent-memorize);background:#34d3991f;border-color:#34d39980}.verse-box.completed.memorize.selected{background:#34d3992e;border-color:#ffffffbf;box-shadow:0 0 10px #fff3,0 0 8px #34d3994d}.verse-box.completed.understand{color:var(--accent-understand);background:#818cf81f;border-color:#818cf880}.verse-box.completed.understand.selected{background:#818cf82e;border-color:#ffffffbf;box-shadow:0 0 10px #fff3,0 0 8px #818cf84d}.verse-box.revision{color:var(--accent-revision);background:#f59e0b1a;border-color:#f59e0b73}.verse-box.revision.selected{background:#f59e0b29;border-color:#ffffffbf;box-shadow:0 0 10px #fff3,0 0 8px #f59e0b4d}.counter-max{justify-content:center;align-items:center;gap:10px;margin-top:16px;margin-bottom:20px;display:flex}.counter-max-line{background:var(--border-subtle);width:20px;height:1px}.counter-max-text{font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:10px;font-weight:600}.selection-actions{margin-bottom:16px}.selection-actions-label{font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:10px;font-size:10px;font-weight:700}.selection-btns{justify-content:center;align-items:center;gap:6px;display:flex}.sel-btn{font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:5px;padding:7px 12px;font-size:10px;font-weight:700;transition:all .2s;display:flex}.sel-btn:disabled{opacity:.3;cursor:not-allowed;transform:none!important}.sel-btn:not(:disabled):hover{transform:translateY(-1px)}.sel-btn:not(:disabled):active{transform:scale(.97)}.sel-btn-complete.memorize{color:var(--accent-memorize);background:#34d39914;border-color:#34d39933}.sel-btn-complete.memorize:not(:disabled):hover{background:#34d39924;border-color:#34d39959;box-shadow:0 4px 16px #34d39926}.sel-btn-complete.understand{color:var(--accent-understand);background:#818cf814;border-color:#818cf833}.sel-btn-complete.understand:not(:disabled):hover{background:#818cf824;border-color:#818cf859;box-shadow:0 4px 16px #818cf826}.sel-btn-revision{color:var(--accent-revision);background:#f59e0b14;border-color:#f59e0b33}.sel-btn-revision:not(:disabled):hover{background:#f59e0b24;border-color:#f59e0b59;box-shadow:0 4px 16px #f59e0b26}.sel-btn-unmark{border-color:var(--border-subtle);color:var(--text-muted);background:#ffffff0a}.sel-btn-unmark:not(:disabled):hover{border-color:var(--border-hover);color:var(--text-secondary);background:#ffffff14}.global-actions{border-top:1px solid var(--border-subtle);justify-content:center;align-items:center;gap:6px;padding-top:14px;display:flex}.global-btn{font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:5px;padding:7px 11px;font-size:9px;font-weight:700;transition:all .2s;display:flex}.global-btn:disabled{opacity:.3;cursor:not-allowed;transform:none!important}.global-btn:not(:disabled):hover{transform:translateY(-1px)}.global-btn:not(:disabled):active{transform:scale(.97)}.global-btn-complete.memorize{color:var(--accent-memorize);background:#34d3990f;border-color:#34d39926}.global-btn-complete.memorize:not(:disabled):hover{background:#34d3991f;border-color:#34d3994d;box-shadow:0 4px 14px #34d3991f}.global-btn-complete.understand{color:var(--accent-understand);background:#818cf80f;border-color:#818cf826}.global-btn-complete.understand:not(:disabled):hover{background:#818cf81f;border-color:#818cf84d;box-shadow:0 4px 14px #818cf81f}.global-btn-revision{color:var(--accent-revision);background:#f59e0b0f;border-color:#f59e0b26}.global-btn-revision:not(:disabled):hover{background:#f59e0b1f;border-color:#f59e0b4d;box-shadow:0 4px 14px #f59e0b1f}.global-btn-undo{border-color:var(--border-subtle);color:var(--text-muted);background:#ffffff0a}.global-btn-undo:not(:disabled):hover{border-color:var(--border-hover);color:var(--text-secondary);background:#ffffff14}.action-buttons{gap:10px;display:flex;position:relative}.cancel-btn{border:1px solid var(--border-subtle);color:var(--text-muted);font-family:var(--font-outfit,"Outfit",sans-serif);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#0f0f1866;border-radius:12px;flex:1;padding:13px 16px;font-size:11px;font-weight:600;transition:all .2s}.cancel-btn:hover{border-color:var(--border-hover);color:var(--text-secondary)}.save-btn{font-family:var(--font-outfit,"Outfit",sans-serif);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:#0a0a0f;border:none;border-radius:12px;flex:1;padding:13px 16px;font-size:11px;font-weight:700;transition:all .3s}.save-btn.memorize{background:linear-gradient(135deg,#34d399,#059669);box-shadow:0 4px 20px #34d39940}.save-btn.memorize:hover{transform:translateY(-1px);box-shadow:0 6px 28px #34d39959}.save-btn.understand{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 4px 20px #818cf840}.save-btn.understand:hover{transform:translateY(-1px);box-shadow:0 6px 28px #818cf859}.char-popup-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.char-popup-title-area{align-items:center;gap:12px;display:flex}.char-popup-badge{font-family:var(--font-outfit,"Outfit",sans-serif);color:var(--accent-character);background:#c084fc1a;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:700;line-height:1}.char-popup-name{font-family:var(--font-outfit,"Outfit",sans-serif);color:var(--text-primary);letter-spacing:-.01em;font-size:18px;font-weight:800;line-height:1.2}.char-popup-meaning{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:2px;font-size:10px;font-weight:600}.char-divider{background:var(--border-subtle);height:1px;margin:0 -32px 20px}.char-question-section{margin-bottom:16px}.char-question-label{font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.2em;color:var(--accent-character);margin-bottom:8px;font-size:9px;font-weight:700}.char-question-text{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.5}.char-answer-section{margin-bottom:20px}.char-textarea{resize:vertical;border:1px solid var(--border-subtle);width:100%;min-height:110px;max-height:200px;color:var(--text-primary);font-family:var(--font-inter,"Inter",system-ui,sans-serif);background:#0f0f1880;border-radius:12px;outline:none;padding:14px 16px;font-size:13px;font-weight:400;line-height:1.6;transition:border-color .2s,background .2s}.char-textarea::placeholder{color:var(--text-muted);font-style:italic}.char-textarea:focus{border-color:#c084fc4d}.char-textarea.frozen{color:var(--text-secondary);cursor:default;resize:none;background:#0f0f1840;border-color:#c084fc1f}.char-action-row{justify-content:flex-end;margin-top:10px;display:flex}.char-done-btn{color:#0a0a0f;font-family:var(--font-outfit,"Outfit",sans-serif);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#c084fc,#a855f7);border:none;border-radius:10px;align-items:center;gap:6px;padding:9px 18px;font-size:10px;font-weight:700;transition:all .25s;display:flex;box-shadow:0 4px 16px #c084fc40}.char-done-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px #c084fc59}.char-done-btn.disabled{opacity:.3;cursor:not-allowed;box-shadow:none;transform:none}.char-edit-btn{color:var(--accent-character);font-family:var(--font-outfit,"Outfit",sans-serif);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#c084fc14;border:1px solid #c084fc26;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:10px;font-weight:700;transition:all .2s;display:flex}.char-edit-btn:hover{background:#c084fc24;border-color:#c084fc40}.char-commit-label{border:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;background:#0f0f1866;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:16px;transition:all .25s;display:flex}.char-commit-label:hover{border-color:#c084fc33}.char-commit-label.committed{background:#c084fc0f;border-color:#c084fc33}.char-check-box{border:2px solid var(--text-muted);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;transition:all .25s;display:flex}.char-check-box.checked{color:#0a0a0f;background:linear-gradient(135deg,#c084fc,#a855f7);border-color:#0000;box-shadow:0 2px 10px #c084fc4d}.char-commit-text{color:var(--text-secondary);font-size:13px;font-weight:500;line-height:1.5}.char-status-row{background:#c084fc0f;border:1px solid #c084fc1a;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px;display:flex}.char-status-row span{font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-character);font-size:10px;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:640px){.modal-content{margin:12px;padding:24px}.char-divider{margin-left:-24px;margin-right:-24px}.app-header-inner{padding:12px 16px}.main-content{padding:20px 16px}.verse-legend{flex-wrap:wrap;gap:10px}.selection-btns,.global-actions{flex-wrap:wrap}.sel-btn{padding:6px 10px;font-size:9px}.global-btn{padding:6px 9px;font-size:8px}}.header-right{align-items:center;gap:12px;display:flex}.overall-journey-container{border:1px solid var(--border-subtle);background:linear-gradient(145deg,#14142066,#0c0c1433);border-radius:20px;margin-bottom:32px;padding:24px;position:relative;overflow:hidden}.overall-journey-container:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 30%,#c9a96108 0%,#0000 40%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.journey-header{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.journey-title{font-family:var(--font-outfit,"Outfit",sans-serif);color:var(--text-primary);letter-spacing:-.02em;font-size:24px;font-weight:800}.journey-total-percent{text-align:right}.percent-val{font-family:var(--font-outfit,"Outfit",sans-serif);color:#c9a961;text-shadow:0 0 20px #c9a96133;font-size:32px;font-weight:800;line-height:1;display:block}.percent-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:10px;font-weight:700}.journey-grids{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.journey-stat-card{background:#ffffff05;border:1px solid #ffffff08;border-radius:14px;flex-direction:column;gap:8px;padding:16px;transition:all .3s;display:flex}.journey-stat-card:hover{background:#ffffff0a;border-color:#ffffff0f;transform:translateY(-2px)}.stat-label{font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;font-size:11px;font-weight:700;display:flex}.journey-stat-card.memorize .stat-label{color:var(--accent-memorize)}.journey-stat-card.understand .stat-label{color:var(--accent-understand)}.journey-stat-card.character .stat-label{color:var(--accent-character)}.stat-bar-bg{background:#ffffff0d;border-radius:99px;height:6px;overflow:hidden}.stat-bar-fill{border-radius:99px;height:100%;transition:width 1.2s cubic-bezier(.34,1.56,.64,1)}.journey-stat-card.memorize .stat-bar-fill{background:linear-gradient(90deg,var(--accent-memorize),#10b981);box-shadow:0 0 10px #34d3994d}.journey-stat-card.understand .stat-bar-fill{background:linear-gradient(90deg,var(--accent-understand),#6366f1);box-shadow:0 0 10px #818cf84d}.journey-stat-card.character .stat-bar-fill{background:linear-gradient(90deg,var(--accent-character),#8b5cf6);box-shadow:0 0 10px #c084fc4d}.stat-detail{color:var(--text-muted);font-size:10px;font-weight:500}@media (max-width:850px){.journey-grids{grid-template-columns:1fr;gap:12px}.journey-stat-card{padding:12px 14px}}@media (max-width:640px){.overall-journey-container{border-radius:16px;margin-bottom:24px;padding:20px}.journey-header{margin-bottom:20px}.journey-title{font-size:20px}.percent-val{font-size:28px}}.plan-btn{color:#c9a961;font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:#c9a9611a;border:1px solid #c9a96133;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.plan-btn:hover{background:#c9a96126;border-color:#c9a9614d;transform:translateY(-1px)}.plan-btn:active{transform:translateY(0)}.plan-modal{width:90%;max-width:500px;max-height:80vh;overflow-y:auto}.add-todo-section{gap:10px;margin-bottom:20px;display:flex}.add-todo-input{border:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-inter,"Inter",sans-serif);background:#0f0f1880;border-radius:10px;outline:none;flex:1;padding:12px 16px;font-size:14px;transition:all .2s}.add-todo-input:focus{background:#0f0f18cc;border-color:#c9a9614d}.add-todo-input::placeholder{color:var(--text-muted)}.add-todo-btn{color:#c9a961;font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:#c9a96126;border:1px solid #c9a9614d;border-radius:10px;align-items:center;gap:6px;padding:12px 18px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.add-todo-btn:hover:not(:disabled){background:#c9a96133;border-color:#c9a96166}.add-todo-btn:disabled{opacity:.4;cursor:not-allowed}.todo-list{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.empty-todo-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.empty-todo-state svg{margin-bottom:12px}.empty-todo-state p{font-size:14px}.todo-item{border:1px solid var(--border-subtle);background:#0f0f1880;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.todo-item:hover{border-color:var(--border-hover)}.todo-item.completed{opacity:.5}.todo-checkbox{border:2px solid var(--border-hover);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex}.todo-checkbox:hover{border-color:#c9a96166}.todo-checkbox.checked{background:#c9a96133;border-color:#c9a961}.todo-text{color:var(--text-primary);flex:1;font-size:14px;line-height:1.4}.todo-item.completed .todo-text{color:var(--text-muted);text-decoration:line-through}.todo-delete{width:28px;height:28px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.todo-item:hover .todo-delete{opacity:1}.todo-delete:hover{color:#ef4444;background:#ef44441a}@media (max-width:640px){.add-todo-section{flex-direction:column}.add-todo-btn{justify-content:center;width:100%}.todo-delete{opacity:1}}.modal-surah-id.plan{color:#c9a961;background:#c9a96126}.notes-section{margin-bottom:20px}.notes-header{color:var(--text-secondary);font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.notes-textarea{border:1px solid var(--border-subtle);width:100%;min-height:100px;color:var(--text-primary);font-family:var(--font-inter,"Inter",sans-serif);resize:vertical;background:#0f0f1880;border-radius:10px;outline:none;padding:14px 16px;font-size:14px;line-height:1.5;transition:all .2s}.notes-textarea:focus{background:#0f0f18cc;border-color:#c9a9614d}.notes-textarea::placeholder{color:var(--text-muted)}.markdown-editor-section{margin-bottom:20px}.editor-header{color:var(--text-secondary);font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.editor-hint{color:var(--text-muted);text-transform:none;letter-spacing:.02em;margin-left:auto;font-size:10px;font-weight:500}.markdown-textarea{border:1px solid var(--border-subtle);width:100%;min-height:400px;max-height:60vh;color:var(--text-primary);resize:vertical;background:#0f0f1880;border-radius:10px;outline:none;padding:16px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Droid Sans Mono,Source Code Pro,monospace;font-size:13px;line-height:1.6;transition:all .2s}.markdown-textarea:focus{background:#0f0f18cc;border-color:#c9a9614d}.markdown-textarea::placeholder{color:var(--text-muted);font-family:SF Mono,Monaco,Inconsolata,Fira Code,Droid Sans Mono,Source Code Pro,monospace}@media (max-width:640px){.markdown-textarea{min-height:300px;padding:14px;font-size:12px}.editor-hint{display:none}}.reference-section{margin-bottom:20px}.reference-header{color:var(--text-secondary);font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.reference-badge{color:#c9a961;text-transform:uppercase;letter-spacing:.05em;background:#c9a96126;border:1px solid #c9a9614d;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:9px;font-weight:700}.reference-content{background:#c9a9610d;border:1px solid #c9a96126;border-radius:10px;max-height:250px;padding:16px;overflow-y:auto}.reference-text{color:var(--text-primary);font-size:13px;line-height:1.6}.reference-text p{margin-bottom:10px}.reference-text p:last-child{margin-bottom:0}.reference-text h4{font-family:var(--font-outfit,"Outfit",sans-serif);text-transform:uppercase;letter-spacing:.1em;color:#c9a961;margin-top:16px;margin-bottom:8px;font-size:11px;font-weight:700}.reference-text h4:first-child{margin-top:0}.reference-text strong{color:#c9a961;font-weight:600}.reference-text ul,.reference-text ol{margin-bottom:10px;margin-left:20px}.reference-text li{margin-bottom:4px}.reference-divider{background:#c9a96133;height:1px;margin:12px 0}.reference-content::-webkit-scrollbar{width:4px}.reference-content::-webkit-scrollbar-track{background:0 0}.reference-content::-webkit-scrollbar-thumb{background:#c9a9614d;border-radius:99px}.reference-content::-webkit-scrollbar-thumb:hover{background:#c9a96166}@media (max-width:640px){.reference-content{max-height:200px;padding:14px}.reference-text{font-size:12px}}
