.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 10px 25px #0000001a;max-width:400px;width:90%;text-align:center}.login-header h1{color:#333;margin:0 0 .5rem;font-size:2rem;font-weight:600}.login-header p{color:#666;margin:0 0 1rem;font-size:1rem}.login-subtitle{color:#888!important;font-size:.9rem!important;margin-bottom:2rem!important}.login-content{margin-top:2rem}.apple-signin-button{background:#000;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:0;transition:background-color .2s ease}.apple-signin-button:hover{background:#333}.apple-signin-button:active{background:#555}.apple-signin-button:disabled{opacity:.6;cursor:not-allowed}.google-signin-button{background:#fff;color:#333;border:1px solid #dadce0;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:0;transition:all .2s ease}.google-signin-button:hover{background:#f8f9fa;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.google-signin-button:active{background:#e8eaed}.google-signin-button:disabled{opacity:.6;cursor:not-allowed}.signin-divider{color:#666;margin:1.5rem 0;font-size:14px;position:relative}.signin-divider:before,.signin-divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:#e0e0e0}.signin-divider:before{left:0}.signin-divider:after{right:0}.login-info{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}.login-info p{color:#888;font-size:.85rem;line-height:1.4;margin:0}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px;border-radius:4px;margin-bottom:1rem;font-size:14px;display:flex;align-items:center;justify-content:space-between}.error-message button{background:none;border:none;color:#c33;cursor:pointer;font-size:18px;line-height:1;padding:0;margin-left:8px}.problem-header{margin-top:0;margin-bottom:24px}.problem-header-section{margin-bottom:24px;padding:28px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 8px 32px #0000000a,0 2px 8px #00000005;position:relative;overflow:hidden}.problem-header-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4)}.problem-header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:16px}.problem-title{margin:0;font-size:22px;font-weight:700;color:#1e293b;flex:1;letter-spacing:-.025em;line-height:1.3}.difficulty-badge{padding:6px 12px;border-radius:20px;color:#fff;font-size:13px;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px #00000026;border:1px solid rgba(255,255,255,.2);text-transform:capitalize;letter-spacing:.025em}.problem-description{margin:0;color:#64748b;font-size:15px;font-weight:500;line-height:1.5;font-style:italic}.problem-content{color:#334155;line-height:1.7;margin-bottom:24px;background:linear-gradient(135deg,#fff,#f8fafc);padding:28px;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 8px 32px #0000000a,0 2px 8px #00000005;position:relative;overflow:hidden}.problem-content:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4)}.problem-content h1{font-size:26px;font-weight:700;margin:0 0 20px;color:#1e293b;letter-spacing:-.025em;border-bottom:2px solid #e2e8f0;padding-bottom:12px}.problem-content h2{font-size:22px;font-weight:700;margin:32px 0 16px;color:#3b82f6;letter-spacing:-.02em;position:relative}.problem-content h2:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:4px;height:20px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:2px}.problem-content h3{font-size:19px;font-weight:600;margin:24px 0 12px;color:#8b5cf6;letter-spacing:-.015em}.problem-content p{margin:0 0 16px;font-size:15px}.problem-content strong{color:#1e293b;font-weight:600;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:2px 4px;border-radius:4px}.problem-content em{color:#64748b;background:#94a3b81a;padding:1px 4px;border-radius:3px}.problem-content ul,.problem-content ol{margin:16px 0;padding-left:24px}.problem-content li{margin:8px 0;color:#475569;line-height:1.6}.problem-content li::marker{color:#94a3b8}.problem-content code{background:#64748b1a;padding:3px 6px;border-radius:4px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:13px;color:#374151;border:1px solid rgba(148,163,184,.2)}.problem-content pre{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:16px 20px;border-radius:8px;overflow-x:auto;margin:20px 0;border:1px solid #e2e8f0;box-shadow:0 2px 4px #00000005}.problem-content pre code{background:none;padding:0;border:none;color:#1e293b}.problem-content blockquote{margin:20px 0;padding:16px 20px;background:#3b82f60d;border-left:4px solid #3b82f6;border-radius:0 8px 8px 0;font-style:italic;color:#475569}.problem-content table{width:100%;border-collapse:collapse;margin:20px 0;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.problem-content th,.problem-content td{padding:12px 16px;text-align:left;border-bottom:1px solid #e2e8f0}.problem-content th{background:#f8fafc;font-weight:600;color:#374151}.problem-content tr:last-child td{border-bottom:none}@media (max-width: 768px){.problem-header-section{margin-bottom:20px;padding:20px;border-radius:12px}.problem-header-content{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:10px}.problem-title{font-size:20px;line-height:1.2}.difficulty-badge{padding:5px 10px;font-size:12px}.problem-description{font-size:14px}.problem-content{padding:20px;border-radius:12px;margin-bottom:20px}.problem-content h1{font-size:22px;margin-bottom:16px}.problem-content h2{font-size:20px;margin:28px 0 14px}.problem-content h2:before{left:-10px;width:3px;height:16px}.problem-content h3{font-size:17px;margin:20px 0 10px}.problem-content p{font-size:14px;margin-bottom:14px}.problem-content ul,.problem-content ol{padding-left:20px;margin:14px 0}.problem-content li{margin:6px 0}.problem-content code{font-size:12px;padding:2px 4px}.problem-content pre{padding:12px 16px;margin:16px 0;border-radius:6px}.problem-content blockquote{margin:16px 0;padding:12px 16px}.problem-content table{font-size:14px}.problem-content th,.problem-content td{padding:8px 12px}}.analysis-section{margin-top:32px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;padding:28px;border:1px solid #e2e8f0;box-shadow:0 8px 32px #0000000a,0 2px 8px #00000005;position:relative;overflow:hidden}.analysis-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4)}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.analysis-title{display:flex;align-items:center;gap:12px}.analysis-icon{width:40px;height:40px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #3b82f64d}.analysis-header h3{margin:0;font-size:20px;font-weight:700;color:#1e293b;letter-spacing:-.025em}.analysis-timestamp{font-size:12px;color:#64748b;background:#94a3b81a;padding:6px 12px;border-radius:20px;border:1px solid rgba(148,163,184,.2);font-weight:500}.analysis-content{display:flex;flex-direction:column;gap:24px}.transcription-section,.ai-analysis-section{background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px;border-radius:12px;border:1px solid rgba(148,163,184,.15);box-shadow:0 4px 16px #00000005;transition:all .3s ease}.transcription-section:hover,.ai-analysis-section:hover{background:#ffffffe6;border-color:#3b82f633;transform:translateY(-1px);box-shadow:0 8px 24px #0000000f}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.section-icon{width:32px;height:32px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#475569;border:1px solid rgba(148,163,184,.2)}.section-icon.ai-icon{background:linear-gradient(135deg,#8b5cf6,#a855f7);color:#fff;box-shadow:0 2px 8px #8b5cf64d}.section-header h4{margin:0;font-size:16px;font-weight:600;color:#334155;letter-spacing:-.01em}.transcription-content{position:relative;padding:20px 0}.quote-mark{position:absolute;font-size:48px;font-family:Georgia,serif;color:#cbd5e1;line-height:1;top:-8px;left:-8px;-webkit-user-select:none;user-select:none}.quote-mark.closing{top:auto;bottom:-24px;right:-8px;left:auto}.transcription-text{margin:0;font-size:15px;color:#475569;line-height:1.7;font-style:italic;padding:0 16px;text-align:left;position:relative;z-index:1}.analysis-text{color:#334155;line-height:1.8;font-size:16px;letter-spacing:.01em}.analysis-text p{margin:0 0 20px;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.analysis-text p:last-child{margin-bottom:0}.analysis-text p:first-child{font-size:17px;font-weight:500;color:#1e293b;margin-bottom:24px;padding:16px 20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-left:4px solid #0ea5e9;border-radius:0 8px 8px 0}.analysis-text strong{color:#1e293b;font-weight:700}.analysis-text em{color:#64748b;background:#94a3b81a;padding:1px 4px;border-radius:3px}.analysis-text h1,.analysis-text h2,.analysis-text h3{color:#1e293b;font-weight:700;margin:32px 0 16px;letter-spacing:-.025em;line-height:1.3}.analysis-text h1{font-size:22px;border-bottom:3px solid #e2e8f0;margin-top:40px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:16px 20px 12px;margin-left:-20px;margin-right:-20px;border-radius:8px;border-bottom:3px solid #3b82f6}.analysis-text h2{font-size:19px;color:#3b82f6;position:relative;padding-left:16px;margin-top:28px}.analysis-text h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:20px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:2px}.analysis-text h3{font-size:17px;color:#8b5cf6;margin-top:24px}.analysis-text ol,.analysis-text ul{margin:20px 0;background:#f8fafc80;border-radius:8px;padding:16px 16px 16px 40px;border:1px solid rgba(148,163,184,.1)}.analysis-text li{margin:12px 0;color:#475569;line-height:1.7;font-size:15px;position:relative}.analysis-text li::marker{color:#3b82f6;font-weight:600}.analysis-text ul li,.analysis-text ol li{padding-left:8px}.analysis-text li+li{margin-top:16px}.analysis-text blockquote{margin:24px 0;padding:20px 24px;background:linear-gradient(135deg,#3b82f614,#8b5cf60d);border-left:4px solid #3b82f6;border-radius:0 12px 12px 0;font-style:italic;color:#475569;box-shadow:0 2px 8px #3b82f61a;position:relative;line-height:1.7;font-size:15px}.analysis-text blockquote:before{content:'"';position:absolute;top:8px;left:12px;font-size:32px;color:#3b82f6;opacity:.3;font-family:Georgia,serif}.analysis-text code{background:linear-gradient(135deg,#64748b1f,#94a3b814);padding:4px 8px;border-radius:6px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:14px;color:#374151;border:1px solid rgba(148,163,184,.2);font-weight:500}@media (max-width: 768px){.analysis-section{margin-top:24px;padding:20px;border-radius:12px}.analysis-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.analysis-title{gap:8px}.analysis-icon{width:36px;height:36px}.analysis-header h3{font-size:18px}.analysis-content{gap:20px}.transcription-section,.ai-analysis-section{padding:16px;border-radius:10px}.section-icon{width:28px;height:28px}.section-header h4{font-size:15px}.quote-mark{font-size:36px}.transcription-text{font-size:14px}.analysis-text{font-size:15px;line-height:1.7}.analysis-text p:first-child{font-size:16px;padding:12px 16px;margin-left:-16px;margin-right:-16px}.analysis-text h1{font-size:20px;margin-left:-16px;margin-right:-16px;padding:12px 16px 8px}.analysis-text h2{font-size:18px;padding-left:12px}.analysis-text h3{font-size:16px}.analysis-text ol,.analysis-text ul{padding:12px 12px 12px 32px;margin:16px 0}.analysis-text li{font-size:14px;margin:10px 0}.analysis-text blockquote{margin:20px 0;padding:16px 20px;font-size:14px}.analysis-text code{font-size:13px;padding:3px 6px}.analysis-text h2{font-size:16px}.analysis-text h3{font-size:15px}}.problem-picker{padding:20px;height:100%;overflow-y:auto}.problem-picker-title{font-size:24px;font-weight:600;color:#1f2937;margin-bottom:24px;text-align:center}.problem-cards{display:flex;flex-direction:column;gap:16px}.problem-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .4s ease-in-out;box-shadow:0 1px 3px #0000001a}.problem-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.problem-card:focus{outline:2px solid #3b82f6;outline-offset:2px}.problem-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.problem-card-title{font-size:18px;font-weight:600;color:#1f2937;margin:0;flex:1}.problem-card-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0}@media (max-width: 768px){.problem-picker,.problem-card{padding:16px}.problem-card-header{flex-direction:column;align-items:flex-start;gap:8px}.problem-card-title{font-size:16px}}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0;padding-bottom:8px}.app-title{display:flex;align-items:center;gap:8px}.app-title h1{margin:0;font-size:20px;font-weight:600;color:#1e293b;line-height:1.2;letter-spacing:-.025em}.back-button-header{width:32px;height:32px;background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:8px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.back-button-header:hover{background:#f1f5f9;color:#475569;border-color:#cbd5e1;transform:translate(-1px)}.back-button-header:active{transform:translate(0);background:#e2e8f0}.back-button-header:focus{outline:2px solid #3b82f6;outline-offset:2px}.user-section{display:flex;align-items:center;gap:12px}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;letter-spacing:.025em;box-shadow:0 2px 4px #3b82f633}.logout-button{width:32px;height:32px;background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:8px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.logout-button:hover{background:#f1f5f9;color:#475569;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.logout-button:active{transform:translateY(0);box-shadow:0 1px 2px #0000000d}.logout-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.problem-drawer{height:100vh;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-left:1px solid #e2e8f0;box-shadow:-4px 0 16px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;flex-shrink:0;position:relative;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.problem-drawer.closed{width:20px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);box-shadow:-2px 0 8px #0000000a}.drawer-header{padding:16px 20px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#ffffffe6,#f8fafce6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.problem-drawer.closed .drawer-header{border-bottom:none}.problem-drawer.closed .drawer-content{display:none}.drawer-content{padding:20px;height:calc(100vh - 100px);overflow-y:auto;overflow-x:hidden}.drawer-content::-webkit-scrollbar{width:6px}.drawer-content::-webkit-scrollbar-track{background:transparent}.drawer-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.drawer-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.drawer-toggle{position:absolute;right:calc(var(--drawer-width) - 20px);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:50%;width:44px;height:44px;cursor:pointer;color:#64748b;font-size:16px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;z-index:1002;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.drawer-toggle:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#475569;box-shadow:0 6px 16px #0000001f,0 3px 6px #00000014;transform:translateY(-50%) scale(1.05)}.toggle-arrow{transition:transform .3s cubic-bezier(.4,0,.2,1);width:18px;height:18px}.toggle-arrow.open{transform:rotate(180deg)}.record-button-container{position:fixed;bottom:80px;right:80px;z-index:1000;display:flex;align-items:center;gap:12px}.record-button{width:64px;height:64px;border-radius:50%;border:none;background-color:#e74c3c;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .3s ease}.record-button:hover:not(.disabled){background-color:#c0392b;transform:scale(1.05);box-shadow:0 6px 16px #0003}.record-button.disabled{background-color:#95a5a6;cursor:not-allowed;opacity:.6}.record-button.disabled:hover{background-color:#95a5a6;transform:none;box-shadow:0 4px 12px #00000026}.record-button.recording{background-color:#e74c3c;animation:pulse 1.5s infinite}.record-button.recording svg{animation:blink 1s infinite}@keyframes pulse{0%{box-shadow:0 4px 12px #e74c3c66}50%{box-shadow:0 4px 20px #e74c3ccc}to{box-shadow:0 4px 12px #e74c3c66}}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.recording-duration{background-color:#000c;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;font-family:monospace;min-width:60px;text-align:center}.processing-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;margin:20px 0;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000d}.processing-spinner{margin-bottom:20px}.spinner-ring{display:inline-block;position:relative;width:64px;height:64px}.spinner-ring div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid #3b82f6;border-radius:50%;animation:spinner-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#3b82f6 transparent transparent transparent}.spinner-ring div:nth-child(1){animation-delay:-.45s}.spinner-ring div:nth-child(2){animation-delay:-.3s}.spinner-ring div:nth-child(3){animation-delay:-.15s}@keyframes spinner-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-message{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:8px;line-height:1.4}.processing-details{font-size:14px;color:#64748b;font-weight:500;opacity:.8}.processing-indicator{animation:processing-breathe 2s ease-in-out infinite alternate}@keyframes processing-breathe{0%{box-shadow:0 4px 12px #0000000d}to{box-shadow:0 6px 16px #3b82f61a}}.processing-indicator-compact{position:fixed;bottom:160px;right:80px;display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50px;border:1px solid rgba(59,130,246,.2);box-shadow:0 8px 32px #0000001a;z-index:1001;animation:compact-fade-in .3s ease-out}.processing-spinner-compact{display:flex;align-items:center;justify-content:center}.spinner-ring-compact{display:inline-block;position:relative;width:20px;height:20px}.spinner-ring-compact div{box-sizing:border-box;display:block;position:absolute;width:16px;height:16px;margin:2px;border:2px solid #3b82f6;border-radius:50%;animation:spinner-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#3b82f6 transparent transparent transparent}.spinner-ring-compact div:nth-child(1){animation-delay:-.45s}.spinner-ring-compact div:nth-child(2){animation-delay:-.3s}.spinner-ring-compact div:nth-child(3){animation-delay:-.15s}.processing-text-compact{font-size:14px;font-weight:500;color:#1e293b;white-space:nowrap}@keyframes compact-fade-in{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.canvas-container{display:flex;flex-direction:row;height:100vh;width:100%;position:relative;--drawer-width: 420px}.canvas-container.drawer-closed{--drawer-width: 20px}.excalidraw-wrapper{flex:1 1 0%;width:auto;height:100%;min-width:0}.resize-handle{position:absolute;right:var(--drawer-width);top:0;width:4px;height:100vh;background:linear-gradient(90deg,transparent 0%,#e2e8f0 50%,transparent 100%);cursor:ew-resize;z-index:1001;transition:background .2s ease}.resize-handle:hover{background:linear-gradient(90deg,transparent 0%,#3b82f6 50%,transparent 100%);width:6px;right:calc(var(--drawer-width) + 1px)}.resize-handle:active{background:linear-gradient(90deg,transparent 0%,#1d4ed8 50%,transparent 100%)}.donation-container{position:fixed;bottom:20px;right:20px;z-index:1100}.donation-button{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:none;background:#111827;color:#fff;cursor:pointer;box-shadow:0 6px 18px #0003;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.donation-button:hover{transform:translateY(-1px);background:#0b1220;box-shadow:0 8px 22px #00000040}.donation-icon{color:#ef4444}.donation-text{font-weight:600;font-size:14px}@media (max-width: 640px){.donation-container{bottom:16px;right:16px}.donation-button{padding:9px 12px}}.App{height:100vh;display:flex;flex-direction:column}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.loading-spinner{color:#fff;font-size:1.2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100vw;height:100vh;display:flex;flex-direction:column}
