.theme-toggle{position:fixed;top:20px;right:20px;z-index:10000;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:25px;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-color);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0000001a,0 1px 3px #0000000d}.theme-toggle:hover{background:#ffffff26;transform:translateY(-2px);box-shadow:0 6px 16px #00000026,0 2px 4px #00000014}.theme-toggle:active{transform:translateY(0)}.theme-icon{font-size:18px;line-height:1}.theme-label{font-size:14px;line-height:1}@media(max-width:768px){.theme-toggle{position:fixed!important;top:10px!important;right:10px!important;z-index:10000!important;padding:8px 12px;gap:6px}.theme-icon{font-size:16px}.theme-label{font-size:12px}}@media(prefers-color-scheme:dark){.theme-toggle{border-color:#ffffff4d;background:#0000004d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.theme-toggle:hover{background:#0006}}:root[data-theme=dark] .theme-toggle{border-color:#ffffff4d;background:#0000004d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}:root[data-theme=dark] .theme-toggle:hover{background:#0006}:root[data-theme=light] .theme-toggle{border-color:#ffffff4d;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}:root[data-theme=light] .theme-toggle:hover{background:#ffffff26}@media(max-width:768px)and (prefers-color-scheme:dark){.theme-toggle{position:fixed!important;top:10px!important;right:10px!important;z-index:10000!important}}@media(max-width:768px){:root[data-theme=dark] .theme-toggle{position:fixed!important;top:10px!important;right:10px!important;z-index:10000!important}:root[data-theme=light] .theme-toggle{position:fixed!important;top:10px!important;right:10px!important;z-index:10000!important}}.draggable-nav-wrapper{position:fixed!important;bottom:20px!important;left:0!important;right:0!important;margin:0 auto!important;z-index:9999!important;width:92%;max-width:1200px;pointer-events:auto!important}.draggable-floating-nav{background:transparent;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);border-radius:50px;padding:6px;box-shadow:0 8px 32px #0000001a,0 1px 2px #0000000d,inset 0 1px #ffffff26;border:1px solid rgba(255,255,255,.3);position:relative;overflow:visible;width:100%}.draggable-floating-nav:before{content:"";position:absolute;inset:-1px;border-radius:50px;padding:1px;background:linear-gradient(135deg,#ffffff26,#ffffff05,#ffffff26);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1}.draggable-floating-nav:after{content:"";position:absolute;inset:0;border-radius:50px;background:radial-gradient(ellipse 100% 100% at center,transparent 0%,transparent 50%,rgba(255,255,255,.03) 65%,rgba(255,255,255,.08) 80%,rgba(255,255,255,.15) 100%);mask:radial-gradient(ellipse 100% 100% at center,transparent 0%,transparent 50%,black 75%,black 100%);-webkit-mask:radial-gradient(ellipse 100% 100% at center,transparent 0%,transparent 50%,black 75%,black 100%);pointer-events:none;z-index:0}.nav-container{position:relative;display:flex;gap:4px;overflow:visible;width:100%;z-index:2}.floating-indicator{position:absolute;top:0;height:100%;background:#ffffff05;border-radius:40px;z-index:10;cursor:grab;display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000001a,0 1px 3px #0000000d,inset 0 1px #ffffff1a;overflow:hidden;contain:layout style paint;will-change:transform}.floating-indicator.wobbling{animation:liquidWave 1.2s cubic-bezier(.23,1,.32,1)}@keyframes liquidWave{0%{transform:translateY(0) scaleX(1) scaleY(1)}10%{transform:translateY(-1px) scaleX(1.015) scaleY(.99)}25%{transform:translateY(.5px) scaleX(.99) scaleY(1.01)}40%{transform:translateY(-.3px) scaleX(1.008) scaleY(.995)}55%{transform:translateY(.2px) scaleX(.995) scaleY(1.005)}70%{transform:translateY(-.1px) scaleX(1.003) scaleY(.998)}85%{transform:translateY(.05px) scaleX(.998) scaleY(1.002)}to{transform:translateY(0) scaleX(1) scaleY(1)}}.floating-indicator.dragging{cursor:grabbing;z-index:100;transform:translateY(-1.5px) scale(1.02);box-shadow:0 8px 24px #0003,0 2px 8px #0000001a,inset 0 1px #ffffff26;background:#ffffff0a}.floating-indicator:before{content:"";position:absolute;inset:0;border-radius:40px;-webkit-mask:radial-gradient(ellipse at center,transparent 10%,rgba(255,255,255,.15) 25%,rgba(255,255,255,.4) 45%,rgba(255,255,255,.7) 65%,rgba(255,255,255,.9) 85%,#fff 95%);mask:radial-gradient(ellipse at center,transparent 10%,rgba(255,255,255,.15) 25%,rgba(255,255,255,.4) 45%,rgba(255,255,255,.7) 65%,rgba(255,255,255,.9) 85%,#fff 95%);pointer-events:none;z-index:1}.floating-indicator:after{content:"";position:absolute;inset:0;border-radius:40px;background:radial-gradient(ellipse 100% 100% at center,transparent 0%,transparent 40%,rgba(255,255,255,.04) 60%,rgba(255,255,255,.1) 75%,rgba(255,255,255,.18) 100%);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);mask:radial-gradient(ellipse 100% 100% at center,transparent 0%,transparent 40%,black 70%,black 100%);-webkit-mask:radial-gradient(ellipse 100% 100% at center,transparent 0%,transparent 40%,black 70%,black 100%);pointer-events:none;z-index:2}.drag-overlay{position:fixed;inset:0;z-index:50;cursor:grabbing}.nav-item{position:relative;z-index:5;flex:1;min-width:0;padding:20px 16px 16px;background:transparent;border:none;border-radius:40px;color:#000;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-shadow:none;text-decoration:none;outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.nav-item-content{display:flex;flex-direction:column;align-items:center;gap:3px}.nav-item-logo{width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:all .05s ease;will-change:transform,opacity;color:inherit}.nav-item-logo svg{width:100%;height:100%;stroke:currentColor;fill:none}.nav-item-text{display:block;color:inherit;text-decoration:none}.nav-item:focus,.nav-item:active{outline:none}.nav-item.active{color:#ff3b30!important;text-shadow:none;text-decoration:none}.nav-item:not(.active):hover{text-shadow:none;text-decoration:none;transform:none}.nav-item.navigating{pointer-events:none!important;cursor:default!important}.draggable-nav-wrapper.navigating,.draggable-nav-wrapper.navigating .nav-item{pointer-events:none!important}@media(max-width:1024px){.draggable-nav-wrapper{width:90%}}@media(max-width:768px){.draggable-nav-wrapper{position:fixed!important;bottom:10px!important;left:0!important;right:0!important;margin:0 auto!important;z-index:9999!important;width:94%}.draggable-floating-nav{padding:5px;border-radius:40px}.nav-item{padding:16px 12px 12px;font-size:14px}.nav-item-logo{width:18px;height:18px}.nav-item-content{gap:2px}.floating-indicator{border-radius:35px}.floating-indicator:after{backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}.floating-indicator.dragging{transform:translateY(-1px) scale(1.015)}.floating-indicator.wobbling{animation:liquidWaveMobile 1s cubic-bezier(.23,1,.32,1)}@keyframes liquidWaveMobile{0%{transform:translateY(0) scaleX(1) scaleY(1)}15%{transform:translateY(-.8px) scaleX(1.01) scaleY(.995)}35%{transform:translateY(.4px) scaleX(.995) scaleY(1.008)}55%{transform:translateY(-.2px) scaleX(1.005) scaleY(.998)}75%{transform:translateY(.1px) scaleX(.998) scaleY(1.003)}to{transform:translateY(0) scaleX(1) scaleY(1)}}}@media(prefers-color-scheme:dark){.nav-item{color:#fff}.nav-item:not(.active):hover{color:#fff}}@media(max-width:768px)and (prefers-color-scheme:dark){.draggable-nav-wrapper{position:fixed!important;bottom:10px!important;left:0!important;right:0!important;margin:0 auto!important;z-index:9999!important}}@media(prefers-color-scheme:light){.nav-item{color:#000}.nav-item:not(.active):hover{color:#000}}:root[data-theme=dark] .nav-item{color:#fff!important}:root[data-theme=dark] .nav-item:not(.active):hover{color:#fff!important}:root[data-theme=light] .nav-item{color:#000!important}:root[data-theme=light] .nav-item:not(.active):hover{color:#000!important}@media(max-width:768px){:root[data-theme=dark] .draggable-nav-wrapper{position:fixed!important;bottom:10px!important;left:0!important;right:0!important;margin:0 auto!important;z-index:9999!important}:root[data-theme=light] .draggable-nav-wrapper{position:fixed!important;bottom:10px!important;left:0!important;right:0!important;margin:0 auto!important;z-index:9999!important}}@media(prefers-reduced-motion:reduce){.floating-indicator{transition:left .3s ease,width .3s ease!important}.floating-indicator.wobbling{animation:none}.nav-item-logo{transition:none}}.root-layout{position:relative;min-height:100vh;width:100%}.root-main{position:relative;width:100%;min-height:100vh;padding-bottom:120px}@media(max-width:1024px){.root-main{padding-bottom:110px}}@media(max-width:768px){.root-main{padding-bottom:100px}}.onboarding-overlay{position:fixed;inset:0;z-index:9999;background:#000;cursor:pointer;animation:fadeIn .4s ease}.onboarding-overlay.fade-out{animation:fadeOut .4s cubic-bezier(.4,0,1,1) forwards}.onboarding-image-container{width:100%;height:100vh;height:100dvh;position:relative;display:flex;align-items:center;justify-content:center}.onboarding-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;animation:imageFadeIn .6s cubic-bezier(.16,1,.3,1)}.onboarding-indicators{display:flex;gap:12px;justify-content:center;position:fixed;bottom:6rem;left:50%;transform:translate(-50%);z-index:10;padding:.75rem 1.25rem;background:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:100px;border:1px solid rgba(255,255,255,.2)}.indicator-dot{width:8px;height:8px;border-radius:50%;background:#fff6;transition:all .4s cubic-bezier(.4,0,.2,1);border:none}.indicator-dot.active{width:36px;border-radius:4px;background:#fff;box-shadow:0 0 20px #ffffff80}.indicator-dot.completed{background:#ffffffb3;transform:scale(1.1)}.onboarding-hint{font-size:.95rem;color:#ffffffd9;margin:0;text-align:center;font-weight:500;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);text-shadow:0 2px 8px rgba(0,0,0,.5);padding:.75rem 1.5rem;background:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:100px;border:1px solid rgba(255,255,255,.2);animation:hintPulse 2s ease-in-out infinite;z-index:10}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes imageFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes hintPulse{0%,to{opacity:.8}50%{opacity:1}}@media(max-width:768px){.onboarding-indicators{bottom:5rem;padding:.65rem 1rem}.onboarding-hint{font-size:.875rem;padding:.65rem 1.25rem;bottom:1.5rem}}@media(max-width:480px){.onboarding-indicators{bottom:4.5rem;gap:10px;padding:.6rem .875rem}.indicator-dot{width:7px;height:7px}.indicator-dot.active{width:28px}.onboarding-hint{font-size:.8rem;padding:.6rem 1.1rem;bottom:1.25rem}}body.onboarding-active .theme-toggle,body.onboarding-active .draggable-nav-wrapper{display:none!important;pointer-events:none}@media(prefers-reduced-motion:reduce){.onboarding-overlay,.onboarding-image{animation:none}.indicator-dot{transition:none}.onboarding-hint{animation:none}}.student-id-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#c89f77f2,#a67c52f2,#8b6342f2);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.5rem;animation:fadeIn .4s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.student-id-modal{background:#fffffffa;border-radius:28px;padding:3rem 2.5rem;max-width:480px;width:100%;box-shadow:0 24px 60px #5d4e374d;animation:slideUp .5s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;border:2px solid rgba(200,159,119,.3)}.student-id-close{position:absolute;top:1.5rem;right:1.5rem;background:#8b73551a;border:none;border-radius:50%;font-size:1.5rem;color:var(--text-light, #8B7355);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);line-height:1;padding:.5rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;z-index:10}.student-id-close:hover{background:#8b735533;color:var(--text-dark, #5D4E37);transform:scale(1.1)}.student-id-close:active{transform:scale(.95)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.student-id-header{text-align:center;margin-bottom:3rem}.student-id-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.student-id-title{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#c89f77,#a67c52);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .75rem;letter-spacing:-.02em}.student-id-subtitle{font-size:1.05rem;color:var(--text-light, #8B7355);margin:0;line-height:1.6}.student-id-form{display:flex;flex-direction:column;gap:2rem}.student-id-input-group{display:flex;flex-direction:column;gap:1rem}.student-id-label{font-size:.95rem;font-weight:600;color:var(--text-dark, #5D4E37);text-align:center}.student-id-input{width:100%;padding:1.5rem;font-size:2rem;font-weight:700;text-align:center;border:3px solid rgba(200,159,119,.3);border-radius:16px;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.3rem;font-family:Courier New,monospace;background:var(--bg-beige, #F5EBE0);box-sizing:border-box;color:var(--text-dark, #5D4E37)}.student-id-input:focus{border-color:var(--latte-brown, #C89F77);background:#fff;box-shadow:0 0 0 4px #c89f7726}.student-id-input.valid{border-color:#a0b88e;background:#a0b88e1a}.student-id-input.error{border-color:#d4938f;background:#d4938f1a;animation:shake .4s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.student-id-hint{font-size:.875rem;color:var(--text-light, #8B7355);text-align:center;margin:0}.student-id-preview{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;background:linear-gradient(135deg,#a0b88e26,#8ba77826);border:2px solid #A0B88E;border-radius:14px;animation:slideDown .3s cubic-bezier(.16,1,.3,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.preview-icon{font-size:1.5rem;color:#a0b88e}.preview-text{font-size:1.25rem;font-weight:700;color:#8ba778}.student-id-error{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;background:#d4938f26;border:2px solid #D4938F;border-radius:14px;animation:slideDown .3s cubic-bezier(.16,1,.3,1)}.error-icon{font-size:1.5rem}.error-text{font-size:1rem;font-weight:600;color:#c67c77}.student-id-button{width:100%;padding:1.5rem;font-size:1.25rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#c89f77,#a67c52,#8b6342);border:none;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #a67c524d;position:relative;overflow:hidden}.student-id-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#d5bdaf,#c89f77,#a67c52);opacity:0;transition:opacity .3s}.student-id-button:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 12px 32px #a67c5266}.student-id-button:hover:not(:disabled):before{opacity:1}.student-id-button:active:not(:disabled){transform:translateY(-1px) scale(1.01)}.student-id-button:disabled{opacity:.6;cursor:not-allowed}.student-id-button span{position:relative;z-index:1}.student-id-footer{text-align:center;margin-top:2rem}.student-id-note{font-size:.875rem;color:var(--text-light, #8B7355);margin:0}@media(max-width:768px){.student-id-modal{padding:2.5rem 2rem}.student-id-header{margin-bottom:2.5rem}}@media(max-width:480px){.student-id-overlay{padding:1rem}.student-id-modal{padding:2rem 1.5rem}.student-id-close{top:1rem;right:1rem;width:2.25rem;height:2.25rem;font-size:1.35rem}.student-id-header{margin-bottom:2rem}.student-id-icon{font-size:3.5rem;margin-bottom:.875rem}.student-id-title{font-size:1.65rem;margin-bottom:.5rem}.student-id-subtitle{font-size:.95rem}.student-id-form{gap:1.5rem}.student-id-input{font-size:1.75rem;padding:1.25rem;letter-spacing:.3rem}.student-id-button{padding:1.25rem;font-size:1.125rem}.preview-text{font-size:1.125rem}.student-id-footer{margin-top:1.5rem}}:root[data-theme=dark] .student-id-modal{background:#2c2418fa;border-color:#c89f774d}:root[data-theme=dark] .student-id-title{background:linear-gradient(135deg,#d5bdaf,#c89f77);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}:root[data-theme=dark] .student-id-subtitle{color:#b8a99a}:root[data-theme=dark] .student-id-label{color:#e3d5ca}:root[data-theme=dark] .student-id-input{background:#3a2f23;border-color:#c89f774d;color:#e3d5ca}:root[data-theme=dark] .student-id-input:focus{background:#2c2418}:root[data-theme=dark] .student-id-close{background:#c89f7726;color:#b8a99a}:root[data-theme=dark] .student-id-close:hover{background:#c89f7740;color:#e3d5ca}body.student-id-modal-active .theme-toggle,body.student-id-modal-active .draggable-nav-wrapper{display:none!important;pointer-events:none}:root{--bg-cream: #FAF7F2;--bg-beige: #F5EBE0;--bg-darker-beige: #E3D5CA;--bg-white: #FFFFFF;--latte-brown: #C89F77;--espresso-brown: #A67C52;--warm-brown: #D5BDAF;--text-dark: #5D4E37;--text-light: #8B7355;--text-accent: #B8734F;--shadow-soft: rgba(93, 78, 55, .1);--shadow-medium: rgba(93, 78, 55, .15);--shadow-strong: rgba(93, 78, 55, .25);--gradient-main: linear-gradient(135deg, #FAF7F2 0%, #F5EBE0 50%, #E3D5CA 100%);--gradient-card: linear-gradient(135deg, #FFFFFF 0%, #F5EBE0 100%);--gradient-button: linear-gradient(135deg, #C89F77 0%, #A67C52 100%);--gradient-button-hover: linear-gradient(135deg, #D5BDAF 0%, #C89F77 100%);--gradient-text: linear-gradient(135deg, #5D4E37 0%, #8B7355 100%);--card-glow-color: rgba(200, 159, 119, .15);--card-header-overlay: rgba(255, 255, 255, .5);--card-footer-overlay: rgba(227, 213, 202, .2);--card-footer-overlay-hover: rgba(227, 213, 202, .3);--bg-color: #FAF7F2;--text-color: #5D4E37;--card-bg: #FFFFFF;--card-border: #C89F77;--card-shadow: rgba(93, 78, 55, .08);--card-hover-shadow: rgba(93, 78, 55, .15);--button-bg: #C89F77;--button-text: #FFFFFF;--button-hover-bg: #A67C52;--timing-fast: .15s;--timing-normal: .25s;--timing-slow: .4s;--easing: cubic-bezier(.4, 0, .2, 1);--transition-speed: .25s;--focus-outline: #C89F77}@media(prefers-color-scheme:dark){:root{--bg-cream: #2C2418;--bg-beige: #3A2F23;--bg-darker-beige: #4A3D2E;--bg-white: #3A2F23;--latte-brown: #C89F77;--espresso-brown: #A67C52;--warm-brown: #D5BDAF;--text-dark: #E3D5CA;--text-light: #C5B5A5;--text-accent: #D5BDAF;--shadow-soft: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .4);--shadow-strong: rgba(0, 0, 0, .6);--gradient-main: linear-gradient(135deg, #2C2418 0%, #3A2F23 50%, #4A3D2E 100%);--gradient-card: linear-gradient(135deg, #3A2F23 0%, #4A3D2E 100%);--gradient-button: linear-gradient(135deg, #C89F77 0%, #A67C52 100%);--gradient-button-hover: linear-gradient(135deg, #D5BDAF 0%, #C89F77 100%);--gradient-text: linear-gradient(135deg, #E3D5CA 0%, #C5B5A5 100%);--card-glow-color: rgba(200, 159, 119, .08);--card-header-overlay: rgba(58, 47, 35, .5);--card-footer-overlay: rgba(74, 61, 46, .3);--card-footer-overlay-hover: rgba(74, 61, 46, .4);--bg-color: #2C2418;--text-color: #E3D5CA;--card-bg: #3A2F23;--card-border: #C89F77;--card-shadow: rgba(0, 0, 0, .3);--card-hover-shadow: rgba(0, 0, 0, .5);--button-bg: #C89F77;--button-text: #FFFFFF;--button-hover-bg: #A67C52;--focus-outline: #D5BDAF}}:root[data-theme=light]{--bg-cream: #FAF7F2;--bg-beige: #F5EBE0;--bg-darker-beige: #E3D5CA;--bg-white: #FFFFFF;--latte-brown: #C89F77;--espresso-brown: #A67C52;--warm-brown: #D5BDAF;--text-dark: #5D4E37;--text-light: #8B7355;--text-accent: #B8734F;--shadow-soft: rgba(93, 78, 55, .1);--shadow-medium: rgba(93, 78, 55, .15);--shadow-strong: rgba(93, 78, 55, .25);--gradient-main: linear-gradient(135deg, #FAF7F2 0%, #F5EBE0 50%, #E3D5CA 100%);--gradient-card: linear-gradient(135deg, #FFFFFF 0%, #F5EBE0 100%);--gradient-button: linear-gradient(135deg, #C89F77 0%, #A67C52 100%);--gradient-button-hover: linear-gradient(135deg, #D5BDAF 0%, #C89F77 100%);--card-glow-color: rgba(200, 159, 119, .15);--card-header-overlay: rgba(255, 255, 255, .5);--card-footer-overlay: rgba(227, 213, 202, .2);--card-footer-overlay-hover: rgba(227, 213, 202, .3);--bg-color: #FAF7F2;--text-color: #5D4E37;--card-bg: #FFFFFF;--card-border: #C89F77;--card-shadow: rgba(93, 78, 55, .08);--card-hover-shadow: rgba(93, 78, 55, .15);--button-bg: #C89F77;--button-text: #FFFFFF;--button-hover-bg: #A67C52;--focus-outline: #C89F77}:root[data-theme=dark]{--bg-cream: #2C2418;--bg-beige: #3A2F23;--bg-darker-beige: #4A3D2E;--bg-white: #3A2F23;--latte-brown: #C89F77;--espresso-brown: #A67C52;--warm-brown: #D5BDAF;--text-dark: #E3D5CA;--text-light: #C5B5A5;--text-accent: #D5BDAF;--shadow-soft: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .4);--shadow-strong: rgba(0, 0, 0, .6);--gradient-main: linear-gradient(135deg, #2C2418 0%, #3A2F23 50%, #4A3D2E 100%);--gradient-card: linear-gradient(135deg, #3A2F23 0%, #4A3D2E 100%);--gradient-button: linear-gradient(135deg, #C89F77 0%, #A67C52 100%);--gradient-button-hover: linear-gradient(135deg, #D5BDAF 0%, #C89F77 100%);--card-glow-color: rgba(200, 159, 119, .08);--card-header-overlay: rgba(58, 47, 35, .5);--card-footer-overlay: rgba(74, 61, 46, .3);--card-footer-overlay-hover: rgba(74, 61, 46, .4);--bg-color: #2C2418;--text-color: #E3D5CA;--card-bg: #3A2F23;--card-border: #C89F77;--card-shadow: rgba(0, 0, 0, .3);--card-hover-shadow: rgba(0, 0, 0, .5);--button-bg: #C89F77;--button-text: #FFFFFF;--button-hover-bg: #A67C52;--focus-outline: #D5BDAF}html{overscroll-behavior:none;overscroll-behavior-y:none;overscroll-behavior-x:none;background-color:var(--bg-cream);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}body{margin:0;font-family:Segoe UI,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--gradient-main);color:var(--text-dark);transition:background var(--timing-normal) var(--easing),color var(--timing-normal) var(--easing);min-height:100vh;line-height:1.6;overscroll-behavior:none;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;position:relative;width:100%;overflow-x:hidden}#root{-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-beige)}::-webkit-scrollbar-thumb{background:var(--latte-brown);border-radius:6px;-webkit-transition:background .3s ease;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:var(--espresso-brown)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes borderPulse{0%,to{border-color:var(--latte-brown)}50%{border-color:var(--espresso-brown)}}@keyframes backgroundBreathe{0%,to{opacity:1}50%{opacity:.8}}@keyframes gentlePulse{0%,to{opacity:1}50%{opacity:.7}}.home-container{max-width:935px;margin:0 auto;padding:2rem 1rem;min-height:calc(100vh - 4rem);-webkit-overflow-scrolling:touch}.home-header{text-align:center;margin-bottom:2.5rem;padding:2rem 1rem;transition:background-color var(--timing-normal) var(--easing),border-color var(--timing-normal) var(--easing)}.home-title{font-size:clamp(2rem,4vw,2.25rem);font-weight:800;color:var(--text-dark);margin:0 0 .5rem;letter-spacing:-.5px;transition:color var(--timing-normal) var(--easing);background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-subtitle{font-size:clamp(1rem,2vw,1.125rem);color:var(--text-light);opacity:.9;margin:0;line-height:1.5;transition:color var(--timing-normal) var(--easing)}.home-feed{max-width:614px;margin:0 auto;display:flex;flex-direction:column;gap:2rem;padding-bottom:3rem}.home-weather-content{text-align:center;padding:1.5rem 1rem}.weather-icon{font-size:3.5rem;margin-bottom:1rem;line-height:1;animation:iconFloat 1.5s ease-in-out infinite}.weather-temp{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;color:var(--text-dark);margin:.5rem 0;line-height:1.2;transition:color var(--timing-normal) var(--easing)}.weather-desc{font-size:1.0625rem;color:var(--text-light);opacity:.85;margin:0;line-height:1.5;transition:color var(--timing-normal) var(--easing)}.home-notice-content{display:flex;flex-direction:column;gap:1rem;padding:.5rem 0}.notice-item{color:var(--text-dark);line-height:1.7;margin:0;opacity:.9;font-size:.9375rem;transition:color var(--timing-normal) var(--easing),opacity var(--timing-fast) var(--easing);border-left:3px solid var(--latte-brown);padding:.625rem 0 .625rem 1rem}.notice-item:hover{opacity:1;border-left-color:var(--espresso-brown)}.card-view-more{color:var(--latte-brown);font-weight:600;font-size:.9375rem;cursor:pointer;transition:color .3s var(--easing),transform .3s var(--easing);display:flex;align-items:center;padding:.5rem 0;min-height:44px;line-height:1.5;position:relative}.card-view-more:after{content:"→";display:inline-block;margin-left:.25rem;transition:transform .3s var(--easing)}.card-view-more:hover{color:var(--espresso-brown);transform:translate(3px)}.card-view-more:hover:after{transform:translate(2px)}.card-view-more:active{opacity:.8;transform:translate(1px)}
