@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{background:#0d0d0f;min-height:100vh;margin:0;padding:0}#root{min-height:100vh}.navbar{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-dim);background:#0d0d0fe0;position:sticky;top:0}.navbar-inner{align-items:center;gap:40px;max-width:1120px;height:60px;margin:0 auto;padding:0 40px;display:flex}.nav-links{flex:1;align-items:center;gap:32px;display:flex}.nav-links a{color:var(--text-secondary);font-size:14px;font-weight:400}.nav-links a:hover{color:var(--text)}.nav-links a:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:2px}.navbar-actions{align-items:center;gap:8px;display:flex}.avatar-menu{align-items:center;gap:10px;display:flex;position:relative}.avatar-username{color:var(--text-secondary);white-space:nowrap;font-size:13px}.avatar-btn{border:1px solid var(--border);background:var(--bg-elevated);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex}.avatar-btn:hover{border-color:var(--amber);color:var(--amber)}.avatar-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.avatar-btn:active{opacity:.85}.avatar-dropdown{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-md);z-index:200;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.avatar-dropdown-header{color:var(--text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;padding:10px 14px;font-size:13px;font-weight:600;overflow:hidden}.avatar-dropdown-divider{background:var(--border);height:1px}.avatar-dropdown-item{width:100%;font-family:var(--font-body);color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;padding:9px 14px;font-size:13px;font-weight:400;display:block}.avatar-dropdown-item:hover{background:var(--bg-raised);color:var(--text)}.avatar-dropdown-item:focus-visible{outline:2px solid var(--amber);outline-offset:-2px;border-radius:2px}.avatar-dropdown-item:active{opacity:.8}.avatar-dropdown-item--danger{color:#f87171}.avatar-dropdown-item--danger:hover{color:#ef4444;background:#f8717114}.confirm-overlay{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:calc(100% - 32px);max-width:400px;padding:28px 28px 24px;box-shadow:0 16px 48px #00000080}.confirm-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-bottom:10px;font-size:20px;font-weight:400}.confirm-body{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.65}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-delete-btn{color:#fff;background:#ef4444;border:1px solid #0000;box-shadow:0 2px 8px #ef444440}.confirm-delete-btn:hover{background:#dc2626}.confirm-delete-btn:focus-visible{outline-offset:2px;outline:2px solid #ef4444}.confirm-delete-btn:active{background:#b91c1c}.confirm-delete-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=900px){.nav-links{display:none}}@media (width<=600px){.navbar-inner{padding:0 20px}}.hero{border-bottom:1px solid var(--border-dim);background:radial-gradient(80% 60% at 50% -10%,#2dd4bf12 0%,#0000 70%);padding:96px 0 64px}.hero-inner{text-align:center;flex-direction:column;align-items:center;max-width:1120px;margin:0 auto;padding:0 40px;display:flex}.hero-badge{letter-spacing:.04em;color:var(--amber);background:var(--amber-glow);border:1px solid #2dd4bf38;border-radius:100px;align-items:center;margin-bottom:24px;padding:5px 14px;font-size:12px;font-weight:500;display:inline-flex}.hero-heading{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);margin-bottom:24px;font-size:clamp(48px,7.5vw,84px);font-weight:400;line-height:1.06}.hero-sub{color:var(--text-secondary);max-width:560px;margin-bottom:40px;font-size:18px;line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:64px;display:flex}.hero-card-demo{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:680px;display:flex}.demo-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:180px;box-shadow:var(--shadow-md);flex:1;padding:24px 28px}.demo-card-secondary{background:var(--bg-elevated)}.demo-card-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:500}.demo-card-value{font-family:var(--font-display);color:var(--text);margin-bottom:10px;font-size:28px;line-height:1.1}.demo-card-bar{background:var(--border);border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden}.demo-card-bar-fill{background:var(--amber);border-radius:2px;height:100%}.demo-card-meta{color:var(--text-secondary);font-size:12px}.demo-dots{gap:6px;margin-top:8px;display:flex}.dot{background:var(--border);border:1px solid var(--border);border-radius:50%;width:8px;height:8px}.dot-filled{background:var(--amber);border-color:var(--amber)}@media (width<=600px){.hero-card-demo{flex-direction:column}.hero-inner{padding:0 20px}}.features{border-bottom:1px solid var(--border-dim);padding:96px 0}.features-grid{background:var(--border-dim);border:1px solid var(--border-dim);border-radius:var(--radius-lg);grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.feature-card{background:var(--bg-raised);padding:32px}.feature-card:hover{background:var(--bg-elevated)}.feature-icon{color:var(--amber);margin-bottom:16px;font-size:20px;line-height:1}.feature-title{color:var(--text);letter-spacing:-.01em;margin-bottom:8px;font-size:16px;font-weight:600}.feature-desc{color:var(--text-secondary);font-size:14px;line-height:1.65}@media (width<=900px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.features-grid{grid-template-columns:1fr}}.footer{background:var(--bg-raised);border-top:1px solid var(--border-dim);padding:64px 0 40px}.footer-inner{align-items:flex-start;gap:80px;max-width:1120px;margin:0 auto 48px;padding:0 40px;display:flex}.footer-brand{flex:1.5}.footer-tagline{color:var(--text-muted);max-width:260px;margin-top:8px;font-size:13px;line-height:1.6}.footer-links{gap:64px;display:flex}.footer-col-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px;font-size:11px;font-weight:600}.footer-col ul{flex-direction:column;gap:10px;display:flex}.footer-col a{color:var(--text-secondary);font-size:13px}.footer-col a:hover{color:var(--text)}.footer-bottom{border-top:1px solid var(--border-dim);max-width:1120px;color:var(--text-muted);margin:0 auto;padding:16px 40px;font-size:12px}@media (width<=900px){.footer-inner{flex-direction:column;gap:40px}}@media (width<=600px){.footer-links{flex-direction:column;gap:32px}.footer-inner{padding:0 20px}.footer-bottom{padding:16px 20px}}.how-it-works{border-bottom:1px solid var(--border-dim);background:var(--bg-raised);padding:96px 0}.steps-grid{grid-template-columns:repeat(3,1fr);gap:48px;display:grid;position:relative}.step-num{color:var(--amber);letter-spacing:.02em;background:var(--amber-glow);border:1px solid #2dd4bf33;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:20px;font-size:13px;font-weight:600;display:inline-flex}.step-title{color:var(--text);letter-spacing:-.01em;margin-bottom:10px;font-size:18px;font-weight:600}.step-desc{color:var(--text-secondary);font-size:14px;line-height:1.7}.stats{border-bottom:1px solid var(--border-dim);padding:64px 0}.stats-grid{background:var(--border-dim);border:1px solid var(--border-dim);border-radius:var(--radius-lg);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.stat-item{background:var(--bg-raised);text-align:center;padding:40px 32px}.stat-value{font-family:var(--font-display);color:var(--amber);letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(32px,4vw,48px);line-height:1.1}.stat-label{color:var(--text-secondary);font-size:13px;line-height:1.4}.cta-section{border-bottom:1px solid var(--border-dim);padding:96px 0}.cta-box{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;padding:80px 64px;position:relative;overflow:hidden}.cta-box:before{content:"";pointer-events:none;background:radial-gradient(60% 50% at 50% 0,#2dd4bf0f 0%,#0000 70%);position:absolute;inset:0}.cta-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-bottom:16px;font-size:clamp(28px,4vw,44px);font-weight:400;position:relative}.cta-sub{color:var(--text-secondary);max-width:480px;margin:0 auto 40px;font-size:17px;line-height:1.65;position:relative}.cta-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex;position:relative}@media (width<=900px){.stats-grid{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:1fr;gap:40px}}@media (width<=600px){.cta-box{padding:48px 24px}}.signup-page{justify-content:center;align-items:center;min-height:calc(100vh - 60px);padding:64px 20px;display:flex;position:relative;overflow:hidden}.signup-bg-glow{pointer-events:none;background:radial-gradient(70% 50% at 50% -5%,#2dd4bf17 0%,#0000 65%),radial-gradient(40% 40% at 80% 80%,#2dd4bf0a 0%,#0000 60%);position:absolute;inset:0}.signup-container{z-index:1;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:440px;display:flex;position:relative}.signup-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md), 0 0 0 1px #2dd4bf0a inset;padding:40px}.signup-card-header{text-align:center;margin-bottom:32px}.signup-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-bottom:10px;font-size:clamp(26px,4vw,34px);font-weight:400;line-height:1.1}.signup-sub{color:var(--text-secondary);font-size:15px;line-height:1.6}.signup-form{flex-direction:column;gap:18px;display:flex}.form-field{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);letter-spacing:.01em;font-size:13px;font-weight:500}.form-input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font-body);outline:none;padding:10px 14px;font-size:14px}.form-input::placeholder{color:var(--text-muted)}.form-input:hover{border-color:#353545}.form-input:focus{border-color:var(--amber);box-shadow:0 0 0 3px #2dd4bf1a}.form-error{color:#e53e3e;text-align:center;margin-bottom:.75rem;font-size:.875rem}.signup-submit{border-radius:var(--radius-sm);justify-content:center;width:100%;margin-top:4px;padding:12px 20px;font-size:15px}.signup-divider{color:var(--text-muted);align-items:center;gap:12px;margin:24px 0 16px;font-size:12px;display:flex}.signup-divider:before,.signup-divider:after{content:"";background:var(--border-dim);flex:1;height:1px}.signup-login-btn{justify-content:center;width:100%}.signup-back{cursor:pointer;font-family:var(--font-body);color:var(--text-muted);background:0 0;border:none;padding:0;font-size:13px}.signup-back:hover{color:var(--text-secondary)}.signup-success{text-align:center;padding:16px 0 8px}.signup-success-icon{background:var(--amber-glow);width:48px;height:48px;color:var(--amber);border:1px solid #2dd4bf40;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:20px;display:flex}.signup-success-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-bottom:10px;font-size:26px;font-weight:400}.signup-success-sub{color:var(--text-secondary);font-size:14px;line-height:1.65}.signup-success-sub strong{color:var(--text);font-weight:500}.decks-page{background:radial-gradient(80% 60% at 50% -10%,#2dd4bf0d 0%,#0000 70%);min-height:calc(100vh - 60px);padding:64px 0}.decks-inner{max-width:1120px;margin:0 auto;padding:0 40px}.decks-header{margin-bottom:48px}.decks-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.decks-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-bottom:8px;font-size:clamp(28px,4vw,40px);font-weight:400}.decks-sub{color:var(--text-secondary);font-size:15px;line-height:1.7}.decks-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.deck-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px}.deck-card:hover{background:var(--bg-elevated);border-color:var(--amber-dim);box-shadow:var(--shadow-amber)}.deck-card:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.deck-card-name{color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;margin-bottom:8px;font-size:18px;font-weight:600;display:flex}.deck-card-shared-icon{color:var(--amber);cursor:help;align-items:center;display:inline-flex}.deck-card-count{color:var(--amber);margin-bottom:4px;font-size:14px}.deck-card-date{color:var(--text-muted);font-size:12px}.deck-card-owner{color:var(--text-secondary);margin-top:2px;font-size:13px}.deck-card-stats{gap:16px;margin-top:12px;display:flex}.deck-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.deck-stat-value{font-size:18px;font-weight:600;line-height:1}.deck-stat-label{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.deck-stat--new .deck-stat-value{color:#3b82f6}.deck-stat--new .deck-stat-label{color:#60a5fa}.deck-stat--learn .deck-stat-value{color:#f59e0b}.deck-stat--learn .deck-stat-label{color:#fbbf24}.deck-stat--due .deck-stat-value{color:#10b981}.deck-stat--due .deck-stat-label{color:#34d399}.deck-card-actions{border-top:1px solid var(--border-dim);align-items:stretch;gap:8px;margin-top:16px;padding-top:12px;display:flex}.deck-card-actions>*{text-align:center;flex:1 1 0;justify-content:center;min-width:0}.deck-stack-btn{flex-direction:column;gap:0;line-height:1.15}.visibility-toggle--public{color:var(--amber)!important}.visibility-toggle--public:hover{color:var(--amber-dim)!important}.form-success{color:var(--amber);text-align:center;margin-bottom:.75rem;font-size:.875rem}button.deck-delete-btn{margin-left:auto;color:#f87171!important}button.deck-delete-btn:hover{background:#f8717114;color:#ef4444!important}.copy-deck-btn{font-size:13px;font-weight:500;font-family:var(--font-body);color:var(--amber);border:1px solid var(--amber-dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;margin-top:12px;padding:6px 14px;transition:background .15s,border-color .15s;display:inline-block}.copy-deck-btn:hover{border-color:var(--amber);background:#2dd4bf1a}.copy-deck-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.copy-deck-btn:active{background:#2dd4bf26}.decks-empty{text-align:center;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:80px 20px}.decks-empty-icon{color:var(--amber);margin-bottom:16px;font-size:32px}.decks-empty-heading{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:24px;font-weight:400}.decks-empty-sub{color:var(--text-secondary);font-size:15px;line-height:1.7}.decks-empty-cta{margin-top:24px}.decks-loading,.decks-error{text-align:center;color:var(--text-secondary);padding:96px 0;font-size:15px}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-md), 0 0 0 1px #2dd4bf0a inset;padding:40px}.modal-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);text-align:center;margin-bottom:24px;font-size:24px;font-weight:400}.modal-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.share-recipients{margin-bottom:24px}.share-recipients-heading{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:10px;font-size:13px;font-weight:500}.share-recipients-empty{color:var(--text-muted);padding:10px 0;font-size:14px}.share-recipients-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);max-height:180px;margin:0;padding:0;list-style:none;overflow-y:auto}.share-recipient-row{border-bottom:1px solid var(--border-dim);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.share-recipient-row:last-child{border-bottom:none}.share-recipient-name{color:var(--text);font-size:14px}.share-recipient-remove{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;background:0 0;padding:4px 10px;font-size:12px;transition:color .12s,border-color .12s,background .12s}.share-recipient-remove:hover:not(:disabled){color:#f87171;background:#f8717114;border-color:#f87171}.share-recipient-remove:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.share-recipient-remove:disabled{opacity:.5;cursor:not-allowed}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.toggle-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.toggle-track{background:var(--border);border-radius:11px;flex-shrink:0;width:40px;height:22px;position:relative}.toggle-track--on{background:var(--amber)}.toggle-thumb{background:var(--text);border-radius:50%;width:18px;height:18px;position:absolute;top:2px;left:2px;transform:translate(0)}.toggle-track--on .toggle-thumb{background:#0d0d0f;transform:translate(18px)}.toggle-hidden:focus-visible+.toggle-row .toggle-track{outline:2px solid var(--amber);outline-offset:2px}.toggle-row:has(.toggle-hidden:focus-visible) .toggle-track{outline:2px solid var(--amber);outline-offset:2px}@media (width<=600px){.decks-inner{padding:0 20px}.decks-grid{grid-template-columns:1fr}}.edit-cards-page{background:radial-gradient(80% 60% at 50% -10%,#2dd4bf0d 0%,#0000 70%);min-height:calc(100vh - 60px);padding:64px 0}.edit-cards-inner{max-width:720px;margin:0 auto;padding:0 40px}.edit-cards-header{margin-bottom:40px}.edit-cards-back-btn{color:var(--text-secondary);cursor:pointer;font-size:14px;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:16px;padding:6px 0;display:inline-flex}.edit-cards-back-btn:hover{color:var(--amber)}.edit-cards-back-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.edit-cards-deck-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-bottom:6px;font-size:clamp(24px,3.5vw,32px);font-weight:400}.edit-cards-card-count{color:var(--text-secondary);font-size:14px}.edit-cards-list{flex-direction:column;gap:16px;display:flex}.edit-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px 32px}.edit-card-number{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:12px;font-weight:500}.edit-card-question{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin-bottom:16px;font-size:clamp(17px,2.5vw,20px);font-weight:400;line-height:1.4}.edit-card-divider{background:var(--border);width:40px;height:1px;margin-bottom:16px}.edit-card-answer{font-family:var(--font-body);color:var(--text-secondary);font-size:15px;line-height:1.7}.edit-card-actions{border-top:1px solid var(--border);gap:8px;margin-top:20px;padding-top:16px;display:flex}.edit-card-delete-btn{color:#ef4444!important}.edit-card-delete-btn:hover{background:#ef444414!important}.edit-cards-empty{text-align:center;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:80px 20px}.edit-cards-empty-icon{color:var(--amber);margin-bottom:16px;font-size:32px}.edit-cards-empty-heading{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:24px;font-weight:400}.edit-cards-empty-sub{color:var(--text-secondary);font-size:15px;line-height:1.7}.edit-cards-loading,.edit-cards-error{text-align:center;color:var(--text-secondary);padding:96px 0;font-size:15px}.edit-card-modal{max-width:560px!important}.edit-card-modal .form-field{margin-bottom:20px}.edit-card-modal .form-field:last-of-type{margin-bottom:0}.edit-card-section-label{font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:14px;font-weight:500}.media-manage{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:8px;padding:12px}.media-manage-current{align-items:center;gap:12px;margin-bottom:8px;display:flex}.media-manage-current .media-content{max-width:120px;margin:0}.media-manage-current .media-image{border-radius:4px;max-height:80px}.media-manage-current .media-audio{width:160px}.media-manage-filename{color:var(--text-secondary);word-break:break-all;flex:1;font-size:13px}.media-manage-actions{flex-wrap:wrap;gap:8px;display:flex}.media-manage-actions .btn{padding:4px 10px;font-size:13px}.media-manage-pending{color:var(--text-secondary);align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.media-manage-pending-name{word-break:break-all;flex:1}.media-manage-removed{color:#ef4444;margin-top:4px;font-size:13px;font-style:italic}.media-file-label{color:var(--amber);cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.media-file-label:hover{border-color:var(--amber)}.media-file-input{display:none}@media (width<=600px){.edit-cards-inner{padding:0 20px}.edit-card{padding:24px 20px}.edit-card-modal{padding:28px 20px!important}}.study-page{background:radial-gradient(80% 60% at 50% -10%,#2dd4bf0d 0%,#0000 70%);min-height:calc(100vh - 60px);padding:64px 0}.study-inner{max-width:720px;margin:0 auto;padding:0 40px}.study-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:40px;display:flex}.study-back-btn{color:var(--text-secondary);cursor:pointer;font-size:14px;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;display:inline-flex}.study-back-btn:hover{color:var(--amber)}.study-back-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.study-deck-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:clamp(24px,3.5vw,32px);font-weight:400}.study-stats{gap:16px;display:flex}.study-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.study-stat-value{font-size:18px;font-weight:600;line-height:1}.study-stat-label{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.study-stat--new .study-stat-value{color:#3b82f6}.study-stat--new .study-stat-label{color:#60a5fa}.study-stat--learn .study-stat-value{color:#f59e0b}.study-stat--learn .study-stat-label{color:#fbbf24}.study-stat--due .study-stat-value{color:#10b981}.study-stat--due .study-stat-label{color:#34d399}.study-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md), 0 0 0 1px #2dd4bf0a inset;text-align:center;padding:48px 40px}.study-progress{color:var(--text-muted);margin-bottom:32px;font-size:13px}.study-card-top{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.study-card-top .study-progress{margin-bottom:0}.study-edit-btn{font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:13px;font-weight:500}.study-edit-btn:hover{color:var(--amber)}.study-edit-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.study-question-text{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin-bottom:32px;font-size:clamp(20px,3vw,28px);font-weight:400;line-height:1.4}.study-divider{background:var(--border);width:60px;height:1px;margin:0 auto 32px}.study-answer-text{font-family:var(--font-body);color:var(--text-secondary);margin-bottom:32px;font-size:17px;line-height:1.7}.study-show-btn{width:100%;font-size:16px;font-weight:500;font-family:var(--font-body);color:#0d0d0f;background:var(--amber);border-radius:var(--radius-md);cursor:pointer;border:none;padding:14px 28px;box-shadow:0 2px 12px #2dd4bf40}.study-show-btn:hover{background:var(--amber-dim);transform:translateY(-1px);box-shadow:0 4px 20px #2dd4bf4d}.study-show-btn:active{transform:translateY(0)}.study-show-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.study-rating-buttons{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.study-rating-btn{font-size:14px;font-weight:600;font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.study-rating-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.study-rating-btn:disabled{opacity:.5;cursor:not-allowed}.study-rating-btn--again{color:#f87171;border-color:#f871714d}.study-rating-btn--again:hover:not(:disabled){background:#f871711a;border-color:#f87171}.study-rating-btn--again:active:not(:disabled){background:#f8717133}.study-rating-btn--hard{color:#f59e0b;border-color:#f59e0b4d}.study-rating-btn--hard:hover:not(:disabled){background:#f59e0b1a;border-color:#f59e0b}.study-rating-btn--hard:active:not(:disabled){background:#f59e0b33}.study-rating-btn--good{color:#10b981;border-color:#10b9814d}.study-rating-btn--good:hover:not(:disabled){background:#10b9811a;border-color:#10b981}.study-rating-btn--good:active:not(:disabled){background:#10b98133}.study-rating-btn--easy{color:#3b82f6;border-color:#3b82f64d}.study-rating-btn--easy:hover:not(:disabled){background:#3b82f61a;border-color:#3b82f6}.study-rating-btn--easy:active:not(:disabled){background:#3b82f633}.study-rating-diff{opacity:.75;letter-spacing:.02em;font-size:11px;font-weight:500}.study-rating-subtitle{opacity:.7;margin-top:2px;font-size:11px;font-weight:400;display:block}.study-done{text-align:center;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:80px 20px}.study-done-icon{margin-bottom:16px;font-size:48px}.study-done-heading{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:24px;font-weight:400}.study-done-sub{color:var(--text-secondary);margin-bottom:24px;font-size:15px;line-height:1.7}.study-add-toggle{color:var(--amber);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font-body);background:0 0;border:1px solid #2dd4bf40;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.study-add-toggle:hover{border-color:var(--amber);background:#2dd4bf14}.study-add-toggle:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.study-add-form{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:24px;padding:24px}.study-add-form h3{font-family:var(--font-display);color:var(--text);margin-bottom:16px;font-size:18px;font-weight:400}.study-add-fields{flex-direction:column;gap:12px;display:flex}.study-add-input{width:100%;font-size:14px;font-family:var(--font-body);color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px}.study-add-input:focus{border-color:var(--amber);outline:none;box-shadow:0 0 0 2px #2dd4bf26}.study-add-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.study-add-file{align-items:center;gap:8px;display:flex}.study-add-file-label{font-size:13px;font-family:var(--font-body);color:var(--text-muted);background:var(--bg-elevated);border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;padding:8px 14px;overflow:hidden}.study-add-file-label:hover{border-color:var(--amber);color:var(--text-secondary)}.study-add-file-input{display:none}.study-add-file-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.study-add-file-clear:hover{color:#f87171}.study-add-file-preview{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:-4px;padding:10px 12px}.study-add-file-preview .media-content{max-width:100%;margin:0}.study-add-file-preview .media-image{border-radius:4px;max-height:140px;display:block}.study-add-file-preview .media-audio{width:100%}.media-image{border-radius:var(--radius-md);max-width:100%;margin-left:auto;margin-right:auto;display:block}.study-loading,.study-error{text-align:center;color:var(--text-secondary);padding:96px 0;font-size:15px}@media (width<=600px){.study-inner{padding:0 20px}.study-card{padding:32px 24px}.study-rating-buttons{grid-template-columns:repeat(2,1fr)}.study-header{flex-direction:column;align-items:flex-start}}.settings-page{background:radial-gradient(80% 60% at 50% -10%,#2dd4bf0d 0%,#0000 70%);min-height:calc(100vh - 60px);padding:64px 0}.settings-inner{max-width:640px;margin:0 auto;padding:0 40px}.settings-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-bottom:8px;font-size:clamp(28px,4vw,40px);font-weight:400}.settings-sub{color:var(--text-secondary);margin-bottom:48px;font-size:15px;line-height:1.7}.settings-section{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px}.settings-section-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin-bottom:8px;font-size:20px;font-weight:400}.settings-section-desc{color:var(--text-secondary);margin-bottom:20px;font-size:14px;line-height:1.7}.settings-field{margin-bottom:20px}.settings-label{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:500;display:block}.settings-field-help{color:var(--text-muted);margin-bottom:10px;font-size:13px;line-height:1.5}.settings-input{width:120px;font-family:var(--font-body);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:8px 12px;font-size:14px;transition:border-color .15s;display:block}.settings-input:hover{border-color:var(--amber-dim)}.settings-input:focus{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber-glow)}.settings-save-row{align-items:center;gap:12px;display:flex}.settings-save-msg{color:var(--amber);font-size:13px}.settings-section--danger{border-color:#f8717133}.settings-section--danger .settings-section-title{color:#f87171}.settings-delete-btn{font-family:var(--font-body);color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#ef4444;border:1px solid #0000;align-items:center;gap:8px;padding:9px 18px;font-size:14px;font-weight:500;transition:background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 8px #ef444440}.settings-delete-btn:hover{background:#dc2626;box-shadow:0 4px 16px #ef44444d}.settings-delete-btn:focus-visible{outline-offset:2px;outline:2px solid #ef4444}.settings-delete-btn:active{background:#b91c1c}.settings-delete-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=600px){.settings-inner{padding:0 20px}}.preview-page{background:radial-gradient(80% 60% at 50% -10%,#2dd4bf0d 0%,#0000 70%);min-height:calc(100vh - 60px);padding:64px 0}.preview-inner{max-width:720px;margin:0 auto;padding:0 40px}.preview-header{margin-bottom:40px}.preview-back-btn{color:var(--text-secondary);cursor:pointer;font-size:14px;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:16px;padding:6px 0;display:inline-flex}.preview-back-btn:hover{color:var(--amber)}.preview-back-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.preview-deck-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-bottom:6px;font-size:clamp(24px,3.5vw,32px);font-weight:400}.preview-card-count{color:var(--text-secondary);font-size:14px}.preview-list{flex-direction:column;gap:16px;display:flex}.preview-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px 32px}.preview-card-number{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:12px;font-weight:500}.preview-card-question{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin-bottom:16px;font-size:clamp(17px,2.5vw,20px);font-weight:400;line-height:1.4}.preview-card-divider{background:var(--border);width:40px;height:1px;margin-bottom:16px}.preview-card-answer{font-family:var(--font-body);color:var(--text-secondary);font-size:15px;line-height:1.7}.media-content{margin-top:12px;margin-bottom:12px}.media-image{border-radius:var(--radius-md);max-width:100%;display:block}.media-audio{width:100%;display:block}.preview-empty{text-align:center;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:80px 20px}.preview-empty-icon{color:var(--amber);margin-bottom:16px;font-size:32px}.preview-empty-heading{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:24px;font-weight:400}.preview-empty-sub{color:var(--text-secondary);font-size:15px;line-height:1.7}.preview-loading,.preview-error{text-align:center;color:var(--text-secondary);padding:96px 0;font-size:15px}@media (width<=600px){.preview-inner{padding:0 20px}.preview-card{padding:24px 20px}}:root{--bg:#0d0d0f;--bg-raised:#131317;--bg-elevated:#1a1a21;--border:#252530;--border-dim:#1e1e28;--amber:#2dd4bf;--amber-dim:#14b8a6;--amber-glow:#2dd4bf1f;--text:#f0ede8;--text-secondary:#9996a0;--text-muted:#5c5968;--font-display:"DM Serif Display", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--shadow-sm:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000080, 0 1px 4px #0000004d;--shadow-amber:0 4px 24px #2dd4bf26, 0 1px 4px #2dd4bf14;--radius-sm:6px;--radius-md:10px;--radius-lg:16px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}ul{list-style:none}.app{min-height:100vh}.section-inner{max-width:1120px;margin:0 auto;padding:0 40px}.section-header{text-align:center;margin-bottom:64px}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--amber);background:var(--amber-glow);border:1px solid #2dd4bf33;border-radius:100px;margin-bottom:16px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-block}.section-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-bottom:16px;font-size:clamp(28px,4vw,40px);font-weight:400;line-height:1.2}.section-sub{color:var(--text-secondary);max-width:540px;margin:0 auto;font-size:17px;line-height:1.7}.btn{font-family:var(--font-body);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex}.btn-lg{border-radius:var(--radius-md);padding:13px 28px;font-size:15px}.btn-sm{padding:7px 14px;font-size:13px}.btn-primary{background:var(--amber);color:#0d0d0f;box-shadow:var(--shadow-amber)}.btn-primary:hover{background:var(--amber-dim)}.btn-primary:active{background:#0f766e}.btn-primary:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--text)}.btn-ghost:focus-visible{outline:2px solid var(--border);outline-offset:2px}.btn-outline{color:var(--text);border-color:var(--border);background:0 0}.btn-outline:hover{border-color:var(--amber);color:var(--amber)}.btn-outline:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.logo{flex-shrink:0;align-items:center;gap:9px;display:flex}.logo-mark{color:var(--amber);font-size:20px;line-height:1}.logo-text{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:600}.logo-btn{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.accent{color:var(--amber)}@media (width<=600px){.section-inner{padding:0 20px}}
