:root{--text:#4f5f73;--text-h:#172033;--bg:#f6f8fc;--border:#2231471f;--code-bg:#eef3f9;--accent:#2563eb;--accent-bg:#1a8fff24;--accent-border:#1a8fff9e;--social-bg:#ffffffdb;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--body-bg:linear-gradient(180deg, #fff 0%, #f8fbff 50%, #f0f7ff 100%);--glass-bg:#ffffffa6;--glass-border:#fff6;--glass-shadow:0 8px 32px 0 #1f268712;--glass-blur:blur(12px);--glass-text:#172033;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#a0aec0;--text-h:#e2e8f0;--bg:#0f172a;--border:#ffffff1a;--code-bg:#1e293b;--accent:#8b5cf6;--accent-bg:#8b5cf626;--accent-border:#8b5cf680;--social-bg:#0f172adb;--shadow:#0009 0 10px 15px -3px, #0006 0 4px 6px -2px;--body-bg:linear-gradient(180deg, #020617 0%, #0f172a 50%, #1e293b 100%);--glass-bg:#0f172aa6;--glass-border:#ffffff1a;--glass-shadow:0 8px 32px 0 #0000005e;--glass-blur:blur(12px);--glass-text:#e2e8f0}#social .button-icon{filter:none}}body{background:var(--body-bg,var(--bg));width:100%;max-width:100%;margin:0;overflow-x:hidden}html{width:100%;max-width:100%;overflow-x:hidden}*,:before,:after{box-sizing:border-box}#root{text-align:center;box-sizing:border-box;border-inline:1px solid #22314714;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex;overflow-x:hidden}.idle-background{z-index:0;pointer-events:none;background:radial-gradient(circle at 72% 16%,#2563eb1a,#0000 19rem),radial-gradient(circle at 24% 78%,#18794e0e,#0000 17rem),linear-gradient(90deg,#2231470b 1px,#0000 1px) 0 0/68px 68px,linear-gradient(#2231470a 1px,#0000 1px) 0 0/68px 68px;position:fixed;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0 78%,#0000 100%);mask-image:linear-gradient(#000 0 78%,#0000 100%)}.idle-background~*{z-index:1;position:relative}.scan-processing-orbit{background:#ffffffd1;border:2px solid #2563eb33;border-radius:999px;flex:none;width:58px;height:58px;position:relative;overflow:hidden;box-shadow:0 14px 32px #2563eb29}.scan-processing-orbit:before{content:"";border-radius:inherit;border:3px solid #0000;border-top-color:#2563eb;border-right-color:#2563eb66;animation:.9s linear infinite scan-processing-spin;position:absolute;inset:-2px}.scan-processing-orbit:after{content:"";background:linear-gradient(90deg,#0000,#2563ebeb,#0000);border-radius:999px;height:3px;animation:1.2s ease-in-out infinite scan-processing-line;position:absolute;top:50%;left:11px;right:11px;box-shadow:0 0 18px #2563eb6b}.scan-processing-core{opacity:.88;background:linear-gradient(90deg,#2563eb 0 32%,#0000 32% 40%,#18794e 40% 68%,#0000 68% 76%,#f59e0b 76% 100%);border-radius:8px;position:absolute;inset:17px}@keyframes scan-processing-spin{to{rotate:360deg}}@keyframes scan-processing-line{0%,to{opacity:.42;translate:0 -16px}50%{opacity:1;translate:0 16px}}.scan-laser-line{background:#2563eb;width:100%;height:2px;animation:2s ease-in-out infinite alternate scan-laser-move;position:absolute;top:0;left:0;box-shadow:0 0 15px 4px #2563eb80}@keyframes scan-laser-move{0%{transform:translateY(0)}to{transform:translateY(198px)}}.idle-background:before{content:"";background:conic-gradient(from 120deg at 50% 50%, transparent 0 24%, #2563eb21, transparent 42% 100%), radial-gradient(circle at 28% 74%, #18794e0f, transparent 18rem), radial-gradient(circle at 82% 66%, #f59e0b0e, transparent 16rem);filter:blur(4px);animation:22s linear infinite idle-orbit;position:absolute;inset:-20%}.idle-background:after{content:"";background:linear-gradient(115deg,#0000 0 42%,#2563eb0e 48%,#0000 56% 100%);animation:8s ease-in-out infinite idle-reader-sweep;position:absolute;inset:0;transform:translate(-60%)}.idle-book,.idle-scan,.idle-star,.idle-burst,.gravity-dot,.gravity-line{display:block;position:absolute}.gravity-dot{opacity:.86;border-radius:999px;width:10px;height:10px;animation:11s ease-in-out infinite gravity-drift;transform:translate(0,0)}.gravity-dot:after{content:"";border-radius:inherit;opacity:.12;filter:blur(2px);background:currentColor;position:absolute;inset:-9px}.gravity-dot-blue{color:#2563eb;background:#2563eb;box-shadow:0 0 28px #2563eb8c}.gravity-dot-green{color:#18794e;background:#18794e;box-shadow:0 0 26px #18794e7a}.gravity-dot-yellow{color:#f59e0b;background:#f59e0b;box-shadow:0 0 24px #f59e0b75}.gravity-dot-red{color:#dc2626;background:#dc2626;box-shadow:0 0 24px #dc26266b}.gravity-dot-one{top:16%;left:12%}.gravity-dot-two{animation-delay:-2s;top:29%;left:29%}.gravity-dot-three{animation-delay:-3.6s;top:17%;right:27%}.gravity-dot-four{animation-delay:-4.8s;top:36%;right:12%}.gravity-dot-five{animation-delay:-5.7s;bottom:25%;left:17%}.gravity-dot-six{animation-delay:-7.2s;bottom:17%;left:45%}.gravity-dot-seven{animation-delay:-8.4s;bottom:25%;right:24%}.gravity-dot-eight{animation-delay:-9.4s;bottom:12%;right:8%}.gravity-line{transform-origin:0;opacity:.46;filter:drop-shadow(0 0 12px #2563eb38);background:linear-gradient(90deg,#0000,#2563eb47,#ffffff9e,#0000);width:min(32vw,360px);height:1px;animation:8s ease-in-out infinite gravity-line-pulse}.gravity-line-one{top:18%;left:13%;rotate:18deg}.gravity-line-two{animation-delay:-2.2s;top:32%;left:32%;rotate:-14deg}.gravity-line-three{animation-delay:-4.1s;bottom:25%;left:18%;rotate:-11deg}.gravity-line-four{animation-delay:-5.8s;bottom:21%;right:7%;rotate:21deg}.idle-book{opacity:.42;pointer-events:auto;cursor:default;touch-action:manipulation;border-radius:4px 9px 9px 4px;width:34px;height:48px;animation:10s ease-in-out infinite idle-float;box-shadow:inset 6px 0 #ffffff38,0 14px 40px #2563eb2e}.saved-files-art{transition:transform .18s,border-color .18s,box-shadow .18s;transform:translateZ(0)}.saved-files-art.is-active{transform:translateY(-2px)scale(1.06)rotate(-2deg);border-color:#f59e0bb8!important;box-shadow:0 0 0 4px #f59e0b24,0 18px 42px #2563eb4d!important}.saved-files-art.is-active span{animation:.52s saved-art-pop}.idle-book:active{filter:brightness(1.3)}.idle-book:after{content:"";background:#ffffff80;border-radius:999px;width:3px;height:30px;position:absolute;top:8px;left:12px}.idle-book-blue{background:linear-gradient(135deg,#2563eb,#1d4ed8);top:17%;left:9%;transform:rotate(-10deg)}.idle-book-green{background:linear-gradient(135deg,#18794e,#a7d7b8);animation-delay:-2s;top:26%;right:11%;transform:rotate(8deg)}.idle-book-yellow{background:linear-gradient(135deg,#f59e0b,#92400e);animation-delay:-4s;bottom:16%;left:18%;transform:rotate(11deg)}.idle-book-red{background:linear-gradient(135deg,#dc2626,#b91c1c);animation-delay:-6s;bottom:11%;right:18%;transform:rotate(-7deg)}.idle-scan{background:linear-gradient(90deg,#0000,#2563ebb8,#0000);border-radius:999px;width:34vw;max-width:420px;height:2px;animation:7s ease-in-out infinite idle-scanline;box-shadow:0 0 24px #2563eb47}.idle-scan-one{top:38%;left:8%}.idle-scan-two{animation-delay:-3s;top:61%;right:5%}.idle-star{background:#2563eb;border-radius:999px;width:8px;height:8px;animation:3.4s ease-in-out infinite idle-pulse;box-shadow:0 0 20px #2563ebbd}.idle-star-one{top:14%;left:34%}.idle-star-two{background:#92400e;animation-delay:-1s;top:46%;right:28%}.idle-star-three{background:#a7d7b8;animation-delay:-2s;bottom:18%;left:48%}.idle-burst{pointer-events:none;border:1px solid var(--burst-color);background:radial-gradient(circle, var(--burst-color), transparent 64%);width:12px;height:12px;box-shadow:0 0 26px var(--burst-color), 0 0 42px #2563eb52;border-radius:999px;animation:.88s ease-out forwards idle-burst;translate:-50% -50%}.idle-burst:before,.idle-burst:after{content:"";background:linear-gradient(90deg, transparent, var(--burst-color), transparent);border-radius:999px;width:58px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.idle-burst:after{transform:translate(-50%,-50%)rotate(90deg)}@keyframes idle-orbit{to{transform:rotate(1turn)}}@keyframes idle-reader-sweep{0%,to{opacity:0;transform:translate(-62%)}35%,62%{opacity:1}72%{opacity:0;transform:translate(62%)}}@keyframes idle-float{0%,to{translate:0}50%{translate:0 -18px}}@keyframes idle-scanline{0%,to{opacity:.18;transform:translate(-16px)}50%{opacity:.82;transform:translate(32px)}}@keyframes idle-pulse{0%,to{opacity:.28;scale:.8}50%{opacity:.9;scale:1.35}}@keyframes idle-burst{0%{opacity:.95;scale:.45}65%{opacity:.72;scale:3.2}to{opacity:0;scale:4.8}}@keyframes saved-art-pop{0%,to{transform:translateY(0)rotate(0)}42%{transform:translateY(-6px)rotate(5deg)}}@keyframes gravity-drift{0%,to{translate:0;scale:.9}35%{translate:22px -16px;scale:1.15}70%{translate:-14px 18px;scale:.78}}@keyframes gravity-line-pulse{0%,to{opacity:.12;scale:.88 1}50%{opacity:.46;scale:1.08 1}}.scan-laser-line{z-index:10;background:#2563eb;width:100%;height:2px;animation:2s ease-in-out infinite alternate scan-laser;position:absolute;top:0;left:0;box-shadow:0 0 15px 2px #2563ebcc,0 0 30px 4px #2563eb66}@keyframes scan-laser{0%{transform:translateY(0)}to{transform:translateY(200px)}}@media (width<=640px){.saved-file-item{grid-template-columns:1fr!important}.saved-file-actions{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))!important}.saved-file-actions button{width:100%}.idle-book{opacity:.42;width:24px;height:36px}.idle-scan{width:56vw}.gravity-line{width:44vw}.gravity-dot{opacity:.62}}@media (prefers-reduced-motion:reduce){.idle-background:before,.idle-background:after,.idle-book,.idle-scan,.idle-star,.idle-burst,.gravity-dot,.gravity-line,.scan-processing-orbit:before,.scan-processing-orbit:after{animation:none}}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:0;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.book-card{animation:.48s cubic-bezier(.22,1,.36,1) both card-reveal;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,opacity .36s,translate .36s cubic-bezier(.22,1,.36,1)!important}.book-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px #1f2d3d29!important}.book-card:active{transition-duration:80ms!important;transform:scale(.97)translateY(-1px)!important}@keyframes card-reveal{0%{opacity:0;translate:0 28px}to{opacity:1;translate:0}}@keyframes fade-slide-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.greeting-enter{animation:.5s cubic-bezier(.22,1,.36,1) both fade-slide-down}.scan-buttons-enter{animation:.5s cubic-bezier(.22,1,.36,1) .15s both fade-slide-up}.book-card:first-child{animation-delay:0s}.book-card:nth-child(2){animation-delay:60ms}.book-card:nth-child(3){animation-delay:.12s}.book-card:nth-child(4){animation-delay:.18s}.book-card:nth-child(5){animation-delay:.24s}.book-card:nth-child(6){animation-delay:.3s}.book-card:nth-child(7){animation-delay:.36s}.book-card:nth-child(8){animation-delay:.4s}.book-card:nth-child(9){animation-delay:.44s}.book-card:nth-child(10){animation-delay:.48s}.book-card:nth-child(11){animation-delay:.52s}.book-card:nth-child(12){animation-delay:.56s}.btn-press{transition:transform .1s,box-shadow .1s!important}.btn-press:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2563eb47!important}.btn-press:active{transition-duration:60ms!important;transform:scale(.96)!important;box-shadow:0 2px 8px #2563eb2e!important}.camera-btn-pulse{animation:2s ease-in-out infinite camera-idle-pulse}@keyframes camera-idle-pulse{0%,to{transform:scale(1);box-shadow:0 4px 18px #2563eb59}50%{transform:scale(1.04);box-shadow:0 4px 48px #2563ebd9,0 0 0 10px #2563eb1f}}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,#e2e8f0cc 25%,#f8fafce6 50%,#e2e8f0cc 75%) 0 0/200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{background:#f8fafce6;border:1.5px solid #22314714;border-radius:12px;flex-direction:column;gap:10px;padding:16px;animation:.4s both card-reveal;display:flex}@media (prefers-reduced-motion:reduce){.book-card,.btn-press,.camera-btn-pulse,.skeleton,.skeleton-card{transition:none!important;animation:none!important}}.playful-loader-container{flex-direction:column;justify-content:center;align-items:center;width:100%;padding:24px 0 12px;display:flex;position:relative}.playful-bookshelf{border-bottom:6px solid #4f46e5;border-radius:4px;justify-content:space-around;align-items:flex-end;width:180px;height:90px;margin-bottom:16px;padding:0 16px;display:flex;position:relative}.playful-book{transform-origin:bottom;border-radius:4px 4px 0 0;width:26px;position:relative}.book-left{background:linear-gradient(135deg,#3b82f6,#1d4ed8);height:65px;animation:2s ease-in-out infinite book-bounce-left}.book-middle{background:linear-gradient(135deg,#10b981,#047857);height:75px;animation:2s ease-in-out infinite book-bounce-middle}.book-right{background:linear-gradient(135deg,#f59e0b,#b45309);height:60px;animation:2s ease-in-out infinite book-bounce-right}.page-flip{transform-origin:0;background:#fff6;border-radius:2px 2px 0 0;width:20px;height:65px;animation:1s ease-in-out infinite alternate page-flip-anim;position:absolute;top:5px;right:2px}@keyframes book-bounce-left{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-12px)rotate(-8deg)}50%{transform:translateY(0)rotate(0)}}@keyframes book-bounce-middle{0%,to{transform:translateY(0)scaleY(1)}40%{transform:translateY(-16px)scaleY(1.05)}80%{transform:translateY(0)scaleY(1)}}@keyframes book-bounce-right{0%,to{transform:translateY(0)rotate(0)}60%{transform:translateY(-10px)rotate(8deg)}80%{transform:translateY(0)rotate(0)}}@keyframes page-flip-anim{0%{opacity:.8;transform:rotateY(0)}to{opacity:0;transform:rotateY(-130deg)}}.floating-sparkles{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.sparkle{opacity:0;font-size:16px;animation:3s linear infinite float-sparkle;position:absolute}.star-1{font-size:18px;animation-delay:0s;top:60%;left:15%}.star-2{animation-delay:.8s;top:40%;left:30%}.star-3{font-size:20px;animation-delay:1.5s;top:30%;left:50%}.star-4{animation-delay:.4s;top:50%;left:70%}.star-5{font-size:18px;animation-delay:1.2s;top:70%;left:85%}@keyframes float-sparkle{0%{opacity:0;transform:translateY(30px)scale(.5)rotate(0)}50%{opacity:1}to{opacity:0;transform:translateY(-80px)scale(1.2)rotate(360deg)}}:root[data-theme=classic-blue]{--accent:#0284c7;--accent-bg:#0284c71a;--accent-border:#0284c780;--bg:#f8fbff;--text-h:#0c4a6e;--text:#0369a1;--social-bg:#ffffffeb;--code-bg:#f0f7ff;--border:#0284c71a;--body-bg:linear-gradient(180deg, #fff 0%, #f8fbff 50%, #f0f7ff 100%)}:root[data-theme=dark]{--text:#cbd5e1;--text-h:#fff;--bg:#090d16;--border:#ffffff1a;--code-bg:#1e293b;--accent:#3b82f6;--accent-bg:#3b82f62e;--accent-border:#3b82f699;--social-bg:#111827;--body-bg:#090d16}:root[data-theme=sunset]{--accent:#f97316;--accent-bg:#f973161a;--accent-border:#f9731680;--bg:#fffdf8;--text-h:#7c2d12;--text:#9a3412;--social-bg:#ffffffeb;--code-bg:#fff8ed;--border:#f973161a;--body-bg:linear-gradient(180deg, #fff 0%, #fffdf8 50%, #fff8ed 100%)}:root[data-theme=forest]{--accent:#22c55e;--accent-bg:#22c55e1a;--accent-border:#22c55e80;--bg:#f8fef9;--text-h:#14532d;--text:#166534;--social-bg:#ffffffeb;--code-bg:#f0fdf4;--border:#22c55e1a;--body-bg:linear-gradient(180deg, #fff 0%, #f8fef9 50%, #f0fdf4 100%)}:root[data-theme=lavender]{--accent:#ec4899;--accent-bg:#ec48991a;--accent-border:#ec489980;--bg:#fefafc;--text-h:#701a75;--text:#86198f;--social-bg:#ffffffeb;--code-bg:#fdf2f8;--border:#ec48991a;--body-bg:linear-gradient(180deg, #fff 0%, #fefafc 50%, #fdf2f8 100%)}:root[data-theme=ocean]{--accent:#06b6d4;--accent-bg:#06b6d41a;--accent-border:#06b6d480;--bg:#f8fefe;--text-h:#083344;--text:#155e75;--social-bg:#ffffffeb;--code-bg:#f0fdfa;--border:#06b6d41a;--body-bg:linear-gradient(180deg, #fff 0%, #f8fefe 50%, #f0fdfa 100%)}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%,-40px)}to{opacity:1;transform:translate(-50%)}}.chatbox-container{bottom:calc(96px + env(safe-area-inset-bottom));z-index:1300;font-family:Google Sans Flex,Google Sans,system-ui,sans-serif;position:fixed;right:max(20px,50vw - 480px)}.chatbox-fab{background:var(--accent,#4f46e5);color:#fff;cursor:pointer;border:none;border-radius:24px;padding:12px 20px;font-size:16px;font-weight:600;transition:transform .2s;box-shadow:0 4px 12px #00000026}.chatbox-fab:hover{transform:scale(1.05)}.chatbox-window{background:var(--bg,#fff);border:1px solid var(--border,#e2e8f0);border-radius:16px;flex-direction:column;width:320px;height:450px;display:flex;overflow:hidden;box-shadow:0 8px 24px #00000026}.chatbox-header{background:var(--accent,#4f46e5);color:#fff;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.chatbox-header h3{margin:0;font-size:16px}.chatbox-header button{color:#fff;cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1}.chatbox-messages{background:var(--bg,#fff);flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chatbox-message{max-width:85%;display:flex}.chatbox-message.user{align-self:flex-end}.chatbox-message.model{align-self:flex-start}.chatbox-bubble{word-wrap:break-word;border-radius:16px;padding:10px 14px;font-size:14px;line-height:1.4}.chatbox-message.user .chatbox-bubble{background:var(--accent,#4f46e5);color:#fff;border-bottom-right-radius:4px}.chatbox-message.model .chatbox-bubble{background:var(--secondary-bg,#f1f5f9);color:var(--text,#1e293b);border-bottom-left-radius:4px}.chatbox-bubble.typing{opacity:.7;font-style:italic}.chatbox-input{background:var(--bg,#fff);border-top:1px solid var(--border,#e2e8f0);gap:8px;padding:12px;display:flex}.chatbox-input input{border:1px solid var(--border,#e2e8f0);background:var(--bg,#fff);color:var(--text,#1e293b);border-radius:20px;outline:none;flex:1;padding:10px 14px;font-size:14px}.chatbox-input input:focus{border-color:var(--accent,#4f46e5)}.chatbox-input button.chatbox-send-button{background:var(--accent,#4f46e5);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex}.chatbox-input button.chatbox-send-button:disabled{opacity:.5;cursor:not-allowed}.chatbox-input button.chatbox-mic-button{color:var(--text,#1e293b);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:all .2s;display:flex}.chatbox-input button.chatbox-mic-button:hover{background:var(--secondary-bg,#f1f5f9)}.chatbox-input button.chatbox-mic-button.listening{color:red;animation:1.5s infinite pulse}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}
