.page{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;flex-direction:column;background:#f9f9f9;color:#1b1b1b;min-height:100vh;overflow-y:auto}.page.active{display:flex}.overlay{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s}.overlay.active{opacity:1;visibility:visible;pointer-events:auto}.overlay .bottom-sheet-transition{transform:translateY(100%);transition:transform .32s cubic-bezier(.22,1,.36,1)}.overlay.active .bottom-sheet-transition{transform:translateY(0)}.slide-left{transform:translate(-100%);transition:transform .32s cubic-bezier(.22,1,.36,1)}.overlay.active .slide-left{transform:translate(0)}.slide-right{transform:translate(100%);transition:transform .32s cubic-bezier(.22,1,.36,1)}.overlay.active .slide-right{transform:translate(0)}.auth-form{display:none}.auth-form.active{display:block}#splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;background:#f9f9f9;transition:opacity .6s ease}#splash.hide,#splash.hidden{opacity:0;pointer-events:none}#bottom-nav{display:none}.nav-item{color:#a3a3a3}.nav-item:hover{color:#000}.nav-item.active{color:#000!important;font-weight:700}[id^=tab-]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:41;background:#f9f9f9;overflow-y:auto}.material-symbols-outlined{font-family:Material Symbols Rounded!important;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24!important;font-size:24px;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.swirl-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;color:currentColor}.swirl-icon svg{width:1em;height:1em;display:block}body{min-height:max(884px,100dvh);font-family:Be Vietnam Pro,sans-serif;background-color:#f9f9f9;color:#1b1b1b}h1,h2,h3,.font-headline{font-family:Plus Jakarta Sans,sans-serif}.academic-overlay{background:#f9f9f9}.academic-input{border:none;border-bottom:1px solid #777777;background:transparent;border-radius:10px;padding:.75rem 0;transition:border-color .2s ease}.academic-input:focus{outline:none;box-shadow:none;border-bottom:2px solid #000000}.font-cute{font-family:Comic Sans MS,Chalkboard SE,Segoe Print,Bradley Hand,STHupo,YouYuan,cursive;font-weight:500}.status-orb{width:9px;height:9px;border-radius:9999px;background:var(--orb, #FF2EC4);position:relative;flex-shrink:0}.status-orb:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:9999px;background:var(--orb, #FF2EC4);opacity:.3;animation:orbPulse 2.4s ease-in-out infinite}.status-orb--idle{opacity:.5}.status-orb--idle:after{animation:none;opacity:.22}.status-orb--matching:after{animation-duration:1.6s}.status-orb--established{animation:orbGlow 2.2s ease-in-out infinite}.status-orb--established:after{animation-duration:2s}@keyframes orbPulse{0%,to{transform:scaleY(1);opacity:.4}50%{transform:scaleY(.72);opacity:.28}}@keyframes orbGlow{0%,to{box-shadow:0 0 2px 1px var(--orb, #FF2EC4)}50%{box-shadow:0 0 7px 2px var(--orb, #FF2EC4)}}*::-webkit-scrollbar{width:0!important;height:0!important}*{scrollbar-width:none;-ms-overflow-style:none}html.dark{background-color:#15151a;color-scheme:dark}.dark body{background-color:#15151a!important;color:#ececf0}.dark .bg-background,.dark .bg-surface,.dark .bg-surface-bright,.dark .bg-surface-dim,.dark .bg-neutral-50,.dark .bg-stone-50,.dark .bg-gray-50{background-color:#15151a!important}.dark .bg-surface-container-lowest,.dark .bg-white,.dark .bg-neutral-100,.dark .bg-stone-100{background-color:#1f1f26!important}.dark .bg-surface-container-low{background-color:#24242c!important}.dark .bg-surface-container{background-color:#2a2a32!important}.dark .bg-surface-container-high{background-color:#30303a!important}.dark .bg-surface-container-highest{background-color:#363641!important}.dark .bg-surface\/80,.dark .bg-surface\/95{background-color:#15151ad1!important}.dark .text-on-surface,.dark .text-black,.dark .text-neutral-900,.dark .text-neutral-800,.dark .text-neutral-700{color:#ececf0!important}.dark .text-on-surface-variant,.dark .text-neutral-600,.dark .text-neutral-500{color:#a8a8b2!important}.dark .text-outline,.dark .text-outline-variant,.dark .text-neutral-400,.dark .text-stone-400{color:#8a8a93!important}.dark .border-outline-variant,.dark .border-outline,.dark .border-stone-100,.dark .border-neutral-100,.dark .border-neutral-200{border-color:#34343c!important}.dark .border-black{border-color:#4a4a54!important}.dark input,.dark textarea,.dark select{color:#ececf0!important}.dark .academic-input{border-bottom-color:#34343c!important}.dark .bg-neon{color:#000!important}.dark .chat-bubble{background:#1f1f26!important;color:#ececf0!important;border-color:#34343c!important}.dark .chat-bubble.mine{background:#2a2a32!important;color:#ececf0!important}.dark .chat-avatar--fallback{background:#34343c!important;color:#ddd!important}.btn-cta{display:block;width:100%;background:#cf0;color:#000;border:none;border-radius:10px;padding:1.25rem 1.5rem;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.875rem;letter-spacing:.1em;cursor:pointer;transition:background-color .2s ease,transform .15s ease}.btn-cta:hover{background:#b8e600}.btn-cta:active{transform:scale(.98)}.btn-cta:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#000;border:1px solid #000000;border-radius:10px;padding:.75rem 1.5rem;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.1em;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .15s ease}.btn-secondary:hover{background:#000;color:#fff}.btn-secondary:active{transform:scale(.98)}.btn-tag{display:inline-flex;align-items:center;gap:.25rem;background:transparent;color:#000;border:1px solid #777777;border-radius:10px;padding:.25rem .75rem;font-size:.75rem;letter-spacing:.08em;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .15s ease}.btn-tag:hover{border-color:#000}.btn-tag:active{transform:scale(.98)}.btn-tag.filled,.btn-tag--filled{background:#000;color:#fff;border-color:#000}.tag-chip{display:inline-flex;align-items:center;gap:.375rem;background:transparent;color:inherit;border:1px solid transparent;border-radius:10px;padding:.25rem .75rem;font-size:.75rem;font-weight:700;letter-spacing:.08em}.tag-chip .tag-remove{cursor:pointer;font-weight:400;opacity:.7}.tag-chip .tag-remove:hover{opacity:1}.tag-chip.add-tag{background:transparent;color:#777;border:1px dashed #777777;cursor:pointer}.tag-chip.add-tag:hover{color:#000;border-color:#000}.glass-header{background:#f9f9f9cc;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.milestone-bg{position:fixed;top:0;right:0;bottom:0;left:0;background-image:url(/splash_bg.png);background-size:cover;background-position:center;filter:grayscale(1) contrast(1.4) brightness(.95);opacity:.28;pointer-events:none;z-index:0}.profile-blur-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);mask-image:linear-gradient(to bottom,#0006,#000000b8 42%,#000);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.4) 0%,rgba(0,0,0,.72) 42%,black 100%);opacity:1;transition:opacity .45s cubic-bezier(.22,1,.36,1);will-change:opacity}.bottom-sheet-transition{transition:transform .3s ease}.bottom-sheet-gradient{background:#f9f9f980}.academic-grid,.academic-line{background:transparent}.academic-header{font-family:Plus Jakarta Sans,sans-serif}.monospace-timer{font-family:JetBrains Mono,monospace}.hide-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.pb-safe{padding-bottom:env(safe-area-inset-bottom)}#bottom-nav{min-height:64px;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.auth-container{max-width:420px}.tonal-shift{background-color:#f9f9f9}#toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:999;padding:12px 24px;background-color:#000;color:#fff;border-radius:10px;font-size:14px;display:none;box-shadow:0 2px 8px #0003}#toast.show{display:block;animation:slideDown .3s ease-out}.feed-card{background:#fff;overflow:hidden;cursor:pointer;border:1px solid rgba(198,198,198,.4);box-shadow:0 1px 2px #0000000d;border-radius:10px;transition:all .2s}.feed-card:hover{border-color:#000}.feed-image{position:relative;overflow:hidden}.feed-image img{width:100%;display:block}.feed-image-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px;background:#00000059}.feed-like-badge{position:absolute;top:12px;right:12px;background:#0009;color:#fff;padding:4px 10px;font-size:11px;font-weight:600}.notif-item{transition:opacity .3s ease}.notif-item .notif-dot{display:none}.notif-item.unread .notif-dot{display:block}.notif-item:not(.unread){opacity:.6}.chat-row{display:flex;align-items:flex-end;gap:12px}.chat-row.mine{flex-direction:row-reverse}.chat-avatar{width:40px;height:40px;border-radius:9999px;object-fit:cover;flex-shrink:0}.chat-avatar--fallback{display:flex;align-items:center;justify-content:center;background:#e2e2e2;color:#474747;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:14px;text-transform:uppercase}.chat-col{max-width:80%;display:flex;flex-direction:column;align-items:flex-start}.chat-row.mine .chat-col{align-items:flex-end}.chat-bubble{padding:20px;font-size:14px;line-height:1.625;background:#fff;color:#1b1b1b;border:1px solid rgba(198,198,198,.4);border-left:2px solid #CCFF00;border-radius:10px}.chat-bubble.mine{background:#ececec;color:#1b1b1b;border:1px solid rgba(198,198,198,.4);border-left:none;border-right:2px solid #CCFF00;box-shadow:none}.chat-image{max-width:100%;max-height:16rem;object-fit:cover;cursor:pointer;border:1px solid rgba(198,198,198,.4);border-radius:10px;display:block}.chat-image+.chat-bubble{margin-top:8px}.chat-time{font-size:9px;color:#a3a3a3;margin-top:8px;text-transform:uppercase;letter-spacing:-.03em;display:block}.chat-time.mine{text-align:right}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}input[type=range].ink-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:2px;background:#e2e2e2;border-radius:0;outline:none;cursor:pointer}input[type=range].ink-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:#cf0;border:none;border-radius:50%;cursor:pointer}input[type=range].ink-range::-moz-range-thumb{width:14px;height:14px;background:#cf0;border:none;border-radius:50%;cursor:pointer}input[type=range].ink-range:disabled{opacity:.3;cursor:not-allowed}input[type=range].ink-range:disabled::-webkit-slider-thumb{background:#777}input[type=range].ink-range:disabled::-moz-range-thumb{background:#777}input[type=checkbox].ink-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:3rem;height:1.5rem;margin:0;padding:0;background-color:#e2e2e2;background-image:none!important;border:none;border-radius:9999px;position:relative;flex-shrink:0;cursor:pointer;transition:background-color .3s ease}input[type=checkbox].ink-switch:after{content:"";position:absolute;top:4px;left:4px;width:1rem;height:1rem;background:#fff;border-radius:9999px;transition:transform .3s ease}input[type=checkbox].ink-switch:checked{background-color:#cf0;background-image:none!important}input[type=checkbox].ink-switch:checked:after{transform:translate(1.5rem)}input[type=checkbox].ink-switch:focus{outline:none;box-shadow:none}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.cl-dots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:max-content;margin:0 auto;place-items:center}.cl-dot{width:12px;height:12px;border-radius:9999px;background:#cf0;animation:cl-breathe 1.4s ease-in-out infinite}@keyframes cl-breathe{0%,to{transform:scale(.6);opacity:.3}50%{transform:scale(1);opacity:1}}.cl-dot:nth-child(1){animation-delay:0s}.cl-dot:nth-child(2){animation-delay:.12s}.cl-dot:nth-child(3){animation-delay:.24s}.cl-dot:nth-child(4){animation-delay:.36s}.cl-dot:nth-child(5){animation-delay:.48s}.cl-dot:nth-child(6){animation-delay:.6s}.cl-dot:nth-child(7){animation-delay:.72s}.cl-dot:nth-child(8){animation-delay:.84s}.cl-dot:nth-child(9){animation-delay:.96s}@keyframes cl-breathe-idle{0%,to{transform:scale(.4);opacity:.15}50%{transform:scale(.9);opacity:.6}}.cl-dots.idle .cl-dot{background:#999;animation:cl-breathe-idle 2.2s ease-in-out infinite}.campus-scene{width:100%;height:100%;max-width:256px;max-height:100%;overflow:visible}.campus-cloud{animation:campus-cloud-drift 9s ease-in-out infinite;transform-box:view-box}@keyframes campus-cloud-drift{0%,to{transform:translate(0)}50%{transform:translate(10px)}}.campus-tree{animation:campus-sway 4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}@keyframes campus-sway{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}.campus-lamp circle{animation:campus-lamp-blink 3.4s ease-in-out infinite}@keyframes campus-lamp-blink{0%,to{opacity:1}70%{opacity:1}82%{opacity:.35}90%{opacity:1}}.campus-figure,.campus-figure *{transform-box:fill-box}.campus-head{transform-origin:50% 100%}.campus-arm-l{transform-origin:100% 0%}.campus-arm-r{transform-origin:0% 0%}.campus-leg-l,.campus-leg-r,.campus-bag{transform-origin:50% 0%}.campus-book,.campus-watch{opacity:0}.campus-figure{transform-origin:50% 88%}.act-walk{animation:campus-walk-move 4.4s ease-in-out infinite}@keyframes campus-walk-move{0%{transform:translate(-46px) scaleX(1)}48%{transform:translate(46px) scaleX(1)}50%{transform:translate(46px) scaleX(-1)}98%{transform:translate(-46px) scaleX(-1)}to{transform:translate(-46px) scaleX(1)}}.act-walk .campus-leg-l,.act-walk .campus-arm-r{animation:campus-swing-fwd .55s ease-in-out infinite}.act-walk .campus-leg-r,.act-walk .campus-arm-l{animation:campus-swing-back .55s ease-in-out infinite}@keyframes campus-swing-fwd{0%,to{transform:rotate(18deg)}50%{transform:rotate(-18deg)}}@keyframes campus-swing-back{0%,to{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}.act-jump{animation:campus-jump .85s cubic-bezier(.3,0,.4,1) infinite}@keyframes campus-jump{0%,to{transform:translateY(0) scaleY(1)}18%{transform:translateY(2px) scaleY(.92)}50%{transform:translateY(-26px) scaleY(1.05)}82%{transform:translateY(0) scaleY(.96)}}.act-jump .campus-leg-l{animation:campus-tuck-l .85s ease-in-out infinite}.act-jump .campus-leg-r{animation:campus-tuck-r .85s ease-in-out infinite}@keyframes campus-tuck-l{0%,to{transform:rotate(0)}50%{transform:rotate(16deg)}}@keyframes campus-tuck-r{0%,to{transform:rotate(0)}50%{transform:rotate(-16deg)}}.act-jump .campus-arm-l{animation:campus-armup-l .85s ease-in-out infinite}.act-jump .campus-arm-r{animation:campus-armup-r .85s ease-in-out infinite}@keyframes campus-armup-l{0%,to{transform:rotate(0)}50%{transform:rotate(40deg)}}@keyframes campus-armup-r{0%,to{transform:rotate(0)}50%{transform:rotate(-40deg)}}.act-wave .campus-arm-r{animation:campus-wave .5s ease-in-out infinite}@keyframes campus-wave{0%,to{transform:rotate(-95deg)}50%{transform:rotate(-125deg)}}.act-wave .campus-head{animation:campus-head-bob 1s ease-in-out infinite}@keyframes campus-head-bob{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.act-spin{animation:campus-spin 1.6s ease-in-out infinite}@keyframes campus-spin{0%{transform:scaleX(1) translateY(0)}25%{transform:scaleX(.1) translateY(-3px)}50%{transform:scaleX(-1) translateY(0)}75%{transform:scaleX(.1) translateY(-3px)}to{transform:scaleX(1) translateY(0)}}.act-read .campus-book{opacity:1}.act-read .campus-arm-l{transform:rotate(-34deg)}.act-read .campus-arm-r{transform:rotate(34deg)}.act-read .campus-head{animation:campus-read-nod 2.4s ease-in-out infinite}@keyframes campus-read-nod{0%,to{transform:rotate(8deg)}50%{transform:rotate(14deg)}}.act-read{animation:campus-read-sway 3s ease-in-out infinite}@keyframes campus-read-sway{0%,to{transform:translate(-2px)}50%{transform:translate(2px)}}.act-stretch{animation:campus-stretch 2.6s ease-in-out infinite}@keyframes campus-stretch{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.08) translateY(-4px)}}.act-stretch .campus-arm-l{animation:campus-stretch-l 2.6s ease-in-out infinite}.act-stretch .campus-arm-r{animation:campus-stretch-r 2.6s ease-in-out infinite}@keyframes campus-stretch-l{0%,to{transform:rotate(0)}50%{transform:rotate(125deg)}}@keyframes campus-stretch-r{0%,to{transform:rotate(0)}50%{transform:rotate(-125deg)}}.act-stretch .campus-head{animation:campus-look-up 2.6s ease-in-out infinite}@keyframes campus-look-up{0%,to{transform:rotate(0)}50%{transform:rotate(-10deg)}}.act-kick .campus-leg-r{animation:campus-kick .7s ease-in-out infinite}@keyframes campus-kick{0%,to{transform:rotate(0)}45%{transform:rotate(-52deg)}60%{transform:rotate(-46deg)}}.act-kick .campus-arm-l{animation:campus-balance-l .7s ease-in-out infinite}.act-kick .campus-arm-r{animation:campus-balance-r .7s ease-in-out infinite}@keyframes campus-balance-l{0%,to{transform:rotate(0)}50%{transform:rotate(-22deg)}}@keyframes campus-balance-r{0%,to{transform:rotate(0)}50%{transform:rotate(18deg)}}.act-kick{animation:campus-kick-lean .7s ease-in-out infinite}@keyframes campus-kick-lean{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)}}.act-pace{animation:campus-pace-move 5.6s ease-in-out infinite}@keyframes campus-pace-move{0%{transform:translate(-30px) scaleX(1)}46%{transform:translate(30px) scaleX(1)}50%{transform:translate(30px) scaleX(-1)}96%{transform:translate(-30px) scaleX(-1)}to{transform:translate(-30px) scaleX(1)}}.act-pace .campus-leg-l,.act-pace .campus-arm-r{animation:campus-swing-fwd .8s ease-in-out infinite}.act-pace .campus-leg-r,.act-pace .campus-arm-l{animation:campus-swing-back .8s ease-in-out infinite}.act-check-watch .campus-watch{opacity:1;animation:campus-watch-tick 1.2s steps(1,end) infinite}@keyframes campus-watch-tick{0%,49%{opacity:1}50%,to{opacity:.55}}.act-check-watch .campus-arm-l{animation:campus-checkwatch-arm 2s ease-in-out infinite}@keyframes campus-checkwatch-arm{0%,15%{transform:rotate(0)}35%,80%{transform:rotate(-62deg)}to{transform:rotate(0)}}.act-check-watch .campus-head{animation:campus-checkwatch-head 2s ease-in-out infinite}@keyframes campus-checkwatch-head{0%,15%{transform:rotate(0)}40%,80%{transform:rotate(-12deg)}to{transform:rotate(0)}}.act-check-watch .campus-leg-r{animation:campus-toe-tap .45s ease-in-out infinite}@keyframes campus-toe-tap{0%,to{transform:rotate(0)}50%{transform:rotate(-10deg)}}.act-glance .campus-head{animation:campus-glance-head 2.4s ease-in-out infinite}@keyframes campus-glance-head{0%,to{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}.act-glance .campus-leg-r{animation:campus-idle-leg 1.4s ease-in-out infinite}@keyframes campus-idle-leg{0%,to{transform:rotate(-12deg)}50%{transform:rotate(8deg)}}.act-glance .campus-arm-l{transform:rotate(12deg)}.act-glance .campus-arm-r{transform:rotate(-12deg)}.act-glance{animation:campus-glance-lean 4.8s ease-in-out infinite}@keyframes campus-glance-lean{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}.act-stomp{animation:campus-stomp-bob .5s ease-in-out infinite}@keyframes campus-stomp-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.act-stomp .campus-leg-l{animation:campus-stomp-l .5s ease-in-out infinite}.act-stomp .campus-leg-r{animation:campus-stomp-r .5s ease-in-out infinite}@keyframes campus-stomp-l{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(8deg) translateY(-5px)}50%{transform:rotate(0) translateY(0)}}@keyframes campus-stomp-r{0%,to{transform:rotate(0) translateY(0)}75%{transform:rotate(-8deg) translateY(-5px)}}.act-stomp .campus-arm-l{transform:rotate(20deg)}.act-stomp .campus-arm-r{transform:rotate(-20deg)}@media (prefers-reduced-motion: reduce){.campus-figure,.campus-figure *,.campus-cloud,.campus-tree,.campus-lamp circle{animation:none!important}}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;background:transparent;color:#ff2ec4;border:1px solid #FF2EC4;border-radius:10px;padding:.75rem 1.5rem;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.1em;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .15s ease}.btn-danger:hover{background:#ff2ec4;color:#000}.btn-danger:active{transform:scale(.98)}.home-mode-switch{display:flex;gap:3px;padding:3px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff;box-shadow:0 1px 4px #0000000a}.home-mode-seg{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:.5rem .65rem;border-radius:10px;background:transparent;color:#1b1b1b;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.75rem;line-height:1;letter-spacing:.04em;white-space:nowrap;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .15s ease}.home-mode-seg:hover{background:#f3f3f3}.home-mode-seg.active{background:#cf0;color:#000}.home-mode-seg.active:hover{background:#cf0}.home-mode-seg:active{transform:scale(.98)}.square-seg.active{color:#000;border-bottom-color:#cf0}#square-feed{row-gap:.375rem;grid-auto-rows:2px}.rec-img{display:block;width:100%;height:auto;min-height:110px;max-height:300px;object-fit:cover}.school-badge{display:inline-flex;align-items:center;gap:.25rem;max-width:9rem;padding:.125rem .5rem;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border-radius:10px;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.5625rem;letter-spacing:.08em;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.school-badge--neon{background:#cf0;color:#000}.official-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:#1b1b1b66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border-radius:10px;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.5625rem;letter-spacing:.08em;line-height:1.4}.sponsored-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:#cf0;color:#000;border-radius:10px;font-family:Plus Jakarta Sans,sans-serif;font-weight:800;font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}.chat-countdown-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:#000;color:#fff;border-radius:10px;font-family:JetBrains Mono,monospace;font-size:.625rem;letter-spacing:-.02em;line-height:1.4;white-space:nowrap}.chat-countdown-badge.is-urgent{background:#ff2ec4;color:#000}.chat-countdown-badge.is-expired{background:#e2e2e2;color:#777}.chat-mode-tag{display:inline-flex;align-items:center;gap:.125rem;font-size:.625rem;font-weight:700;letter-spacing:.04em;color:#777}.energy-cell{display:inline-block;width:14px;height:14px;background:#cf0;border-radius:3px}.energy-cell--empty{background:transparent;border:1px solid #c6c6c6}.enhance-block{border:1px solid #000000;border-radius:10px;padding:1rem}.enhance-block .enhance-cost{font-family:JetBrains Mono,monospace;font-size:.6875rem;letter-spacing:.02em;color:#474747}.enhance-block.is-locked{opacity:.55}.enhance-hint-insufficient{color:#ff2ec4;font-weight:700}.q-card--done .q-card-check{color:#cf0}.notif-icon-plate{background:#f1f1f1;color:#1b1b1b}.dark .notif-icon-plate{background:#2a2a32!important;color:#ececf0}.ptr-indicator{position:absolute;top:20px;left:50%;width:40px;height:40px;border-radius:9999px;background:#fff;box-shadow:0 2px 12px #00000024;display:flex;align-items:center;justify-content:center;transform:translate(-50%) translateY(0);opacity:0;z-index:39;pointer-events:none}.ptr-indicator .material-symbols-outlined{font-size:22px;color:#1b1b1b;transition:color .15s ease}.ptr-indicator.ptr-ready .material-symbols-outlined{color:#7ea600}.ptr-indicator.ptr-spinning .material-symbols-outlined{animation:ptr-spin .7s linear infinite}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dark .ptr-indicator{background:#24242c;box-shadow:0 2px 12px #00000080}.dark .ptr-indicator .material-symbols-outlined{color:#ececf0}@keyframes cl-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.55}}.cl-pulse{animation:cl-pulse 1.8s ease-in-out infinite}
