.demo-role-switcher{color:var(--text-2)}.demo-role-switcher--topbar{display:inline-flex;align-items:center;gap:8px;height:36px;padding:3px 4px 3px 10px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:18px;box-shadow:0 1px #0f172a0a}.demo-role-switcher--panel{display:grid;gap:14px;padding:18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-card)}.demo-role-switcher--settings{display:grid;gap:14px}.demo-role-switcher__head{display:flex;align-items:flex-start;gap:12px}.demo-role-switcher__icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;color:var(--primary-text);background:var(--primary-light);border-radius:10px}.demo-role-switcher__icon .i{width:17px;height:17px}.demo-role-switcher__title{font-size:var(--fs-md);font-weight:800;color:var(--text-1)}.demo-role-switcher__desc{margin:3px 0 0;font-size:var(--fs-sm);line-height:1.6;color:var(--text-4)}.demo-role-switcher__kicker{font-size:10.5px;font-weight:800;letter-spacing:.12em;color:var(--text-5)}.demo-role-switcher__required,.demo-role-switcher__current{font-size:var(--fs-sm);color:var(--text-4);line-height:1.55}.demo-role-switcher__required b,.demo-role-switcher__current b{color:var(--text-1)}.demo-role-switcher__options{display:inline-flex;align-items:center;gap:2px;width:fit-content;padding:2px;background:var(--bg-card-alt);border:1px solid var(--border-subtle);border-radius:var(--r-pill)}.demo-role-switcher__button{min-width:54px;height:28px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);color:var(--text-4);font-size:var(--fs-xs);font-weight:800;white-space:nowrap;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-instant) var(--ease-standard)}.demo-role-switcher__button:hover:not(:disabled){color:var(--text-1);background:var(--bg-card)}.demo-role-switcher__button:active:not(:disabled){transform:var(--motion-press)}.demo-role-switcher__button.on{color:#fff;background:var(--primary);box-shadow:0 2px 7px -3px #1b3f8c73}.demo-role-switcher__button:disabled{cursor:not-allowed;opacity:.56}.demo-role-switcher--panel .demo-role-switcher__options,.demo-role-switcher--settings .demo-role-switcher__options{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.demo-role-switcher--panel .demo-role-switcher__button,.demo-role-switcher--settings .demo-role-switcher__button{min-width:0;height:34px}@media(max-width:1180px){.demo-role-switcher--topbar .demo-role-switcher__kicker{display:none}}@media(max-width:920px){.demo-role-switcher--topbar{display:none}}.role-access-page{min-height:calc(100vh - var(--topbar-h));display:grid;place-items:center;padding:clamp(24px,5vw,56px)}.role-access-card{width:min(720px,100%);display:grid;gap:18px;padding:clamp(22px,4vw,34px);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:0 18px 44px -28px #0f172a47}.role-access-mark{width:44px;height:44px;display:grid;place-items:center;color:var(--primary-text);background:var(--primary-light);border-radius:12px}.role-access-mark .i{width:22px;height:22px}.role-access-copy{display:grid;gap:6px}.role-access-eyebrow{margin:0;color:var(--primary-text);font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em}.role-access-copy h1{margin:0;color:var(--text-1);font-size:clamp(22px,3vw,30px);line-height:1.25;letter-spacing:0}.role-access-copy p{margin:0;color:var(--text-4);font-size:var(--fs-sm);line-height:1.7}.role-access-actions{display:flex;justify-content:flex-end}.user-chip-wrap{position:relative;margin-left:8px}.user-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px 0 4px;background:var(--bg-card);border:1px solid var(--border);border-radius:18px;cursor:pointer;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease;color:var(--text-2);font-size:var(--fs-base);font-weight:600}.user-chip:hover{background:var(--bg-card-alt);border-color:var(--primary-light);box-shadow:0 2px 8px -2px #2196f32e}.user-chip[aria-expanded=true]{border-color:var(--primary);background:var(--primary-bg)}.user-chip-avatar{position:relative;width:28px;height:28px;border-radius:50%;-webkit-clip-path:circle(50%);clip-path:circle(50%);overflow:hidden;background:linear-gradient(135deg,var(--primary),var(--accent));display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.user-chip-avatar img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.user-chip-initial{color:#fff;font-weight:700;font-size:var(--fs-sm);width:100%;height:100%;align-items:center;justify-content:center}.user-chip-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip .i-xs{width:12px;height:12px;opacity:.6}.user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px -8px #0f172a33,0 4px 12px -2px #0f172a14;z-index:1000;padding:6px;animation:userMenuIn .18s cubic-bezier(.22,1,.36,1) both}@keyframes userMenuIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.user-menu-head{display:flex;align-items:center;gap:10px;padding:10px 10px 12px}.user-menu-avatar{width:40px;height:40px;border-radius:50%;-webkit-clip-path:circle(50%);clip-path:circle(50%);overflow:hidden;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;flex-shrink:0;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.user-menu-avatar img{width:100%;height:100%;object-fit:cover;object-position:center}.user-menu-initial{color:#fff;font-weight:700;font-size:15px}.user-menu-info{min-width:0;flex:1}.user-menu-name{font-weight:700;color:var(--text-1);font-size:var(--fs-md);margin-bottom:2px}.user-menu-meta{font-size:var(--fs-xs);color:var(--text-4);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider{height:1px;background:var(--border);margin:4px 6px}.user-menu-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-btn);cursor:pointer;color:var(--text-2);font-size:var(--fs-base);font-weight:500;background:transparent;border:0;width:100%;text-align:left;text-decoration:none;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.user-menu-item:hover{background:var(--bg-card-alt);color:var(--primary-text)}.user-menu-item .i{width:16px;height:16px;opacity:.72;flex-shrink:0}.user-menu-item--danger:hover{background:#ef444414;color:var(--danger, #dc2626)}.sara-gacha-screen{--gacha-panel: rgba(255, 255, 255, .78);--gacha-gold: #facc15;--gacha-gold-deep: #8a5a05;--gacha-neon: #22d3ee;--sara-ink: #07111f;--sara-blue: #009be2;--sara-deep: #1b3f8c;--sara-sky: #25c7ff;--sara-mint: #25f0a1;--gacha-rarity: #60a5fa;--gacha-rarity-glow: rgba(96, 165, 250, .48);--gacha-metal: linear-gradient(180deg, #fff7d0 0%, #ffd84a 10%, #b8780d 28%, #6c4308 44%, #b8780d 64%, #ffe38a 100%);position:fixed;top:0;right:0;bottom:0;left:0;z-index:9600;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(12px,1.4vw,24px);padding:clamp(18px,2vw,34px);color:var(--sara-ink);background:radial-gradient(ellipse at 50% -6%,rgba(255,255,255,.96),transparent 38%),radial-gradient(ellipse at 82% 13%,rgba(37,240,161,.23),transparent 34%),radial-gradient(ellipse at 18% 24%,rgba(0,155,226,.24),transparent 36%),linear-gradient(160deg,#fafdff,#e8f7ff 42%,#c7efff 72%,#f7fcff)}.sara-gacha-screen.rarity-n{--gacha-rarity: #9ca3af;--gacha-rarity-glow: rgba(156, 163, 175, .42)}.sara-gacha-screen.rarity-r{--gacha-rarity: #60a5fa;--gacha-rarity-glow: rgba(96, 165, 250, .5)}.sara-gacha-screen.rarity-sr{--gacha-rarity: #a78bfa;--gacha-rarity-glow: rgba(167, 139, 250, .55)}.sara-gacha-screen.rarity-ur{--gacha-rarity: #f87171;--gacha-rarity-glow: rgba(248, 113, 113, .55)}.sara-gacha-screen.rarity-lg{--gacha-rarity: #fbbf24;--gacha-rarity-glow: rgba(251, 191, 36, .62)}.sara-gacha-breeze-bg,.sara-gacha-result-focus-scrim,.sara-gacha-scanlines,.sara-gacha-screen:after{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sara-gacha-breeze-bg{overflow:hidden;background:linear-gradient(90deg,rgba(27,63,140,.045) 1px,transparent 1px) 0 0 / 68px 68px,linear-gradient(0deg,rgba(27,63,140,.045) 1px,transparent 1px) 0 0 / 68px 68px,radial-gradient(ellipse at 50% 78%,rgba(0,155,226,.2),transparent 52%)}.sara-gacha-breeze-bg:before,.sara-gacha-breeze-bg:after{content:"";position:absolute;pointer-events:none}.sara-gacha-breeze-bg:before{left:-8%;right:-8%;bottom:-9%;height:32%;background:linear-gradient(8deg,#009be294 0,#009be294 42%,#25c7ff47 42%,#25c7ff47);clip-path:polygon(0 38%,100% 12%,100% 100%,0 100%)}.sara-gacha-breeze-bg:after{left:13%;right:13%;bottom:7%;height:16%;border-radius:50%;border:1px solid rgba(0,155,226,.26);box-shadow:0 0 0 22px #009be20b,0 0 0 52px #1b3f8c09;transform:perspective(900px) rotateX(68deg);opacity:.74}.sara-gacha-bg-ray{position:absolute;width:min(260px,20vw);height:10px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(0,155,226,.58),rgba(255,255,255,.92));filter:drop-shadow(0 0 18px rgba(0,155,226,.36));opacity:.74;animation:saraGachaRaySweep 4.6s ease-in-out infinite}.sara-gacha-bg-ray-a{--ray-rotate: 20deg;right:14%;top:28%;transform:rotate(var(--ray-rotate))}.sara-gacha-bg-ray-b{--ray-rotate: -15deg;left:9%;bottom:24%;transform:rotate(var(--ray-rotate));animation-delay:.6s}.sara-gacha-bg-ray-c{--ray-rotate: -12deg;right:6%;bottom:19%;transform:rotate(var(--ray-rotate));animation-delay:1.1s}.sara-gacha-result-focus-scrim{z-index:4;opacity:0;background:radial-gradient(ellipse at 50% 54%,rgba(255,255,255,.1),transparent 28%),radial-gradient(ellipse at 50% 58%,#07111f2e,#07111f75 82%),linear-gradient(180deg,#ebf7ff52,#07111f47);-webkit-backdrop-filter:blur(6px) saturate(.86);backdrop-filter:blur(6px) saturate(.86);transition:opacity .32s ease}.is-gachaResult .sara-gacha-result-focus-scrim{opacity:1}.sara-gacha-scanlines{background:repeating-linear-gradient(0deg,rgba(27,63,140,.035) 0 1px,transparent 1px 5px),radial-gradient(circle at 50% 50%,transparent 0 48%,rgba(27,63,140,.16) 100%);opacity:.62;mix-blend-mode:screen}.sara-gacha-screen:after{content:"";box-shadow:inset 0 0 0 1px #ffffff6b,inset 0 -130px 150px #1b3f8c2e}.sara-gacha-marquee{position:relative;z-index:1;display:flex;justify-content:center}.sara-gacha-led-board{position:relative;isolation:isolate;width:min(940px,84vw);min-height:clamp(96px,9vw,136px);display:grid;place-items:center;border-radius:18px;border:4px solid transparent;background:radial-gradient(ellipse at 50% 6%,rgba(255,244,199,.32),transparent 36%) padding-box,repeating-linear-gradient(90deg,rgba(255,244,199,.09) 0 1px,transparent 1px 7px) padding-box,linear-gradient(180deg,#4a2b0b,#1c1208 42%,#080604 70%,#2a1505) padding-box,linear-gradient(135deg,#fff6c8,#fbbf24 18%,#8a5a10 46%,#5b2608 78%,#fff1a8) border-box;box-shadow:inset 0 0 0 1px #fff2b875,inset 0 0 18px #fbbf2429,inset 0 0 32px #00000094,0 0 28px #fbbf2457,0 16px 40px #5c3a0042;overflow:hidden}.sara-gacha-led-dots{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(circle,rgba(255,248,209,1) 0 2px,rgba(251,191,36,.76) 2.4px,transparent 3.6px) 4px 4px / 18px 18px,linear-gradient(90deg,rgba(255,244,199,.2),transparent 18%,transparent 82%,rgba(255,244,199,.16));opacity:.92;mix-blend-mode:screen}.sara-gacha-led-board:before,.sara-gacha-led-board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sara-gacha-led-board:before{display:none}.sara-gacha-led-board:after{display:none}.sara-gacha-led-title{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:clamp(5px,.86vw,13px);font-family:Arial Black,Arial,sans-serif;font-size:clamp(38px,5.5vw,76px);font-weight:950;line-height:1}.sara-gacha-led-space{width:clamp(16px,2.2vw,32px)}.sara-gacha-led-title span:not(.sara-gacha-led-space){--led-color: #fff6c8;color:#fff7d6;filter:saturate(1.08) brightness(1.08);text-shadow:0 2px 0 rgba(92,58,0,.86),0 0 8px rgba(255,244,199,.86),0 0 22px rgba(251,191,36,.66),0 0 42px rgba(251,191,36,.26);animation:saraGachaLedFlicker 2.6s ease-in-out infinite}.sara-gacha-led-title span:nth-child(2){animation-delay:.12s}.sara-gacha-led-title span:nth-child(3){animation-delay:.24s}.sara-gacha-led-title span:nth-child(4){animation-delay:.36s}.sara-gacha-led-title span:nth-child(6){animation-delay:.48s}.sara-gacha-led-title span:nth-child(7){animation-delay:.6s}.sara-gacha-led-title span:nth-child(8){animation-delay:.72s}.sara-gacha-led-title span:nth-child(9){animation-delay:.84s}.sara-gacha-led-title span:nth-child(10){animation-delay:.96s}.sara-gacha-stage{position:relative;z-index:1;width:min(1760px,100%);min-height:0;margin:0 auto;display:grid;grid-template-columns:minmax(260px,.78fr) minmax(520px,1.2fr) minmax(260px,.78fr);gap:clamp(18px,2vw,34px);align-items:center}.sara-gacha-status-card,.sara-gacha-result-card{position:relative;align-self:center;max-width:390px;border-radius:12px;border:1px solid rgba(27,63,140,.16);background:linear-gradient(120deg,rgba(255,255,255,.72),transparent 44%),linear-gradient(180deg,transparent 0 68%,rgba(0,155,226,.08)),var(--gacha-panel);color:var(--sara-ink);box-shadow:0 22px 56px #1b3f8c2e,inset 0 0 0 1px #ffffffb3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}.sara-gacha-status-card:before,.sara-gacha-result-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle,rgba(0,155,226,.07) 1px,transparent 1.5px);background-size:6px 6px;opacity:.68}.sara-gacha-status-card{display:flex;flex-direction:column;gap:clamp(14px,1.4vw,20px);padding:clamp(20px,2.1vw,32px)}.sara-gacha-status-card span,.sara-gacha-result-card span{position:relative;z-index:1;color:#0b58a8;font-family:Courier New,Consolas,monospace;font-size:clamp(13px,1.05vw,18px);font-weight:900;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 8px 20px rgba(0,155,226,.14)}.sara-gacha-status-card strong{position:relative;z-index:1;color:var(--sara-ink);font-size:clamp(34px,3vw,56px);font-weight:950;line-height:1.02;overflow-wrap:anywhere;text-shadow:0 14px 32px rgba(27,63,140,.12)}.is-gachaReady .sara-gacha-status-card strong{font-size:clamp(30px,2.35vw,46px);line-height:1.08}.is-gachaReady .sara-gacha-status-card span,.is-gachaReady .sara-gacha-result-card span{font-family:inherit;letter-spacing:.08em;text-transform:none}.sara-gacha-status-card p,.sara-gacha-result-card p{position:relative;z-index:1;margin:0;color:#334155;font-size:clamp(17px,1.35vw,24px);font-weight:780;line-height:1.45}.sara-gacha-machine-wrap{min-height:min(76vh,820px);display:grid;place-items:center;overflow:visible}.sara-gacha-holo-stage{position:relative;width:min(760px,100%);min-height:min(76vh,730px);display:grid;place-items:center;isolation:isolate}.sara-gacha-holo-stage:before{content:"";position:absolute;left:3%;right:3%;bottom:7%;height:19%;border-radius:50%;background:repeating-radial-gradient(ellipse at center,rgba(0,155,226,.2) 0 2px,transparent 2px 20px);transform:perspective(900px) rotateX(68deg);filter:blur(.2px);opacity:.88;animation:saraGachaHoloRing 3.2s linear infinite}.sara-gacha-holo-stage:after{content:"";position:absolute;left:18%;right:18%;bottom:5%;height:28px;border-radius:50%;background:#1b3f8c38;filter:blur(16px)}.is-gachaDrawing .sara-gacha-holo-stage:before{animation-duration:1.2s;opacity:1}.sara-gacha-capsule-trails,.sara-gacha-draw-field{position:absolute;top:8%;right:-18%;bottom:8%;left:-18%;pointer-events:none}.sara-gacha-capsule-trails{z-index:2}.sara-gacha-capsule-trails span{position:absolute;left:var(--x);top:var(--y);width:74px;height:8px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(0,155,226,.78),rgba(255,255,255,.9));filter:drop-shadow(0 0 12px rgba(0,155,226,.44));transform:rotate(var(--r));animation:saraGachaTrailMove 2.6s ease-in-out infinite}.sara-gacha-capsule-trails span:nth-child(1){--x: 5%;--y: 18%;--r: -18deg}.sara-gacha-capsule-trails span:nth-child(2){--x: 72%;--y: 28%;--r: 18deg;animation-delay:.28s}.sara-gacha-capsule-trails span:nth-child(3){--x: 0%;--y: 65%;--r: 16deg;animation-delay:.56s}.sara-gacha-capsule-trails span:nth-child(4){--x: 74%;--y: 72%;--r: -15deg;animation-delay:.84s}.is-gachaDrawing .sara-gacha-capsule-trails span{animation-duration:1.2s}.sara-gacha-draw-field{z-index:3;opacity:0}.sara-gacha-draw-field span{position:absolute;left:var(--x);top:var(--y);width:min(220px,18vw);height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(0,155,226,.2),rgba(255,255,255,.98),rgba(37,240,161,.55),transparent);box-shadow:0 0 18px #009be273,0 0 34px #25f0a138;transform:rotate(var(--r)) scaleX(.35);transform-origin:center}.sara-gacha-draw-field span:nth-child(1){--x: 5%;--y: 20%;--r: -16deg}.sara-gacha-draw-field span:nth-child(2){--x: 70%;--y: 24%;--r: 15deg}.sara-gacha-draw-field span:nth-child(3){--x: 9%;--y: 64%;--r: 14deg}.sara-gacha-draw-field span:nth-child(4){--x: 66%;--y: 68%;--r: -12deg}.is-gachaDrawing .sara-gacha-draw-field{opacity:1}.is-gachaStopping .sara-gacha-draw-field{opacity:.86}.is-gachaDrawing .sara-gacha-draw-field span{animation:saraGachaDataBeam 1.18s cubic-bezier(.16,1,.3,1) infinite}.is-gachaStopping .sara-gacha-draw-field span{animation:saraGachaDataBeam 1.6s cubic-bezier(.16,1,.3,1) infinite}.is-gachaDrawing .sara-gacha-draw-field span:nth-child(2){animation-delay:.14s}.is-gachaDrawing .sara-gacha-draw-field span:nth-child(3){animation-delay:.28s}.is-gachaDrawing .sara-gacha-draw-field span:nth-child(4){animation-delay:.42s}.sara-gacha-machine{position:relative;z-index:5;width:min(clamp(380px,34vw,590px),calc((100vh - 140px)*.72));aspect-ratio:2 / 3;filter:drop-shadow(0 28px 32px rgba(27,63,140,.32)) drop-shadow(0 0 34px rgba(0,155,226,.24)) drop-shadow(0 0 18px rgba(250,204,21,.18))}.sara-gacha-machine:before{content:"";position:absolute;left:8%;right:8%;bottom:-1.8%;height:7%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.74),transparent 68%);filter:blur(8px)}.is-gachaDrawing .sara-gacha-machine{animation:none;filter:drop-shadow(0 30px 36px rgba(27,63,140,.34)) drop-shadow(0 0 46px rgba(0,155,226,.38)) drop-shadow(0 0 28px rgba(37,240,161,.2)) drop-shadow(0 0 18px rgba(250,204,21,.2))}.is-gachaStopping .sara-gacha-machine{animation:saraGachaMachineStopTension var(--gacha-stop-duration, 3.2s) cubic-bezier(.16,1,.3,1) both;filter:drop-shadow(0 32px 38px rgba(27,63,140,.36)) drop-shadow(0 0 52px rgba(0,155,226,.42)) drop-shadow(0 0 30px var(--gacha-rarity-glow)) drop-shadow(0 0 22px rgba(250,204,21,.24))}.is-gachaStopping.is-betrayal.stopping-betrayal .sara-gacha-machine,.is-gachaStopping.is-betrayal.stopping-rankup .sara-gacha-machine{animation:saraGachaBetrayalShake .16s ease-in-out infinite}.sara-gacha-frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;width:100%;height:100%;object-fit:fill;pointer-events:none}.sara-gacha-machine-lights{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.sara-gacha-bulb{--bulb-color: #fff2a8;--bulb-glow: rgba(250, 204, 21, .72);position:absolute;left:var(--x);top:var(--y);width:clamp(8px,3.5%,20px);aspect-ratio:1;transform:translate(-50%,-50%)}.sara-gacha-led-glass,.sara-gacha-led-filament,.sara-gacha-led-glow,.sara-gacha-led-ambient-bulb{position:absolute;pointer-events:none}.sara-gacha-led-glass{top:0;left:50%;width:86%;height:100%;border-radius:50%;transform:translate(-50%);background:radial-gradient(ellipse at 30% 25%,rgba(255,255,255,.94) 0%,rgba(255,255,255,.14) 20%,transparent 50%);overflow:hidden}.sara-gacha-led-glass:before,.sara-gacha-led-glass:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.sara-gacha-led-glass:before{top:8%;left:15%;width:35%;height:25%;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.18),transparent)}.sara-gacha-led-glass:after{right:20%;bottom:15%;width:20%;height:15%;background:#ffffff29}.sara-gacha-led-filament{top:20%;left:50%;width:50%;height:50%;border-radius:50%;transform:translate(-50%);background:radial-gradient(circle at 50% 40%,#ffffff 0%,#fff8dc 15%,var(--bulb-color) 36%,#ff8c00 62%,#cc5500 100%);box-shadow:0 0 3px 1px var(--bulb-color),0 0 7px 2px #ff8c00e0,0 0 14px 4px var(--bulb-glow),0 0 24px 7px #ff8c003d;animation:saraGachaFilamentGlow 2s ease-in-out infinite;animation-delay:calc(var(--i) * -.08s)}.sara-gacha-led-glow{top:50%;left:50%;width:215%;height:215%;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--bulb-glow) 0%,rgba(255,140,0,.18) 42%,transparent 72%);animation:saraGachaGlowPulse 2s ease-in-out infinite;animation-delay:calc(var(--i) * -.08s)}.sara-gacha-led-ambient-bulb{top:50%;left:50%;width:355%;height:355%;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,200,100,.15) 0%,transparent 62%)}.sara-gacha-bulb:nth-child(1){--x: 26.46%;--y: 13.48%;--i: 0}.sara-gacha-bulb:nth-child(2){--x: 30.76%;--y: 11.98%;--i: 1}.sara-gacha-bulb:nth-child(3){--x: 35.45%;--y: 11.33%;--i: 2}.sara-gacha-bulb:nth-child(4){--x: 64.75%;--y: 11.2%;--i: 3}.sara-gacha-bulb:nth-child(5){--x: 69.53%;--y: 12.17%;--i: 4}.sara-gacha-bulb:nth-child(6){--x: 74.32%;--y: 13.54%;--i: 5}.sara-gacha-bulb:nth-child(7){--x: 22.46%;--y: 20.83%;--i: 6}.sara-gacha-bulb:nth-child(8){--x: 35.64%;--y: 20.83%;--i: 7}.sara-gacha-bulb:nth-child(9){--x: 50%;--y: 20.83%;--i: 8}.sara-gacha-bulb:nth-child(10){--x: 64.45%;--y: 20.83%;--i: 9}.sara-gacha-bulb:nth-child(11){--x: 77.64%;--y: 20.83%;--i: 10}.sara-gacha-bulb:nth-child(12){--x: 11.72%;--y: 26.69%;--i: 11}.sara-gacha-bulb:nth-child(13){--x: 11.72%;--y: 36.46%;--i: 12}.sara-gacha-bulb:nth-child(14){--x: 11.72%;--y: 46.22%;--i: 13}.sara-gacha-bulb:nth-child(15){--x: 11.72%;--y: 55.99%;--i: 14}.sara-gacha-bulb:nth-child(16){--x: 11.72%;--y: 65.76%;--i: 15}.sara-gacha-bulb:nth-child(17){--x: 11.72%;--y: 75.52%;--i: 16}.sara-gacha-bulb:nth-child(18){--x: 88.87%;--y: 26.69%;--i: 17}.sara-gacha-bulb:nth-child(19){--x: 88.87%;--y: 36.46%;--i: 18}.sara-gacha-bulb:nth-child(20){--x: 88.87%;--y: 46.22%;--i: 19}.sara-gacha-bulb:nth-child(21){--x: 88.87%;--y: 55.99%;--i: 20}.sara-gacha-bulb:nth-child(22){--x: 88.87%;--y: 65.76%;--i: 21}.sara-gacha-bulb:nth-child(23){--x: 88.87%;--y: 75.52%;--i: 22}.is-gachaDrawing .sara-gacha-led-filament,.is-gachaStopping .sara-gacha-led-filament{animation:saraGachaBulbChase .6s ease-in-out infinite;animation-delay:calc(var(--i) * .04s)}.is-gachaDrawing .sara-gacha-led-glow,.is-gachaStopping .sara-gacha-led-glow{animation:saraGachaGlowChase .6s ease-in-out infinite;animation-delay:calc(var(--i) * .04s)}.is-gachaStopping.is-betrayal .sara-gacha-bulb,.rarity-ur .sara-gacha-bulb,.rarity-lg .sara-gacha-bulb{--bulb-color: color-mix(in srgb, var(--gacha-rarity) 74%, #ffffff 26%);--bulb-glow: var(--gacha-rarity-glow)}.rarity-lg .sara-gacha-bulb{color:var(--gacha-rarity);animation:saraGachaRainbowShift 1.5s linear infinite}.sara-gacha-gem-sparkle{--gem-core: rgba(255, 255, 255, .96);--gem-soft: rgba(255, 255, 255, .28);position:absolute;left:var(--x);top:var(--y);width:var(--size, 28px);height:var(--size, 28px);transform:translate(-50%,-50%) rotate(var(--rotate, 0deg));transform-origin:50% 50%;opacity:0;border-radius:999px;background:radial-gradient(circle at 50% 50%,var(--gem-core) 0 7%,var(--gem-color, #ffffff) 8% 15%,transparent 27%),conic-gradient(from 45deg,transparent 0 9%,var(--gem-soft) 12%,transparent 18% 34%,var(--gem-soft) 38%,transparent 45% 59%,var(--gem-soft) 63%,transparent 70% 84%,var(--gem-soft) 88%,transparent 100%);mix-blend-mode:screen;filter:drop-shadow(0 0 4px var(--gem-core)) drop-shadow(0 0 12px var(--gem-glow, rgba(255, 255, 255, .78)));animation:saraGachaGemSparkle 2.35s cubic-bezier(.16,1,.3,1) infinite;animation-delay:var(--delay, 0s)}.sara-gacha-gem-sparkle:before,.sara-gacha-gem-sparkle:after{content:"";position:absolute;left:50%;top:50%;border-radius:999px;opacity:.88;pointer-events:none}.sara-gacha-gem-sparkle:before{width:150%;height:8%;background:linear-gradient(90deg,transparent 0%,var(--gem-soft) 18%,var(--gem-core) 48%,var(--gem-color, #ffffff) 52%,var(--gem-soft) 82%,transparent 100%);transform:translate(-50%,-50%)}.sara-gacha-gem-sparkle:after{width:8%;height:150%;background:linear-gradient(180deg,transparent 0%,var(--gem-soft) 18%,var(--gem-core) 48%,var(--gem-color, #ffffff) 52%,var(--gem-soft) 82%,transparent 100%);transform:translate(-50%,-50%)}.sara-gacha-gem-sparkle.is-ruby{--gem-color: #ff7a9a;--gem-soft: rgba(255, 122, 154, .36);--gem-glow: rgba(248, 113, 113, .9)}.sara-gacha-gem-sparkle.is-diamond{--gem-color: #e0f7ff;--gem-soft: rgba(224, 247, 255, .32);--gem-glow: rgba(34, 211, 238, .76)}.sara-gacha-gem-sparkle:nth-of-type(1){--x: 32.23%;--y: 16.47%;--size: clamp(22px, 7.5%, 42px);--rotate: 12deg;--delay: 0s}.sara-gacha-gem-sparkle:nth-of-type(2){--x: 67.48%;--y: 16.47%;--size: clamp(22px, 7.5%, 42px);--rotate: -18deg;--delay: 1s}.sara-gacha-gem-sparkle:nth-of-type(3){--x: 55.96%;--y: 1.82%;--size: clamp(16px, 6%, 30px);--rotate: 18deg;--delay: 0s}.sara-gacha-gem-sparkle:nth-of-type(4){--x: 42.97%;--y: 2.99%;--size: clamp(16px, 6%, 30px);--rotate: -18deg;--delay: .4s}.sara-gacha-gem-sparkle:nth-of-type(5){--x: 41.8%;--y: 8.53%;--size: clamp(16px, 6%, 30px);--rotate: 25deg;--delay: .9s}.sara-gacha-gem-sparkle:nth-of-type(6){--x: 46.78%;--y: 14.52%;--size: clamp(16px, 6%, 30px);--rotate: -12deg;--delay: 1.3s}.sara-gacha-gem-sparkle:nth-of-type(7){--x: 58.2%;--y: 14%;--size: clamp(16px, 6%, 30px);--rotate: 10deg;--delay: .6s}.sara-gacha-gem-sparkle:nth-of-type(8){--x: 56.25%;--y: 9.31%;--size: clamp(16px, 6%, 30px);--rotate: -10deg;--delay: 1.1s}.is-gachaDrawing .sara-gacha-gem-sparkle,.is-gachaStopping .sara-gacha-gem-sparkle,.is-gachaResult .sara-gacha-gem-sparkle{opacity:1}.sara-gacha-machine-content{position:absolute;z-index:1;left:21.5%;top:26.84%;width:57.5%;height:51.67%;display:grid;grid-template-rows:12.5% minmax(0,1fr) 16.5%;gap:1.6%;padding:1.5%;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent),radial-gradient(ellipse at 30% 20%,#183a68,#0c1d35 52%,#06101f);box-shadow:inset 0 0 26px #000000b8,inset 0 0 20px #009be229}.sara-gacha-machine-led{position:relative;display:grid;place-items:center;min-width:0;border-radius:4px;color:var(--gacha-neon);background:#04060a;font-family:Courier New,Consolas,monospace;font-size:clamp(11px,.82vw,16px);font-weight:900;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 2px var(--gacha-neon),0 0 5px var(--gacha-neon),0 0 14px rgba(34,211,238,.58);box-shadow:inset 0 0 0 2px #ffffff14,inset 0 0 16px #000000d6}.sara-gacha-machine-led:before,.sara-gacha-machine-led:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sara-gacha-machine-led:before{background-image:radial-gradient(circle,rgba(0,255,200,.06) 1px,transparent 1.5px);background-size:3px 3px}.sara-gacha-machine-led:after{background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px);animation:saraGachaScanline 4s linear infinite}.sara-gacha-reel-frame{position:relative;min-height:0;border-radius:5px;background:#141414;padding:4px;box-shadow:inset 0 1px #ffffff2e,inset 0 -2px 5px #000000b8}.sara-gacha-reel-frame:after{content:"";position:absolute;top:7%;right:7%;bottom:7%;left:7%;z-index:5;pointer-events:none;opacity:0;background:linear-gradient(48deg,transparent 0 31%,rgba(255,255,255,.92) 31% 32%,transparent 32% 100%),linear-gradient(126deg,transparent 0 54%,rgba(34,211,238,.86) 54% 55%,transparent 55% 100%),linear-gradient(74deg,transparent 0 63%,rgba(255,255,255,.78) 63% 64%,transparent 64% 100%);filter:drop-shadow(0 0 12px rgba(34,211,238,.82))}.stopping-betrayal .sara-gacha-reel-frame:after,.stopping-rankup .sara-gacha-reel-frame:after{animation:saraGachaCrackFlash 1.12s steps(3,end) both}.sara-gacha-reel-gold-trim{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:4px;background:var(--gacha-metal);box-shadow:inset 0 1px #fff6,inset 0 -1px #0000005c}.sara-gacha-reel-window{position:absolute;top:5px;right:5px;bottom:5px;left:5px;overflow:hidden;display:grid;place-items:center;border-radius:3px;background:linear-gradient(135deg,#080812f7,#03030afc);box-shadow:inset 0 2px 4px #ffffff0d,inset 0 -2px 8px #000000d1,inset 4px 0 10px #00000070,inset -4px 0 10px #00000070}.sara-gacha-reel-window:before,.sara-gacha-reel-window:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sara-gacha-reel-window:before{z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.44) 15%,transparent 35%,transparent 65%,rgba(0,0,0,.42) 85%,rgba(0,0,0,.86) 100%)}.sara-gacha-reel-window:after{z-index:3;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 5px)}.sara-gacha-glass-cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.13),transparent 32%,transparent 68%,rgba(255,255,255,.06)),linear-gradient(115deg,transparent 0 28%,rgba(255,255,255,.18) 32%,transparent 44%);opacity:.85}.sara-gacha-reel-strip{--reel-spin-start: clamp(92px, 7.2vw, 128px);--reel-spin-end: clamp(-360px, -23vw, -220px);position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:clamp(22px,2vw,34px);transform:translateY(var(--reel-spin-start))}.is-gachaDrawing .sara-gacha-reel-strip{animation:saraGachaReelSpin .58s linear infinite}.is-gachaStopping .sara-gacha-reel-strip{--reel-stop-end: clamp(-620px, -40vw, -430px);animation:saraGachaReelStop var(--gacha-stop-duration, 3.2s) cubic-bezier(.08,.72,.17,1) both}.is-gachaStopping.is-betrayal .sara-gacha-reel-strip{--reel-stop-end: clamp(-520px, -34vw, -350px)}.sara-gacha-reel-strip span,.sara-gacha-reel-result{position:relative;color:var(--gacha-rarity);font-family:Arial Black,Arial,Courier New,Consolas,monospace;font-size:clamp(58px,5.2vw,96px);font-weight:950;line-height:.9;letter-spacing:0;text-align:center;text-shadow:0 0 6px var(--gacha-rarity),0 0 22px var(--gacha-rarity-glow),0 0 42px var(--gacha-rarity-glow)}.sara-gacha-reel-strip span{min-width:2.05ch}.sara-gacha-reel-symbol-n{--gacha-rarity: #a8b1bd;--gacha-rarity-glow: rgba(156, 163, 175, .58)}.sara-gacha-reel-symbol-r{--gacha-rarity: #4fb5ff;--gacha-rarity-glow: rgba(59, 130, 246, .66)}.sara-gacha-reel-symbol-sr{--gacha-rarity: #b48cff;--gacha-rarity-glow: rgba(167, 139, 250, .72)}.sara-gacha-reel-symbol-ur{--gacha-rarity: #ff6b78;--gacha-rarity-glow: rgba(248, 113, 113, .76)}.sara-gacha-reel-symbol-lg{--gacha-rarity: #fbbf24;--gacha-rarity-glow: rgba(251, 191, 36, .78)}.sara-gacha-reel-result{position:relative;z-index:1;min-width:2.08ch;padding-inline:.05em;font-size:clamp(76px,7.4vw,132px);-webkit-text-stroke:2px rgba(255,255,255,.12);text-shadow:0 0 8px rgba(255,255,255,.82),0 0 18px var(--gacha-rarity),0 0 42px var(--gacha-rarity-glow),0 0 76px var(--gacha-rarity-glow);animation:saraGachaResultPulse 1.15s ease-in-out infinite}.stopping-rankup .sara-gacha-reel-result,.stopping-revealing .sara-gacha-reel-result{animation:saraGachaRankUpPop .72s cubic-bezier(.16,1,.3,1) both,saraGachaResultPulse 1.15s ease-in-out .72s infinite}.sara-gacha-deco-button{position:relative;width:100%;min-width:0;border:none;border-radius:7px;cursor:default;opacity:1;color:transparent;background-image:url(/images/gacha/red_button.png);background-size:100% 100%;background-position:center;box-shadow:0 5px #5c0a0a,0 8px 14px #00000080,inset 0 1px #ffffff38,inset 0 -2px 4px #00000057}.sara-gacha-deco-button:disabled{cursor:default;opacity:1}.is-gachaDrawing .sara-gacha-deco-button:disabled{cursor:wait}.is-gachaStopping .sara-gacha-deco-button:disabled{cursor:wait}.sara-gacha-deco-button.is-actionable{cursor:pointer}.sara-gacha-deco-button.is-actionable:hover{filter:brightness(1.08) saturate(1.05)}.sara-gacha-deco-button.is-actionable:active{transform:translateY(3px);box-shadow:0 2px #5c0a0a,0 5px 10px #0000007a,inset 0 1px #fff3,inset 0 -2px 4px #00000057}.is-gachaDrawing .sara-gacha-deco-button.is-actionable:active{box-shadow:0 2px #0c1a4a,0 5px 10px #0000007a,inset 0 1px #fff3,inset 0 -2px 4px #00000057}.sara-gacha-deco-button:focus-visible,.sara-gacha-prize-footer:focus-visible{outline:4px solid rgba(37,240,161,.84);outline-offset:5px}.sara-gacha-deco-button:after{content:"";position:absolute;top:4px;left:10%;right:10%;height:40%;border-radius:4px 4px 50% 50%;background:linear-gradient(180deg,rgba(255,255,255,.25) 0%,rgba(255,255,255,.05) 50%,transparent 100%);pointer-events:none}.sara-gacha-deco-button span{position:relative;z-index:1;display:inline-block;max-width:100%;font-size:clamp(13px,.95vw,18px);font-weight:950;letter-spacing:.32em;text-indent:.32em;line-height:1;background:linear-gradient(180deg,#fff,#e9e9e9 28%,#b8b8b8 48%,#fff 80%,#f1f1f1);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 rgba(0,0,0,.72)) drop-shadow(0 2px 2px rgba(0,0,0,.36))}.sara-gacha-deco-button span:after{content:attr(data-text);position:absolute;left:0;top:0;background:linear-gradient(180deg,rgba(255,255,255,.42) 0%,transparent 52%);-webkit-background-clip:text;background-clip:text;color:transparent}.is-gachaDrawing .sara-gacha-deco-button{background-image:url(/images/gacha/blue_button.png);box-shadow:0 5px #0c1a4a,0 8px 14px #00000080,inset 0 1px #ffffff38,inset 0 -2px 4px #00000057;animation:saraGachaButtonPulse .8s ease-in-out infinite}.is-gachaStopping .sara-gacha-deco-button{background-image:url(/images/gacha/blue_button.png);box-shadow:0 4px #0c1a4a,0 8px 14px #00000080,inset 0 1px #ffffff38,inset 0 -2px 4px #00000057;filter:saturate(.94) brightness(.98)}.is-gachaDrawing .sara-gacha-deco-button.is-actionable{animation:none}.is-gachaResult .sara-gacha-deco-button{background-image:url(/images/gacha/green_button.png);box-shadow:0 5px #0a5c1a,0 8px 14px #00000080,inset 0 1px #ffffff38,inset 0 -2px 4px #00000057}.sara-gacha-impact-cut{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;pointer-events:none;opacity:0}.sara-gacha-impact-cut:before,.sara-gacha-impact-cut:after{content:"";position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;background:linear-gradient(105deg,transparent 0 24%,rgba(255,255,255,.86) 28%,rgba(0,155,226,.34) 34%,transparent 42%),linear-gradient(-105deg,transparent 0 58%,rgba(37,240,161,.3) 63%,transparent 72%);transform:translate(-30%)}.sara-gacha-impact-cut strong{position:relative;z-index:1;border-radius:999px;padding:14px 48px;color:color-mix(in srgb,var(--gacha-rarity) 72%,#ffffff 28%);background:linear-gradient(135deg,#ffffffd1,#ffffff1f),radial-gradient(ellipse at 50% 50%,var(--gacha-rarity-glow),transparent 72%);box-shadow:0 24px 70px var(--gacha-rarity-glow),0 0 0 1px #ffffffb8 inset;font-size:clamp(64px,8vw,132px);font-weight:950;line-height:1;letter-spacing:0;text-transform:uppercase;text-shadow:0 0 18px rgba(255,255,255,.78),0 0 52px var(--gacha-rarity-glow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.is-gachaResult .sara-gacha-impact-cut{animation:saraGachaImpactFade 1.05s ease-out both}.stopping-betrayal .sara-gacha-impact-cut{animation:saraGachaImpactFade .94s ease-out both}.stopping-rankup .sara-gacha-impact-cut,.stopping-revealing .sara-gacha-impact-cut{animation:saraGachaImpactFade 1.15s ease-out both}.is-gachaResult .sara-gacha-impact-cut:before,.is-gachaResult .sara-gacha-impact-cut:after,.stopping-betrayal .sara-gacha-impact-cut:before,.stopping-betrayal .sara-gacha-impact-cut:after,.stopping-rankup .sara-gacha-impact-cut:before,.stopping-rankup .sara-gacha-impact-cut:after,.stopping-revealing .sara-gacha-impact-cut:before,.stopping-revealing .sara-gacha-impact-cut:after{animation:saraGachaImpactSlash 1.05s cubic-bezier(.16,1,.3,1) both}.sara-gacha-result-card{justify-self:end;display:flex;min-height:clamp(190px,19vw,300px);flex-direction:column;justify-content:center;gap:14px;padding:clamp(20px,2vw,30px);text-align:center}.sara-gacha-result-card strong{position:relative;z-index:1;color:var(--sara-ink);font-family:Courier New,Consolas,monospace;font-size:clamp(30px,2.6vw,48px);font-weight:950;line-height:1;white-space:nowrap;overflow-wrap:anywhere;text-shadow:0 14px 32px rgba(27,63,140,.12)}.is-gachaReady .sara-gacha-result-card strong{font-family:inherit;font-size:clamp(24px,2vw,36px);line-height:1.14;white-space:normal}.sara-gacha-prize-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center;padding:clamp(16px,4vw,64px);background:radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.96),transparent 22%),radial-gradient(ellipse at center,var(--gacha-rarity-glow),transparent 58%),#ebf7ff9e;-webkit-backdrop-filter:blur(8px) saturate(.92);backdrop-filter:blur(8px) saturate(.92);animation:saraGachaOverlayIn .32s ease-out both}.sara-gacha-prize-card{position:relative;z-index:2;width:min(780px,86vw);max-height:calc(100vh - 32px);border-radius:30px;border:6px solid transparent;background:linear-gradient(180deg,#fffffffa,#ebf7fffa) padding-box,linear-gradient(135deg,#ffffff,var(--gacha-rarity),var(--sara-mint),#ffffff) border-box;color:var(--sara-ink);overflow:hidden;box-shadow:0 36px 110px #07111f6b,0 0 92px var(--gacha-rarity-glow),0 0 0 1px #ffffffe0 inset;animation:saraGachaPrizePop .46s cubic-bezier(.16,1,.3,1) both}.sara-gacha-prize-rarity{position:relative;display:grid;place-items:center;min-height:clamp(54px,7vh,72px);padding:10px 48px;color:#0b58a8;background:linear-gradient(180deg,#fff,#edf7ff),radial-gradient(ellipse at 50% 0%,var(--gacha-rarity-glow),transparent 62%);font-family:Courier New,Consolas,monospace;font-size:clamp(30px,3vw,46px);font-weight:950;letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;text-shadow:0 0 8px rgba(255,255,255,.9),0 0 18px var(--gacha-rarity-glow);box-shadow:0 16px 34px #1b3f8c1f}.sara-gacha-prize-rarity:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1.5px);background-size:4px 4px}.sara-gacha-prize-body{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,1.6vw,24px);padding:clamp(22px,2.5vw,42px) clamp(30px,4vw,68px);text-align:center}.sara-gacha-prize-art{width:min(clamp(250px,21vw,340px),62vw);aspect-ratio:1;display:grid;place-items:center;border-radius:22px;border:5px solid transparent;background:linear-gradient(180deg,#050508,#0a0a12) padding-box,linear-gradient(180deg,var(--gacha-rarity),rgba(255,255,255,.22)) border-box;box-shadow:inset 0 2px 18px #000c,0 0 54px var(--gacha-rarity-glow);overflow:hidden}.sara-gacha-prize-art img{max-width:86%;max-height:86%;object-fit:contain}.sara-gacha-prize-body h1{margin:0;max-width:100%;color:var(--sara-ink);font-size:clamp(32px,3.4vw,58px);font-weight:950;line-height:1.08;overflow-wrap:anywhere;text-shadow:0 18px 38px rgba(27,63,140,.14)}.sara-gacha-prize-body p{margin:0;color:var(--gacha-rarity);font-family:Courier New,Consolas,monospace;font-size:clamp(16px,1.2vw,22px);font-weight:900;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 14px var(--gacha-rarity-glow)}.sara-gacha-prize-footer{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:min(420px,calc(100% - 72px));margin:0 auto clamp(22px,2.4vw,38px);display:grid;place-items:center;min-height:clamp(58px,7vh,74px);border:none;border-radius:8px;cursor:pointer;color:#fff;background-image:url(/images/gacha/green_button.png);background-size:100% 100%;background-position:center;font-size:clamp(22px,1.7vw,30px);font-weight:950;letter-spacing:.16em;text-indent:.16em;text-shadow:0 2px 4px rgba(0,0,0,.72),0 0 8px rgba(0,0,0,.5);box-shadow:0 5px #0a5c1a,0 9px 18px #00000075,inset 0 1px #ffffff38,inset 0 -2px 4px #00000057}.sara-gacha-prize-footer:hover:not(:disabled){filter:brightness(1.08) saturate(1.06)}.sara-gacha-prize-footer:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #0a5c1a,0 6px 12px #00000070,inset 0 1px #ffffff38,inset 0 -2px 4px #00000057}.sara-gacha-prize-footer:disabled{cursor:wait;opacity:.9}.sara-gacha-action-error{position:relative;z-index:7;justify-self:center;width:min(640px,calc(100vw - 32px));margin:-4px auto 0;padding:12px 16px;border-radius:8px;border:1px solid rgba(190,18,60,.34);color:#7f1d1d;background:#fff1f2f0;box-shadow:0 18px 44px #7f1d1d29;font-size:15px;font-weight:800;line-height:1.35;text-align:center}.sara-gacha-prize-body .sara-gacha-action-error{width:100%;margin:-6px 0 0;font-family:inherit;letter-spacing:0;text-transform:none;text-shadow:none}.sara-gacha-fireworks{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.sara-gacha-fireworks span{position:absolute;width:9px;height:9px;border-radius:50%;color:var(--gacha-rarity);background:currentColor;box-shadow:0 0 10px currentColor,0 0 24px var(--gacha-rarity-glow);animation:saraGachaFirework 1.8s ease-out infinite}.sara-gacha-fireworks span:nth-child(1){left:17%;top:26%;animation-delay:0s}.sara-gacha-fireworks span:nth-child(2){left:78%;top:20%;animation-delay:.22s}.sara-gacha-fireworks span:nth-child(3){left:68%;top:70%;animation-delay:.44s}.sara-gacha-fireworks span:nth-child(4){left:24%;top:72%;animation-delay:.66s}.sara-gacha-fireworks span:nth-child(5){left:50%;top:18%;animation-delay:.88s}.sara-gacha-gift-mark{position:relative;width:45%;aspect-ratio:1;border:10px solid currentColor;border-radius:18px;color:var(--gacha-rarity)}.sara-gacha-gift-mark:before,.sara-gacha-gift-mark:after,.sara-gacha-gift-mark span:before,.sara-gacha-gift-mark span:after{content:"";position:absolute;background:currentColor}.sara-gacha-gift-mark:before{left:50%;top:-10px;bottom:-10px;width:10px;transform:translate(-50%)}.sara-gacha-gift-mark:after{left:-10px;right:-10px;top:34%;height:10px}.sara-gacha-gift-mark span:before,.sara-gacha-gift-mark span:after{top:-38%;width:44%;height:38%;border:10px solid currentColor;border-radius:999px 999px 0;background:transparent}.sara-gacha-gift-mark span:before{right:50%;transform:rotate(12deg)}.sara-gacha-gift-mark span:after{left:50%;transform:scaleX(-1) rotate(12deg)}@keyframes saraGachaLedFlicker{0%,to{opacity:1;filter:brightness(1)}47%{opacity:.92;filter:brightness(.86)}50%{opacity:1;filter:brightness(1.18)}}@keyframes saraGachaScanline{to{transform:translateY(6px)}}@keyframes saraGachaRaySweep{0%,to{opacity:.38;transform:translate(-2%) rotate(var(--ray-rotate, 0deg))}45%{opacity:.86;transform:translate(5%) rotate(var(--ray-rotate, 0deg))}}@keyframes saraGachaMachineShake{0%,to{transform:translateZ(0) rotate(0)}20%{transform:translate3d(-5px,2px,0) rotate(-.5deg)}45%{transform:translate3d(4px,-1px,0) rotate(.4deg)}70%{transform:translate3d(-3px,1px,0) rotate(-.3deg)}}@keyframes saraGachaMachineStopTension{0%{transform:translateZ(0) rotate(0)}58%{transform:translate3d(0,-4px,0) rotate(.25deg)}78%{transform:translate3d(0,2px,0) rotate(-.16deg)}90%{transform:translate3d(0,-1px,0) rotate(.08deg)}to{transform:translateZ(0) rotate(0)}}@keyframes saraGachaBetrayalShake{0%,to{transform:translateZ(0) rotate(0)}20%{transform:translate3d(-8px,3px,0) rotate(-.9deg)}42%{transform:translate3d(7px,-2px,0) rotate(.75deg)}64%{transform:translate3d(-5px,-1px,0) rotate(-.5deg)}82%{transform:translate3d(4px,2px,0) rotate(.42deg)}}@keyframes saraGachaMachineFocus{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.012)}}@keyframes saraGachaHoloRing{0%{background-position:0 0;filter:hue-rotate(0deg)}to{background-position:0 32px;filter:hue-rotate(18deg)}}@keyframes saraGachaTrailMove{0%,to{opacity:.24;transform:translate(-18px) rotate(var(--r))}50%{opacity:1;transform:translate(18px) rotate(var(--r))}}@keyframes saraGachaDataBeam{0%{opacity:0;transform:rotate(var(--r)) translate(-18px) scaleX(.28)}18%{opacity:1}70%{opacity:.92;transform:rotate(var(--r)) translate(18px) scaleX(1)}to{opacity:0;transform:rotate(var(--r)) translate(34px) scaleX(.42)}}@keyframes saraGachaReelSpin{0%{transform:translateY(var(--reel-spin-start))}to{transform:translateY(var(--reel-spin-end))}}@keyframes saraGachaReelStop{0%{transform:translateY(var(--reel-spin-start));filter:blur(1.2px) brightness(1.18)}52%{transform:translateY(calc(var(--reel-stop-end) - 92px));filter:blur(.8px) brightness(1.14)}70%{transform:translateY(calc(var(--reel-stop-end) + 34px));filter:blur(.35px) brightness(1.08)}83%{transform:translateY(calc(var(--reel-stop-end) - 16px));filter:blur(.12px) brightness(1.04)}92%{transform:translateY(calc(var(--reel-stop-end) + 5px));filter:blur(0)}to{transform:translateY(var(--reel-stop-end));filter:blur(0) brightness(1)}}@keyframes saraGachaResultPulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.08);filter:brightness(1.24)}}@keyframes saraGachaRankUpPop{0%{opacity:0;transform:scale(.52) rotate(-4deg);filter:brightness(1.6) blur(2px)}44%{opacity:1;transform:scale(1.22) rotate(2deg);filter:brightness(1.85) blur(0)}to{opacity:1;transform:scale(1) rotate(0);filter:brightness(1.08) blur(0)}}@keyframes saraGachaButtonPulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(2px) scale(1.035)}}@keyframes saraGachaBulbIdle{0%,to{opacity:.62;transform:scale(.92);filter:brightness(.9)}50%{opacity:1;transform:scale(1.08);filter:brightness(1.35)}}@keyframes saraGachaFilamentGlow{0%,to{opacity:1;transform:translate(-50%) scale(1);filter:brightness(1)}25%{opacity:.95}50%{opacity:.76;transform:translate(-50%) scale(.96);filter:brightness(.86)}75%{opacity:.86}}@keyframes saraGachaGlowPulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.62;transform:translate(-50%,-50%) scale(.9)}}@keyframes saraGachaBulbChase{0%,40%,to{opacity:.54;transform:translate(-50%) scale(.86);filter:brightness(.68)}20%{opacity:1;transform:translate(-50%) scale(1.16);filter:brightness(1.55)}}@keyframes saraGachaGlowChase{0%,40%,to{opacity:.32;transform:translate(-50%,-50%) scale(.82)}20%{opacity:.95;transform:translate(-50%,-50%) scale(1.22)}}@keyframes saraGachaRainbowShift{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}@keyframes saraGachaGemSparkle{0%,to{opacity:0;transform:translate(-50%,-50%) rotate(var(--rotate, 0deg)) scale(.36)}20%{opacity:1;transform:translate(-50%,-50%) rotate(var(--rotate, 0deg)) scale(1.18)}42%{opacity:.52;transform:translate(-50%,-50%) rotate(calc(var(--rotate, 0deg) + 24deg)) scale(.72)}}@keyframes saraGachaCrackFlash{0%{opacity:0;transform:scale(.78)}18%{opacity:1;transform:scale(1)}52%{opacity:.62;transform:scale(1.04)}to{opacity:0;transform:scale(1.08)}}@keyframes saraGachaOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes saraGachaPrizePop{0%{opacity:0;transform:translateY(28px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes saraGachaImpactFade{0%{opacity:0}12%{opacity:1}78%{opacity:1}to{opacity:0}}@keyframes saraGachaImpactSlash{0%{transform:translate(-34%)}to{transform:translate(34%)}}@keyframes saraGachaFirework{0%{transform:scale(.4);opacity:0}12%{transform:scale(1);opacity:1}to{transform:translate(calc((var(--burst-x, 1) * 64px)),calc((var(--burst-y, 1) * 64px))) scale(0);opacity:0}}.sara-gacha-fireworks span:nth-child(1){--burst-x: 1.2;--burst-y: -1}.sara-gacha-fireworks span:nth-child(2){--burst-x: -1.1;--burst-y: 1.1}.sara-gacha-fireworks span:nth-child(3){--burst-x: 1;--burst-y: 1.2}.sara-gacha-fireworks span:nth-child(4){--burst-x: -1.2;--burst-y: -.8}.sara-gacha-fireworks span:nth-child(5){--burst-x: .6;--burst-y: -1.3}@media(max-width:1200px){.sara-gacha-stage{grid-template-columns:minmax(0,1fr) minmax(390px,520px)}.sara-gacha-status-card{max-width:none}.sara-gacha-result-card{display:none}.sara-gacha-machine{width:min(clamp(340px,40vw,500px),calc((100vh - 170px)*.6667))}}@media(max-width:760px){.sara-gacha-screen{padding:14px;gap:12px}.sara-gacha-led-board{width:100%;min-height:78px}.sara-gacha-led-title{font-size:clamp(27px,8vw,42px);gap:5px}.sara-gacha-stage{grid-template-columns:1fr;align-content:start;overflow-y:auto}.sara-gacha-status-card{display:none}.sara-gacha-machine-wrap{min-height:560px}.sara-gacha-machine{width:min(86vw,360px)}.sara-gacha-prize-card{width:min(92vw,480px)}.sara-gacha-prize-art{width:min(270px,62vw)}}.home-v2{display:flex;flex-direction:column;gap:22px;padding:var(--page-pad);max-width:1440px;margin:0 auto}.home-v2-header{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.home-v2-header h1{font-size:28px;font-weight:800;line-height:1.35;letter-spacing:-.005em;color:var(--text-1)}.home-v2-sub{font-size:12.5px;color:var(--text-4);margin-top:6px;display:inline-block}.home-v2-header-meta{display:flex;gap:8px}.home-v2-grid{display:grid;grid-template-columns:1.18fr 1fr .85fr;gap:18px;align-items:start}.home-v2-grid-command{grid-template-columns:.9fr 1.1fr}.hv-col{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px 20px 22px;min-height:560px;display:flex;flex-direction:column;box-shadow:0 2px 4px -1px #0f172a0a,0 8px 24px -8px #0f172a14}.hv-col-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border-subtle);margin-bottom:14px}.hv-col-head h2{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;color:var(--text-1);letter-spacing:.03em}.hv-col-head h2 svg.i{width:14px;height:14px;color:var(--text-3)}.hv-col-meta{font-size:11.5px;color:var(--text-5)}.hv-col-meta b{font-family:var(--ff-num);color:var(--text-2);font-weight:700}.hv-col-schedule-wide{grid-column:1 / -1;min-height:0;padding-bottom:18px;background:linear-gradient(135deg,#1b3f8c0e,#16a34a0a),var(--bg-card);border-color:#1b3f8c2e}.hv-col-schedule-wide .hv-col-head{margin-bottom:12px;border-bottom-color:#1b3f8c24}.hv-sc-list-wide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.hv-sc-list-wide .hv-sc-item{min-height:96px;align-content:start;background:#ffffffc7;border:1px solid var(--border-subtle);border-left:4px solid var(--border)}.hv-sc-list-wide .hv-sc-item:hover{transform:translateY(-1px);box-shadow:0 10px 22px -20px #0f172a8c}.hv-col-command{background:linear-gradient(180deg,var(--bg-card),rgba(241,247,255,.92));border-color:#1b3f8c29}.hv-command-main{padding:18px;border:1px solid rgba(27,63,140,.16);border-radius:12px;background:linear-gradient(135deg,#1b3f8c14,#ffffffc2),var(--bg-card)}.hv-command-kicker{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:var(--r-pill);background:var(--primary-light);color:var(--primary-text);font-size:var(--fs-xxs);font-weight:800;letter-spacing:.1em}.hv-command-main h3{margin:12px 0 8px;color:var(--text-1);font-size:23px;line-height:1.35;font-weight:800;letter-spacing:-.01em}.hv-command-main p{margin:0;color:var(--text-4);font-size:var(--fs-sm);line-height:1.75}.hv-command-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.hv-command-metrics div{min-height:74px;padding:12px 10px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-card)}.hv-command-metrics b{display:block;color:var(--text-1);font-family:var(--ff-num);font-size:24px;line-height:1;font-weight:800}.hv-command-metrics span{display:block;margin-top:8px;color:var(--text-4);font-size:var(--fs-xxs);font-weight:800}.hv-command-actions{display:flex;gap:8px;margin-top:14px}.hv-col-sara{background:linear-gradient(180deg,var(--bg-card) 0%,var(--sara-accent-bg-soft) 100%);border-color:var(--sara-accent-border)}.hv-col-sara .hv-col-head{border-bottom-color:var(--sara-accent-border)}.hv-sa-list{display:flex;flex-direction:column;gap:8px}.hv-sa-group-head{display:flex;align-items:center;gap:10px;padding:14px 2px 6px}.hv-sa-group-head:first-child{padding-top:2px}.hv-sa-group-grade{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-size:var(--fs-xs);font-weight:800;color:#fff;font-family:var(--ff-num);flex-shrink:0}.hv-sa-group-grade.S{background:var(--danger)}.hv-sa-group-grade.A{background:var(--warning)}.hv-sa-group-grade.B{background:var(--primary)}.hv-sa-group-grade.C{background:var(--success)}.hv-sa-group-grade.D{background:var(--text-5)}.hv-sa-group-name{font-size:12.5px;font-weight:800;color:var(--text-2);letter-spacing:.05em}.hv-sa-group-desc{font-size:var(--fs-xs);color:var(--text-5)}.hv-sa-group-count{margin-left:auto;font-size:10.5px;color:var(--text-5);font-family:var(--ff-num)}.hv-sa-item{display:grid;grid-template-columns:88px 1fr;grid-template-areas:"priority title" "priority why" "priority actions";gap:6px 12px;align-items:center;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-card);border-left:3px solid var(--border);cursor:pointer;transition:transform var(--dur-fast),box-shadow var(--dur-fast),border-color var(--dur-fast)}.hv-sa-item .hv-sa-priority{grid-area:priority;align-self:start;margin-top:1px}.hv-sa-item .hv-sa-title{grid-area:title;align-self:end}.hv-sa-item .hv-sa-why{grid-area:why;align-self:start}.hv-sa-item .hv-sa-actions{grid-area:actions;justify-content:flex-start}.hv-sa-item:hover{transform:translateY(-1px);box-shadow:0 4px 14px -6px #0000001a;border-color:var(--border)}.hv-sa-item.grade-S{border-left-color:var(--danger)}.hv-sa-item.grade-A{border-left-color:var(--warning)}.hv-sa-item.grade-B{border-left-color:var(--primary)}.hv-sa-item.grade-C{border-left-color:var(--success)}.hv-sa-item.grade-D{border-left-color:var(--text-5)}.hv-sa-item.added{opacity:.55;background:var(--bg-card-alt)}.hv-sa-item.added .hv-sa-title{color:var(--text-4)}.hv-sa-item.rejected{opacity:.4;background:var(--bg-card-alt);cursor:default}.hv-sa-item.rejected .hv-sa-title{color:var(--text-4);text-decoration:line-through}.hv-sa-item .hv-sa-priority{min-height:30px}.hv-sa-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.hv-sa-reject{display:inline-flex;align-items:center;padding:6px 11px;background:var(--bg-card);color:var(--text-4);border:1px solid var(--border);border-radius:var(--r-btn);font-size:var(--fs-xs);font-weight:700;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.hv-sa-reject:hover{background:var(--bg-card-alt);color:var(--danger);border-color:var(--danger)}.hv-sa-reject-tag{font-size:10.5px;padding:4px 9px;background:var(--bg-card-alt);color:var(--text-5);border-radius:var(--r-btn);font-weight:700;letter-spacing:.04em}.hv-sa-item .hv-sa-add{align-self:center;margin-top:0}.hv-sa-priority{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:6px 9px;border-radius:var(--r-pill);font-size:10.5px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.hv-sa-priority.S{background:#dc26261a;color:var(--danger-text)}.hv-sa-priority.A{background:var(--warning-light);color:var(--warning-text)}.hv-sa-priority.B{background:var(--primary-light);color:var(--primary-text)}.hv-sa-priority.C{background:var(--success-light);color:var(--success-text)}.hv-sa-priority.D{background:var(--bg-card-alt);color:var(--text-4)}.hv-sa-item.added .hv-sa-priority{opacity:.65}.hv-sa-body{display:flex;flex-direction:column;gap:6px;min-width:0}.hv-sa-cat-row{display:flex;gap:8px;align-items:center}.hv-sa-cat{display:inline-flex;align-items:center;padding:2px 8px;border-radius:3px;font-size:var(--fs-xxs);font-weight:700;letter-spacing:.06em;background:var(--bg-card-alt);color:var(--text-3)}.hv-sa-cat.kind-mail{background:#e04a241a;color:var(--accent-text)}.hv-sa-cat.kind-research{background:var(--primary-light);color:var(--primary-text)}.hv-sa-cat.kind-prep{background:#d977061a;color:var(--warning-text)}.hv-sa-cat.kind-practice{background:var(--ai-bg);color:var(--ai-label)}.hv-sa-cat.kind-learn{background:var(--success-light);color:var(--success-text)}.hv-sa-cat.kind-task{background:var(--bg-card-alt);color:var(--text-4)}.hv-sa-cat.kind-review{background:#2e437414;color:var(--primary-text)}.hv-sa-cat.kind-diary{background:#2e43740f;color:var(--text-3)}.hv-sa-cat.kind-reach{background:#d0542e14;color:var(--accent-text)}.hv-sa-cat.kind-people{background:var(--primary-light);color:var(--primary-text)}.hv-sa-cat.kind-training{background:var(--ai-bg);color:var(--ai-label)}.hv-sa-cat.kind-analyze{background:var(--primary-light);color:var(--primary-text)}.hv-sa-cat.kind-plan{background:var(--bg-card-alt);color:var(--text-3)}.hv-sa-cat.kind-user{background:#dc262614;color:var(--danger-text)}.hv-sa-cat.kind-integration{background:var(--warning-light);color:var(--warning-text)}.hv-sa-cat.kind-audit{background:var(--primary-light);color:var(--primary-text)}.hv-sa-cat.kind-backup{background:var(--bg-card-alt);color:var(--text-3)}.hv-sa-cat.kind-praise{background:var(--success-light);color:var(--success-text)}.hv-sa-title{font-size:var(--fs-md);font-weight:700;color:var(--text-1);line-height:1.45}.hv-sa-why{font-size:var(--fs-sm);color:var(--text-4);line-height:1.5;display:flex;align-items:baseline;gap:5px}.hv-sa-why>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1;min-width:0}.hv-sa-why-icon{width:11px;height:11px;color:var(--primary);flex-shrink:0;transform:translateY(2px)}.hv-sa-why-min{flex-shrink:0;font-size:var(--fs-xs);font-weight:700;color:var(--text-5);font-family:var(--ff-num);white-space:nowrap}.hv-sa-add{align-self:flex-start;margin-top:6px;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:var(--primary);color:#fff;border-radius:var(--r-btn);font-size:11.5px;font-weight:700;cursor:pointer;transition:background var(--dur-fast)}.hv-sa-add:hover{background:var(--primary-hover)}.hv-sa-add svg{width:11px;height:11px}.hv-sa-add.added{background:var(--success-light);color:var(--success-text);border:1px solid var(--success-border);cursor:default}.modal-sheet.hv-sa-modal{max-width:520px;padding:22px 26px 18px}.hv-sa-detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.hv-sa-detail-rank-wrap{display:flex;align-items:center;gap:12px}.hv-sa-detail-priority{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:800;letter-spacing:.03em}.hv-sa-detail-priority.S{background:#dc26261a;color:var(--danger-text)}.hv-sa-detail-priority.A{background:var(--warning-light);color:var(--warning-text)}.hv-sa-detail-priority.B{background:var(--primary-light);color:var(--primary-text)}.hv-sa-detail-priority.C{background:var(--success-light);color:var(--success-text)}.hv-sa-detail-priority.D{background:var(--bg-card-alt);color:var(--text-4)}.hv-sa-detail-close{width:32px;height:32px;border:none;background:transparent;font-size:22px;line-height:1;color:var(--text-4);cursor:pointer;border-radius:var(--r-btn);transition:background var(--dur-fast),color var(--dur-fast)}.hv-sa-detail-close:hover{background:var(--bg-card-alt);color:var(--text-1)}.hv-sa-detail-cat{display:inline-block;font-size:var(--fs-xxs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);padding:3px 8px;background:var(--bg-card-alt);border-radius:var(--r-badge);margin-bottom:10px}.hv-sa-detail-title{font-size:17px;font-weight:800;color:var(--text-1);line-height:1.45;margin:0 0 12px;letter-spacing:-.01em}.hv-sa-detail-meta{font-size:var(--fs-sm);color:var(--text-4);margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.hv-sa-detail-meta b{color:var(--text-1);font-weight:800;font-family:var(--ff-num);font-size:var(--fs-md);margin:0 2px}.hv-sa-detail-section{margin-bottom:14px}.hv-sa-detail-label{font-size:var(--fs-xxs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);margin-bottom:5px}.hv-sa-detail-text{font-size:12.5px;line-height:1.75;color:var(--text-2)}.hv-sa-detail-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;padding-top:14px;border-top:1px solid var(--border-subtle)}.hv-prog{background:linear-gradient(135deg,#16a34a0f,#2e43740a 80%);border:1px solid rgba(22,163,74,.18);border-radius:12px;padding:18px 20px}.hv-prog-head{display:flex;align-items:baseline;gap:14px;margin-bottom:10px}.hv-prog-figs{display:inline-flex;align-items:baseline;gap:8px}.hv-prog-done{font-family:var(--ff-num);font-size:32px;font-weight:800;color:var(--text-1);line-height:1}.hv-prog-total{font-size:var(--fs-sm);color:var(--text-4);font-family:var(--ff-num)}.hv-prog-pct{margin-left:auto;font-family:var(--ff-num);font-size:var(--fs-2xl);font-weight:800;color:var(--success-text)}.hv-prog-bar{height:10px;background:var(--bg-card);border:1px solid rgba(22,163,74,.18);border-radius:5px;overflow:hidden;position:relative}.hv-prog-fill{height:100%;background:linear-gradient(90deg,var(--success),#56B07F);border-radius:5px;transition:width .6s ease-out}.hv-prog-msg{margin-top:12px;padding:10px 12px;background:var(--bg-card);border-radius:var(--r-btn);font-size:var(--fs-sm);line-height:1.7;color:var(--text-3)}.hv-prog-msg b{color:var(--text-1);font-weight:700}.hv-tk-head{display:flex;align-items:center;gap:16px}.hv-tk-prog{margin-left:auto;display:flex;align-items:center;gap:10px;flex:1;max-width:360px}.hv-tk-prog-figs{display:inline-flex;align-items:baseline;gap:2px;font-family:var(--ff-num);white-space:nowrap;flex-shrink:0}.hv-tk-prog .hv-prog-done{font-size:15px;color:var(--text-1);font-weight:800;line-height:1}.hv-tk-prog .hv-prog-total{font-size:12.5px;color:var(--text-4);font-weight:600}.hv-tk-prog .hv-prog-bar{flex:1;height:5px;border:none;background:var(--bg-card-alt);border-radius:var(--r-pill);min-width:80px}.hv-tk-prog .hv-prog-fill{border-radius:var(--r-pill)}.hv-tk-prog .hv-prog-pct{margin-left:0;font-size:var(--fs-base);font-weight:800;color:var(--success-text);font-family:var(--ff-num);white-space:nowrap;flex-shrink:0}.hv-tk-list{display:flex;flex-direction:column;gap:4px}.hv-tk-empty{padding:28px 16px;text-align:center;font-size:var(--fs-sm);color:var(--text-5)}.hv-tk-item{display:grid;grid-template-columns:20px 1fr auto 32px;gap:10px;align-items:center;padding:11px 12px;background:var(--bg-card-alt);border-radius:7px;transition:background var(--dur-fast);border-left:3px solid transparent}.hv-tk-item:hover{background:var(--bg-card);box-shadow:0 1px 4px #0000000d}.hv-tk-item:hover .hv-tk-go{opacity:1;background:var(--primary-light);color:var(--primary)}.hv-tk-go{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;color:var(--text-4);background:transparent;border:1px solid var(--border-subtle);cursor:pointer;opacity:.7;transition:opacity var(--dur-fast),background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),transform var(--dur-instant)}.hv-tk-go:hover{background:var(--primary);color:#fff;border-color:var(--primary);opacity:1}.hv-tk-go:active{transform:scale(.9)}.hv-tk-go svg{width:16px;height:16px;stroke-width:2.4}.hv-tk-go-spacer{width:30px;height:30px}.hv-tk-item.src-sara{border-left-color:var(--warning)}.hv-tk-item.overdue:not(.done){border-left-color:var(--danger)}.hv-tk-item.done{opacity:.5;padding:7px 12px;background:transparent}.hv-tk-item.done:hover{background:var(--bg-card-alt)}.hv-tk-item.done .hv-tk-text{text-decoration:line-through}.hv-tk-check{width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:var(--r-badge);background:var(--bg-card);cursor:pointer;display:grid;place-items:center;transition:all var(--dur-fast)}.hv-tk-check:hover{border-color:var(--primary);background:var(--primary-light)}.hv-tk-check:active{transform:scale(.9)}.hv-tk-check-mark{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.4) rotate(-15deg);transition:opacity var(--dur-instant),transform var(--dur-base) var(--ease-bounce)}.hv-tk-item.done .hv-tk-check{background:var(--success);border-color:var(--success)}.hv-tk-item.done .hv-tk-check-mark{opacity:1;transform:scale(1) rotate(0)}.hv-tk-item.hv-tk-item--just-completed{animation:successFlash .6s var(--ease-emphasized) both}.hv-tk-item.hv-tk-item--just-completed .hv-tk-check-mark{animation:checkPop .4s var(--ease-bounce) both}.hv-tk-item.hv-tk-item--just-completed .hv-tk-text{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0% 60%;animation:strikeWipe .4s var(--ease-emphasized) .06s forwards}.hv-tk-item.hv-tk-item--just-reopened{animation:reopenPulse .55s var(--ease-emphasized)}.hv-tk-item.hv-tk-item--just-reopened .hv-tk-check-mark{animation:checkClear .3s var(--ease-standard)}.hv-tk-text{font-size:12.5px;font-weight:600;color:var(--text-1);line-height:1.45}.hv-tk-due{font-size:10.5px;color:var(--text-5);font-family:var(--ff-num);white-space:nowrap}.hv-tk-item.overdue .hv-tk-due{color:var(--danger-text);font-weight:700}.hv-tk-sara{display:inline-flex;align-items:center;padding:1px 6px;margin-right:6px;background:var(--warning-light);color:var(--warning-text);border-radius:3px;font-size:9.5px;font-weight:800;letter-spacing:.04em;vertical-align:1px}.hv-tk-divider{font-size:10.5px;color:var(--text-5);letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:14px 2px 4px;display:flex;align-items:center;gap:8px}.hv-tk-divider:before,.hv-tk-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.hv-tk-divider svg{width:11px;height:11px;flex-shrink:0}.hv-tk-divider span{white-space:nowrap}.hv-tk-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.hv-sc-list{display:flex;flex-direction:column;gap:6px}.hv-sc-list.hv-sc-list-wide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.hv-sc-empty{padding:28px 12px;text-align:center;font-size:var(--fs-sm);color:var(--text-5)}.hv-sc-item{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:10px 12px;border-radius:var(--r-btn);background:var(--bg-card-alt);border-left:3px solid var(--border);cursor:pointer;transition:all var(--dur-fast)}.hv-sc-item:hover{background:var(--bg-card);transform:translate(2px)}.hv-sc-item.kind-meeting{border-left-color:var(--primary)}.hv-sc-item.kind-internal{border-left-color:var(--text-5)}.hv-sc-item.kind-task{border-left-color:var(--warning)}.hv-sc-item.kind-personal{border-left-color:var(--success)}.hv-sc-item.kind-travel{border-left-color:var(--text-5);background:transparent}.hv-sc-item.past{opacity:.45}.hv-sc-time{font-family:var(--ff-num);font-size:11.5px;font-weight:700;color:var(--text-2);line-height:1.3}.hv-sc-time .end{font-size:var(--fs-xxs);color:var(--text-5);font-weight:500}.hv-sc-content{min-width:0}.hv-sc-title{font-size:12.5px;font-weight:700;color:var(--text-1);line-height:1.45}.hv-sc-sub{font-size:10.5px;color:var(--text-5);margin-top:3px}.hv-sc-sub.hv-sc-sara{color:var(--ai-label);display:inline-flex;align-items:center}.hv-sc-sub.hv-sc-sara svg{width:9px;height:9px}.hv-sc-now{display:flex;align-items:center;gap:8px;padding:6px 0 2px;font-family:var(--ff-num);font-size:10.5px;font-weight:800}.hv-sc-now:before,.hv-sc-now:after{content:"";flex:1;height:2px;background:var(--danger)}.hv-sc-now span{padding:2px 10px;border-radius:var(--r-pill);background:var(--danger);color:#fff;white-space:nowrap;box-shadow:0 2px 6px -1px #dc262673}.hv-sc-now.after:before,.hv-sc-now.after:after{background:var(--border-subtle)}.hv-sc-now.after span{background:var(--bg-card-alt);color:var(--text-4);box-shadow:none}.hv-sc-more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 12px;background:var(--bg-card-alt);border-radius:6px;font-size:11.5px;color:var(--text-3);font-weight:600;align-self:flex-start}.hv-sc-more:hover{background:var(--bg-card);color:var(--primary-text)}.hv-sc-more svg{width:11px;height:11px}@media(max-width:1280px){.home-v2-grid{grid-template-columns:1.05fr 1fr .8fr;gap:14px}.home-v2-grid.home-v2-grid-command{grid-template-columns:.95fr 1.05fr}.hv-sc-list.hv-sc-list-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.hv-col{padding:14px 16px 18px}}@media(max-width:1080px){.home-v2-grid{grid-template-columns:1fr 1fr}.home-v2-grid.home-v2-grid-command{grid-template-columns:1fr}.hv-col-schedule{grid-column:1 / -1}.hv-sc-list.hv-sc-list-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}.hv-sa-add.added{animation:hvAddedPop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes hvAddedPop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.18);opacity:1}to{transform:scale(1)}}.sa-fly{position:fixed;z-index:var(--z-toast);pointer-events:none;transform:translate(-50%,-50%) scale(.9);display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:700;letter-spacing:.02em;box-shadow:0 12px 28px -8px #2196f38c,0 4px 12px -2px #0f172a59;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis;opacity:0}.sa-fly svg{flex-shrink:0}.sa-fly--go{animation:hvFly .42s cubic-bezier(.45,0,.2,1) forwards}@keyframes hvFly{0%{transform:translate(-50%,-50%) translate(0) scale(.85);opacity:0}18%{opacity:1;transform:translate(-50%,-50%) translate(0) scale(1.05)}60%{transform:translate(-50%,-50%) translate(var(--mx),var(--my)) scale(1);opacity:1}to{transform:translate(-50%,-50%) translate(var(--ex),var(--ey)) scale(.7);opacity:0}}.hv-tk-item.hv-tk-item--pop-in{animation:hvTkPopIn .26s cubic-bezier(.2,.9,.2,1) both;transform-origin:center top}@keyframes hvTkPopIn{0%{transform:scale(.92);opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-bottom:0}40%{opacity:1}to{transform:scale(1);opacity:1}}.hv-tk-item--just-added{position:relative;animation:hvTkLand .3s cubic-bezier(.2,.9,.2,1) both,hvTkPulse 1.1s ease-out .18s 1 both;z-index:1}@keyframes hvTkLand{0%{transform:translateY(-6px) scale(1);opacity:0}60%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(0) scale(1)}}@keyframes hvTkPulse{0%{box-shadow:0 0 #2196f300;background:var(--bg-card-alt)}15%{box-shadow:0 0 0 5px #2196f34d,0 6px 20px -6px #2196f373;background:#2196f31a}60%{box-shadow:0 0 0 3px #2196f32e,0 4px 14px -4px #2196f34d;background:#2196f30d}to{box-shadow:0 0 #2196f300;background:var(--bg-card-alt)}}.hv-tk-item--just-added:after{content:"NEW";position:absolute;top:-7px;right:10px;padding:2px 7px;background:linear-gradient(135deg,var(--accent),var(--primary));color:#fff;font-size:9px;font-weight:800;letter-spacing:.12em;border-radius:var(--r-badge);box-shadow:0 2px 8px -2px #2196f380;animation:hvNewBadgeIn .28s cubic-bezier(.34,1.56,.64,1) .12s both,hvNewBadgeOut .5s ease-in 2s both;z-index:2}@keyframes hvNewBadgeIn{0%{transform:scale(0) rotate(-12deg);opacity:0}60%{transform:scale(1.2) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0)}}@keyframes hvNewBadgeOut{0%{transform:scale(1);opacity:1}to{transform:scale(.85) translateY(-4px);opacity:0}}.login-page-wrap{display:grid;place-items:center;min-height:100vh;position:relative;overflow:hidden;background:linear-gradient(135deg,#0a1832,#15326f 55%,#1f4fae);padding:40px 16px}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.045) 1px,transparent 1.4px),radial-gradient(ellipse 950px 620px at 15% 22%,rgba(33,150,243,.42),transparent 55%),radial-gradient(ellipse 820px 540px at 85% 78%,rgba(96,165,250,.32),transparent 55%),radial-gradient(ellipse 480px 320px at 52% 48%,rgba(56,189,248,.16),transparent 60%);background-size:26px 26px,100% 100%,100% 100%,100% 100%;background-position:0 0,0 0,0 0,0 0}.login-bg:before{content:"";position:absolute;top:-18%;left:-12%;width:56%;height:80%;background:radial-gradient(circle,rgba(96,165,250,.48),transparent 65%);filter:blur(70px)}.login-bg:after{content:"";position:absolute;bottom:-22%;right:-14%;width:62%;height:82%;background:radial-gradient(circle,rgba(30,80,200,.55),transparent 60%);filter:blur(90px)}.login-card{position:relative;z-index:1;width:100%;max-width:420px;padding:38px 36px 26px;background:var(--bg-card);border:1px solid rgba(255,255,255,.6);border-radius:var(--r-card);box-shadow:0 24px 48px -16px #080f288c,0 8px 16px -8px #080f2859}.login-card:before{content:"";position:absolute;top:0;left:16px;right:16px;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:0 0 2px 2px;opacity:.85}.login-brand{text-align:center;margin-bottom:24px}.login-wordmark{height:48px;width:auto;margin:0 auto 12px;display:block}.login-logo{width:78px;height:78px;margin:0 auto 14px;border-radius:18px;background:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px #2196f380;position:relative;overflow:hidden}.login-logo img{width:56px;height:56px;object-fit:contain}.login-title{font-size:var(--fs-2xl);font-weight:800;letter-spacing:.14em;color:var(--text-1)}.login-sub{margin-top:4px;font-size:var(--fs-xs);color:var(--text-4);letter-spacing:.2em;font-weight:700}.login-tag{margin:14px 0 0;font-size:var(--fs-md);color:var(--text-2);letter-spacing:.04em;line-height:1.7;font-weight:500}.login-tag em{font-style:normal;color:var(--primary);font-weight:800}.login-form{display:flex;flex-direction:column;gap:14px;margin-top:4px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:var(--fs-xs);font-weight:700;color:var(--text-3);letter-spacing:.04em}.login-input{width:100%;height:42px;padding:0 14px;background:var(--bg-input, #fff);border:1px solid var(--border);border-radius:var(--r-input, 8px);font-size:var(--fs-base);color:var(--text-1);outline:none}.login-input:focus{border-color:var(--primary)}.login-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.login-input[aria-invalid=true]{border-color:var(--danger);background:#ef44440a}.login-error{margin-top:8px;padding:10px 12px;background:#ef44441a;color:var(--danger-text);border-radius:var(--r-btn);font-size:12.5px;font-weight:600}.login-notice{margin-top:8px;padding:10px 12px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-text);border-radius:var(--r-btn);font-size:12.5px;font-weight:600;line-height:1.6}.login-help-link:disabled{opacity:.6;cursor:default;text-decoration:none}.login-demo-toggle{margin-top:10px;width:100%;background:transparent;border:1px dashed var(--border);color:var(--text-4);font-size:11.5px;padding:8px 12px;border-radius:var(--r-btn);font-weight:600;cursor:pointer}.login-demo-toggle:hover{background:var(--bg-card-alt);color:var(--text-2)}.login-demo-hint{margin-top:8px;padding:10px 12px;background:var(--bg-card-alt);border-radius:var(--r-btn);color:var(--text-3);font-size:var(--fs-sm)}.login-demo-hint code{font-family:var(--ff-num, ui-monospace);background:var(--bg-card);padding:1px 5px;border-radius:3px;font-size:var(--fs-xs);border:1px solid var(--border)}.login-demo-hint p{margin:0 0 6px}.login-demo-fill{background:var(--primary);color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:11.5px;font-weight:700;cursor:pointer}.login-help-link{background:transparent;border:none;color:var(--accent-text);font-size:12.5px;cursor:pointer;padding:4px 2px;font-family:inherit}.login-help-link:hover{text-decoration:underline}.login-help-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-badge)}.login-btn-primary{margin-top:8px;height:46px;width:100%;background:var(--primary);color:#fff;border:none;border-radius:var(--r-btn);font-size:var(--fs-md);font-weight:800;letter-spacing:.06em;cursor:pointer}.login-btn-primary:hover{background:var(--primary-2)}.login-btn-primary:disabled{opacity:.6;cursor:progress}.login-help{margin-top:18px;text-align:center;font-size:var(--fs-sm);color:var(--text-5)}.login-help a{color:var(--primary);text-decoration:none;font-weight:700}.login-help-sep{display:inline-block;margin:0 8px;color:var(--text-5)}.login-foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--border-subtle);font-size:10.5px;color:var(--text-5);text-align:center;letter-spacing:.04em;line-height:1.5}*:focus{outline:none}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-badge)}button:focus-visible,a:focus-visible,[role=tab]:focus-visible{box-shadow:0 0 0 3px #2196f34d}@keyframes sara-page-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.home-v2,.tasks-page,.cards-page,.card-detail,.meeting-page,.meeting-detail,.mail-page-shell,.cal-page,.set-page,.mgr-page,.kn-page,.dr-page,.sk-page,.pr-page,.rp-page,.tm-page,.ad-page{animation:sara-page-fade .25s var(--ease-smooth, cubic-bezier(.32, .72, 0, 1))}.cards-tbl tbody tr,.meeting-row,.pr-row,.tm-bar,.tm-card,.kn-result,.dr-card,.sk-section,.sk-cases button{transition:background-color var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast)}.meeting-row:hover,.tm-card:hover,.kn-result:hover{transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-link{position:absolute;left:-9999px;top:8px;z-index:9999;padding:8px 16px;background:var(--primary);color:#fff;border-radius:var(--r-badge);font-weight:700;font-size:var(--fs-base);text-decoration:none}.skip-link:focus{left:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-loading{display:grid;place-items:center;min-height:240px;padding:40px}.page-loading-spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:page-spin .7s linear infinite}@keyframes page-spin{to{transform:rotate(360deg)}}:root{--bg-app: #F4F8FD;--bg-page: #F4F8FD;--bg-card: #FFFFFF;--bg-card-alt: #EEF3FA;--bg-input: #FFFFFF;--bg-elevated: rgba(244,248,253,.94);--bg-sidebar: #FFFFFF;--bg-sidebar-hover: rgba(27,63,140,.06);--bg-sidebar-active: rgba(27,63,140,.1);--bg-topbar: rgba(255,255,255,.96);--text-1: #0F172A;--text-2: #1E293B;--text-3: #334155;--text-4: #475569;--text-5: #64748B;--text-on-primary: #FFFFFF;--border: #CBD5E1;--border-subtle: #E2E8F0;--border-strong: #94A3B8;--bw: 1px;--r-card: 12px;--r-btn: 8px;--r-input: 8px;--r-badge: 4px;--r-icon: 8px;--r-pill: 999px;--primary: #1B3F8C;--primary-hover: #15326F;--primary-light: rgba(27,63,140,.1);--primary-text: #1B3F8C;--primary-on: #FFFFFF;--accent: #2196F3;--accent-hover: #1E88E5;--accent-light: rgba(33,150,243,.13);--accent-text: #1976D2;--success: #10B981;--success-light: rgba(16,185,129,.13);--success-text: #047857;--success-border: rgba(16,185,129,.32);--warning: #F59E0B;--warning-light: rgba(245,158,11,.13);--warning-text: #B45309;--warning-border: rgba(245,158,11,.32);--danger: #EF4444;--danger-text: #DC2626;--danger-light: rgba(239,68,68,.1);--shadow-soft: 0 1px 2px 0 rgba(15,23,42,.05);--shadow-elevated: 0 2px 8px -2px rgba(15,23,42,.08);--shadow-float: 0 6px 20px -4px rgba(15,23,42,.12);--shadow-popover: 0 10px 32px -8px rgba(15,23,42,.18);--grad-brand: linear-gradient(135deg, #009be2, #0b00a7);--grad-brand-soft: linear-gradient(135deg, rgba(0,155,226,.12), rgba(11,0,167,.1));--grad-brand-violet: linear-gradient(135deg, #009be2, #b0a6d1);--grad-avatar: var(--grad-brand);--grad-ai: var(--grad-brand);--grad-ai-subtle: var(--grad-brand-soft);--ai-bg: linear-gradient(135deg, rgba(0,155,226,.09), rgba(11,0,167,.07));--ai-border: rgba(2,136,209,.3);--ai-text: #1E293B;--ai-label: #0277BD;--ai-spark-grad: var(--grad-brand);--ai-chip-bg: rgba(0,155,226,.1);--ai-chip-border: rgba(2,136,209,.32);--tag-situation-bg: rgba(245,158,11,.13);--tag-situation-text: #B45309;--tag-situation-border: rgba(245,158,11,.32);--tag-industry-bg: rgba(27,63,140,.13);--tag-industry-text: #1B3F8C;--tag-industry-border: rgba(27,63,140,.32);--tag-role-bg: rgba(71,85,105,.1);--tag-role-text: #334155;--tag-role-border: rgba(71,85,105,.28);--tag-scale-bg: rgba(16,185,129,.12);--tag-scale-text: #047857;--tag-scale-border: rgba(16,185,129,.3);--tag-region-bg: rgba(100,116,139,.11);--tag-region-text: #475569;--tag-region-border: rgba(100,116,139,.3);--tag-status-bg: rgba(239,68,68,.12);--tag-status-text: #DC2626;--tag-status-border: rgba(239,68,68,.32);--chip-active-bg: #1B3F8C;--chip-active-text: #FFFFFF;--chip-active-border: #1B3F8C;--sara-accent-bg-soft: rgba(33,150,243,.07);--sara-accent-border: rgba(33,150,243,.3);--space-0_5: 2px;--space-1: 4px;--space-1_5: 6px;--space-2: 8px;--space-2_5: 10px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--fs-xxs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-base:13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--fs-3xl: 34px;--fs-4xl: 44px;--fs-5xl: 56px;--fs-6xl: 72px;--ff-num: "Inter", "SF Pro Display", "Hiragino Sans", sans-serif;--sidebar-w: 232px;--sidebar-w-collapsed: 64px;--topbar-h: 56px;--content-px: 32px;--page-pad: 24px 28px 60px;--page-max-w: 1200px;--page-max-w-wide: 1440px;--fs-page-title: 22px;--z-base: 0;--z-elevated: 10;--z-sticky: 30;--z-nav: 50;--z-overlay: 60;--z-sheet: 9300;--z-modal: 9200;--z-popover: 9400;--z-toast: 9999;--z-system: 10000;--ease-emphasized: cubic-bezier(.32,.72,0,1);--ease-standard: cubic-bezier(.4,0,.2,1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.32, .72, 0, 1);--ease-out-back: cubic-bezier(.18, 1.25, .4, 1);--dur-instant: .08s;--dur-fast: .15s;--dur-base: .25s;--dur-slow: .45s;--dur-slower: .7s;--motion-press: scale(.97);--motion-press-deep: scale(.94);--motion-lift: translateY(-1px);--motion-lift-md: translateY(-2px)}*,*:before,*:after{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;padding:0}body{background:var(--bg-page);color:var(--text-1);font-family:Hiragino Sans,Noto Sans JP,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--fs-md);-webkit-font-smoothing:antialiased;letter-spacing:.02em;line-height:1.7;overflow:hidden}button{font:inherit;letter-spacing:inherit;color:inherit;background:transparent;border:0;padding:0;cursor:pointer;transition:transform var(--dur-instant) var(--ease-standard),background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}button:disabled{cursor:not-allowed;opacity:.5}button:not(:disabled):active{transform:var(--motion-press)}a[href],[data-route],[role=button]{transition:transform var(--dur-instant) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}a[href]:not(:disabled):active,[data-route]:not(:disabled):active,[role=button]:not(:disabled):active{transform:var(--motion-press)}input,textarea,select{font:inherit;letter-spacing:inherit;color:var(--text-1)}input::placeholder,textarea::placeholder{color:var(--text-5);opacity:1}input,textarea,select{transition:background var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast)}input:focus,textarea:focus,select:focus{outline:none;box-shadow:0 0 0 3px #2196f333;border-color:#1b3f8c80!important}a{color:var(--primary-text);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-family:Hiragino Sans,Noto Sans JP,sans-serif;font-feature-settings:"palt";font-weight:600;color:var(--text-1)}h1{font-size:36px;letter-spacing:.02em;line-height:1.2;font-weight:700}h2{font-size:22px;letter-spacing:.02em;line-height:1.35;font-weight:700}h3{font-size:var(--fs-md);letter-spacing:.02em;line-height:1.5;font-weight:700;color:var(--text-2)}h4{font-size:var(--fs-xs);letter-spacing:.1em;line-height:1.5;color:var(--text-5);font-weight:700;text-transform:uppercase}p{margin:0}.display-1{font-size:var(--fs-5xl);font-weight:800;letter-spacing:-.03em;line-height:1;font-family:var(--ff-num);font-feature-settings:"tnum"}.display-2{font-size:var(--fs-4xl);font-weight:800;letter-spacing:-.02em;line-height:1.05;font-family:var(--ff-num);font-feature-settings:"tnum"}.display-3{font-size:var(--fs-3xl);font-weight:700;letter-spacing:-.01em;line-height:1.1;font-family:var(--ff-num);font-feature-settings:"tnum"}.num{font-family:var(--ff-num);font-feature-settings:"tnum";letter-spacing:-.01em}*{scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}svg{display:inline-block;vertical-align:middle;flex-shrink:0}svg.i{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em}.sidebar-item-icon svg,.topbar-search-icon svg,.kpi-icon svg,.tl-dot svg,.coming-soon-icon svg{width:100%;height:100%}.icon{display:inline-flex;width:1em;height:1em}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideRight{0%{transform:translate(-8px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.3}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes chipPulse{0%{transform:scale(1)}35%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 6px 1px #1b3f8c2e}50%{box-shadow:0 0 14px 4px #2196f34d}}@keyframes toastIn{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes toastOut{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(8px) scale(.96);opacity:0}}@keyframes typing{0%,60%,to{opacity:.3;transform:scale(.85)}30%{opacity:1;transform:scale(1)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes checkPop{0%{transform:scale(0) rotate(-30deg);opacity:0}60%{transform:scale(1.25) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes strikeWipe{0%{background-size:0% 1.5px}to{background-size:100% 1.5px}}@keyframes successFlash{0%{box-shadow:0 0 #10b98100;opacity:1}25%{box-shadow:0 0 0 5px #10b98138;opacity:1}to{box-shadow:0 0 #10b98100;opacity:.55}}@keyframes skeletonShine{0%{background-position:-100% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .45s ease-out both}.animate-slide-up{animation:slideUp .5s cubic-bezier(.32,.72,0,1) both}.animate-slide-down{animation:slideDown .5s cubic-bezier(.32,.72,0,1) both}.animate-spin{animation:spin 1s linear infinite}.animate-glow{animation:glow 3s ease-in-out infinite}.animate-count{animation:countUp .6s cubic-bezier(.32,.72,0,1) both}.animate-pulse-dot{animation:pulseDot 1.4s ease-in-out infinite}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:60ms}.stagger>*:nth-child(3){animation-delay:.12s}.stagger>*:nth-child(4){animation-delay:.18s}.stagger>*:nth-child(5){animation-delay:.24s}.stagger>*:nth-child(6){animation-delay:.3s}.stagger>*:nth-child(7){animation-delay:.36s}.stagger>*:nth-child(8){animation-delay:.42s}.stagger>*{animation:slideUp .45s var(--ease-emphasized) both}.spinner{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite;flex-shrink:0;vertical-align:middle}.spinner-sm{width:12px;height:12px;border-width:1.5px}.spinner-lg{width:24px;height:24px;border-width:2.5px}.spinner-xl{width:38px;height:38px;border-width:3px}.spinner-on-primary{color:#fff}.spinner-on-card{color:var(--primary)}.spinner-ai{position:relative;display:inline-block;width:18px;height:18px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,var(--accent) 280deg,var(--primary) 360deg);animation:spin .8s linear infinite;mask:radial-gradient(circle 6px,transparent 99%,#000 100%);-webkit-mask:radial-gradient(circle 6px,transparent 99%,#000 100%)}.skeleton{background:linear-gradient(90deg,var(--bg-card-alt) 0%,rgba(33,150,243,.1) 50%,var(--bg-card-alt) 100%);background-size:200% 100%;background-position:0% 0%;animation:skeletonShine 1.4s ease-in-out infinite;border-radius:var(--r-input);display:block;color:transparent;pointer-events:none;-webkit-user-select:none;user-select:none}.skeleton-line{height:12px}.skeleton-line-md{height:14px}.skeleton-line-lg{height:18px}.skeleton-row{height:64px;border-radius:var(--r-card);margin-bottom:8px}.skeleton-circle{border-radius:50%}.page-anim>*{animation:slideUp .45s var(--ease-emphasized) both}.page-anim>*:nth-child(1){animation-delay:0ms}.page-anim>*:nth-child(2){animation-delay:50ms}.page-anim>*:nth-child(3){animation-delay:.1s}.page-anim>*:nth-child(4){animation-delay:.15s}.page-anim>*:nth-child(5){animation-delay:.2s}.page-anim>*:nth-child(6){animation-delay:.25s}.page-anim>*:nth-child(7){animation-delay:.3s}.page-enter{animation:pageEnter .32s var(--ease-emphasized) both}@keyframes pageEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-enter>.page-header,.page-enter>section,.page-enter>.card,.page-enter>[class*=-layout],.page-enter>[class*=-grid],.page-enter>[class*=-toolbar],.page-enter>[class*=-list]{animation:slideUp .4s var(--ease-emphasized) both}.page-enter>*:nth-child(1){animation-delay:30ms}.page-enter>*:nth-child(2){animation-delay:80ms}.page-enter>*:nth-child(3){animation-delay:.13s}.page-enter>*:nth-child(4){animation-delay:.18s}.page-enter>*:nth-child(5){animation-delay:.23s}.page-enter>*:nth-child(6){animation-delay:.28s}.chip,.filter-chip,.ml-chip,.cal-legend-chip,.cal-view-tab,.cal-today-btn,.ml-row-arrow,.role-pill-btn,.draft-tab,.nav-tab{transition:transform var(--dur-instant) var(--ease-standard),background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.chip:active,.filter-chip:active,.ml-chip:active,.cal-legend-chip:active,.cal-view-tab:active,.cal-today-btn:active,.role-pill-btn:active,.draft-tab:active,.nav-tab:active{transform:var(--motion-press)}.chip.on,.filter-chip.on,.ml-chip.on,.cal-view-tab.on{animation:chipPulse .32s var(--ease-bounce)}.also-card,.suggestion-card,.kn-result,.kpi-card,.archive-row,.pr-row,.team-member-card{transition:transform .18s var(--ease-standard),box-shadow .18s var(--ease-standard)}.also-card:hover,.suggestion-card:hover,.kn-result:hover,.kpi-card:hover{transform:var(--motion-lift-md);box-shadow:var(--shadow-elevated)}.also-card:active,.suggestion-card:active,.kn-result:active,.kpi-card:active{transform:scale(.98)}.status-cell-value{animation:countUp .5s cubic-bezier(.32,.72,0,1) both}.status-cell:nth-child(1) .status-cell-value{animation-delay:80ms}.status-cell:nth-child(2) .status-cell-value{animation-delay:.14s}.status-cell:nth-child(3) .status-cell-value{animation-delay:.2s}.status-cell:nth-child(4) .status-cell-value{animation-delay:.26s}.t1{color:var(--text-1)}.t2{color:var(--text-2)}.t3{color:var(--text-3)}.t4{color:var(--text-4)}.t5{color:var(--text-5)}.tp{color:var(--primary-text)}.ta{color:var(--accent-text)}.f-xs{font-size:var(--fs-xs)}.f-sm{font-size:var(--fs-sm)}.f-base{font-size:var(--fs-base)}.f-md{font-size:var(--fs-md)}.f-lg{font-size:var(--fs-lg)}.f-xl{font-size:var(--fs-xl)}.f-2xl{font-size:var(--fs-2xl)}.f-3xl{font-size:var(--fs-3xl)}.f-bold{font-weight:700}.f-sb{font-weight:600}.f-med{font-weight:500}.surface-card{background:var(--bg-card);border:var(--bw) solid var(--border);border-radius:var(--r-card)}.divider-top{border-top:1px solid var(--border-subtle)}.divider-bottom{border-bottom:1px solid var(--border-subtle)}.shadow-soft{box-shadow:var(--shadow-soft)}.shadow-elevated{box-shadow:var(--shadow-elevated)}.shadow-float{box-shadow:var(--shadow-float)}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"sidebar topbar" "sidebar main";height:100vh;position:relative;z-index:var(--z-elevated);transition:grid-template-columns .22s var(--ease-emphasized)}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar{grid-area:sidebar;background:var(--bg-sidebar);border-right:var(--bw) solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden;position:relative}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#009be2,#0b00a7);opacity:.7;z-index:1}.sidebar-brand{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;border-bottom:1px solid var(--border-subtle);position:relative}.sidebar-brand-wordmark{height:26px;width:auto;display:block}.sidebar-brand-icon{height:30px;width:auto;display:none}.sidebar-brand-sub{width:100%;font-size:9px;color:var(--text-5);letter-spacing:.14em;margin-top:2px;font-weight:600;text-align:center}.sidebar-nav{flex:1;overflow-y:auto;padding:14px 10px 20px}.sidebar-nav{scrollbar-color:transparent transparent}.sidebar:hover .sidebar-nav{scrollbar-color:var(--border-subtle) transparent}.sidebar-section{padding:6px 0;margin:0}.sidebar-section+.sidebar-section{border-top:1px solid var(--border-subtle);margin-top:4px;padding-top:10px}.sidebar-section.sidebar-section-manager,.sidebar-section.sidebar-section-admin{margin-top:8px;padding-top:14px;border-top:1px solid var(--border)}.sidebar-section-label{display:flex;align-items:center;gap:8px;padding:6px 12px 8px;font-size:10.5px;font-weight:800;letter-spacing:.18em;color:var(--text-5);text-transform:uppercase}.sidebar-section-label:before{content:"";display:inline-block;width:6px;height:6px;background:var(--text-5);border-radius:50%;opacity:.45}.sidebar-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px 8px 14px;font-size:var(--fs-base);font-weight:500;color:var(--text-3);border-radius:var(--r-btn);transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast),padding-left var(--dur-fast);position:relative}.sidebar-item-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;transition:opacity .12s var(--ease-standard)}.sidebar-item:hover{background:var(--bg-sidebar-hover);color:var(--text-1)}.sidebar-item.active{background:var(--bg-sidebar-active);color:var(--primary-text);font-weight:700;padding-left:16px}.sidebar-item-rail{position:absolute;left:0;top:6px;bottom:6px;width:3px;background:linear-gradient(180deg,#009be2,#0b00a7);border-radius:0 2px 2px 0;animation:railSlide .25s var(--ease-emphasized) both}@keyframes railSlide{0%{transform:scaleY(.4);opacity:0}to{transform:scaleY(1);opacity:1}}.sidebar-item-icon{width:18px;height:18px;flex:0 0 auto;color:var(--text-4);transition:color var(--dur-fast)}.sidebar-item:hover .sidebar-item-icon{color:var(--text-2)}.sidebar-item.active .sidebar-item-icon{color:var(--primary)}.sidebar-item-badges{margin-left:auto;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.sidebar-item-badge{min-width:18px;text-align:center;font-size:var(--fs-xxs);font-weight:800;font-family:var(--ff-num);padding:1px 6px;border-radius:var(--r-pill);letter-spacing:.02em;line-height:1.5}.sidebar-item-badge.count{background:var(--bg-card-alt);color:var(--text-3);border:1px solid var(--border-subtle)}.sidebar-item.active .sidebar-item-badge.count{background:var(--primary-light);color:var(--primary-text);border-color:#1b3f8c40}.sidebar-item-badge.urgent{background:var(--danger);color:#fff;border:1px solid var(--danger);box-shadow:0 0 0 2px #ef44441f}.sidebar-item-soon{margin-left:auto;background:var(--bg-card-alt);color:var(--text-5);font-size:9px;font-weight:600;padding:1px 6px;border-radius:var(--r-pill);letter-spacing:.06em}.topbar{grid-area:topbar;background:var(--bg-topbar);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;padding:0 var(--content-px);gap:16px;z-index:var(--z-sticky);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2)}.topbar-title{display:flex;align-items:baseline;gap:10px;min-width:0}.topbar-title-main{font-size:var(--fs-lg);font-weight:600;color:var(--text-1);letter-spacing:.04em}.topbar-title-sub{font-size:11.5px;color:var(--text-5);letter-spacing:.06em}.topbar-search{flex:1;max-width:460px;margin:0 8px;position:relative}.topbar-search input{width:100%;height:34px;padding:0 78px 0 34px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-input);font-size:12.5px;color:var(--text-1)}.topbar-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-5);pointer-events:none;display:flex;align-items:center;justify-content:center}.topbar-search-scope{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:22px;padding:0 9px;display:inline-flex;align-items:center;background:var(--primary-light);color:var(--primary-text);border-radius:11px;font-size:10.5px;font-weight:700;letter-spacing:.06em;pointer-events:none;-webkit-user-select:none;user-select:none}.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.topbar-icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-btn);color:var(--text-3);transition:background var(--dur-fast),color var(--dur-fast);position:relative}.topbar-icon-btn:hover{background:var(--primary-light);color:var(--primary-text)}.topbar-icon-btn svg{width:17px;height:17px}.topbar-icon-btn .dot{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--accent);border:1.5px solid var(--bg-topbar)}.role-pill{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-pill);padding:2px;gap:0}.role-pill-btn{padding:5px 12px;font-size:var(--fs-xs);font-weight:600;color:var(--text-4);border-radius:var(--r-pill);letter-spacing:.04em;transition:background var(--dur-base) var(--ease-emphasized),color var(--dur-base) var(--ease-emphasized),transform var(--dur-instant) var(--ease-standard),box-shadow var(--dur-base);white-space:nowrap;cursor:pointer}.role-pill-btn:hover{color:var(--text-2);background:var(--bg-sidebar-hover)}.role-pill-btn:active{transform:var(--motion-press)}.role-pill-btn.on{background:var(--primary);color:var(--bg-card);box-shadow:0 2px 6px -1px #1b3f8c59;animation:chipPulse .32s var(--ease-bounce)}.page-main{grid-area:main;overflow-y:auto;overflow-x:hidden;padding:0;position:relative}.page{display:none;padding:36px var(--content-px) 100px;max-width:var(--page-max-w);margin:0 auto;animation:fadeIn .3s ease-out}.page.active{display:block}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:36px}.page-title{display:flex;flex-direction:column;gap:8px}.page-title h1{font-size:32px;letter-spacing:.02em;line-height:1.15;font-weight:700}.page-title-sub{font-size:var(--fs-sm);color:var(--text-5);letter-spacing:.06em;font-weight:500;text-transform:uppercase}.section{margin-bottom:44px}.section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:18px}.section-title{font-size:var(--fs-base);font-weight:700;letter-spacing:.06em;color:var(--text-2);text-transform:uppercase}.section-sub{font-size:11.5px;color:var(--text-5);letter-spacing:.02em}.section-action{margin-left:auto;font-size:11.5px}.section-action a{color:var(--text-4)}.section-action a:hover{color:var(--primary-text)}.grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.col-8{grid-column:span 8}.col-7{grid-column:span 7}.col-6{grid-column:span 6}.col-5{grid-column:span 5}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-12{grid-column:span 12}@media(max-width:1100px){.col-8,.col-7{grid-column:span 12}.col-5,.col-4{grid-column:span 6}}@media(max-width:720px){.app-shell{grid-template-columns:64px 1fr}:root{--sidebar-w: 64px}.sidebar-brand{align-items:center;padding-right:0;padding-left:0}.sidebar-brand-wordmark{display:none}.sidebar-brand-icon{display:block}.sidebar-brand-name,.sidebar-brand-sub,.sidebar-item span:not(.sidebar-item-soon):not(.sidebar-item-badge),.sidebar-section-label{display:none}.topbar{min-width:0;gap:8px;padding-inline:12px}.topbar-title{flex:1 1 auto;min-width:0}.topbar-title-main{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-title-sub,.topbar-search{display:none}.topbar-actions{flex-shrink:0;min-width:0;gap:6px}.col-4,.col-3,.col-5,.col-6{grid-column:span 12}}.topbar-sidebar-toggle{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;margin-left:-6px;margin-right:2px;border-radius:var(--r-btn);color:var(--text-4);transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast),transform var(--dur-instant) var(--ease-standard)}.topbar-sidebar-toggle:hover{background:var(--primary-light);color:var(--primary-text)}.topbar-sidebar-toggle:active{transform:scale(.9)}.topbar-sidebar-toggle svg{width:18px;height:18px}.sidebar-collapsed .sidebar-brand{align-items:center;padding-left:0;padding-right:0;gap:0}.sidebar-collapsed .sidebar-brand-wordmark,.sidebar-collapsed .sidebar-brand-sub{display:none}.sidebar-collapsed .sidebar-brand-icon{display:block}.sidebar-collapsed .sidebar-section-label{opacity:0;height:0;padding-top:0;padding-bottom:0;overflow:hidden;transition:opacity .1s var(--ease-standard)}.sidebar-collapsed .sidebar-item{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .sidebar-item-label{opacity:0;flex:0 0 auto;width:0}.sidebar-collapsed .sidebar-item-soon{display:none}.sidebar-collapsed .sidebar-item-badges{position:absolute;top:3px;right:7px;margin:0;gap:2px}.sidebar-collapsed .sidebar-item-badge{position:static;margin:0;min-width:15px;padding:0 4px;font-size:9px;line-height:1.5;transform:scale(.92)}.sidebar-collapsed .sidebar-item-badge.count:not(:only-child){width:8px;min-width:8px;height:8px;padding:0;color:transparent;border-radius:999px}@media(prefers-reduced-motion:reduce){.app-shell,.sidebar-brand>div:last-child,.sidebar-section-label,.sidebar-item,.sidebar-item-label{transition:none}}.page-root{padding:var(--page-pad);max-width:var(--page-max-w);margin:0 auto}.page-root.wide{max-width:var(--page-max-w-wide)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;padding-bottom:14px;border-bottom:2px solid var(--text-1)}.page-head-text{min-width:0}.page-title{font-size:var(--fs-page-title);font-weight:800;letter-spacing:-.01em;line-height:1.25;color:var(--text-1);margin:0}.page-sub{font-size:var(--fs-sm);color:var(--text-4);margin:4px 0 0}.page-sub b{color:var(--text-1)}.page-head-action{display:flex;align-items:center;gap:8px;flex-shrink:0}#page-container>*{padding:var(--page-pad);max-width:var(--page-max-w);margin-inline:auto}#page-container>.home-v2,#page-container>.cal-page,#page-container>.mgr-page{max-width:var(--page-max-w-wide)}#page-container .cards-page-head,#page-container .pr-page-head,#page-container .mgr-page-head,#page-container .dr-page-head,#page-container .meeting-page-head,#page-container .tasks-page-head,#page-container .mail-page-head,#page-container .cal-page-head,#page-container .kn-page-head,#page-container .rp-page-head,#page-container .tm-page-head,#page-container .sk-page-head,#page-container .ad-page-head,#page-container .set-page-head,#page-container .help-page-head,#page-container .home-v2-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;padding-bottom:14px;border-bottom:2px solid var(--text-1)}#page-container .cards-page-title,#page-container .pr-page-title,#page-container .mgr-page-title,#page-container .dr-page-title,#page-container .meeting-page-title,#page-container .tasks-page-title,#page-container .mail-page-title,#page-container .cal-page-title,#page-container .kn-page-title,#page-container .rp-page-title,#page-container .tm-page-title,#page-container .sk-page-title,#page-container .ad-page-title,#page-container .set-page-title,#page-container .help-page-title,#page-container .home-v2-header h1{font-size:var(--fs-page-title);font-weight:800;letter-spacing:-.01em;line-height:1.25;color:var(--text-1);margin:0}#page-container .cards-page-sub,#page-container .pr-page-sub,#page-container .mgr-page-sub,#page-container .dr-page-sub,#page-container .meeting-page-sub,#page-container .tasks-page-sub,#page-container .mail-page-sub,#page-container .cal-page-sub,#page-container .kn-page-sub,#page-container .rp-page-sub,#page-container .tm-page-sub,#page-container .sk-page-sub,#page-container .ad-page-sub,#page-container .set-page-sub,#page-container .help-page-sub,#page-container .home-v2-sub{font-size:var(--fs-sm);color:var(--text-4);margin:4px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;font-size:var(--fs-base);font-weight:600;border-radius:var(--r-btn);transition:background var(--dur-fast),color var(--dur-fast),opacity var(--dur-fast),transform var(--dur-fast);white-space:nowrap;letter-spacing:.02em;border:1px solid transparent;line-height:1}.btn:not(:disabled):active{transform:var(--motion-press)}.btn:disabled{cursor:not-allowed;opacity:.65}.btn svg{width:14px;height:14px}.btn-loading{cursor:progress!important;opacity:.92}.btn-loading .spinner{color:currentColor}.btn-primary{background:var(--grad-brand);color:var(--text-on-primary);border-color:transparent}.btn-primary:hover{filter:brightness(1.06);border-color:transparent}.btn-accent{background:var(--accent);color:var(--text-on-primary);border-color:var(--accent)}.btn-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--primary-text);border-color:var(--border)}.btn-ghost:hover{background:var(--primary-light);border-color:var(--primary)}.btn-subtle{background:var(--primary-light);color:var(--primary-text);border-color:transparent}.btn-subtle:hover{background:#2e437429}.btn-sm{height:28px;padding:0 10px;font-size:11.5px}.btn-lg{height:44px;padding:0 22px;font-size:var(--fs-md)}.btn-ai{background:var(--grad-ai);color:var(--text-on-primary);border:0}.btn-ai:hover{filter:brightness(1.06)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-card);padding:22px 24px}.card-elev{box-shadow:var(--shadow-soft);border-color:transparent}.card-hover{transition:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast);cursor:pointer}.card-hover:hover{transform:translateY(-1px);box-shadow:var(--shadow-elevated)}.card-tight{padding:16px 18px}.card-flat{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-card)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:600;border-radius:var(--r-badge);border:1px solid;letter-spacing:.04em;white-space:nowrap;line-height:1.6}.badge-success{background:var(--success-light);color:var(--success-text);border-color:var(--success-border)}.badge-warning{background:var(--warning-light);color:var(--warning-text);border-color:var(--warning-border)}.badge-danger{background:var(--danger-light);color:var(--danger-text);border-color:#dc262652}.badge-primary{background:var(--primary-light);color:var(--primary-text);border-color:#2e437452}.badge-neutral{background:var(--bg-card-alt);color:var(--text-4);border-color:var(--border)}.badge-ai{background:var(--grad-ai-subtle);color:var(--ai-label);border-color:var(--ai-border)}.tag{display:inline-flex;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:500;border-radius:var(--r-badge);border:1px solid;line-height:1.6;letter-spacing:.04em;white-space:nowrap}.tag-situation{background:var(--tag-situation-bg);color:var(--tag-situation-text);border-color:var(--tag-situation-border)}.tag-industry{background:var(--tag-industry-bg);color:var(--tag-industry-text);border-color:var(--tag-industry-border)}.tag-role{background:var(--tag-role-bg);color:var(--tag-role-text);border-color:var(--tag-role-border)}.tag-scale{background:var(--tag-scale-bg);color:var(--tag-scale-text);border-color:var(--tag-scale-border)}.tag-region{background:var(--tag-region-bg);color:var(--tag-region-text);border-color:var(--tag-region-border)}.tag-status{background:var(--tag-status-bg);color:var(--tag-status-text);border-color:var(--tag-status-border)}.ai-spark{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:var(--r-badge);background:var(--ai-spark-grad);color:#fff;flex:0 0 auto}.ai-spark svg{width:11px;height:11px;stroke-width:2.2}.ai-spark-sm{width:14px;height:14px}.ai-spark-sm svg{width:9px;height:9px}.ai-spark-lg{width:24px;height:24px}.ai-spark-lg svg{width:14px;height:14px}.ai-label{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;color:var(--ai-label);letter-spacing:.08em;text-transform:uppercase}.ai-bubble{background:var(--bg-card);border:1px solid var(--border-subtle);border-left:2px solid var(--ai-label);border-radius:0 var(--r-card) var(--r-card) 0;padding:18px 22px 18px 20px}.ai-bubble-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ai-bubble-title{font-size:var(--fs-xs);font-weight:700;color:var(--ai-label);letter-spacing:.1em;text-transform:uppercase}.ai-bubble-body{font-size:var(--fs-base);line-height:1.85;color:var(--text-2)}.ai-bubble-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.ai-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--fs-xs);font-weight:600;color:var(--ai-label);background:var(--ai-chip-bg);border:1px solid var(--ai-chip-border);border-radius:var(--r-badge);letter-spacing:.02em}.stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:var(--fs-xs);color:var(--text-5);letter-spacing:.04em}.stat-value{font-size:var(--fs-2xl);font-weight:700;color:var(--text-1);font-feature-settings:"tnum";letter-spacing:0;line-height:1.1}.stat-delta{font-size:var(--fs-xs);font-weight:600;color:var(--success-text);display:inline-flex;align-items:center;gap:3px}.stat-delta.down{color:var(--danger-text)}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.tbl thead th{position:sticky;top:0;background:var(--bg-card-alt);color:var(--text-4);font-weight:600;font-size:var(--fs-xs);letter-spacing:.06em;text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);z-index:1;text-transform:uppercase}.tbl tbody td{padding:11px 12px;border-bottom:1px solid var(--border-subtle);color:var(--text-2);vertical-align:middle}.tbl tbody tr{transition:background var(--dur-fast);cursor:pointer}.tbl tbody tr:hover{background:var(--bg-sidebar-hover)}.tbl tbody tr:hover td{color:var(--text-1)}.tbl tbody tr.selected{background:var(--primary-light)}.tbl-thumb{width:56px;height:36px;object-fit:cover;border-radius:3px;border:1px solid var(--border-subtle)}.tbl-cell-stack{display:flex;flex-direction:column;gap:1px}.tbl-cell-sub{font-size:10.5px;color:var(--text-5)}.avatar{border-radius:50%;-webkit-clip-path:circle(50%);clip-path:circle(50%);background:var(--grad-avatar);color:var(--text-on-primary);display:grid;place-items:center;font-weight:700;letter-spacing:.04em;flex:0 0 auto;overflow:hidden;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.avatar img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.avatar-initial{font-size:inherit;line-height:1}.avatar-xs{width:22px;height:22px;font-size:9px}.avatar-sm{width:28px;height:28px;font-size:var(--fs-xxs)}.avatar-md{width:36px;height:36px;font-size:var(--fs-sm)}.avatar-lg{width:56px;height:56px;font-size:var(--fs-lg)}.avatar-xl{width:80px;height:80px;font-size:22px}.user-chip-avatar>.avatar,.user-menu-avatar>.avatar{width:100%;height:100%;background:transparent;border-radius:0}.sara-mark{display:inline-flex;align-items:center;gap:6px;color:var(--ai-label)}.sara-mark-dot{width:8px;height:8px;border-radius:50%;background:var(--grad-ai);box-shadow:0 0 0 3px #2e43741a}.sara-mark-label{font-size:10.5px;font-weight:700;letter-spacing:.1em}.timeline{display:flex;flex-direction:column;position:relative}.timeline:before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:1px;background:var(--border)}.tl-item{display:flex;gap:14px;padding:8px 0;position:relative}.tl-dot{width:22px;height:22px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border);display:grid;place-items:center;flex:0 0 auto;z-index:1}.tl-dot.dot-ai{border-color:var(--accent);background:var(--ai-chip-bg)}.tl-dot.dot-primary{border-color:var(--primary);background:var(--primary-light)}.tl-dot svg{width:11px;height:11px;color:var(--text-4)}.tl-content{flex:1}.tl-time{font-size:10.5px;color:var(--text-5);letter-spacing:.04em}.tl-text{font-size:12.5px;color:var(--text-2);margin-top:2px;line-height:1.7}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:var(--z-modal);display:grid;place-items:center;padding:24px;box-sizing:border-box;animation:modalBackdropIn .22s var(--ease-standard) both}.modal-overlay.hidden{display:none}.modal-overlay.modal-overlay--leaving{animation:modalBackdropOut .18s var(--ease-standard) both;pointer-events:none}.modal-sheet{width:100%;max-width:480px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-card);padding:22px 24px 20px;box-shadow:0 24px 64px -20px #0f172a80,0 8px 24px -8px #0f172a33;animation:modalSheetIn .32s var(--ease-bounce) both}.modal-sheet--medium{max-width:640px}.modal-sheet--wide{max-width:min(920px,calc(100vw - 48px))}.modal-sheet--editor{max-width:min(1040px,calc(100vw - 48px))}.modal-overlay--leaving .modal-sheet{animation:modalSheetOut .2s var(--ease-standard) both}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalBackdropOut{0%{opacity:1}to{opacity:0}}@keyframes modalSheetIn{0%{transform:translateY(20px) scale(.92);opacity:0}60%{opacity:1}to{transform:translateY(0) scale(1);opacity:1}}@keyframes modalSheetOut{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(8px) scale(.96);opacity:0}}.modal-title{font-size:15px;font-weight:700;color:var(--text-1);margin-bottom:6px}.modal-desc{font-size:12.5px;color:var(--text-4);line-height:1.8;margin-bottom:18px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.skill-radar-wrap{display:flex;align-items:center;justify-content:center;padding:8px}.skill-radar{width:100%;max-width:320px;height:auto}.skill-radar .grid-shape{fill:none;stroke:var(--border);stroke-width:1}.skill-radar .grid-axis{stroke:var(--border-subtle);stroke-width:1}.skill-radar .data-shape{fill:#2e43742e;stroke:var(--primary);stroke-width:1.6}.skill-radar .data-shape-prev{fill:none;stroke:var(--accent);stroke-width:1.2;stroke-dasharray:4 3;opacity:.6}.skill-radar .data-point{fill:var(--primary)}.skill-radar .axis-label{fill:var(--text-3);font-size:10.5px;font-weight:600;letter-spacing:.04em}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;font-size:var(--fs-sm);font-weight:500;background:transparent;border:1px solid var(--border);color:var(--text-3);border-radius:var(--r-pill);transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast);cursor:pointer}.chip:hover{background:var(--bg-card);color:var(--text-1);border-color:var(--border-strong)}.chip.on{background:var(--text-1);color:var(--bg-card);border-color:var(--text-1)}.chip-count{display:inline-grid;place-items:center;min-width:16px;height:14px;padding:0 4px;border-radius:7px;background:var(--bg-card-alt);color:var(--text-3);font-size:9.5px;font-weight:700}.chip.on .chip-count{background:#fdfcf733;color:var(--chip-active-text)}.input-search{width:100%;height:38px;padding:0 14px 0 38px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-input);font-size:var(--fs-base);transition:background var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast)}.input-search:hover{border-color:var(--border-strong)}.input-search:focus{background:var(--bg-card);border-color:var(--primary)!important;box-shadow:0 0 0 3px #2196f32e!important}.input-search-wrap{position:relative;transition:transform var(--dur-fast)}.input-search-wrap:focus-within svg{color:var(--primary)}.input-search-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-5);pointer-events:none;transition:color var(--dur-fast)}.row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--r-card);cursor:pointer;transition:background var(--dur-fast)}.row:hover{background:var(--bg-sidebar-hover)}.back-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;margin-left:-10px;color:var(--primary-text);border-radius:var(--r-btn);font-size:12.5px;font-weight:600;transition:background var(--dur-fast)}.back-btn:hover{background:var(--primary-light)}.back-btn svg{width:14px;height:14px}.kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;background:var(--bg-card);border:1px solid var(--border);border-bottom-width:2px;border-radius:3px;font-size:var(--fs-xxs);font-weight:600;color:var(--text-3);font-family:ui-monospace,monospace;letter-spacing:0}.progress{width:100%;height:6px;background:var(--bg-card-alt);border-radius:3px;overflow:hidden}.progress-bar{height:100%;background:var(--grad-ai);border-radius:3px;transition:width var(--dur-slow) var(--ease-standard)}.progress.thin{height:4px}.divider{height:1px;background:var(--border-subtle);margin:16px 0}.divider-tight{margin:10px 0}.typing{display:inline-flex;gap:3px;align-items:center}.typing span{width:5px;height:5px;border-radius:50%;background:var(--primary);animation:typing 1.4s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}.home-mock-wrap{min-height:60vh}.home-mock-mount{background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--r-card);padding:0;min-height:60vh;overflow:hidden}.home-mock-loading,.home-mock-error{padding:48px 24px;text-align:center;color:var(--text-4);font-size:var(--fs-base);letter-spacing:.04em}.home-mock-error code{background:var(--bg-card-alt);padding:1px 6px;border-radius:var(--r-badge);font-size:var(--fs-sm);color:var(--text-2)}.home-mock-dock{position:fixed;bottom:14px;left:14px;display:inline-flex;align-items:center;gap:4px;padding:6px 8px;background:#0f172aeb;color:#fff;border-radius:var(--r-pill);box-shadow:0 10px 28px -8px #0f172a8c;z-index:9000;font-size:11.5px;letter-spacing:.06em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow-x:auto;max-width:calc(100vw - 28px);scrollbar-width:none}.home-mock-dock::-webkit-scrollbar{display:none}.sara-fab{position:fixed;bottom:24px;right:24px;z-index:9100;display:inline-flex;align-items:center;gap:0;height:56px;width:56px;padding:0;background:var(--bg-card);color:var(--primary-text);border:1px solid var(--border-subtle);border-radius:28px;cursor:pointer;box-shadow:0 14px 36px -10px #1b3f8c4d,0 4px 12px #0f172a1f;transition:width .28s cubic-bezier(.2,.9,.2,1),padding .28s,transform .22s cubic-bezier(.2,.9,.2,1),opacity .22s;overflow:hidden;white-space:nowrap}.sara-fab:hover{width:168px;padding:0 22px 0 0;transform:translateY(-2px)}.sara-fab.open{transform:scale(.4);opacity:0;pointer-events:none}.sara-fab-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;flex-shrink:0}.sara-fab-icon svg{width:22px;height:22px;stroke-width:2.2}.sara-fab-logo{width:34px;height:34px;object-fit:contain;display:block}.sara-fab-label{font-size:13.5px;font-weight:800;letter-spacing:.06em;opacity:0;transition:opacity .18s .06s}.sara-fab:hover .sara-fab-label{opacity:1}.sara-fab.open .sara-fab-label{opacity:0}.sara-chat{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;z-index:9050;background:var(--bg-card);border-left:1px solid var(--border);box-shadow:-16px 0 40px -16px #0f172a33;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.2,.9,.2,1);pointer-events:none}.sara-chat.open{transform:translate(0);pointer-events:auto}.sara-chat-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-subtle);background:linear-gradient(135deg,rgba(33,150,243,.06) 0%,transparent 60%)}.sara-chat-head-info{display:flex;align-items:center;gap:10px}.sara-chat-avatar{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--border-subtle);display:grid;place-items:center;overflow:hidden}.sara-chat-avatar img{width:100%;height:100%;object-fit:contain;display:block}.sara-chat-name{font-size:var(--fs-md);font-weight:800;color:var(--text-1);line-height:1.1}.sara-chat-status{font-size:10.5px;color:var(--text-4);margin-top:3px;display:inline-flex;align-items:center;gap:5px}.sara-chat-dot{width:6px;height:6px;border-radius:50%;background:#16a34a;display:inline-block}.sara-chat-head-actions{display:flex;align-items:center;gap:6px}.sara-chat-close{width:32px;height:32px;border:none;background:transparent;color:var(--text-4);border-radius:var(--r-btn);cursor:pointer;display:grid;place-items:center;transition:background var(--dur-fast),color var(--dur-fast)}.sara-chat-close:hover{background:var(--bg-card-alt);color:var(--text-1)}.sara-chat-close svg{width:16px;height:16px}.sara-chat-body{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:var(--bg-page, #FAFAF7)}.sara-msg{display:flex;gap:8px;align-items:flex-end;max-width:92%}.sara-msg-bot{align-self:flex-start}.sara-msg-user{align-self:flex-end;flex-direction:row-reverse}.sara-msg-avatar{width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--border-subtle);display:grid;place-items:center;overflow:hidden;flex-shrink:0;margin-bottom:2px}.sara-msg-avatar img{width:100%;height:100%;object-fit:contain;display:block}.sara-msg-bubble{font-size:12.5px;line-height:1.6;padding:9px 12px;border-radius:var(--r-card);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-2);word-break:break-word}.sara-msg-bubble b{color:var(--text-1);font-weight:700}.sara-msg-bot .sara-msg-bubble{border-top-left-radius:4px}.sara-msg-user .sara-msg-bubble{background:var(--grad-brand);color:#fff;border-color:transparent;border-top-right-radius:4px}.sara-msg-user .sara-msg-bubble b{color:#fff}.sara-msg-typing{display:inline-flex;align-items:center;gap:4px;padding:12px 14px}.sara-msg-typing span{width:6px;height:6px;background:var(--text-5);border-radius:50%;animation:saraDot 1.2s ease-in-out infinite}.sara-msg-typing span:nth-child(2){animation-delay:.15s}.sara-msg-typing span:nth-child(3){animation-delay:.3s}@keyframes saraDot{0%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.sara-chat-suggest{display:flex;gap:6px;padding:10px 14px 6px;border-top:1px solid var(--border-subtle);flex-wrap:wrap;background:var(--bg-card)}.sara-chat-chip{font-size:var(--fs-xs);font-weight:600;color:var(--primary-text);background:var(--primary-light);border:1px solid transparent;padding:5px 11px;border-radius:var(--r-pill);cursor:pointer;letter-spacing:.04em;transition:background var(--dur-fast),border-color var(--dur-fast)}.sara-chat-chip:hover{background:var(--bg-card);border-color:var(--primary)}.sara-chat-input{display:flex;align-items:center;gap:6px;padding:10px 12px 14px;background:var(--bg-card)}.sara-chat-mic,.sara-chat-send{width:38px;height:38px;border:none;background:var(--bg-card-alt);color:var(--text-3);border-radius:50%;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background var(--dur-fast),color var(--dur-fast)}.sara-chat-mic svg,.sara-chat-send svg{width:16px;height:16px}.sara-chat-mic:hover,.sara-chat-send:hover{background:var(--primary-light);color:var(--primary)}.sara-chat-send{background:var(--grad-brand);color:#fff}.sara-chat-send:hover{filter:brightness(1.08);color:#fff}.sara-chat-mic.recording{background:#dc2626;color:#fff;animation:saraMicPulse 1.2s ease-out infinite}@keyframes saraMicPulse{0%,to{box-shadow:0 0 #dc262680}50%{box-shadow:0 0 0 8px #dc262600}}.sara-chat-text{flex:1;height:38px;padding:0 14px;border:1px solid var(--border);border-radius:19px;background:var(--bg-card);color:var(--text-1);font-size:var(--fs-base);outline:none;transition:border-color var(--dur-fast)}.sara-chat-text:focus{border-color:var(--primary)}@media(max-width:480px){.sara-chat{width:100vw}}.home-mock-dock-label{padding:0 8px 0 4px;color:#ffffff8c;font-weight:700;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}.home-mock-dock-btn{height:26px;min-width:32px;padding:0 10px;border-radius:var(--r-pill);background:transparent;color:#ffffffc7;font-size:11.5px;font-weight:700;letter-spacing:.04em;cursor:pointer;border:1px solid transparent;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.home-mock-dock-btn:hover{background:#ffffff1a;color:#fff}.home-mock-dock-btn.on{background:var(--primary);color:#fff;border-color:var(--primary)}.avatar-crop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:1000;display:grid;place-items:center;padding:20px;animation:cropBackdropIn .18s ease-out both}@keyframes cropBackdropIn{0%{opacity:0}to{opacity:1}}.avatar-crop-modal{background:var(--bg-card);border-radius:var(--r-card);width:100%;max-width:360px;padding:22px 22px 20px;box-shadow:0 20px 48px -8px #0f172a73;animation:cropModalIn .22s var(--ease-emphasized, cubic-bezier(.2, .9, .2, 1)) both}@keyframes cropModalIn{0%{transform:translateY(12px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.avatar-crop-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.avatar-crop-head h2{font-size:var(--fs-lg);margin:0}.avatar-crop-close{background:transparent;border:none;cursor:pointer;color:var(--text-5);padding:4px;border-radius:var(--r-btn)}.avatar-crop-close:hover{background:var(--bg-card-alt);color:var(--text-2)}.avatar-crop-close svg{width:16px;height:16px}.avatar-crop-help{font-size:var(--fs-xs);color:var(--text-4);margin:0 0 16px;line-height:1.5}.avatar-crop-preview{width:240px;height:240px;margin:0 auto;border-radius:50%;-webkit-clip-path:circle(50%);clip-path:circle(50%);overflow:hidden;background:var(--bg-card-alt);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transform:translateZ(0);backface-visibility:hidden;border:2px solid var(--primary);box-shadow:0 8px 24px -6px #0f172a40}.avatar-crop-preview:active{cursor:grabbing}.avatar-crop-preview img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.avatar-crop-readout{text-align:center;margin-top:12px;font-size:var(--fs-xs);color:var(--text-4);font-family:var(--ff-num)}.avatar-crop-readout b{color:var(--text-2);font-weight:700}.avatar-crop-foot{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a57;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9300;z-index:var(--z-sheet);display:flex;justify-content:flex-end;animation:drawerBackdropIn .2s var(--ease-standard)}@keyframes drawerBackdropIn{0%{opacity:0}to{opacity:1}}.drawer-panel{height:100%;width:440px;max-width:92vw;background:var(--bg-card);border-left:1px solid var(--border-subtle);box-shadow:-16px 0 44px -14px #0000004d;display:flex;flex-direction:column;animation:drawerSlideIn .28s var(--ease-emphasized)}.drawer-panel--wide{width:clamp(560px,44vw,640px)}.drawer-panel--editor{width:clamp(640px,52vw,760px)}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.drawer-backdrop,.drawer-panel{animation:none}}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex:0 0 auto}.drawer-title{font-size:var(--fs-lg);font-weight:700;color:var(--text-1)}.drawer-close{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r-btn);color:var(--text-4);transition:background var(--dur-fast),color var(--dur-fast)}.drawer-close:hover{background:var(--bg-sidebar-hover);color:var(--text-1)}.drawer-close svg{width:17px;height:17px}.drawer-body{flex:1;overflow-y:auto;padding:20px}.drawer-foot{flex:0 0 auto;padding:14px 20px;border-top:1px solid var(--border-subtle);display:flex;gap:10px;justify-content:flex-end;background:var(--bg-card)}.drawer-alert{margin-bottom:14px;padding:9px 12px;border-radius:var(--r-input);background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger);font-size:var(--fs-xs);font-weight:600}.field{margin-bottom:14px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-label{display:block;font-size:var(--fs-xs);font-weight:700;color:var(--text-3);margin-bottom:5px}.field-label .req{color:var(--danger);margin-left:2px}.field-input,.field-select,.field-textarea{width:100%;padding:8px 11px;font-size:var(--fs-sm);background:var(--bg-card);color:var(--text-1);border:1px solid var(--border);border-radius:var(--r-input);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.field-input:focus,.field-select:focus,.field-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.field-textarea{resize:vertical;min-height:72px;line-height:1.55}@media(max-width:640px){.modal-overlay{padding:16px}.modal-sheet--wide,.modal-sheet--editor{max-width:100%}.drawer-panel,.drawer-panel--wide,.drawer-panel--editor{width:100%;max-width:100vw}.field-row{grid-template-columns:1fr}}.crud-row-act{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:var(--r-btn);color:var(--text-4);opacity:1;transition:background var(--dur-fast),color var(--dur-fast),opacity var(--dur-fast)}.crud-row-act:hover{background:var(--primary-light);color:var(--primary-text)}.crud-row-act.danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.crud-row-act svg{width:15px;height:15px}.crud-row-act+.crud-row-act{margin-left:2px}.crud-detail-actions{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.crud-del-warn{margin-top:12px;padding:9px 11px;border-radius:var(--r-input);background:color-mix(in srgb,var(--warning) 12%,transparent);border:1px solid color-mix(in srgb,var(--warning) 40%,transparent);color:var(--text-2);font-size:var(--fs-xs);line-height:1.5;display:flex;gap:7px;align-items:flex-start}.crud-del-warn svg{width:15px;height:15px;color:var(--warning);flex:0 0 auto;margin-top:1px}.sara-msg-content{display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:0}.sara-msg-image{display:flex;flex-direction:column;padding:0;border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden;cursor:zoom-in;background:var(--bg-card);max-width:220px;transition:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast)}.sara-msg-image:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.sara-msg-image img{width:100%;display:block}.sara-msg-image-cap{font-size:10.5px;color:var(--text-4);padding:5px 8px;text-align:left}.sara-msg-audio,.sara-msg-link{display:inline-flex;align-items:center;gap:6px;width:fit-content;font-size:12px;font-weight:700;padding:6px 11px;border-radius:var(--r-pill);background:var(--primary-light);color:var(--primary-text);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);cursor:pointer;text-decoration:none;transition:background var(--dur-fast)}.sara-msg-audio:hover,.sara-msg-link:hover{background:color-mix(in srgb,var(--primary) 16%,transparent)}.sara-msg-audio svg,.sara-msg-link svg{width:13px;height:13px}.sara-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0f172ab8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:32px;animation:drawerBackdropIn .18s var(--ease-standard)}.sara-lightbox-inner{position:relative;max-width:min(720px,92vw);max-height:86vh;display:flex;flex-direction:column;gap:10px}.sara-lightbox-inner img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:var(--r-card);box-shadow:0 24px 60px -12px #00000080;background:#fff}.sara-lightbox-cap{color:#fff;font-size:13px;text-align:center;opacity:.92}.sara-lightbox-close{position:absolute;top:-14px;right:-14px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--bg-card);color:var(--text-2);box-shadow:0 4px 12px #0000004d}.sara-lightbox-close:hover{background:var(--bg-sidebar-hover)}.sara-lightbox-close svg{width:18px;height:18px}.sara-msg-html{display:inline-flex;align-items:center;gap:6px;width:fit-content;font-size:12px;font-weight:700;padding:6px 11px;border-radius:var(--r-pill);background:var(--primary-light);color:var(--primary-text);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);cursor:pointer;transition:background var(--dur-fast)}.sara-msg-html:hover{background:color-mix(in srgb,var(--primary) 16%,transparent)}.sara-msg-html svg{width:13px;height:13px}.sara-msg-survey{width:min(300px,100%);padding:10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border-subtle));background:color-mix(in srgb,var(--bg-card) 90%,var(--primary-light));display:flex;flex-direction:column;gap:8px}.sara-msg-survey-q{color:var(--text-1);font-size:12.5px;font-weight:800;line-height:1.5}.sara-msg-survey-options{display:flex;flex-direction:column;gap:6px}.sara-msg-survey-option{width:100%;min-height:34px;padding:7px 10px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-2);font-size:12px;font-weight:700;line-height:1.35;text-align:left;cursor:pointer}.sara-msg-survey-option:hover:not(:disabled){border-color:var(--primary);color:var(--primary-text);background:var(--primary-light)}.sara-msg-survey-option.selected{border-color:color-mix(in srgb,var(--success) 60%,var(--border-subtle));background:color-mix(in srgb,var(--success) 12%,var(--bg-card));color:var(--text-1)}.sara-msg-survey-option:disabled{cursor:default;opacity:.72}.sara-msg-survey-note{color:var(--text-4);font-size:11px;line-height:1.45}.sara-htmlpop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0f172a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:32px;animation:drawerBackdropIn .18s var(--ease-standard)}.sara-htmlpop-inner{background:var(--bg-card);border-radius:14px;overflow:hidden;width:min(460px,92vw);max-height:82vh;display:flex;flex-direction:column;box-shadow:0 28px 64px -16px #00000073;animation:slideUp .22s var(--ease-emphasized) both}.sara-htmlpop-inner:before{content:"";display:block;flex:0 0 auto;height:3px;background:var(--grad-brand)}.sara-htmlpop-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-subtle);flex:0 0 auto}.sara-htmlpop-head h3{font-size:var(--fs-md);font-weight:800;color:var(--text-1);margin:0}.sara-htmlpop-close{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r-btn);color:var(--text-4)}.sara-htmlpop-close:hover{background:var(--bg-sidebar-hover);color:var(--text-1)}.sara-htmlpop-close svg{width:17px;height:17px}.sara-htmlpop-logo{display:flex;justify-content:center;padding:18px 18px 0;flex:0 0 auto}.sara-htmlpop-logo img{max-width:220px;width:70%;height:auto}.sara-htmlpop-body{padding:18px;overflow-y:auto;font-size:13px;line-height:1.7;color:var(--text-2)}.sara-htmlpop-body .sara-pop-table{width:100%;border-collapse:collapse;margin-bottom:14px}.sara-htmlpop-body .sara-pop-table th{text-align:left;color:var(--text-4);font-weight:600;padding:7px 4px;border-bottom:1px solid var(--border-subtle);width:50%}.sara-htmlpop-body .sara-pop-table td{text-align:right;font-weight:800;font-family:var(--ff-num);color:var(--text-1);padding:7px 4px;border-bottom:1px solid var(--border-subtle)}.sara-htmlpop-body .sara-pop-hl{background:var(--grad-brand-soft);border-radius:10px;padding:11px 13px;color:var(--text-2);margin:0}.sara-htmlpop-body .sara-pop-hl b{color:var(--ai-label)}.sara-htmlpop-body .sara-pop-note{color:var(--text-4);font-size:12px;margin-top:10px}.sara-htmlpop-body .sara-pop-feat th{white-space:nowrap;width:1%;color:var(--ai-label);font-weight:800;vertical-align:top;padding-right:14px}.sara-htmlpop-body .sara-pop-feat td{text-align:left;font-weight:500;font-family:inherit;color:var(--text-1);line-height:1.55}
