:root{--bg-primary: #f6f2e8;--bg-warm: #faf7ee;--title-red: #9e1a1a;--title-red-glow: rgba(158, 26, 26, .15);--text-dark: #232220;--text-muted: #78756f;--dock-bg: rgba(255, 255, 255, .65);--dock-border: rgba(0, 0, 0, .08);--dock-shadow: 0 10px 30px -5px rgba(40, 30, 20, .08), 0 2px 6px rgba(0, 0, 0, .04);--font-pixel: "Pixelify Sans", "Silkscreen", monospace;--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-smooth: cubic-bezier(.16, 1, .3, 1)}body.dark-mode{--bg-primary: #121214;--bg-warm: #121214;--title-red: #ff4d4d;--title-red-glow: rgba(255, 77, 77, .25);--text-dark: #f0f0f0;--text-muted: #999999;--dock-bg: rgba(30, 30, 35, .7);--dock-border: rgba(255, 255, 255, .08);--dock-shadow: 0 10px 30px -5px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .3)}.theme-toggle{color:var(--text-muted)}.theme-toggle:hover{color:var(--text-dark)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--bg-warm);color:var(--text-dark);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:none;-webkit-tap-highlight-color:transparent}.paper-grain-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.04;background-image:radial-gradient(#000 1px,transparent 1px);background-size:4px 4px;z-index:99;will-change:transform;contain:strict}.hero-header{position:absolute;top:8vh;left:5vw;z-index:10;pointer-events:auto;transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column;align-items:center;text-align:center}.hero-header.dimmed{opacity:0;pointer-events:none;transform:translateY(-10px)}.hero-title{font-family:var(--font-pixel);font-size:clamp(2rem,5.2vw,4.2rem);font-weight:700;letter-spacing:-.02em;color:var(--title-red);line-height:1.1;text-shadow:0 2px 10px var(--title-red-glow);cursor:default}.hero-subtitle{font-family:var(--font-sans);font-size:clamp(.85rem,1.2vw,1.05rem);font-weight:400;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.5rem}.canvas-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;cursor:grab}.canvas-container:active{cursor:grabbing}.canvas-container.pointer-zoomable{cursor:pointer}.glass-panel{background:linear-gradient(-171deg,#ffffff7a,#ffffff2e);backdrop-filter:blur(6px) saturate(160%);-webkit-backdrop-filter:blur(6px) saturate(160%);backdrop-filter:url(#glass-dispersion);-webkit-backdrop-filter:url(#glass-dispersion);border:1px solid rgba(255,255,255,.45);box-shadow:inset 0 1px 1.5px #ffffffbf,inset 0 -1px 1px #ffffff26,0 16px 36px -4px #281e141f,0 2px 6px #0000000a;border-radius:16px;color:var(--text-dark)}.glass-panel-simple{background:linear-gradient(135deg,#ffffff40,#ffffff14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);border-radius:16px;color:var(--text-dark)}body.dark-mode .glass-panel{background:linear-gradient(-171deg,#ffffff1f,#ffffff05);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 1px #ffffff59,inset 0 -1px 1px #ffffff0d,0 25px 45px #00000080,0 2px 8px #0000004d;color:var(--text-dark)}body.dark-mode .glass-panel-simple{background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid rgba(255,255,255,.1);color:var(--text-dark)}.project-hud{position:absolute;top:3.5vh;left:5vw;z-index:20;display:flex;align-items:center;gap:1rem;opacity:1;transform:translateY(0);transition:all .4s var(--transition-smooth)}.project-hud.hidden{opacity:0;pointer-events:none;transform:translateY(-15px)}.zoom-out-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.65rem 1.15rem;border-radius:9999px;color:var(--text-dark);font-family:var(--font-sans);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.zoom-out-btn:hover{background:linear-gradient(-171deg,#ffffffb3,#ffffff4d);border-color:#fffc;box-shadow:inset 0 1px 2px #ffffffe6,inset 0 -1px 1px #fff3,0 18px 40px -4px #281e1426,0 2px 6px #0000000a;transform:translate(-3px)}body.dark-mode .zoom-out-btn:hover{background:linear-gradient(-171deg,#ffffff2e,#ffffff0d);border-color:#ffffff40;box-shadow:inset 0 1px 1.5px #ffffff73,inset 0 -1px 1px #ffffff1a,0 25px 45px #0009}.zoom-out-btn kbd{font-size:.72rem;padding:.15rem .45rem;background:#0000000f;border-radius:4px;font-family:monospace;color:var(--text-muted)}body.dark-mode .zoom-out-btn kbd{background:#ffffff1a;color:var(--text-dark)}.project-info-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.6rem 1.15rem;border-radius:9999px;font-size:.84rem;font-weight:500;color:var(--text-dark);transition:all .3s cubic-bezier(.16,1,.3,1)}.badge-dot{width:7px;height:7px;border-radius:50%;background:var(--title-red);box-shadow:0 0 6px var(--title-red)}.badge-sep{opacity:.35;margin:0 .15rem}.badge-hint{opacity:.8;font-size:.78rem;color:var(--text-muted)}.hint-control-group{position:absolute;bottom:4vh;left:5vw;z-index:25;display:flex;align-items:center;gap:.75rem;pointer-events:auto;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.hint-control-group.init-hidden,.hint-control-group.hidden{opacity:0!important;pointer-events:none!important;transform:translateY(14px)}.info-hint-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.45);color:var(--text-dark);cursor:pointer;background:linear-gradient(-171deg,#ffffff8c,#fff3);box-shadow:inset 0 1px 1.5px #ffffffbf,inset 0 -1px 1px #ffffff26,0 10px 24px -4px #281e141a,0 2px 6px #0000000a;transition:all .25s cubic-bezier(.16,1,.3,1);flex-shrink:0;outline:none}.info-hint-btn:hover{transform:scale(1.08);background:linear-gradient(-171deg,#ffffffbf,#ffffff59);border-color:#ffffffd9;box-shadow:inset 0 1px 2px #fffffff2,0 14px 28px -4px #281e1429}.info-hint-btn:active{transform:scale(.94)}.info-hint-btn.active{background:linear-gradient(-171deg,#ffffffd9,#ffffff73);border-color:var(--title-red);color:var(--title-red);box-shadow:0 0 14px var(--title-red-glow),inset 0 1px 2px #ffffffe6}body.dark-mode .info-hint-btn{background:linear-gradient(-171deg,#ffffff1f,#ffffff08);border-color:#ffffff29;box-shadow:inset 0 1px 1px #ffffff59,0 12px 25px #00000080;color:var(--text-dark)}body.dark-mode .info-hint-btn:hover{background:linear-gradient(-171deg,#ffffff38,#ffffff14);border-color:#ffffff59;box-shadow:inset 0 1px 1.5px #ffffff73,0 16px 30px #000000b3}body.dark-mode .info-hint-btn.active{border-color:var(--title-red);color:var(--title-red);box-shadow:0 0 16px var(--title-red-glow)}.scroll-hint-container{position:absolute;left:0;top:50%;z-index:1;display:flex;align-items:center;gap:.75rem;padding:.45rem .95rem;border-radius:9999px;color:var(--text-dark);font-size:.82rem;letter-spacing:.02em;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transform-origin:18px center;transform:translateY(-50%) translate(0) scale(.35);filter:blur(5px);transition:transform .45s cubic-bezier(.42,0,.58,1),opacity .4s cubic-bezier(.42,0,.58,1),filter .4s cubic-bezier(.42,0,.58,1),visibility .45s}.scroll-hint-container.visible{opacity:.95;visibility:visible;transform:translateY(-50%) translate(46px) scale(1);filter:blur(0px);pointer-events:auto}.bottom-dock.init-hidden{opacity:0!important;pointer-events:none!important;transform:translateY(14px)}.scroll-mouse-icon{width:18px;height:28px;border:1.8px solid var(--text-muted);border-radius:10px;position:relative;display:flex;justify-content:center}.scroll-mouse-icon .wheel{width:3px;height:6px;background:var(--text-muted);border-radius:2px;position:absolute;top:5px;animation:scrollWheelMove 1.8s infinite ease-in-out}@keyframes scrollWheelMove{0%{transform:translateY(0);opacity:1}50%{transform:translateY(7px);opacity:.4}to{transform:translateY(0);opacity:1}}.bottom-dock{position:absolute;bottom:4vh;right:5vw;z-index:10;display:flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border-radius:9999px;transition:all .3s cubic-bezier(.16,1,.3,1)}.bottom-dock:hover{background:linear-gradient(-171deg,#ffffffad,#ffffff47);border-color:#ffffffbf;box-shadow:inset 0 1px 2px #fffffff2,inset 0 -1px 1px #fff3,0 22px 48px -4px #281e1429,0 4px 10px #0000000f;transform:translateY(-2px)}body.dark-mode .bottom-dock:hover{background:linear-gradient(-171deg,#ffffff2e,#ffffff0d);border-color:#ffffff47;box-shadow:inset 0 1px 1.5px #ffffff73,inset 0 -1px 1px #ffffff1a,0 30px 55px #000000a6,0 4px 12px #0006}.dock-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:var(--text-dark);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.dock-btn:hover{background:#fff6;box-shadow:inset 0 1px 1px #fff9,0 2px 6px #0000000d;transform:scale(1.08)}body.dark-mode .dock-btn:hover{background:#ffffff1f;box-shadow:inset 0 1px 1px #fff3,0 2px 6px #0000004d}.dock-btn:active{transform:scale(.92)}.dock-page-display{display:flex;align-items:center;gap:.25rem;padding:0 .5rem;font-family:var(--font-pixel);font-size:.82rem;font-weight:700;color:var(--text-dark);cursor:pointer}.page-dropdown{position:fixed;transform:translateY(20px);width:220px;opacity:0;visibility:hidden;pointer-events:none;transition:all .3s cubic-bezier(.16,1,.3,1);padding:.5rem;z-index:50}.page-dropdown-scroll{max-height:250px;overflow-y:auto;border-radius:12px}.page-dropdown.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.page-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.2rem}.page-list-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .8rem;border-radius:8px;cursor:pointer;font-family:var(--font-sans);font-size:.85rem;color:var(--text-dark);transition:background .2s;font-weight:500}.page-list-item:hover{background:#fff3}body.dark-mode .page-list-item:hover{background:#ffffff1a}.page-list-item.active{background:var(--title-red-glow);color:var(--title-red)}.page-list-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.page-list-num{font-family:var(--font-pixel);font-size:.75rem;opacity:.7}.page-chapter-pill{font-size:.65rem;padding:1px 6px;border-radius:4px;background:#f59e0b33;border:1px solid rgba(245,158,11,.4);color:#fbbf24;font-weight:600;white-space:nowrap;line-height:1.2}body.dark-mode .page-chapter-pill{background:#f59e0b40;color:#fde68a}.page-dropdown-scroll::-webkit-scrollbar{width:4px}.page-dropdown-scroll::-webkit-scrollbar-thumb{background:#96969680;border-radius:4px}.dock-current{color:var(--title-red)}.dock-sep{opacity:.35;font-size:.75rem}.dock-total{opacity:.55}.dock-divider{width:1px;height:18px;background:#00000014;margin:0 .2rem}body.dark-mode .dock-divider{background:#ffffff1f}.sound-toggle{color:var(--text-muted)}.sound-toggle:hover{color:var(--text-dark)}.night-light-control{position:absolute;left:3vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:1.5rem;z-index:15;opacity:1;transition:opacity .4s ease,transform .4s ease}.night-light-control.hidden{opacity:0;pointer-events:none;transform:translateY(-50%) translate(-20px)}.moon-phase-icon{color:var(--text-dark);filter:drop-shadow(0 0 8px rgba(255,255,255,.1))}.sun-time-icon{color:var(--text-dark);filter:drop-shadow(0 0 8px rgba(0,0,0,.1));transition:transform .1s}body.dark-mode .sun-time-icon{filter:drop-shadow(0 0 8px rgba(255,255,255,.1))}.slider-wrapper{height:160px;display:flex;justify-content:center;align-items:center}.night-light-slider{-webkit-appearance:none;width:160px;height:4px;background:#ffffff26;border-radius:4px;outline:none;transform:rotate(-90deg);cursor:pointer}#reading-lamp-btn{position:absolute;left:50%;top:auto;bottom:4vh;transform:translate(-50%);z-index:15;transition:opacity .4s ease,transform .4s ease;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;padding:0}#reading-lamp-btn.hidden{opacity:0;pointer-events:none;transform:translate(-50%) translateY(20px)}#reading-lamp-btn{color:#a1a1aa}#reading-lamp-btn #lamp-icon-on{display:none}#reading-lamp-btn #lamp-icon-off{display:block}#reading-lamp-btn.active{color:#fbbf24}#reading-lamp-btn.active #lamp-icon-on{display:block}#reading-lamp-btn.active #lamp-icon-off{display:none}.desktop-lamp-slider{position:absolute;bottom:calc(4vh + 22px);left:50%;transform:translate(-50%);width:0;height:0;z-index:14;pointer-events:none;opacity:0;transition:opacity .3s ease}body.dark-mode #reading-lamp-btn.active~.desktop-lamp-slider{opacity:1}.lamp-stop{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff3;border:1px solid rgba(255,255,255,.4);cursor:pointer;pointer-events:auto;transition:all .2s ease;left:-6px;top:-6px;outline:none}.lamp-stop:nth-child(1){transform:rotate(-60deg) translateY(-50px)}.lamp-stop:nth-child(2){transform:rotate(-30deg) translateY(-50px)}.lamp-stop:nth-child(3){transform:rotate(0) translateY(-50px)}.lamp-stop:nth-child(4){transform:rotate(30deg) translateY(-50px)}.lamp-stop:nth-child(5){transform:rotate(60deg) translateY(-50px)}.lamp-stop:nth-child(1):hover{transform:rotate(-60deg) translateY(-50px) scale(1.3)}.lamp-stop:nth-child(2):hover{transform:rotate(-30deg) translateY(-50px) scale(1.3)}.lamp-stop:nth-child(3):hover{transform:rotate(0) translateY(-50px) scale(1.3)}.lamp-stop:nth-child(4):hover{transform:rotate(30deg) translateY(-50px) scale(1.3)}.lamp-stop:nth-child(5):hover{transform:rotate(60deg) translateY(-50px) scale(1.3)}.lamp-stop.active{background:#fbbf24;border-color:#fbbf24;box-shadow:0 0 10px #fbbf24cc}.night-light-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 10px #fff9;transition:transform .2s}.night-light-slider::-webkit-slider-thumb:hover{transform:scale(1.3)}.portfolio-toast{position:fixed;top:3.5vh;right:5vw;z-index:1000;display:flex;align-items:center;gap:.65rem;padding:.6rem 1.25rem;border-radius:9999px;font-size:.85rem;font-weight:500;color:var(--text-dark);transform:translateY(0);opacity:1;pointer-events:auto;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.portfolio-toast.hidden{opacity:0;transform:translateY(-12px);pointer-events:none}.toast-dot{width:8px;height:8px;border-radius:50%;background:var(--title-red);box-shadow:0 0 8px var(--title-red)}.hidden{display:none!important}@media(max-width:768px){.desktop-lamp-slider{display:none!important}.hero-header{top:4vh;left:4vw;right:4vw;text-align:center}.hero-title{font-size:clamp(2rem,10vw,3rem)}.project-hud{top:auto;bottom:9vh;left:4vw;right:4vw;flex-direction:row;justify-content:center;text-align:center;gap:.5rem}.zoom-out-btn span,.zoom-out-btn kbd{display:none}.zoom-out-btn{padding:.65rem;border-radius:50%}.badge-hint,.badge-sep{display:none}.bottom-dock{right:50%;transform:translate(50%);bottom:1.5vh;padding:.5rem .75rem}.bottom-dock:hover{transform:translate(50%) translateY(-2px)}.dock-btn{width:40px;height:40px}.hint-control-group{display:none}.night-light-control{left:1.5vw;gap:1rem}.slider-wrapper{height:120px}.night-light-slider{width:120px}#reading-lamp-btn{position:fixed;left:auto;right:4vw;top:50%;transform:translateY(-50%);background:linear-gradient(135deg,#ffffff40,#ffffff14);border:1px solid rgba(255,255,255,.3);border-radius:50%;width:44px;height:44px;box-shadow:0 4px 12px #00000026}body.dark-mode #reading-lamp-btn{background:linear-gradient(135deg,#ffffff1f,#ffffff08);border-color:#ffffff26;box-shadow:0 4px 12px #00000080}body.dark-mode #reading-lamp-btn:hover,body.dark-mode #reading-lamp-btn:active{background:#fff3}}.site-loader{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:100000;display:flex;align-items:center;justify-content:center;background-color:#000}.loader-svg{position:absolute;top:50%;left:50%;width:100%;max-width:800px;height:auto;pointer-events:none}@media(max-width:768px){.loader-svg{max-width:280px}}.bookmark-tooltip{position:absolute;top:0;left:0;pointer-events:none;background:#121318d9;border:1px solid var(--border-dim);padding:6px 12px;border-radius:6px;color:var(--text-main);font-family:var(--font-mono);font-size:.75rem;z-index:1000;transform:translate(15px,15px);transition:opacity .2s ease,transform .1s ease;white-space:nowrap}.bookmark-tooltip.hidden{opacity:0;pointer-events:none}@media(max-width:768px){.bookmark-tooltip{font-size:1rem}}.device-frame-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:99999;display:flex;justify-content:center;align-items:center;opacity:1;transition:opacity .3s ease;pointer-events:auto}.device-frame-modal.hidden{opacity:0;pointer-events:none}.modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.modal-content-wrapper{position:relative;width:90%;max-width:1200px;height:90%;max-height:90vh;display:flex;justify-content:center;align-items:center}.modal-close-btn{position:absolute;top:-55px;right:0;background:#0009;border:1px solid rgba(255,255,255,.2);color:#fff;width:44px;height:44px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:30;transition:background .2s,transform .2s}.modal-close-btn:hover{background:#000c;transform:scale(1.05)}@media(max-width:768px){.modal-close-btn{top:-65px;right:50%;transform:translate(50%)}.modal-close-btn:hover{transform:translate(50%) scale(1.05)}}.device-frame-container{position:relative;display:flex;justify-content:center;align-items:center;transform-origin:center center}.device-frame-img{position:relative;width:100%;height:100%;z-index:2;pointer-events:none}.device-media-scroll-area{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;background:#000;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;touch-action:pan-y}.device-media-scroll-area::-webkit-scrollbar{display:none}.device-media-scroll-area img,.device-media-scroll-area video{width:100%;display:block;height:auto}.pdf-modal-wrapper{position:relative;width:92vw;max-width:950px;height:90vh;max-height:90vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.pdf-modal-container{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;max-height:100%;transform-origin:center center}.pdf-media-scroll-area{position:relative;max-height:80vh;max-width:92vw;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;gap:20px;padding:6px 12px;border-radius:8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;touch-action:pan-y}.pdf-media-scroll-area::-webkit-scrollbar{width:6px}.pdf-media-scroll-area::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:4px}.pdf-page-canvas{background:#fff;border-radius:6px;box-shadow:0 20px 50px -10px #0000008c,0 0 0 1px #ffffff1a;display:block;user-select:none;-webkit-user-select:none;animation:pdfPageFadeIn .25s ease-out}@keyframes pdfPageFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.pdf-loader-spinner-wrap{display:flex;align-items:center;justify-content:center;min-width:280px;min-height:360px}.pdf-loader-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--title-red, #ff4d4d);border-radius:50%;animation:pdfSpin .8s linear infinite}@keyframes pdfSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdf-render-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#f3f3f3;font-family:var(--font-sans, sans-serif);gap:12px;text-align:center}.pdf-fallback-link{color:var(--title-red, #ff4d4d);text-decoration:underline;font-size:.9rem}.pdf-modal-download-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;background:#121216c7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.22);border-radius:9999px;color:#fff;font-family:var(--font-sans);font-size:.9rem;font-weight:500;cursor:pointer;box-shadow:0 10px 25px -4px #00000073,inset 0 1px 1px #fff3;transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s ease,border-color .2s ease,box-shadow .2s ease;z-index:30;margin-top:14px;flex-shrink:0;outline:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.pdf-modal-download-btn:hover{background:#1e1e24eb;border-color:#fff6;transform:scale(1.05);box-shadow:0 14px 30px -4px #0000008c,inset 0 1px 1.5px #ffffff4d}.pdf-modal-download-btn:active{transform:scale(.96)}.pdf-modal-download-btn svg{flex-shrink:0;stroke:var(--title-red, #ff4d4d);transition:transform .2s ease}.pdf-modal-download-btn:hover svg{transform:translateY(1.5px)}.pdf-modal-download-btn.downloading{opacity:.85;pointer-events:none}@media(max-width:768px){.pdf-modal-wrapper{width:95vw;height:84vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.pdf-media-scroll-area{max-height:70vh;padding:4px 6px;gap:14px}.pdf-page-canvas{border-radius:4px;box-shadow:0 10px 30px -5px #00000080}.pdf-modal-download-btn{margin-top:14px;padding:11px 26px;font-size:.92rem}}.bot-toggle-btn{position:absolute;top:3.5vh;right:5vw;z-index:40;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid rgba(255,255,255,.45);transition:all .3s var(--transition-smooth);color:var(--text-dark)}.bot-toggle-btn:hover{transform:scale(1.08);background:#fffc}body.dark-mode .bot-toggle-btn:hover{background:#ffffff26}.site-bot-panel{position:absolute;top:calc(3.5vh + 60px);right:5vw;width:320px;z-index:30;display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-60px);clip-path:circle(23px at calc(100% - 23px) 23px);-webkit-clip-path:circle(23px at calc(100% - 23px) 23px);transition:clip-path .5s cubic-bezier(.7,0,.3,1),-webkit-clip-path .5s cubic-bezier(.7,0,.3,1),transform .5s cubic-bezier(.7,0,.3,1),opacity .5s step-end;background:linear-gradient(180deg,#fff6,#78a0c8b3 35%,#1e3c6ed9 75%,#462319e6);border:1px solid rgba(255,255,255,.2)}body.dark-mode .site-bot-panel{background:linear-gradient(180deg,#c8dcff4d,#5a82b4b3 35%,#142d5ad9 75%,#32140fe6)}.site-bot-panel.open{opacity:1;pointer-events:auto;transform:translateY(0);clip-path:circle(150% at calc(100% - 23px) -37px);-webkit-clip-path:circle(150% at calc(100% - 23px) -37px);transition:clip-path .5s cubic-bezier(.7,0,.3,1),-webkit-clip-path .5s cubic-bezier(.7,0,.3,1),transform .5s cubic-bezier(.7,0,.3,1),opacity 0s}.bot-header{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--dock-border)}.bot-title{font-family:var(--font-pixel);font-size:.85rem;font-weight:700}.bot-close-btn{background:transparent;border:none;color:var(--text-dark);cursor:pointer;opacity:.7}.bot-close-btn:hover{opacity:1}.bot-messages{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;max-height:250px}.bot-messages::-webkit-scrollbar{width:4px}.bot-messages::-webkit-scrollbar-thumb{background:#96969680;border-radius:4px}.bot-bubble{background:#fff9;padding:10px 14px;border-radius:2px 12px 12px;font-size:.82rem;line-height:1.4;align-self:flex-start;max-width:90%;border:1px solid rgba(255,255,255,.4)}body.dark-mode .bot-bubble{background:#ffffff14;border-color:#ffffff1a}@keyframes bubbleSlideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.user-bubble{background:var(--title-red);color:#fff;padding:10px 14px;border-radius:12px 2px 12px 12px;font-size:.82rem;align-self:flex-end;max-width:85%;animation:bubbleSlideInRight .3s ease-out forwards}.bot-chips-container{padding:8px 16px 16px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.bot-chips-container.hidden{display:none}.bot-chip{background:transparent;border:1px solid rgb(255,255,255);color:#d7c6ff;padding:6px 12px;border-radius:16px;font-size:.8rem;cursor:pointer;transition:all .2s;font-family:var(--font-sans)}.bot-chip:hover{filter:brightness(1.2);transform:scale(1.05)}.bot-custom-question-btn{display:block;width:100%;padding:12px 16px;background:transparent;border:none;border-top:1px solid var(--dock-border);color:var(--text-dark);font-size:.82rem;font-family:var(--font-sans);cursor:pointer;transition:background .2s;text-align:left}.bot-custom-question-btn:hover{background:#ffffff1a}body.dark-mode .bot-custom-question-btn:hover{background:#ffffff0d}.bot-custom-question-btn.hidden{display:none}.bot-input-area{display:flex;padding:12px 16px;gap:8px;border-top:1px solid var(--dock-border)}.bot-input-area.hidden{display:none}.bot-input-area input{flex:1;background:transparent;border:1px solid var(--dock-border);padding:8px 12px;border-radius:16px;color:var(--text-dark);outline:none;font-family:var(--font-sans);font-size:.82rem}.bot-input-area input:focus{border-color:var(--title-red)}.bot-input-area button{background:var(--title-red);color:#fff;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}@media(max-width:768px){.bottom-ui-wrapper{position:absolute;bottom:1.5vh;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:8px;z-index:20;pointer-events:none}.bottom-ui-wrapper>.bottom-dock,.bottom-ui-wrapper>.bot-toggle-btn{pointer-events:auto}.bottom-dock{position:relative;right:auto;bottom:auto;transform:none!important;gap:.2rem;padding:.35rem .5rem}.bot-toggle-btn{position:relative;top:auto;bottom:auto;right:auto;width:46px;height:46px;border-radius:50%;flex-shrink:0;padding:0;display:flex;align-items:center;justify-content:center}.site-bot-panel{top:auto;bottom:calc(100% + 15px);right:0;left:auto;width:66vw;transform:translateY(61px);clip-path:circle(23px at calc(100% - 23px) calc(100% - 23px));-webkit-clip-path:circle(23px at calc(100% - 23px) calc(100% - 23px))}.site-bot-panel.open{transform:translateY(0);clip-path:circle(150% at calc(100% - 23px) calc(100% + 38px));-webkit-clip-path:circle(150% at calc(100% - 23px) calc(100% + 38px))}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){z-index:2}::view-transition-old(root){z-index:1}:root.dark-to-light::view-transition-old(root){z-index:2}:root.dark-to-light::view-transition-new(root){z-index:1}
