:root{--app-height:100vh;--safe-bottom:env(safe-area-inset-bottom,0px);--sidebar-width:270px;--font-scale:1;--bg-base:#f5f5f7;--bg-primary:rgba(255,255,255,0.75);--bg-glass:rgba(255,255,255,0.55);--bg-glass-hover:rgba(255,255,255,0.85);--bg-sidebar:rgba(255,255,255,0.60);--bg-input:rgba(255,255,255,0.70);--text-primary:#1d1d1f;--text-secondary:#86868b;--text-tertiary:#a1a1a6;--border:rgba(0,0,0,0.06);--border-hover:rgba(0,0,0,0.10);--accent:#0071e3;--accent-soft:rgba(0,113,227,0.10);--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow:0 4px 20px rgba(0,0,0,0.06);--shadow-lg:0 12px 40px rgba(0,0,0,0.10);--glass-blur:saturate(180%) blur(20px);--radius-sm:10px;--radius:14px;--radius-lg:18px;--radius-xl:22px;--success:#34c759;--danger:#ff375f;--warning:#ff9f0a}[data-theme="dark"]{--bg-base:#000000;--bg-primary:rgba(28,28,30,0.75);--bg-glass:rgba(44,44,46,0.45);--bg-glass-hover:rgba(58,58,60,0.65);--bg-sidebar:rgba(28,28,30,0.60);--bg-input:rgba(44,44,46,0.55);--text-primary:#f5f5f7;--text-secondary:#98989d;--text-tertiary:#636366;--border:rgba(255,255,255,0.08);--border-hover:rgba(255,255,255,0.14);--accent:#0a84ff;--accent-soft:rgba(10,132,255,0.12);--shadow-sm:0 1px 3px rgba(0,0,0,0.25);--shadow:0 4px 24px rgba(0,0,0,0.28);--shadow-lg:0 12px 48px rgba(0,0,0,0.38);--glass-blur:saturate(180%) blur(24px);--success:#30d158;--danger:#ff453a;--warning:#ff9f0a}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','PingFang SC','Microsoft YaHei',sans-serif;background:var(--bg-base);color:var(--text-primary);overflow:hidden;-webkit-font-smoothing:antialiased;font-size:calc(16px * var(--font-scale))}.bg-decoration{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:0.28;animation:drift 25s ease-in-out infinite}.orb-1{width:600px;height:600px;background:linear-gradient(135deg,#ff375f,#ff9f0a);top:-15%;right:-8%}.orb-2{width:500px;height:500px;background:linear-gradient(135deg,#5e5ce6,#bf5af2);bottom:-12%;left:-6%;animation-delay:-8s}.orb-3{width:350px;height:350px;background:linear-gradient(135deg,#0a84ff,#32ade6);top:45%;left:35%;animation-delay:-16s;opacity:0.18}[data-theme="dark"] .orb{opacity:0.12;filter:blur(120px)}@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-50px) scale(1.06)}66%{transform:translate(-30px,25px) scale(0.94)}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}@keyframes blink{50%{opacity:0}}@keyframes msgIn{to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::view-transition-old(root),::view-transition-new(root){animation:none}[data-theme="dark"]::view-transition-old(root){z-index:999}:root{--control-height-sm:34px;--control-height-md:42px;--control-height-lg:52px;--control-radius-sm:9px;--control-radius-md:12px;--control-radius-lg:16px;--control-gap-sm:6px;--control-gap-md:10px;--control-gap-lg:14px;--surface-card-radius:16px;--surface-panel-radius:24px}.is-hidden{display:none !important}.app{position:relative;z-index:1;display:flex;height:var(--app-height);min-height:100vh;min-height:100svh;min-height:100dvh}.main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.main-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 26px;z-index:10;pointer-events:none}.main-header>*{pointer-events:auto}.mobile-overlay{display:none}.auth-screen{position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;padding:24px}.auth-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--bg-base) 70%,rgba(0,0,0,0.34));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.auth-panel{position:relative;width:min(420px,100%);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-primary) 94%,transparent);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:22px;box-shadow:var(--shadow-lg);padding:24px 24px 22px;outline:none}.auth-close-btn{position:absolute;top:14px;right:14px;width:30px;height:30px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--bg-input) 86%,transparent);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all 0.2s ease}.auth-close-btn svg{width:15px;height:15px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;fill:none}.auth-close-btn:hover{color:var(--text-primary);background:var(--bg-glass-hover);border-color:var(--border-hover);transform:translateY(-1px)}.auth-close-btn:focus-visible{border-color:rgba(0,113,227,0.34);box-shadow:0 0 0 3px var(--accent-soft)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-right:38px}.auth-title{font-size:calc(25px * var(--font-scale));font-weight:800;color:var(--text-primary)}.auth-subtitle{margin-top:3px;font-size:calc(13px * var(--font-scale));line-height:1.6;color:var(--text-secondary)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin-bottom:16px;border:1px solid var(--border);background:var(--bg-input);border-radius:12px}.auth-tab{min-height:36px;border:none;border-radius:9px;background:transparent;color:var(--text-secondary);font-size:calc(14px * var(--font-scale));font-weight:700;cursor:pointer}.auth-tab.active{background:linear-gradient(135deg,var(--accent),#5e5ce6);color:#fff;box-shadow:0 8px 18px rgba(10,132,255,0.20)}.auth-form{display:flex;flex-direction:column;gap:13px}.auth-field{display:flex;flex-direction:column;gap:7px;color:var(--text-secondary);font-size:calc(13px * var(--font-scale));font-weight:700}.auth-field input{min-height:46px;border:1px solid var(--border);border-radius:12px;background:var(--bg-input);color:var(--text-primary);padding:12px 14px;font:inherit;outline:none;transition:border-color 0.2s ease,box-shadow 0.2s ease,background 0.2s ease}.auth-field input:focus{border-color:rgba(0,113,227,0.3);box-shadow:0 0 0 3px var(--accent-soft)}.auth-submit{min-height:46px;margin-top:4px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent),#5e5ce6);color:#fff;font-size:calc(15px * var(--font-scale));font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(0,113,227,0.18);transition:transform 0.2s ease,box-shadow 0.2s ease,opacity 0.2s ease}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px rgba(0,113,227,0.22)}.auth-submit:disabled{opacity:0.65;cursor:progress}.auth-error{min-height:20px;margin-top:12px;color:var(--danger);font-size:calc(13px * var(--font-scale));line-height:1.5}.auth-error.success{color:var(--success)}.auth-footnote{margin-top:6px;color:var(--text-tertiary);font-size:calc(12px * var(--font-scale));line-height:1.6}@media (max-width:768px){.auth-screen{align-items:flex-start;overflow-y:auto;padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px))}.auth-panel{margin:auto 0;padding:20px;border-radius:20px}.auth-close-btn{top:12px;right:12px}.auth-field input,.auth-submit{min-height:48px;font-size:16px}}@media (max-width:420px){.auth-panel{padding:18px}.auth-brand{gap:10px;margin-bottom:18px}.auth-title{font-size:calc(22px * var(--font-scale))}}.sidebar{position:relative;z-index:40;width:var(--sidebar-width);display:flex;flex-direction:column;padding:18px 14px 14px;background:var(--bg-sidebar);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--border);transition:all 0.4s ease}body.sidebar-collapsed{--sidebar-width:70px;--sidebar-collapsed-item:44px;--sidebar-collapsed-radius:16px;--sidebar-collapsed-icon:20px}.logo-area{display:flex;align-items:center;gap:11px;padding:0 8px 18px}.logo-copy{min-width:0;transition:opacity 0.2s ease,width 0.2s ease}.logo-mark{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,0.88);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,113,227,0.16);flex-shrink:0;overflow:hidden;border:1px solid var(--border)}.logo-mark img{width:100%;height:100%;object-fit:cover;display:block}.logo-text{font-size:calc(15px * var(--font-scale));font-weight:700;color:var(--text-primary);letter-spacing:0}.logo-sub{font-size:calc(11px * var(--font-scale));color:var(--text-tertiary);font-weight:500}.mobile-sidebar-close{display:none;margin-left:auto;width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:var(--bg-glass);color:var(--text-secondary);align-items:center;justify-content:center;cursor:pointer}.mobile-sidebar-close:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.sidebar-collapse-btn{margin-left:auto;width:32px;height:32px;border:1px solid var(--border);border-radius:10px;background:var(--bg-glass);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease}.sidebar-collapse-btn:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.sidebar-collapse-btn:focus-visible,.new-chat-btn:focus-visible{outline:none;border-color:rgba(0,113,227,0.34);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-sm)}.sidebar-collapse-icon{width:16px;height:16px;transition:transform 0.2s ease}body.sidebar-collapsed .sidebar-collapse-icon{transform:rotate(180deg)}.new-chat-btn{display:flex;align-items:center;gap:10px;margin:0 4px 22px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-glass);backdrop-filter:var(--glass-blur);color:var(--text-primary);font-size:calc(14px * var(--font-scale));font-weight:500;cursor:pointer;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);box-shadow:var(--shadow-sm)}.new-chat-btn:hover{background:var(--bg-glass-hover);border-color:var(--border-hover);box-shadow:var(--shadow);transform:translateY(-1px)}body.sidebar-collapsed .sidebar{align-items:center;padding:14px 12px}body.sidebar-collapsed .logo-area{width:100%;flex-direction:column;justify-content:center;gap:8px;padding-left:0;padding-right:0;padding-bottom:18px}body.sidebar-collapsed .logo-copy,body.sidebar-collapsed .nav-title,body.sidebar-collapsed .history-section,body.sidebar-collapsed .new-chat-btn span,body.sidebar-collapsed .nav-item span,body.sidebar-collapsed .user-meta{display:none}body.sidebar-collapsed .sidebar-collapse-btn{position:static;width:var(--sidebar-collapsed-item);height:var(--sidebar-collapsed-item);margin-left:0;border-radius:var(--sidebar-collapsed-radius);background:color-mix(in srgb,var(--bg-glass) 94%,transparent);transform:none}body.sidebar-collapsed .sidebar-collapse-btn:hover{transform:translateY(-1px)}body.sidebar-collapsed .sidebar-collapse-btn:focus-visible{transform:none}body.sidebar-collapsed .new-chat-btn{width:var(--sidebar-collapsed-item);height:var(--sidebar-collapsed-item);padding:0;justify-content:center;margin:2px auto 18px;border-radius:var(--sidebar-collapsed-radius)}body.sidebar-collapsed .logo-mark{width:var(--sidebar-collapsed-item);height:var(--sidebar-collapsed-item);border-radius:var(--sidebar-collapsed-radius);box-shadow:0 10px 24px rgba(0,113,227,0.10)}body.sidebar-collapsed .new-chat-btn svg,body.sidebar-collapsed .sidebar-collapse-icon{width:var(--sidebar-collapsed-icon);height:var(--sidebar-collapsed-icon)}body.sidebar-collapsed .nav-section{width:100%;align-items:center;padding:0;gap:8px}body.sidebar-collapsed .nav-item{width:var(--sidebar-collapsed-item);height:var(--sidebar-collapsed-item);min-height:var(--sidebar-collapsed-item);padding:0;justify-content:center;border-radius:var(--sidebar-collapsed-radius);margin:0;color:var(--text-secondary)}body.sidebar-collapsed .nav-item::before{inset:9px auto 9px 5px;width:3px;border-radius:999px;background:var(--accent)}body.sidebar-collapsed .nav-item:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--accent)}body.sidebar-collapsed .nav-item.active{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}body.sidebar-collapsed .nav-icon{width:var(--sidebar-collapsed-icon);height:var(--sidebar-collapsed-icon)}body.sidebar-collapsed .nav-icon svg{width:19px;height:19px;stroke-width:2}.nav-section{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0 4px}.nav-section::-webkit-scrollbar{width:4px}.nav-section::-webkit-scrollbar-thumb{background:transparent;border-radius:2px}.nav-section:hover::-webkit-scrollbar-thumb{background:var(--border-hover)}.nav-title{font-size:calc(10px * var(--font-scale));font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.2px;padding:0 10px 8px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--radius-sm);cursor:pointer;transition:all 0.2s ease;color:var(--text-secondary);font-size:calc(14px * var(--font-scale));font-weight:500;margin-bottom:2px;position:relative;overflow:hidden}.nav-item::before{content:'';position:absolute;inset:0;background:var(--accent-soft);opacity:0;transition:opacity 0.2s ease;border-radius:inherit}.nav-item:hover::before{opacity:1}.nav-item:hover{color:var(--accent)}.nav-item.active{color:var(--accent);background:var(--accent-soft)}.nav-item.active::before{opacity:1}.nav-item>*{position:relative;z-index:1}.nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-icon svg{width:17px;height:17px;stroke-width:1.8}.history-section{margin-top:24px;flex:1;display:flex;min-height:0;flex-direction:column}.history-list{flex:1;min-height:0;max-height:none;overflow-y:auto;padding-right:2px}.history-swipe-row{position:relative;overflow:hidden;border-radius:var(--radius-sm);margin-bottom:2px}.history-item{position:relative;z-index:2;display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px 9px;border:0;border-radius:var(--radius-sm);cursor:pointer;transition:all 0.2s ease;background:transparent;color:var(--text-secondary);text-align:left;font:inherit;margin-bottom:0;will-change:transform}.history-swipe-row.is-dragging .history-item{transition:none}.history-swipe-row.is-open .history-item{transform:translateX(-76px)}.history-item:hover,.history-item.active{background:var(--bg-glass);color:var(--text-primary)}.history-delete-btn{position:absolute;z-index:1;inset:0 0 0 auto;width:70px;border:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--danger);color:#fff;font-size:calc(12px * var(--font-scale));font-weight:900;cursor:pointer;opacity:0;pointer-events:none;transform:translateX(8px);transition:opacity 0.16s ease,transform 0.16s ease}.history-swipe-row.is-open .history-delete-btn{opacity:1;pointer-events:auto;transform:translateX(0)}.history-delete-btn:hover{filter:brightness(1.04)}.history-context-menu{position:fixed;z-index:5000;min-width:112px;padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);box-shadow:0 12px 34px rgba(0,0,0,0.16)}.history-context-menu button{width:100%;min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--danger);font-size:calc(13px * var(--font-scale));font-weight:850;text-align:left;padding:0 10px;cursor:pointer}.history-context-menu button:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.history-badge{flex-shrink:0;margin-top:1px;padding:3px 6px;border-radius:8px;border:1px solid var(--border);background:var(--bg-input);color:var(--accent);font-size:calc(10px * var(--font-scale));font-weight:800;line-height:1.2}.history-badge.perfumery{color:#bf5af2}.history-main{min-width:0;display:flex;flex-direction:column;gap:3px}.history-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:calc(13px * var(--font-scale));font-weight:650}.history-time{color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));font-weight:600}.history-empty{padding:8px 10px;color:var(--text-tertiary);font-size:calc(12px * var(--font-scale))}@media (max-width:768px),(pointer:coarse){.history-swipe-row{touch-action:pan-y}}.sidebar-footer{margin-top:auto;padding-top:10px;border-top:1px solid var(--border);position:relative}.user-row{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;padding:2px 2px;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:12px;text-align:left}.user-row:hover{background:var(--bg-glass)}.user-info{display:flex;align-items:center;gap:9px;min-width:0;cursor:inherit;padding:3px 4px;border-radius:8px;transition:background 0.2s}.user-info:hover{background:transparent}.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#af52de);display:flex;align-items:center;justify-content:center;color:#fff;font-size:calc(11px * var(--font-scale));font-weight:700}.user-avatar.member{background:linear-gradient(135deg,#ff9f0a,#bf5af2)}.user-avatar.custom-avatar{background-size:cover;background-position:center;color:transparent}.user-meta{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.user-name-row{display:flex;align-items:center;gap:6px;max-width:154px;min-width:0}.user-name{font-size:calc(13px * var(--font-scale));font-weight:600;color:var(--text-primary);max-width:98px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));font-weight:600}.user-member-badge{display:inline-flex;align-items:center;gap:3px;width:fit-content;max-width:58px;flex-shrink:0;padding:1px 6px;border:1px solid rgba(255,159,10,0.36);border-radius:999px;background:rgba(255,159,10,0.14);color:#ff9f0a;font-size:calc(10px * var(--font-scale));font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 6px 16px rgba(255,159,10,0.08)}[data-theme="light"] .user-member-badge{color:#8a5a00;background:rgba(255,190,68,0.24);border-color:rgba(190,126,0,0.22)}.user-row-chevron{width:17px;height:17px;color:var(--text-tertiary);flex-shrink:0;transition:transform 0.2s ease}.account-menu.open + .user-row .user-row-chevron{transform:rotate(180deg)}.account-menu{position:absolute;left:0;right:0;bottom:calc(100% + 10px);padding:8px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-glass-hover) 98%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity 0.2s ease,transform 0.2s ease;z-index:150}.account-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.account-menu-item{width:100%;min-height:40px;border:0;border-radius:11px;background:transparent;color:var(--text-primary);padding:0 12px;text-align:left;font:inherit;font-size:calc(13px * var(--font-scale));font-weight:750;cursor:pointer}.account-menu-item:hover{background:var(--bg-input)}body.sidebar-collapsed .sidebar-footer{width:100%;padding-top:10px}body.sidebar-collapsed .user-row{width:var(--sidebar-collapsed-item);height:var(--sidebar-collapsed-item);justify-content:center;padding:0;margin:0 auto;border-radius:var(--sidebar-collapsed-radius)}body.sidebar-collapsed .user-info{padding:0}body.sidebar-collapsed .user-avatar{width:32px;height:32px}body.sidebar-collapsed .user-row-chevron{display:none}body.sidebar-collapsed .account-menu{left:54px;right:auto;bottom:0;width:210px}@media (max-width:768px){.sidebar{padding-top:calc(18px + env(safe-area-inset-top,0px));padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.mobile-sidebar-close{display:inline-flex}body.mobile-sidebar-open .mobile-menu-btn{opacity:0;pointer-events:none}}.mail-wrap{position:relative}.mail-toggle-btn{position:relative}.mail-count-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:2px solid var(--bg-base);background:var(--danger);color:#fff;font-size:calc(10px * var(--font-scale));font-weight:900;line-height:1}.mail-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(430px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 92px));display:none;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--bg-glass-hover) 96%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.mail-panel.open{display:flex}.mail-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--border)}.mail-panel-title{color:var(--text-primary);font-size:calc(17px * var(--font-scale));font-weight:850}.mail-panel-subtitle{margin-top:3px;color:var(--text-tertiary);font-size:calc(12px * var(--font-scale));line-height:1.5}.mail-refresh-btn,.mail-back-btn,.mail-download-btn{min-height:32px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input);color:var(--text-primary);padding:0 10px;font-size:calc(12px * var(--font-scale));font-weight:800;cursor:pointer}.mail-list,.mail-detail{overflow-y:auto;padding:10px;overscroll-behavior:contain}.mail-list{max-height:min(520px,calc(100vh - 190px))}.mail-detail{max-height:min(540px,calc(100vh - 178px))}.mail-list::-webkit-scrollbar,.mail-detail::-webkit-scrollbar{width:8px}.mail-list::-webkit-scrollbar-thumb,.mail-detail::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text-tertiary) 24%,transparent)}.mail-item{width:100%;min-height:84px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border:0;border-radius:13px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;font:inherit}.mail-item:hover{background:var(--bg-glass)}.mail-item.unread{background:var(--accent-soft)}.mail-item-main{min-width:0;display:flex;flex-direction:column;gap:5px}.mail-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(14px * var(--font-scale));font-weight:850}.mail-item-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text-secondary);font-size:calc(12px * var(--font-scale));line-height:1.55}.mail-item-meta{display:flex;align-items:center;gap:7px;color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));font-weight:700}.mail-item-chip{display:inline-flex;align-items:center;width:fit-content;padding:2px 6px;border-radius:999px;background:var(--bg-input);border:1px solid var(--border);color:var(--accent);font-size:calc(10px * var(--font-scale));font-weight:850}.mail-item-state{flex-shrink:0;color:var(--accent);font-size:calc(11px * var(--font-scale));font-weight:850}.mail-empty{padding:28px 16px;color:var(--text-secondary);font-size:calc(13px * var(--font-scale));line-height:1.7;text-align:center}.mail-empty.error{color:var(--danger)}.mail-detail-title{margin-top:14px;color:var(--text-primary);font-size:calc(18px * var(--font-scale));font-weight:850;line-height:1.35}.mail-detail-meta{margin-top:7px;color:var(--text-tertiary);font-size:calc(12px * var(--font-scale));font-weight:700}.mail-detail-body{margin-top:16px;padding:14px;border-radius:13px;background:var(--bg-input);color:var(--text-primary);font-size:calc(14px * var(--font-scale));line-height:1.75;word-break:break-word}.mail-attachment-box{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--bg-glass)}.mail-attachment-name{color:var(--text-primary);font-size:calc(13px * var(--font-scale));font-weight:850;word-break:break-all}.mail-attachment-meta{margin-top:3px;color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));font-weight:700}.mail-download-btn{flex-shrink:0;color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--accent),#5e5ce6)}@media (max-width:768px){.mail-wrap{margin-left:auto}.mail-panel{right:-52px;width:calc(100vw - 24px);max-height:calc(100vh - 92px)}.mail-list,.mail-detail{max-height:calc(100vh - 188px)}}.session-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:22px}.session-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.42);backdrop-filter:blur(6px)}.session-modal-panel{position:relative;width:min(520px,100%);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-glass-hover) 96%,transparent);box-shadow:var(--shadow-lg);border-radius:18px;padding:20px}.session-modal-title{color:var(--text-primary);font-size:calc(20px * var(--font-scale));font-weight:800}.session-modal-subtitle{margin-top:5px;color:var(--text-secondary);font-size:calc(13px * var(--font-scale));line-height:1.6}.session-module-grid{display:grid;gap:10px;margin-top:16px}.session-module-btn{display:flex;align-items:center;gap:12px;width:100%;min-height:76px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-input);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color 0.2s ease,transform 0.2s ease,background 0.2s ease}.session-module-btn:hover{border-color:var(--accent);background:var(--bg-glass-hover);transform:translateY(-1px)}.session-module-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent-soft);color:var(--accent)}.session-module-icon svg{width:20px;height:20px;stroke-width:1.8}.session-module-text{min-width:0;display:flex;flex-direction:column;gap:4px}.session-module-text strong{font-size:calc(15px * var(--font-scale))}.session-module-text small{color:var(--text-secondary);font-size:calc(12px * var(--font-scale));line-height:1.45}.session-modal-close{width:100%;margin-top:12px;min-height:38px;border:1px solid var(--border);border-radius:11px;background:transparent;color:var(--text-secondary);font-size:calc(13px * var(--font-scale));font-weight:700;cursor:pointer}.session-modal-close:hover{background:var(--bg-glass);color:var(--text-primary)}.settings-wrap{display:contents}body.settings-open .main-header{z-index:230}.settings-panel{position:fixed;top:0;right:0;bottom:0;left:var(--sidebar-width);display:flex;justify-content:center;align-items:flex-start;padding:7vh 24px 40px;overflow-y:auto;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-base) 88%,transparent) 0%,color-mix(in srgb,var(--bg-base) 78%,transparent) 100%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;pointer-events:none;transition:opacity 0.22s ease;z-index:210}.settings-panel.open{opacity:1;pointer-events:auto}.settings-content{position:relative;width:min(680px,100%);padding:24px;border:1px solid var(--border);border-radius:24px;background:color-mix(in srgb,var(--bg-primary) 94%,transparent);box-shadow:var(--shadow-lg)}.settings-close-btn{position:fixed;top:calc(7vh + 18px);right:max(24px,calc((100vw - var(--sidebar-width) - 680px) / 2 + 24px));width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg-primary) 92%,transparent);color:var(--text-secondary);font-size:22px;line-height:1;cursor:pointer;z-index:2;box-shadow:var(--shadow-sm);transition:all 0.2s ease}.settings-close-btn:hover{background:var(--bg-glass-hover);color:var(--text-primary);transform:translateY(-1px)}.settings-title{font-size:calc(24px * var(--font-scale));font-weight:850;color:var(--text-primary);margin:2px 0 18px}.settings-section-title{margin:22px 4px 9px;color:var(--text-secondary);font-size:calc(12px * var(--font-scale));font-weight:800}.settings-account-card,.settings-card{width:100%;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-input) 86%,transparent);box-shadow:var(--shadow-sm);overflow:hidden}.settings-account-card{min-height:78px;display:flex;align-items:center;gap:14px;padding:13px 16px;color:var(--text-primary);font:inherit;cursor:pointer;text-align:left;transition:all 0.2s ease}.settings-account-card:hover,.settings-action-row:hover{background:color-mix(in srgb,var(--bg-glass-hover) 92%,transparent)}.settings-account-avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:850;background:linear-gradient(135deg,var(--accent),#af52de)}.settings-account-avatar.member{background:linear-gradient(135deg,#ff9f0a,#bf5af2)}.settings-account-avatar.custom-avatar,.settings-profile-avatar.custom-avatar{background-size:cover;background-position:center;color:transparent}.settings-account-card strong{display:block;font-size:calc(15px * var(--font-scale));font-weight:850}.settings-account-card span{display:block;margin-top:4px;color:var(--text-secondary);font-size:calc(12px * var(--font-scale));font-weight:650}.settings-profile-avatar-wrap{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-input) 86%,transparent);box-shadow:var(--shadow-sm)}.settings-profile-avatar{width:76px;height:76px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:calc(24px * var(--font-scale));font-weight:900;background:linear-gradient(135deg,var(--accent),#af52de)}.settings-profile-avatar.member{background:linear-gradient(135deg,#ff9f0a,#bf5af2)}.settings-profile-user{min-width:0}.settings-profile-user strong{display:block;color:var(--text-primary);font-size:calc(17px * var(--font-scale));font-weight:900}.settings-profile-user span{display:block;margin-top:5px;color:var(--text-secondary);font-size:calc(13px * var(--font-scale));font-weight:700}.settings-profile-form{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-input) 86%,transparent);box-shadow:var(--shadow-sm)}.settings-profile-form label{display:block;margin-bottom:8px;color:var(--text-primary);font-size:calc(13px * var(--font-scale));font-weight:850}.settings-profile-input-row{display:flex;align-items:center;gap:10px}.settings-profile-input-row input{min-width:0;flex:1;height:42px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg-base) 80%,transparent);color:var(--text-primary);padding:0 13px;font:inherit;font-size:calc(13px * var(--font-scale));font-weight:700;outline:none}.settings-profile-input-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.settings-profile-save{flex-shrink:0;min-width:76px}.settings-profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.settings-profile-primary,.settings-profile-secondary{min-height:40px;border-radius:12px;padding:0 15px;font:inherit;font-size:calc(13px * var(--font-scale));font-weight:850;cursor:pointer}.settings-profile-primary{border:0;background:linear-gradient(135deg,var(--accent),#5e5ce6);color:#fff}.settings-profile-secondary{border:1px solid var(--border);background:color-mix(in srgb,var(--bg-input) 86%,transparent);color:var(--text-primary)}.settings-profile-primary:disabled,.settings-profile-secondary:disabled{cursor:not-allowed;opacity:0.58}.settings-profile-hint{margin-top:12px;color:var(--text-secondary);font-size:calc(12px * var(--font-scale));line-height:1.6}.settings-row,.settings-action-row{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border)}.settings-row:last-child,.settings-action-row:last-child{border-bottom:0}.settings-action-row{width:100%;border-left:0;border-right:0;border-top:0;background:transparent;color:var(--text-primary);font:inherit;cursor:pointer;text-align:left}.settings-label,.settings-action-row span:first-child{font-size:calc(14px * var(--font-scale));color:var(--text-primary);font-weight:760}.settings-row-arrow{margin-left:auto;color:var(--text-tertiary);font-size:calc(24px * var(--font-scale));line-height:1}.settings-segment{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:12px;background:color-mix(in srgb,var(--bg-primary) 80%,transparent);border:1px solid var(--border);width:fit-content}.settings-option{border:0;background:transparent;color:var(--text-secondary);padding:7px 11px;border-radius:9px;font-size:calc(12px * var(--font-scale));font-weight:800;cursor:pointer;transition:all 0.2s ease}.settings-option:hover{color:var(--text-primary);background:var(--bg-glass-hover)}.settings-option.active{background:linear-gradient(135deg,var(--accent),#5e5ce6);color:#fff;box-shadow:0 8px 18px rgba(10,132,255,0.18)}.font-slider-wrap{min-width:min(330px,52vw);display:flex;align-items:center;gap:10px}.font-slider-wrap span{font-size:calc(12px * var(--font-scale));color:var(--text-secondary);font-weight:650}.font-slider{flex:1;accent-color:var(--accent)}.font-value{min-width:42px;text-align:right;font-size:calc(12px * var(--font-scale));color:var(--text-primary);font-weight:800}.settings-switch{position:relative;width:46px;height:28px;flex-shrink:0}.settings-switch input{position:absolute;opacity:0}.settings-switch span{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--text-tertiary) 28%,transparent);cursor:pointer;transition:background 0.2s ease}.settings-switch span::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform 0.2s ease}.settings-switch input:checked + span{background:var(--accent)}.settings-switch input:checked + span::after{transform:translateX(18px)}.settings-logout-btn{width:100%;min-height:52px;margin-top:24px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--bg-input) 86%,transparent);color:var(--danger);font:inherit;font-size:calc(15px * var(--font-scale));font-weight:850;cursor:pointer}.settings-logout-btn:hover{background:color-mix(in srgb,var(--danger) 10%,var(--bg-glass-hover))}.settings-feedback-card{margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-input) 88%,transparent);box-shadow:var(--shadow-sm)}.settings-feedback-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.settings-feedback-head h2{margin:0;color:var(--text-primary);font-size:calc(16px * var(--font-scale));font-weight:850}.settings-feedback-head p{margin:5px 0 0;color:var(--text-secondary);font-size:calc(12px * var(--font-scale));line-height:1.55}#settings-feedback-input{width:100%;resize:vertical;min-height:118px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--bg-primary) 86%,transparent);color:var(--text-primary);padding:12px 13px;font:inherit;font-size:calc(14px * var(--font-scale));line-height:1.6;outline:none}#settings-feedback-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.settings-feedback-actions{display:flex;align-items:center;gap:10px;margin-top:12px}.settings-feedback-submit{min-height:38px;border:0;border-radius:12px;padding:0 15px;background:linear-gradient(135deg,var(--accent),#5e5ce6);color:#fff;font:inherit;font-size:calc(13px * var(--font-scale));font-weight:850;cursor:pointer}.settings-feedback-submit:disabled{cursor:wait;opacity:0.68}.settings-feedback-status{color:var(--text-secondary);font-size:calc(12px * var(--font-scale));font-weight:750}.settings-feedback-status.error{color:var(--danger)}.settings-panel.settings-subpage-open .settings-close-btn{display:none}.settings-subpage{margin-top:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.settings-subpage-title-block{margin:18px 0 14px}.settings-subpage-title-block h2{margin:0;color:var(--text-primary);font-size:calc(22px * var(--font-scale));font-weight:900}.settings-subpage-title-block p{margin:8px 0 0;color:var(--text-secondary);font-size:calc(13px * var(--font-scale));line-height:1.6}.settings-legal-card{margin-top:14px;padding:18px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-input) 90%,transparent);box-shadow:var(--shadow-sm)}.settings-legal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.settings-legal-back{min-height:34px;border:1px solid var(--border);border-radius:12px;padding:0 12px;background:color-mix(in srgb,var(--bg-primary) 72%,transparent);color:var(--text-primary);font:inherit;font-size:calc(13px * var(--font-scale));font-weight:800;cursor:pointer}.settings-legal-back:hover{background:var(--bg-glass-hover)}.settings-legal-card h2{margin:0;color:var(--text-primary);font-size:calc(22px * var(--font-scale));font-weight:900}.settings-legal-meta{margin:8px 0 16px;color:var(--text-secondary);font-size:calc(12px * var(--font-scale));font-weight:700}.settings-legal-body{display:grid;gap:16px}.settings-legal-section{padding-top:14px;border-top:1px solid var(--border)}.settings-legal-section:first-child{padding-top:0;border-top:0}.settings-legal-section h3{margin:0 0 8px;color:var(--text-primary);font-size:calc(15px * var(--font-scale));font-weight:880}.settings-legal-section p,.settings-legal-section li{color:var(--text-secondary);font-size:calc(13px * var(--font-scale));line-height:1.78}.settings-legal-section p{margin:0 0 8px}.settings-legal-section p:last-child{margin-bottom:0}.settings-legal-section ul{margin:0;padding-left:18px}.settings-legal-section li + li{margin-top:6px}.settings-feedback-card.settings-subpage,.settings-legal-card.settings-subpage{margin-top:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}@media (max-width:768px){.settings-panel{left:0;padding:64px 12px calc(24px + var(--safe-bottom))}.settings-content{padding:18px 14px 16px;border-radius:20px}.settings-close-btn{top:16px;right:16px}.settings-row,.settings-action-row{align-items:flex-start;flex-direction:column}.settings-action-row{flex-direction:row;align-items:center}.font-slider-wrap{width:100%;min-width:0}.settings-profile-input-row{align-items:stretch;flex-direction:column}.settings-profile-save{width:100%}}.header-btn{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--bg-glass);backdrop-filter:var(--glass-blur);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.25s ease;color:var(--text-secondary);box-shadow:var(--shadow-sm)}.header-btn:hover{background:var(--bg-glass-hover);border-color:var(--border-hover);color:var(--text-primary);box-shadow:var(--shadow);transform:translateY(-1px)}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);font-size:calc(13px * var(--font-scale));font-weight:500;cursor:pointer;transition:all 0.2s ease}.toolbar-btn:hover{background:var(--bg-glass);color:var(--text-primary)}.send-btn{width:32px;height:32px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--accent),#5e5ce6);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 2px 10px rgba(0,113,227,0.25)}.send-btn:hover{transform:scale(1.1) translateY(-1px);box-shadow:0 5px 18px rgba(0,113,227,0.4)}.send-btn:active{transform:scale(0.92)}.regulation-btn{border:0;background:transparent;color:var(--text-secondary);padding:8px 14px;border-radius:999px;font-size:calc(12px * var(--font-scale));font-weight:700;cursor:pointer;transition:all 0.2s ease}.regulation-btn:hover{color:var(--text-primary);background:var(--bg-glass-hover)}.regulation-btn.active{color:#fff;background:linear-gradient(135deg,var(--accent),#5e5ce6);box-shadow:0 8px 18px rgba(10,132,255,0.22)}.regulation-btn.unset{color:var(--text-tertiary)}.reg-toggle-btn{border:none;background:transparent;color:var(--text-tertiary);font-size:calc(12px * var(--font-scale));font-weight:600;padding:5px 10px;cursor:pointer;transition:all 0.2s ease;white-space:nowrap}.reg-toggle-btn:hover{color:var(--text-secondary)}.reg-toggle-btn.active{background:var(--accent);color:#fff}.regulation-tooltip{position:fixed;z-index:1200;max-width:min(320px,calc(100vw - 24px));padding:8px 11px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));background:color-mix(in srgb,var(--bg-input) 96%,#fff);color:var(--text-primary);box-shadow:var(--shadow-lg);font-size:calc(12px * var(--font-scale));font-weight:700;line-height:1.45;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity 0.16s ease,transform 0.16s ease}.regulation-tooltip.visible{opacity:1;transform:translateY(0)}.reg-toggle.regulation-required{animation:regShake 0.5s ease-in-out;outline:1.5px solid var(--danger,#ef4444);outline-offset:2px;border-radius:10px}@keyframes regShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.quick-action{padding:7px 14px;border-radius:18px;border:1px solid var(--border);background:var(--bg-glass);color:var(--text-secondary);font-size:calc(13px * var(--font-scale));font-weight:500;cursor:pointer;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);box-shadow:var(--shadow-sm)}.quick-action:hover:not(.placeholder){background:var(--bg-glass-hover);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.quick-action.placeholder{opacity:0.4;cursor:not-allowed}:root{--button-primary-bg:linear-gradient(135deg,var(--accent),#5e5ce6);--button-ghost-bg:color-mix(in srgb,var(--bg-primary) 86%,transparent);--button-danger-color:var(--danger)}:root{--form-field-bg:color-mix(in srgb,var(--bg-input) 86%,transparent);--form-field-border:1px solid var(--border);--form-field-radius:var(--control-radius-md)}.input-area{width:100%;max-width:760px;animation:fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.12s forwards;opacity:0;transform:translateY(24px)}.chat-view .input-area{animation:none;opacity:1;transform:none;flex-shrink:0;padding:0 28px 24px;margin:0 auto}.input-box{background:var(--bg-input);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px 22px 14px;box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,0.08);transition:all 0.35s cubic-bezier(0.4,0,0.2,1)}.input-box:focus-within{box-shadow:var(--shadow-lg),0 0 0 3px var(--accent-soft);border-color:rgba(0,113,227,0.25);transform:translateY(-2px)}.input-box.drag-over{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:var(--shadow-lg),0 0 0 4px var(--accent-soft);background:color-mix(in srgb,var(--accent-soft) 18%,var(--bg-input))}.input-textarea{width:100%;min-height:52px;max-height:200px;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:calc(16px * var(--font-scale));line-height:1.6;resize:none;font-family:inherit}.input-textarea::placeholder{color:var(--text-tertiary)}.input-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.toolbar-left{display:flex;gap:4px;align-items:center}.toolbar-right{display:flex;align-items:center;gap:10px}.mobile-menu-btn,.mobile-tools-toggle{display:none}.model-chip{display:flex;align-items:center;gap:6px;padding:5px 11px;border-radius:20px;background:var(--bg-glass);border:1px solid var(--border);color:var(--text-secondary);font-size:calc(12px * var(--font-scale));font-weight:600;cursor:default}.model-dot{width:6px;height:6px;border-radius:50%;background:#34c759;box-shadow:0 0 6px rgba(52,199,89,0.35);animation:pulse 2s ease-in-out infinite}.quick-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;justify-content:center;animation:fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.22s forwards;opacity:0;transform:translateY(24px)}.reg-toggle{display:inline-flex;align-items:center;border-radius:8px;border:1px solid var(--border);background:var(--bg-glass);overflow:hidden;flex-shrink:0}.category-selector{position:relative}.category-dropdown{display:none;position:absolute;bottom:100%;left:0;margin-bottom:6px;background:var(--bg-glass-hover);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius);padding:6px;min-width:260px;max-height:340px;overflow-y:auto;box-shadow:var(--shadow-lg);z-index:100}.category-dropdown.open{display:block}.category-option{display:grid;gap:2px;padding:8px 12px;border-radius:var(--radius-sm);font-size:calc(13px * var(--font-scale));cursor:pointer;color:var(--text-secondary);transition:all 0.15s ease}.category-option:hover:not(.disabled){background:var(--accent-soft);color:var(--accent)}.category-option.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.category-option.disabled{opacity:0.35;cursor:not-allowed}.category-option-title{font-weight:750;line-height:1.35}.category-option-desc{color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));font-weight:650;line-height:1.35}.category-option:hover:not(.disabled) .category-option-desc,.category-option.active .category-option-desc{color:color-mix(in srgb,var(--accent) 72%,var(--text-secondary))}.category-help{display:none;margin-top:10px;padding:9px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));background:color-mix(in srgb,var(--accent-soft) 48%,transparent);color:var(--text-secondary);font-size:calc(12px * var(--font-scale));font-weight:650;line-height:1.5}.category-help.visible{display:none}.category-help strong{color:var(--text-primary);font-weight:850}.promo-card{position:fixed;left:var(--promo-left,50vw);bottom:calc(28px + var(--safe-bottom));transform:translateX(-50%) translateY(14px);width:min(420px,calc(100vw - var(--sidebar-width) - 32px));background:var(--bg-glass);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius-lg);padding:13px 17px;display:flex;align-items:center;gap:13px;box-shadow:var(--shadow-lg);cursor:default;transition:opacity 0.32s ease,transform 0.32s ease;opacity:0;pointer-events:none;z-index:40}.promo-card.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}.promo-icon-wrap{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,var(--accent),#af52de);display:flex;align-items:center;justify-content:center;color:#fff;font-size:calc(18px * var(--font-scale));flex-shrink:0}.promo-title{font-size:calc(13px * var(--font-scale));font-weight:700;color:var(--text-primary);margin-bottom:2px}.promo-desc{font-size:calc(12px * var(--font-scale));color:var(--text-tertiary);font-weight:500}.promo-arrow{color:var(--text-tertiary);transition:all 0.3s ease;flex-shrink:0;opacity:0.7}.tool-result{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:12px;font-size:calc(14px * var(--font-scale))}.tool-result-header{padding:10px 14px;font-weight:700;font-size:calc(14px * var(--font-scale));border-bottom:1px solid var(--border);background:var(--accent-soft);color:var(--accent)}.tool-result-load{padding:6px 14px;font-size:calc(12px * var(--font-scale));color:var(--text-tertiary);border-bottom:1px solid var(--border)}.tool-result-item{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 14px;border-bottom:1px solid var(--border);gap:10px}.tool-result-item:last-of-type{border-bottom:none}.tool-result-name{flex:1;min-width:0}.tool-result-name .name{font-weight:600;font-size:calc(14px * var(--font-scale));color:var(--text-primary)}.tool-result-name .meta{font-size:calc(12px * var(--font-scale));color:var(--text-secondary);margin-top:2px}.tool-result-name .calc{font-size:calc(12px * var(--font-scale));color:var(--accent);margin-top:3px}.tool-badge{padding:3px 10px;border-radius:12px;font-size:calc(12px * var(--font-scale));font-weight:600;flex-shrink:0;align-self:center}.badge-pass{background:rgba(52,199,89,0.12);color:var(--success)}.badge-ai-pass{background:rgba(52,199,89,0.16);border:1px solid rgba(52,199,89,0.2)}.badge-violation{background:rgba(255,55,95,0.12);color:var(--danger)}.badge-warning{background:rgba(255,159,10,0.12);color:var(--warning)}.badge-info{background:rgba(10,132,255,0.08);color:var(--accent)}.badge-notfound{background:var(--accent-soft);color:var(--text-tertiary)}.tool-summary{display:flex;gap:14px;padding:8px 14px;font-size:calc(12px * var(--font-scale));font-weight:600;border-top:1px solid var(--border);flex-wrap:wrap}:root{--compliance-visual-width:clamp(380px,30vw,520px);--compliance-visual-shift:clamp(220px,16vw,300px);--compliance-visual-gap:18px;--compliance-visual-header-space:62px}.compliance-visual-panel{position:fixed;top:var(--compliance-visual-gap);right:var(--compliance-visual-gap);bottom:var(--compliance-visual-gap);width:var(--compliance-visual-width);z-index:32;pointer-events:none;opacity:0;transform:translateX(calc(100% + 34px)) scale(0.985);filter:blur(2px);transition:transform 0.42s cubic-bezier(0.16,1,0.3,1),opacity 0.26s ease,filter 0.28s ease}.compliance-visual-panel::before{content:"";position:absolute;top:2px;bottom:2px;left:calc(-1 * var(--compliance-visual-gap));width:1px;background:linear-gradient(to bottom,transparent,var(--border-hover) 12%,var(--border-hover) 88%,transparent);opacity:0;transform:scaleY(0.92);transform-origin:center;transition:opacity 0.28s ease,transform 0.42s cubic-bezier(0.16,1,0.3,1)}.compliance-visual-panel.is-open{pointer-events:auto;opacity:1;transform:translateX(0) scale(1);filter:blur(0)}.compliance-visual-panel.is-open::before{opacity:1;transform:scaleY(1)}.main{transition:margin-right 0.42s cubic-bezier(0.16,1,0.3,1),padding-top 0.42s cubic-bezier(0.16,1,0.3,1)}.main-header{transition:right 0.42s cubic-bezier(0.16,1,0.3,1),top 0.42s cubic-bezier(0.16,1,0.3,1)}.compliance-visual-inner{height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--bg-glass-hover) 92%,transparent);box-shadow:0 22px 62px rgba(0,0,0,0.16);backdrop-filter:var(--glass-blur);transform-origin:center right}.compliance-visual-panel.is-open .compliance-visual-inner{animation:complianceVisualInnerIn 0.46s cubic-bezier(0.16,1,0.3,1) both}.compliance-visual-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 14px;border-bottom:1px solid var(--border)}.compliance-visual-kicker{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:calc(11px * var(--font-scale));font-weight:800}.compliance-visual-head h2{margin-top:10px;font-size:calc(19px * var(--font-scale));line-height:1.25;letter-spacing:0}.compliance-visual-head p{margin-top:5px;color:var(--text-secondary);font-size:calc(12px * var(--font-scale));line-height:1.5}.compliance-visual-close,.compliance-visual-open-btn{appearance:none;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-input) 88%,transparent);color:var(--text-primary);cursor:pointer;transition:transform 0.18s ease,background 0.18s ease,border-color 0.18s ease}.compliance-visual-close{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%}.compliance-visual-close svg,.compliance-visual-open-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.compliance-visual-close:hover,.compliance-visual-open-btn:hover{transform:translateY(-1px);background:var(--bg-glass-hover);border-color:var(--border-hover)}.compliance-visual-metrics{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px 4px}.compliance-visual-metric{flex:1 1 calc(50% - 6px);min-height:42px;border:1px solid var(--border);border-radius:8px;padding:7px 9px;background:color-mix(in srgb,var(--bg-input) 84%,transparent)}.compliance-visual-metric span{display:block;color:var(--text-secondary);font-size:calc(11px * var(--font-scale));font-weight:700}.compliance-visual-metric strong{display:block;margin-top:2px;color:var(--text-primary);font-size:calc(18px * var(--font-scale));line-height:1}.compliance-visual-metric.pass strong,.compliance-visual-metric.ai-pass strong{color:var(--success)}.compliance-visual-metric.violation strong{color:var(--danger)}.compliance-visual-metric.warning strong{color:var(--warning)}.compliance-visual-formula-switch{display:flex;gap:7px;padding:10px 14px 0;overflow-x:auto;scrollbar-width:none}.compliance-visual-formula-switch::-webkit-scrollbar{display:none}.compliance-visual-formula-btn{appearance:none;min-width:max-content;min-height:30px;border:1px solid var(--border);border-radius:999px;padding:0 11px;background:color-mix(in srgb,var(--bg-input) 88%,transparent);color:var(--text-secondary);font-size:calc(12px * var(--font-scale));font-weight:800;cursor:pointer;transition:background 0.18s ease,border-color 0.18s ease,color 0.18s ease,transform 0.18s ease}.compliance-visual-formula-btn:hover{transform:translateY(-1px);color:var(--text-primary);border-color:var(--border-hover)}.compliance-visual-formula-btn.active{color:#fff;border-color:color-mix(in srgb,var(--accent) 84%,var(--border-hover));background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 78%,#5e5ce6));box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 20%,transparent)}.compliance-visual-sections{flex:1;min-height:0;overflow-y:auto;padding:10px 14px 16px}.compliance-visual-sections section + section,.compliance-visual-group + .compliance-visual-group{margin-top:16px}.compliance-visual-section-title{display:flex;align-items:center;margin:0 0 8px;color:var(--text-secondary);font-size:calc(12px * var(--font-scale));font-weight:800}.compliance-visual-group{border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg-input) 58%,transparent);overflow:hidden}.compliance-visual-group summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;cursor:pointer;list-style:none;user-select:none}.compliance-visual-group summary::-webkit-details-marker{display:none}.compliance-visual-group-title{display:inline-flex;align-items:center;gap:8px;flex:1 1 auto;color:var(--text-primary);font-size:calc(13px * var(--font-scale));font-weight:850;min-width:0}.compliance-visual-group-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compliance-visual-group-dot{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:var(--text-tertiary)}.compliance-visual-group-count{min-width:24px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;background:color-mix(in srgb,var(--bg-glass-hover) 88%,transparent);color:var(--text-secondary);border:1px solid var(--border);font-size:calc(11px * var(--font-scale));font-weight:850}.compliance-visual-group summary::after{content:"";width:7px;height:7px;flex:0 0 auto;margin-left:auto;border-right:2px solid var(--text-tertiary);border-bottom:2px solid var(--text-tertiary);transform:rotate(45deg);transition:transform 0.22s ease}.compliance-visual-group[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}.compliance-visual-group-body{padding:0 10px 10px}.compliance-visual-group[open] .compliance-visual-group-body{animation:complianceVisualGroupIn 0.24s cubic-bezier(0.16,1,0.3,1) both}.compliance-visual-group.violation .compliance-visual-group-dot,.compliance-visual-group.violation .compliance-visual-group-count{background:color-mix(in srgb,var(--danger) 18%,var(--bg-glass-hover));color:var(--danger)}.compliance-visual-group.warning .compliance-visual-group-dot,.compliance-visual-group.warning .compliance-visual-group-count{background:color-mix(in srgb,var(--warning) 18%,var(--bg-glass-hover));color:var(--warning)}.compliance-visual-group.ai-pass .compliance-visual-group-dot,.compliance-visual-group.ai-pass .compliance-visual-group-count{background:color-mix(in srgb,var(--success) 18%,var(--bg-glass-hover));color:var(--success)}.compliance-visual-group.pass .compliance-visual-group-dot,.compliance-visual-group.pass .compliance-visual-group-count{background:color-mix(in srgb,var(--success) 14%,var(--bg-glass-hover));color:var(--success)}.compliance-visual-group.violation{border-color:color-mix(in srgb,var(--danger) 24%,var(--border))}.compliance-visual-group.warning{border-color:color-mix(in srgb,var(--warning) 24%,var(--border))}.compliance-visual-group.ai-pass{border-color:color-mix(in srgb,var(--success) 20%,var(--border))}.compliance-visual-group.pass{border-color:color-mix(in srgb,var(--success) 15%,var(--border))}.compliance-visual-row{padding:11px 12px;border:1px solid var(--border);border-left-width:3px;border-radius:8px;background:color-mix(in srgb,var(--bg-input) 78%,transparent)}.compliance-visual-row + .compliance-visual-row{margin-top:8px}.compliance-visual-row.pass{border-left-color:var(--success)}.compliance-visual-row.ai-pass{border-left-color:color-mix(in srgb,var(--success) 70%,var(--accent))}.compliance-visual-row.warning{border-left-color:var(--warning)}.compliance-visual-row.violation{border-left-color:var(--danger)}.compliance-visual-row-main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.compliance-visual-row-name{color:var(--text-primary);font-size:calc(13px * var(--font-scale));font-weight:800;line-height:1.35}.compliance-visual-row-meta,.compliance-visual-row-values{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));line-height:1.4}.compliance-visual-row-values{color:var(--text-secondary)}.compliance-visual-row-values strong{color:var(--text-primary)}.compliance-visual-row-badge{flex:0 0 auto;padding:4px 8px;border-radius:999px;color:var(--text-primary);background:color-mix(in srgb,var(--bg-glass-hover) 86%,transparent);border:1px solid var(--border);font-size:calc(11px * var(--font-scale));font-weight:800}.compliance-visual-row p{margin-top:7px;color:var(--text-secondary);font-size:calc(12px * var(--font-scale));line-height:1.55}.compliance-visual-empty{min-height:54px;display:flex;align-items:center;justify-content:center;padding:12px;border:1px dashed var(--border-hover);border-radius:8px;color:var(--text-secondary);font-size:calc(12px * var(--font-scale));text-align:center}.compliance-visual-action{margin-top:14px;display:flex;justify-content:flex-start}.compliance-visual-open-btn{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border-radius:999px;color:var(--accent);font-size:calc(13px * var(--font-scale));font-weight:800}@media (min-width:1100px){.app.compliance-visual-open .main{margin-right:calc(var(--compliance-visual-width) + (var(--compliance-visual-gap) * 2));padding-top:var(--compliance-visual-header-space)}.app.compliance-visual-open .chat-scroll{padding-top:24px}.app.compliance-visual-open .chat-container,.app.compliance-visual-open .chat-view .input-area .input-box{transform:none;transition:transform 0.42s cubic-bezier(0.16,1,0.3,1)}.app.compliance-visual-open .main-header{top:4px;right:0;transition:right 0.42s cubic-bezier(0.16,1,0.3,1),top 0.42s cubic-bezier(0.16,1,0.3,1)}}@media (max-width:1179px){:root{--compliance-visual-width:390px}.compliance-visual-panel{width:min(var(--compliance-visual-width),calc(100vw - 36px));right:18px}}@media (max-width:1099px) and (min-width:769px){.compliance-visual-panel{left:calc(var(--sidebar-width) + 18px);right:18px;width:auto}.compliance-visual-panel::before{display:none}}@media (max-width:768px){.compliance-visual-panel{top:12px;right:12px;bottom:calc(12px + var(--safe-bottom));left:12px;width:auto;transform:translateY(calc(100% + 24px))}.compliance-visual-panel.is-open{transform:translateY(0) scale(1)}.app.compliance-visual-open .chat-container,.app.compliance-visual-open .chat-view .input-area .input-box{transform:none}.compliance-visual-inner{border-radius:16px;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}[data-theme="dark"] .compliance-visual-inner{background:#1c1c1e}.compliance-visual-head{padding:16px 16px 12px}.compliance-visual-metric{flex-basis:calc(50% - 6px)}}@media (max-width:420px){.compliance-visual-row-main{flex-direction:column}.compliance-visual-row-badge{align-self:flex-start}}@keyframes complianceVisualInnerIn{from{transform:translateX(16px) scale(0.982)}to{transform:translateX(0) scale(1)}}@keyframes complianceVisualGroupIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.main,.main-header,.compliance-visual-panel,.compliance-visual-panel::before,.compliance-visual-panel.is-open .compliance-visual-inner,.compliance-visual-group[open] .compliance-visual-group-body,.app.compliance-visual-open .chat-container,.app.compliance-visual-open .chat-view .input-area .input-box{animation:none;transition:none}}.compliance-report-wrap{position:relative;display:flex;z-index:130}.compliance-report-toggle-btn{position:relative;gap:7px;width:auto;min-width:44px;padding:0 12px}.compliance-report-toggle-btn span:not(.compliance-report-badge){font-size:calc(12px * var(--font-scale));font-weight:850;white-space:nowrap}.compliance-report-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:2px solid var(--bg-base);background:var(--danger);color:#fff;font-size:calc(10px * var(--font-scale));font-weight:900;line-height:1}.compliance-report-view{flex:1;display:none;overflow:hidden;position:relative}.compliance-report-view.active{display:flex}.compliance-report-view.is-detail-mode{overflow-y:auto;align-items:flex-start;overscroll-behavior:contain}.compliance-report-view.is-list-mode{overflow:hidden}.compliance-report-shell{width:100%;max-width:min(1520px,calc(100vw - 54px));margin:0 auto;padding:34px 28px 28px;display:flex;flex-direction:column;gap:14px;overflow:hidden}.compliance-report-shell.is-detail-mode{padding-top:24px;min-height:100%;overflow:visible}.compliance-report-shell.is-detail-mode .compliance-report-hero,.compliance-report-shell.is-detail-mode .compliance-report-overview{display:none}.compliance-report-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.compliance-report-kicker{display:inline-flex;align-items:center;min-height:21px;padding:0 8px;border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:calc(11px * var(--font-scale));font-weight:850}.compliance-report-hero h1{margin-top:7px;font-size:calc(30px * var(--font-scale));line-height:1.12;letter-spacing:0;color:var(--text-primary)}.compliance-report-hero p{margin-top:5px;color:var(--text-secondary);font-size:calc(14px * var(--font-scale));line-height:1.6}.compliance-report-page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.compliance-report-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.compliance-report-overview:empty{display:none}.compliance-report-overview-card{min-height:74px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg-input) 86%,transparent);box-shadow:0 10px 28px rgba(0,0,0,0.045);display:grid;gap:3px}.compliance-report-overview-card span,.compliance-report-overview-card small{color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));font-weight:800}.compliance-report-overview-card strong{color:var(--text-primary);font-size:calc(24px * var(--font-scale));line-height:1.05;font-weight:950}.compliance-report-overview-card.is-warning strong{color:#a16000}.compliance-report-overview-card.is-danger strong{color:var(--danger)}.compliance-report-refresh-btn,.compliance-report-back-btn,.compliance-report-download-btn,.compliance-report-outline-btn{min-height:36px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--bg-input) 88%,transparent);color:var(--text-primary);padding:0 13px;font-size:calc(12px * var(--font-scale));font-weight:850;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform 0.18s ease,background 0.18s ease,border-color 0.18s ease}.compliance-report-refresh-btn:hover,.compliance-report-back-btn:hover,.compliance-report-download-btn:hover,.compliance-report-outline-btn:hover{transform:translateY(-1px);background:var(--bg-glass-hover);border-color:var(--border-hover)}.compliance-report-board{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:14px}.compliance-report-shell.is-detail-mode .compliance-report-board{min-height:auto;flex:0 0 auto;display:block}.compliance-report-board.is-list .compliance-report-detail-pane{display:none}.compliance-report-board.is-detail .compliance-report-list-pane{display:none}.compliance-report-board.is-list .compliance-report-list-pane,.compliance-report-board.is-detail .compliance-report-detail-pane{display:flex}.compliance-report-list-pane,.compliance-report-detail-pane{min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-glass) 94%,transparent);backdrop-filter:var(--glass-blur);box-shadow:0 18px 54px rgba(0,0,0,0.075)}.compliance-report-list-pane{display:flex;flex-direction:column}.compliance-report-detail-pane{overflow-y:auto;padding:0;flex-direction:column}.compliance-report-shell.is-detail-mode .compliance-report-detail-pane{min-height:auto;overflow:visible}.compliance-report-list-head{padding:16px 18px 12px;border-bottom:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.compliance-report-list-head strong{display:block;color:var(--text-primary);font-size:calc(16px * var(--font-scale));font-weight:900}.compliance-report-list-head span,.compliance-report-meta,.compliance-report-empty{color:var(--text-tertiary);font-size:calc(12px * var(--font-scale));line-height:1.5}.compliance-report-filters{padding:14px 16px;border-bottom:1px solid var(--border);position:relative}.compliance-report-filters-form,.compliance-report-filter-row{display:grid;gap:8px}.compliance-report-filters-form{gap:12px}.compliance-report-quick-filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:1px;overscroll-behavior-x:contain}.compliance-report-quick-chip{appearance:none;min-height:28px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--bg-input) 74%,transparent);color:var(--text-secondary);font-size:calc(11px * var(--font-scale));font-weight:850;white-space:nowrap;cursor:pointer;transition:color 0.18s ease,background 0.18s ease,border-color 0.18s ease}.compliance-report-quick-chip:hover,.compliance-report-quick-chip.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 38%,var(--border));background:color-mix(in srgb,var(--accent-soft) 68%,var(--bg-input))}.compliance-report-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.compliance-report-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}.compliance-report-filter-row.is-secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center}.compliance-report-filter-row.is-secondary .compliance-report-outline-btn{min-height:34px;padding:0 10px}.compliance-report-filter-input{min-width:0;width:100%;height:36px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input);color:var(--text-primary);padding:0 10px;font-size:calc(12px * var(--font-scale));font-weight:750;outline:none}.compliance-report-filter-input.is-search{grid-column:auto}.compliance-report-filter-input:focus,.compliance-report-date-trigger:focus-visible{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.compliance-report-filter-primary{min-height:36px;padding:0 14px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#fff;font-size:calc(12px * var(--font-scale));font-weight:900;cursor:pointer}.compliance-report-date-field{min-width:0}.compliance-report-date-trigger{width:100%;min-height:42px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg-input) 88%,transparent);color:var(--text-primary);padding:6px 10px;display:grid;justify-items:start;gap:2px;cursor:pointer;outline:none;text-align:left;transition:background 0.18s ease,border-color 0.18s ease,transform 0.18s ease}.compliance-report-date-trigger:hover{transform:translateY(-1px);background:var(--bg-glass-hover)}.compliance-report-date-trigger span{color:var(--text-tertiary);font-size:calc(10px * var(--font-scale));font-weight:850}.compliance-report-date-trigger strong{color:var(--text-secondary);font-size:calc(12px * var(--font-scale));font-weight:900}.compliance-report-date-trigger.has-value strong{color:var(--text-primary)}.compliance-report-calendar-popover{position:absolute;top:calc(100% - 8px);left:12px;width:min(314px,calc(100% - 24px));padding:12px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-glass-hover) 98%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);z-index:80;display:none}.compliance-report-calendar-popover.open{display:block}.compliance-report-calendar-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:8px;margin-bottom:10px}.compliance-report-calendar-head strong{text-align:center;color:var(--text-primary);font-size:calc(13px * var(--font-scale));font-weight:950}.compliance-report-calendar-head button,.compliance-report-calendar-grid button,.compliance-report-calendar-actions button{appearance:none;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);cursor:pointer}.compliance-report-calendar-head button{width:32px;height:32px;border-radius:10px;font-size:20px;line-height:1}.compliance-report-calendar-weekdays,.compliance-report-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.compliance-report-calendar-weekdays{margin-bottom:6px}.compliance-report-calendar-weekdays span{text-align:center;color:var(--text-tertiary);font-size:calc(10px * var(--font-scale));font-weight:900}.compliance-report-calendar-grid button{aspect-ratio:1;border-radius:10px;font-size:calc(12px * var(--font-scale));font-weight:850}.compliance-report-calendar-grid button.is-muted{color:var(--text-tertiary);background:transparent}.compliance-report-calendar-grid button.is-today{border-color:color-mix(in srgb,var(--accent) 36%,var(--border))}.compliance-report-calendar-grid button.active{color:#fff;border-color:var(--accent);background:var(--accent)}.compliance-report-calendar-actions{margin-top:10px;display:flex;justify-content:space-between;gap:8px}.compliance-report-calendar-actions button{flex:1;min-height:32px;border-radius:999px;color:var(--text-secondary);font-size:calc(11px * var(--font-scale));font-weight:850}.compliance-report-filter-sep{color:var(--text-tertiary);font-size:calc(12px * var(--font-scale));font-weight:800}.compliance-report-outline-btn.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent-soft) 58%,var(--bg-input))}.compliance-report-list{min-height:0;max-height:none;flex:1;overflow-y:auto;padding:12px;display:grid;grid-template-columns:1fr;gap:10px;align-content:start;overscroll-behavior:contain}.compliance-report-board.is-list .compliance-report-list{max-height:none;padding:14px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));align-content:start;gap:12px}.compliance-report-board.is-list .compliance-report-item{min-height:116px;padding:15px}.compliance-report-item{width:100%;display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--bg-input);color:var(--text-primary);text-align:left;cursor:pointer;transition:transform 0.18s ease,background 0.18s ease,border-color 0.18s ease}.compliance-report-item + .compliance-report-item{margin-top:0}.compliance-report-item:hover,.compliance-report-item.active{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent-soft) 46%,var(--bg-input))}.compliance-report-item-main{min-width:0;display:grid;gap:6px}.compliance-report-item-title-row{min-width:0;display:flex;align-items:center;gap:7px}.compliance-report-item-title{display:block;min-width:0;color:var(--text-primary);font-size:calc(13px * var(--font-scale));font-weight:900;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compliance-report-status-stack{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px}.compliance-report-status{display:inline-flex;align-items:center;align-self:start;min-height:24px;padding:0 9px;border-radius:999px;font-size:calc(11px * var(--font-scale));font-weight:850;white-space:nowrap}.compliance-report-status.generating{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.compliance-report-status.completed{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.compliance-report-status.failed{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.compliance-report-risk-dot,.compliance-report-formula-dot{width:9px;height:9px;flex:0 0 auto;border-radius:999px;background:var(--text-tertiary)}.compliance-report-risk-badge{min-height:20px;padding:0 7px;border-radius:999px;flex:0 0 auto;display:inline-flex;align-items:center;color:var(--text-secondary);background:color-mix(in srgb,var(--text-tertiary) 12%,transparent);font-size:calc(10px * var(--font-scale));font-weight:900}.compliance-report-risk-badge.high{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.compliance-report-risk-badge.medium{color:#9a6400;background:rgba(184,117,0,0.10)}.compliance-report-risk-badge.low{color:var(--success);background:color-mix(in srgb,var(--success) 10%,transparent)}.compliance-report-archive-mark{min-height:20px;padding:0 7px;border-radius:999px;color:var(--text-secondary);background:color-mix(in srgb,var(--text-tertiary) 12%,transparent);font-size:calc(10px * var(--font-scale));font-weight:850;white-space:nowrap}.compliance-report-item-stats{display:flex;flex-wrap:wrap;gap:6px}.compliance-report-item-stats span{min-height:20px;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--bg-base) 70%,transparent);color:var(--text-secondary);font-size:calc(10px * var(--font-scale));font-weight:850}.compliance-report-risk-dot.high,.compliance-report-formula-dot.violation{background:var(--danger)}.compliance-report-risk-dot.medium,.compliance-report-formula-dot.warning{background:#b87500}.compliance-report-risk-dot.low,.compliance-report-formula-dot.pass{background:var(--success)}.compliance-report-item-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.compliance-report-item-tags span{min-height:20px;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent-soft) 55%,transparent);color:var(--accent);font-size:calc(10px * var(--font-scale));font-weight:850}.compliance-report-list-footer{min-height:44px;padding:8px 12px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-tertiary);font-size:calc(12px * var(--font-scale));font-weight:750}.compliance-report-detail-return-bar{position:static;min-height:58px;padding:10px 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-glass-hover) 96%,transparent);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);display:flex;align-items:center;justify-content:space-between;gap:14px}.compliance-report-detail-return-bar>span{color:var(--text-tertiary);font-size:calc(12px * var(--font-scale));font-weight:850}.compliance-report-return-btn{min-height:36px;padding:0 14px 0 11px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--bg-input) 88%,transparent);color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:calc(12px * var(--font-scale));font-weight:900;transition:transform 0.18s ease,background 0.18s ease,border-color 0.18s ease}.compliance-report-return-btn:hover{transform:translateY(-1px);background:var(--bg-glass-hover);border-color:var(--border-hover)}.compliance-report-return-btn span{font-size:20px;line-height:1}.compliance-report-doc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,auto);gap:18px;padding:22px 28px 18px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-input) 88%,transparent),transparent),color-mix(in srgb,var(--bg-glass) 92%,transparent)}.compliance-report-doc-title-block{min-width:0}.compliance-report-doc-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:10px}.compliance-report-doc-title{color:var(--text-primary);font-size:calc(25px * var(--font-scale));line-height:1.25;font-weight:950;overflow-wrap:anywhere}.compliance-report-doc-subtitle{margin-top:7px;color:var(--text-secondary);font-size:calc(13px * var(--font-scale))}.compliance-report-downloads{display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:flex-end;gap:8px}.compliance-report-detail-actions{display:grid;justify-items:end;align-content:start;gap:10px}.compliance-report-detail-action-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.compliance-report-outline-btn.is-mobile-only{display:none}.compliance-report-download-btn.is-primary{color:#fff;border-color:var(--accent);background:var(--accent)}.compliance-report-download-btn.is-secondary{color:var(--text-secondary)}.compliance-report-download-more{position:relative}.compliance-report-download-more summary{list-style:none;min-height:36px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--bg-input) 88%,transparent);color:var(--text-secondary);padding:0 13px;font-size:calc(12px * var(--font-scale));font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.compliance-report-download-more summary::-webkit-details-marker{display:none}.compliance-report-download-more>div{position:absolute;top:calc(100% + 8px);right:0;min-width:154px;padding:7px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--bg-glass-hover) 98%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);z-index:20}.compliance-report-download-more a{min-height:34px;padding:0 10px;border-radius:9px;color:var(--text-primary);text-decoration:none;font-size:calc(12px * var(--font-scale));font-weight:820;display:flex;align-items:center}.compliance-report-download-more a:hover{background:var(--bg-input)}.compliance-report-outline-btn.is-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 38%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--bg-input))}.compliance-report-meta-form{margin:14px 28px 0;padding:13px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--bg-input) 84%,transparent);display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(160px,0.9fr) auto;gap:10px;align-items:end}.compliance-report-meta-form label{min-width:0;display:grid;gap:5px}.compliance-report-meta-form label.is-wide{grid-column:1 / 3}.compliance-report-meta-form span{color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));font-weight:850}.compliance-report-meta-form input,.compliance-report-meta-form textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);padding:8px 10px;font-size:calc(12px * var(--font-scale));font-weight:750;outline:none}.compliance-report-meta-form textarea{resize:vertical;min-height:38px}.compliance-report-meta-form input:focus,.compliance-report-meta-form textarea:focus{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.compliance-report-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px;margin:16px 28px 0}.compliance-report-formula-block{margin:16px 28px 0;padding:12px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-input) 82%,transparent)}.compliance-report-formula-label{margin-bottom:9px;color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));font-weight:850}.compliance-report-formula-switch{display:flex;gap:8px;overflow-x:auto;padding-bottom:1px;overscroll-behavior-x:contain}.compliance-report-formula-list{max-height:132px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;overscroll-behavior:contain}.compliance-report-formula-btn{appearance:none;min-height:34px;min-width:0;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg-glass);color:var(--text-secondary);font-size:calc(12px * var(--font-scale));font-weight:850;cursor:pointer;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;transition:transform 0.18s ease,background 0.18s ease,border-color 0.18s ease,color 0.18s ease}.compliance-report-formula-btn:hover,.compliance-report-formula-btn.active{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 48%,var(--border));background:color-mix(in srgb,var(--accent-soft) 58%,var(--bg-input));color:var(--accent)}.compliance-report-summary-card{min-height:72px;padding:13px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg-input) 90%,transparent);box-shadow:0 8px 20px rgba(0,0,0,0.035)}.compliance-report-summary-card span{display:block;color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));font-weight:800}.compliance-report-summary-card strong{display:block;margin-top:7px;color:var(--text-primary);font-size:calc(16px * var(--font-scale));line-height:1.2;overflow-wrap:anywhere}.compliance-report-progress,.compliance-report-failure{margin:18px 28px 28px;padding:20px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-input) 88%,transparent)}.compliance-report-progress>div,.compliance-report-failure{display:grid;gap:8px}.compliance-report-progress strong,.compliance-report-failure strong{color:var(--text-primary);font-size:calc(16px * var(--font-scale));font-weight:900}.compliance-report-progress span,.compliance-report-failure p{color:var(--text-secondary);font-size:calc(13px * var(--font-scale));line-height:1.6}.compliance-report-progress ol{margin-top:14px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.compliance-report-progress li{min-height:72px;padding:12px;border:1px solid var(--border);border-radius:12px;display:grid;gap:8px;background:color-mix(in srgb,var(--bg-glass) 60%,transparent)}.compliance-report-progress li span{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--text-tertiary) 16%,transparent);color:var(--text-secondary);font-size:calc(11px * var(--font-scale));font-weight:900}.compliance-report-progress li.active{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent-soft) 45%,var(--bg-input))}.compliance-report-progress li.active span{background:var(--accent);color:#fff}.compliance-report-failure>div{display:flex;flex-wrap:wrap;gap:8px}.compliance-report-markdown{margin:16px 28px 28px;padding:38px 42px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-base) 98%,var(--bg-input)),color-mix(in srgb,var(--bg-base) 92%,var(--bg-input))),var(--bg-base);box-shadow:inset 0 5px 0 color-mix(in srgb,var(--accent) 54%,transparent),0 18px 48px rgba(15,23,42,0.08);overflow-x:auto}.compliance-report-markdown.markdown-body h1{margin:0 0 10px;text-align:center;color:var(--text-primary);font-size:calc(27px * var(--font-scale));line-height:1.22;letter-spacing:0}.compliance-report-markdown.markdown-body blockquote{margin:0 auto 24px;max-width:760px;border-left:0;padding:0 0 16px;border-bottom:1px solid var(--border);color:var(--text-secondary);text-align:center;font-size:calc(13px * var(--font-scale))}.compliance-report-markdown.markdown-body h2{margin-top:30px;padding:12px 14px;border-top:0;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent-soft) 48%,transparent);color:var(--text-primary);font-size:calc(17px * var(--font-scale));line-height:1.35}.compliance-report-markdown.markdown-body h3{margin-top:22px;color:var(--text-primary);font-size:calc(15px * var(--font-scale))}.compliance-report-markdown.markdown-body p,.compliance-report-markdown.markdown-body li{line-height:1.8;color:var(--text-secondary)}.compliance-report-markdown.markdown-body table{width:100%;min-width:680px;margin:14px 0 24px;border-collapse:collapse;border:1px solid var(--border-hover);border-radius:8px;overflow:hidden;background:var(--bg-input);font-size:calc(12px * var(--font-scale))}.compliance-report-markdown.markdown-body th,.compliance-report-markdown.markdown-body td{border:1px solid var(--border);padding:9px 11px;text-align:left;vertical-align:top;line-height:1.58}.compliance-report-markdown.markdown-body th{background:color-mix(in srgb,var(--accent-soft) 72%,var(--bg-input));color:var(--text-primary);font-weight:900;white-space:nowrap}.compliance-report-markdown.markdown-body td{color:var(--text-secondary)}.compliance-report-markdown.markdown-body tr:nth-child(even) td{background:color-mix(in srgb,var(--bg-base) 52%,transparent)}.compliance-report-markdown.markdown-body tr:hover td{background:color-mix(in srgb,var(--accent-soft) 28%,transparent)}.compliance-report-markdown.markdown-body table td:first-child{color:var(--text-primary);font-weight:760}.compliance-visual-action,.compliance-report-action{margin-top:14px;display:inline-flex;justify-content:flex-start;gap:10px;vertical-align:top}.compliance-visual-action + .compliance-report-action,.compliance-report-action + .compliance-visual-action{margin-left:8px}.compliance-report-generate-btn{appearance:none;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-input) 88%,transparent);color:var(--accent);cursor:pointer;transition:transform 0.18s ease,background 0.18s ease,border-color 0.18s ease;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border-radius:999px;font-size:calc(13px * var(--font-scale));font-weight:850}.compliance-report-generate-btn svg{width:17px;height:17px}.compliance-report-generate-btn:hover{transform:translateY(-1px);background:var(--bg-glass-hover);border-color:var(--border-hover)}.compliance-report-generate-btn[disabled]{opacity:0.7;cursor:wait;transform:none}.compliance-report-empty{min-height:220px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;padding:24px;text-align:center;border:1px dashed var(--border-hover);border-radius:16px;color:var(--text-secondary)}.compliance-report-empty strong{color:var(--text-primary);font-size:calc(16px * var(--font-scale));font-weight:950}.compliance-report-empty p{max-width:420px;margin:0;color:var(--text-secondary);font-size:calc(13px * var(--font-scale));line-height:1.7}.compliance-report-empty-icon{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 76%,var(--bg-input));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent);font-size:calc(15px * var(--font-scale));font-weight:950}.compliance-report-empty.is-list-empty{min-height:260px;border-style:solid;background:color-mix(in srgb,var(--bg-input) 72%,transparent)}.compliance-report-empty.is-detail-empty{min-height:100%;border:0;border-radius:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 34%,transparent),transparent 44%),color-mix(in srgb,var(--bg-glass) 70%,transparent)}.compliance-report-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}@media (max-width:980px){.compliance-report-shell{padding-left:18px;padding-right:18px}.compliance-report-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.compliance-report-meta-form{grid-template-columns:1fr}.compliance-report-meta-form label.is-wide{grid-column:auto}}@media (max-width:768px){.compliance-report-toggle-btn span:not(.compliance-report-badge){display:none}.compliance-report-shell{padding:72px 14px calc(18px + var(--safe-bottom));overflow-y:auto}.compliance-report-shell.is-detail-mode{overflow:visible}.compliance-report-hero,.compliance-report-doc-head{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.compliance-report-page-actions,.compliance-report-downloads,.compliance-report-detail-actions,.compliance-report-detail-action-row{justify-items:stretch;justify-content:flex-start}.compliance-report-overview{grid-template-columns:1fr 1fr}.compliance-report-hero h1{font-size:calc(27px * var(--font-scale))}.compliance-report-filter-row,.compliance-report-filter-row.is-secondary{grid-template-columns:1fr}.compliance-report-search-row{grid-template-columns:1fr}.compliance-report-filter-input.is-search{grid-column:auto}.compliance-report-summary-grid{grid-template-columns:1fr}.compliance-report-markdown{margin-left:0;margin-right:0;padding:18px}.compliance-report-summary-grid{margin-left:0;margin-right:0}.compliance-report-formula-block{margin-left:0;margin-right:0}.compliance-report-doc-head{padding-left:18px;padding-right:18px}.compliance-report-detail-return-bar{padding-left:14px;padding-right:14px}.compliance-report-outline-btn.is-mobile-only{display:inline-flex}.compliance-report-meta-form{margin-left:0;margin-right:0}.compliance-report-progress,.compliance-report-failure{margin-left:0;margin-right:0}.compliance-report-progress ol{grid-template-columns:1fr}}@media (max-width:520px){.compliance-report-board.is-list .compliance-report-list{grid-template-columns:1fr}.compliance-report-item{grid-template-columns:1fr}.compliance-report-status-stack{flex-direction:row;justify-content:flex-start}}.msg-card-with-file{display:flex;flex-direction:column;gap:10px;width:fit-content !important;max-width:min(72%,620px);padding:14px 18px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 94%,white 6%),#5e5ce6);color:#fff;box-shadow:0 12px 30px rgba(0,113,227,0.20);border-radius:24px;border-top-right-radius:14px;animation:msgIn 0.45s cubic-bezier(0.16,1,0.3,1) forwards;opacity:0;transform:translateY(8px)}.msg-file-indicator{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.18);backdrop-filter:blur(8px);max-width:280px;opacity:0}.msg-file-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,0.22);color:#fff;flex-shrink:0}.msg-file-info{flex:1;min-width:0;overflow:hidden}.msg-file-name{color:#fff;font-weight:600;font-size:calc(13px * var(--font-scale));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-file-meta{color:rgba(255,255,255,0.72);font-size:calc(11px * var(--font-scale));margin-top:1px}.msg-file-text{font-size:calc(15px * var(--font-scale));line-height:1.75;word-break:break-word;padding-top:2px;border-top:1px solid rgba(255,255,255,0.18);opacity:0}@keyframes fileIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.file-preview,.uploaded-file,#file-preview-main:not(:empty),#file-preview-chat:not(:empty){display:flex;align-items:center;gap:10px;padding:8px 12px;margin:0 22px 10px;border-radius:10px;background:var(--bg-glass);border:1px solid var(--border);animation:fadeUp 0.3s ease forwards;font-size:calc(13px * var(--font-scale));max-width:716px}.file-preview-icon,.uploaded-file-icon,#file-preview-main:not(:empty)>:first-child,#file-preview-chat:not(:empty)>:first-child{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.file-preview-info,.uploaded-file-info{flex:1;min-width:0;overflow:hidden}.file-preview-name,.uploaded-file-name{color:var(--text-primary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview-meta,.uploaded-file-meta{color:var(--text-secondary);font-size:calc(11px * var(--font-scale));margin-top:1px}.file-preview-status{display:inline-flex;align-items:center;margin-left:8px;padding:2px 7px;border-radius:999px;background:rgba(52,199,89,0.12);color:var(--success);font-weight:750}.file-preview-remove,.uploaded-file-remove,#file-preview-main:not(:empty)>button,#file-preview-chat:not(:empty)>button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all 0.2s ease;flex-shrink:0}.file-preview-remove:hover,.uploaded-file-remove:hover,#file-preview-main:not(:empty)>button:hover,#file-preview-chat:not(:empty)>button:hover{background:rgba(255,55,95,0.1);color:var(--danger)}.file-preview-uploading .file-preview-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 0.8s linear infinite;flex-shrink:0}.file-preview-success{border-color:rgba(52,199,89,0.3);background:rgba(52,199,89,0.06)}.file-preview-success .file-preview-icon{background:rgba(52,199,89,0.12);color:var(--success)}.upload-error-toast,.upload-success-toast,.upload-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--danger);color:#fff;padding:10px 20px;border-radius:10px;font-size:calc(13px * var(--font-scale));font-weight:500;box-shadow:0 8px 24px rgba(255,55,95,0.3);opacity:0;transition:all 0.3s cubic-bezier(0.16,1,0.3,1);z-index:9999;pointer-events:none;white-space:nowrap}.upload-success-toast{background:var(--success);box-shadow:0 8px 24px rgba(52,199,89,0.24)}.upload-error-toast.show,.upload-success-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@keyframes spin{to{transform:rotate(360deg)}}.streaming-cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink 0.8s step-end infinite}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:12px 0 6px;font-weight:700}.markdown-body h2{font-size:calc(15px * var(--font-scale))}.markdown-body h3{font-size:calc(14px * var(--font-scale))}.markdown-body p{margin:4px 0}.markdown-body ul,.markdown-body ol{padding-left:20px;margin:4px 0}.markdown-body li{margin:2px 0}.markdown-body code{background:var(--bg-glass);padding:1px 5px;border-radius:4px;font-size:calc(13px * var(--font-scale))}.markdown-body pre{background:var(--bg-glass);padding:10px;border-radius:8px;overflow-x:auto;margin:8px 0}.markdown-body blockquote{border-left:3px solid var(--accent);padding-left:12px;color:var(--text-secondary);margin:8px 0}.msg-row.ai .markdown-body>:first-child{margin-top:0}.msg-row.ai .markdown-body>:last-child{margin-bottom:0}.search-card .markdown-body h2{font-size:calc(15px * var(--font-scale));font-weight:800;color:var(--text-primary);margin:14px 0 8px;letter-spacing:0}.search-card .markdown-body h3{font-size:calc(14px * var(--font-scale));font-weight:700;color:var(--text-primary);margin:10px 0 6px}.search-card .markdown-body p{margin:6px 0;color:var(--text-secondary)}.search-card .markdown-body ul,.search-card .markdown-body ol{padding-left:18px;margin:6px 0}.search-card .markdown-body li{margin:4px 0;line-height:1.65}.search-card .markdown-body>:first-child{margin-top:0}.search-card .markdown-body>:last-child{margin-bottom:0}.welcome-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 28px 130px;overflow-y:auto}.brand-area{width:100%;max-width:760px;text-align:center;margin-bottom:52px;animation:fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) forwards;opacity:0;transform:translateY(24px)}.brand-logo{font-size:calc(52px * var(--font-scale));font-weight:800;letter-spacing:0;background:linear-gradient(135deg,var(--accent),#af52de,#ff2d55);background-size:250% 250%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 5s ease-in-out infinite;margin-bottom:8px}.brand-subtitle{font-size:calc(15px * var(--font-scale));color:var(--text-tertiary);font-weight:500}.chat-view{flex:1;display:none;flex-direction:column;overflow:hidden;position:relative}.chat-view.active{display:flex}.chat-scroll{flex:1;overflow-y:auto;padding:70px 28px calc(240px + var(--safe-bottom));display:flex;flex-direction:column;align-items:center;scroll-padding-bottom:calc(240px + var(--safe-bottom))}.chat-container{width:100%;max-width:760px;display:flex;flex-direction:column;gap:18px;padding-bottom:16px}.msg-row{width:100%;display:flex;animation:msgIn 0.45s cubic-bezier(0.16,1,0.3,1) forwards;opacity:0;transform:translateY(8px)}.msg-row.user{justify-content:flex-end}.msg-row.ai{justify-content:flex-start}.msg-card{border-radius:24px;font-size:calc(15px * var(--font-scale));line-height:1.75;word-break:break-word}.msg-row.user .msg-card{width:fit-content;max-width:min(72%,620px);padding:18px 22px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 94%,white 6%),#5e5ce6);color:#fff;box-shadow:0 12px 30px rgba(0,113,227,0.20);border-top-right-radius:14px}.msg-row.ai .msg-card{width:min(100%,760px);padding:18px 22px;background:color-mix(in srgb,var(--bg-glass) 92%,transparent);backdrop-filter:var(--glass-blur);border:1px solid var(--border);color:var(--text-primary);box-shadow:0 6px 22px rgba(0,0,0,0.06);border-top-left-radius:14px}.chat-view .input-area{position:absolute;left:0;right:0;bottom:0;z-index:6;width:100%;max-width:none;padding:28px 28px calc(24px + var(--safe-bottom));margin:0;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--bg-base) 92%,transparent) 48%,transparent 100%)}.chat-view .input-area .input-box{width:min(100%,760px);margin:0 auto;pointer-events:auto;box-shadow:0 18px 48px rgba(0,0,0,0.12),inset 0 1px 0 rgba(255,255,255,0.08)}.search-view{flex:1;display:none;flex-direction:column;overflow:hidden}.search-view.active{display:flex}.search-scroll{flex:1;overflow-y:auto;padding:84px 28px 32px;display:flex;justify-content:center}.search-shell{width:100%;max-width:940px;display:flex;flex-direction:column;gap:22px}.search-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:4px}.search-title{font-size:calc(34px * var(--font-scale));font-weight:800;letter-spacing:0;line-height:1.15;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.search-subtitle{margin-top:10px;font-size:calc(14px * var(--font-scale));color:var(--text-secondary);max-width:640px;line-height:1.7}.search-standard-chip{padding:9px 14px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-glass) 90%,transparent);color:var(--accent);font-size:calc(13px * var(--font-scale));font-weight:700;white-space:nowrap;transition:all 0.2s ease}.search-standard-chip:hover{background:color-mix(in srgb,var(--bg-glass) 100%,transparent);border-color:var(--border-hover)}.regulation-switch{display:inline-flex;align-items:center;gap:6px;padding:5px;border-radius:999px;background:var(--bg-glass);border:1px solid var(--border);backdrop-filter:var(--glass-blur)}.search-panel{background:color-mix(in srgb,var(--bg-glass) 96%,transparent);border:1px solid var(--border);border-radius:26px;padding:22px;box-shadow:var(--shadow),0 1px 0 rgba(255,255,255,0.45) inset;backdrop-filter:var(--glass-blur);transition:border-color 0.25s ease,box-shadow 0.25s ease}.search-panel:focus-within{border-color:rgba(0,113,227,0.18);box-shadow:var(--shadow-lg),0 1px 0 rgba(255,255,255,0.45) inset}.search-input-row{display:flex;gap:12px;align-items:stretch}.search-input{flex:1;min-height:58px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--bg-input) 92%,transparent);color:var(--text-primary);padding:16px 20px;font-size:calc(16px * var(--font-scale));outline:none;transition:all 0.25s ease;font-weight:500}.search-input::placeholder{color:var(--text-tertiary);font-weight:400}.search-input:focus{border-color:rgba(0,113,227,0.25);box-shadow:0 0 0 3px var(--accent-soft);background:color-mix(in srgb,var(--bg-input) 98%,transparent)}.search-suggestions{display:none;margin-top:10px;max-height:286px;overflow-y:auto;padding:6px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-glass-hover) 96%,transparent);box-shadow:var(--shadow-lg)}.search-suggestions.open{display:grid;gap:4px}.search-suggestion-item{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;font:inherit}.search-suggestion-item:hover,.search-suggestion-item.active{background:var(--accent-soft)}.search-suggestion-main{min-width:0;display:grid;gap:3px}.search-suggestion-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(14px * var(--font-scale));font-weight:850}.search-suggestion-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));font-weight:700}.search-suggestion-reg{align-self:center;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-input);color:var(--accent);font-size:calc(10px * var(--font-scale));font-weight:900}.search-btn{min-width:120px;border:none;border-radius:18px;background:linear-gradient(135deg,var(--accent),#5e5ce6);color:#fff;font-size:calc(15px * var(--font-scale));font-weight:700;cursor:pointer;box-shadow:0 10px 24px rgba(0,113,227,0.18);transition:all 0.25s cubic-bezier(0.4,0,0.2,1)}.search-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 32px rgba(0,113,227,0.28)}.search-btn:active:not(:disabled){transform:scale(0.97)}.search-btn:disabled{opacity:0.5;cursor:not-allowed;filter:grayscale(0.4)}.search-hint{margin-top:14px;font-size:calc(13px * var(--font-scale));color:var(--text-secondary);line-height:1.7}.search-results{display:flex;flex-direction:column;gap:20px}.search-results>.search-card,.search-results>.search-empty{animation:fadeUp 0.45s cubic-bezier(0.16,1,0.3,1) both}.search-result-group{display:flex;flex-direction:column;gap:16px;animation:fadeUp 0.45s cubic-bezier(0.16,1,0.3,1) both}.search-result-group:nth-child(1){animation-delay:0.04s}.search-result-group:nth-child(2){animation-delay:0.10s}.search-result-group:nth-child(3){animation-delay:0.16s}.search-result-divider{display:flex;align-items:center;gap:12px;margin:4px 0;font-size:calc(12px * var(--font-scale));font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:0.6px}.search-result-divider::before,.search-result-divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border-hover),transparent)}.search-result-divider span{flex-shrink:0;padding:4px 12px;border-radius:999px;background:var(--bg-glass);border:1px solid var(--border)}.search-card{position:relative;background:color-mix(in srgb,var(--bg-glass) 92%,transparent);border:1px solid var(--border);border-radius:24px;padding:22px 24px;box-shadow:var(--shadow-sm),0 1px 0 rgba(255,255,255,0.45) inset;transition:transform 0.25s ease,box-shadow 0.25s ease,border-color 0.25s ease;overflow:hidden}.search-card:hover{transform:translateY(-2px);box-shadow:var(--shadow),0 1px 0 rgba(255,255,255,0.45) inset;border-color:var(--border-hover)}.search-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.search-card-bar{position:absolute;top:0;left:0;right:0;height:4px;opacity:0;transition:opacity 0.25s ease}.search-card:hover .search-card-bar{opacity:1}.search-card-bar--forbidden{opacity:1;background:linear-gradient(90deg,var(--danger),color-mix(in srgb,var(--danger) 60%,#ff9f0a))}.search-card-bar--restricted{opacity:1;background:linear-gradient(90deg,var(--warning),color-mix(in srgb,var(--warning) 60%,#ff375f))}.search-card-bar--ai{opacity:1;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#5e5ce6))}.search-card-bar--info{opacity:1;background:linear-gradient(90deg,var(--text-tertiary),color-mix(in srgb,var(--text-tertiary) 60%,var(--text-secondary)))}.search-card-head-main{flex:1;min-width:0}.search-card-title{font-size:calc(19px * var(--font-scale));font-weight:800;letter-spacing:0;line-height:1.25;color:var(--text-primary)}.search-card-subtitle{margin-top:4px;font-size:calc(14px * var(--font-scale));line-height:1.35;color:var(--text-secondary);font-weight:650}.search-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.meta-chip{padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--bg-input) 80%,transparent);border:1px solid var(--border);font-size:calc(12px * var(--font-scale));color:var(--text-secondary);font-weight:500;transition:all 0.2s ease}.search-card:hover .meta-chip{background:color-mix(in srgb,var(--bg-input) 95%,transparent);border-color:var(--border-hover)}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:calc(12px * var(--font-scale));font-weight:700;white-space:nowrap;flex-shrink:0}.status-chip::before{content:'';width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-restricted{background:rgba(255,159,10,0.12);color:var(--warning)}.status-restricted::before{background:var(--warning);box-shadow:0 0 6px rgba(255,159,10,0.45)}.status-forbidden{background:rgba(255,55,95,0.12);color:var(--danger)}.status-forbidden::before{background:var(--danger);box-shadow:0 0 6px rgba(255,55,95,0.45)}.status-ai{background:rgba(10,132,255,0.12);color:var(--accent)}.status-ai::before{background:var(--accent);box-shadow:0 0 6px rgba(10,132,255,0.45)}.status-info{background:rgba(142,142,147,0.12);color:var(--text-secondary)}.status-info::before{background:var(--text-secondary);box-shadow:0 0 6px rgba(142,142,147,0.35)}.status-pass{background:rgba(52,199,89,0.12);color:var(--success)}.status-pass::before{background:var(--success);box-shadow:0 0 6px rgba(52,199,89,0.45)}.status-warning{background:rgba(255,159,10,0.12);color:var(--warning)}.status-warning::before{background:var(--warning);box-shadow:0 0 6px rgba(255,159,10,0.45)}.status-violation{background:rgba(255,55,95,0.12);color:var(--danger)}.status-violation::before{background:var(--danger);box-shadow:0 0 6px rgba(255,55,95,0.45)}.search-card-text{color:var(--text-secondary);font-size:calc(14px * var(--font-scale));line-height:1.75}.identity-candidates-card .search-card-text{margin-bottom:14px}.identity-candidate-list{display:grid;gap:10px}.identity-candidate-btn{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-input) 80%,transparent);color:var(--text-primary);cursor:pointer;text-align:left;transition:background 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease,transform 0.2s ease}.identity-candidate-btn:hover,.identity-candidate-btn:focus-visible{background:color-mix(in srgb,var(--bg-input) 98%,transparent);border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px);outline:none}.identity-candidate-main{min-width:0;display:flex;flex-direction:column;gap:4px}.identity-candidate-title{font-size:calc(15px * var(--font-scale));line-height:1.3;font-weight:800;overflow-wrap:anywhere}.identity-candidate-subtitle{font-size:calc(13px * var(--font-scale));line-height:1.35;color:var(--text-secondary);font-weight:650;overflow-wrap:anywhere}.identity-candidate-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex:0 1 42%}.limits-grid{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}@media (max-width:720px){.identity-candidate-btn{align-items:flex-start;flex-direction:column}.identity-candidate-meta{justify-content:flex-start;flex-basis:auto}}.limit-box{position:relative;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--bg-input) 85%,transparent);border:1px solid var(--border);display:flex;flex-direction:column;gap:4px;transition:all 0.2s ease;overflow:hidden}.limit-box:hover{background:color-mix(in srgb,var(--bg-input) 98%,transparent);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.limit-box::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 50%,#5e5ce6));opacity:0.7;border-radius:16px 16px 0 0}.limit-box .k{font-size:calc(11px * var(--font-scale));color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:0.3px}.limit-box .d{font-size:calc(11px * var(--font-scale));color:var(--text-secondary);line-height:1.4}.limit-box .v{font-size:calc(16px * var(--font-scale));font-weight:800;color:var(--text-primary);margin-top:2px;letter-spacing:0}.labeling-card{border-left:3px solid color-mix(in srgb,var(--accent) 72%,transparent)}.labeling-core{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:18px;align-items:stretch;margin-top:14px}.labeling-signal{border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg-input) 85%,transparent);padding:18px 14px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:all 0.2s ease;text-align:center}.labeling-signal:hover{background:color-mix(in srgb,var(--bg-input) 98%,transparent);border-color:var(--border-hover)}.labeling-signal span,.labeling-section-title,.labeling-info-label{color:var(--text-tertiary);font-size:calc(11px * var(--font-scale));font-weight:700;text-transform:uppercase;letter-spacing:0.4px}.labeling-signal strong{color:var(--text-primary);font-size:calc(26px * var(--font-scale));font-weight:800;line-height:1.15;letter-spacing:0}.labeling-pictogram-block{min-width:0;display:flex;flex-direction:column}.labeling-pictograms{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;flex:1;align-items:stretch}.labeling-pictogram{width:100px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--bg-input) 80%,transparent);padding:14px 10px 10px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;text-align:center;transition:all 0.2s ease}.labeling-pictogram:hover{background:color-mix(in srgb,var(--bg-input) 98%,transparent);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.labeling-pictogram img{width:64px;height:64px;object-fit:contain;display:block;border-radius:4px}.labeling-pictogram-code{color:var(--text-primary);font-size:calc(13px * var(--font-scale));font-weight:800;line-height:1.2}.labeling-pictogram-name{color:var(--text-secondary);font-size:calc(11px * var(--font-scale));line-height:1.25;overflow-wrap:anywhere}.labeling-section{margin-top:18px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.labeling-section:first-of-type{border-top:none;padding-top:0}.labeling-hazard-list{display:grid;gap:10px;margin-top:10px}.labeling-hazard-row{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);padding-bottom:10px}.labeling-hazard-row:last-child{border-bottom:0;padding-bottom:0}.labeling-h-code{color:var(--accent);font-size:calc(13px * var(--font-scale));font-weight:800;line-height:1.45}.labeling-h-statement{color:var(--text-primary);font-size:calc(14px * var(--font-scale));line-height:1.5}.labeling-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:10px}.labeling-info-item{min-width:0;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg-input) 80%,transparent);padding:11px 12px;transition:all 0.2s ease}.labeling-info-item:hover{background:color-mix(in srgb,var(--bg-input) 98%,transparent);border-color:var(--border-hover)}.labeling-info-value{margin-top:5px;color:var(--text-primary);font-size:calc(14px * var(--font-scale));font-weight:600;line-height:1.45;overflow-wrap:anywhere}.search-empty{padding:48px 32px;text-align:center;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-glass) 90%,transparent);border:1px dashed var(--border-hover);border-radius:24px;font-size:calc(15px * var(--font-scale));line-height:1.7;transition:all 0.2s ease}.search-empty:hover{background:color-mix(in srgb,var(--bg-glass) 98%,transparent);border-color:var(--border-hover)}.search-empty--loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:56px 32px}.search-loader{display:flex;gap:6px}.search-loader span{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:searchLoaderBounce 1.2s ease-in-out infinite;opacity:0.6}.search-loader span:nth-child(1){animation-delay:0s}.search-loader span:nth-child(2){animation-delay:0.15s}.search-loader span:nth-child(3){animation-delay:0.3s}@keyframes searchLoaderBounce{0%,80%,100%{transform:scale(0.7);opacity:0.4}40%{transform:scale(1.1);opacity:1}}.search-empty-text{color:var(--text-secondary);font-size:calc(14px * var(--font-scale));font-weight:500}@media (max-width:980px){.input-area,.chat-container{max-width:820px}.msg-row.user .msg-card{max-width:78%}.chat-view .input-area .input-box{width:min(100%,820px)}.search-shell{max-width:860px}}@media (max-width:768px){.sidebar{display:flex;position:fixed;top:0;left:0;bottom:0;width:min(88vw,332px);max-width:calc(100vw - 34px);z-index:90;transform:translateX(-104%);box-shadow:0 24px 70px rgba(0,0,0,0.30);transition:transform 0.28s cubic-bezier(0.16,1,0.3,1);will-change:transform}.sidebar.mobile-open{transform:translateX(0)}:root{--sidebar-width:0px}.mobile-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,0.34);opacity:0;pointer-events:none;transition:opacity 0.25s ease;z-index:80}.mobile-overlay.active{opacity:1;pointer-events:auto}.main-header{padding:14px 16px;justify-content:space-between}.mobile-menu-btn{display:inline-flex}.welcome-content{justify-content:flex-start;padding:92px 16px 116px}.promo-card{left:50%;right:auto;width:calc(100vw - 24px);bottom:calc(14px + var(--safe-bottom));transform:translateX(-50%) translateY(14px)}.promo-card.is-visible{transform:translateX(-50%) translateY(0)}.brand-logo{font-size:calc(40px * var(--font-scale))}.brand-area{margin-bottom:28px}.input-area,.chat-container{max-width:none}.chat-scroll{padding:72px 14px calc(206px + var(--safe-bottom));scroll-padding-bottom:calc(206px + var(--safe-bottom))}.chat-view .input-area{padding:22px 14px calc(16px + var(--safe-bottom))}.input-box{padding:16px 16px 12px;border-radius:20px}.input-box.mobile-collapsible .input-toolbar{flex-wrap:wrap;align-items:center;row-gap:8px}.input-box.mobile-collapsible .toolbar-left{display:none;width:100%;order:3;padding-top:8px;border-top:1px solid var(--border)}.input-box.mobile-collapsible.compact-open .toolbar-left{display:flex;flex-wrap:wrap}.input-box.mobile-collapsible .toolbar-right{width:100%;justify-content:space-between}.mobile-tools-toggle{display:inline-flex}.input-textarea{min-height:44px;font-size:calc(15px * var(--font-scale))}.input-toolbar{gap:10px;align-items:flex-end}.toolbar-left{flex-wrap:wrap;gap:6px}.toolbar-btn{padding:6px 10px;font-size:calc(12px * var(--font-scale))}.quick-actions{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;width:100%}.quick-action{flex:0 0 auto}.category-dropdown{min-width:220px;max-width:calc(100vw - 32px)}.msg-row.user .msg-card,.msg-row.ai .msg-card{max-width:100%}.msg-row.user .msg-card{width:fit-content}.search-scroll{padding:78px 14px 24px}.search-hero{flex-direction:column;gap:10px}.search-title{font-size:calc(28px * var(--font-scale))}.search-panel{padding:16px;border-radius:22px}.search-input-row{flex-direction:column}.search-btn{min-height:52px;width:100%}.regulation-switch{width:100%;justify-content:space-between;flex-wrap:wrap;border-radius:18px}.regulation-btn{flex:1 1 calc(50% - 6px);text-align:center}.search-results{gap:16px}.search-card{padding:18px;border-radius:20px}.search-card-head{gap:10px}.search-card-title{font-size:calc(17px * var(--font-scale))}.limits-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.admin-view{padding:76px 14px calc(22px + var(--safe-bottom))}.admin-head{flex-direction:column;gap:12px;margin-bottom:16px}.admin-head h1{font-size:calc(27px * var(--font-scale))}.admin-head p{font-size:calc(13px * var(--font-scale))}.admin-refresh-btn{width:100%;min-height:42px}.admin-toolbar{flex-direction:column}.admin-search-btn{min-height:42px}.admin-detail-panel{min-height:auto;padding:14px}.admin-empty-detail{min-height:260px}.admin-detail-top{flex-direction:column;gap:10px}.admin-detail-phone{font-size:calc(20px * var(--font-scale))}.admin-users-list{max-height:44vh}}@media (max-width:560px){.logo-area{padding-bottom:14px}.welcome-content{padding-top:84px}.brand-logo{font-size:calc(34px * var(--font-scale))}.brand-subtitle{font-size:calc(14px * var(--font-scale))}.chat-scroll{padding:68px 12px calc(192px + var(--safe-bottom));scroll-padding-bottom:calc(192px + var(--safe-bottom))}.chat-view .input-area{padding:18px 12px calc(14px + var(--safe-bottom))}.input-box{padding:14px 14px 10px}.msg-card{font-size:calc(14px * var(--font-scale))}.msg-row.user .msg-card{max-width:88%;padding:14px 16px;border-radius:18px;border-top-right-radius:12px}.msg-row.ai .msg-card{padding:15px 16px;border-radius:18px;border-top-left-radius:12px}.tool-result-item{padding:9px 10px;gap:8px}.tool-result-header{padding:10px 12px}.tool-result-load,.tool-summary{padding-left:12px;padding-right:12px}.tool-badge{padding:3px 8px;font-size:calc(11px * var(--font-scale))}.main-header{padding:12px}.search-scroll{padding:72px 12px 20px}.search-title{font-size:calc(24px * var(--font-scale))}.search-card{padding:16px;border-radius:18px}.search-card-head{flex-direction:column;gap:8px}.status-chip{align-self:flex-start}.labeling-core{grid-template-columns:1fr}.labeling-pictogram{width:90px}.labeling-hazard-row{grid-template-columns:64px 1fr}.limits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-view{padding-left:12px;padding-right:12px}.admin-metrics{grid-template-columns:1fr}.admin-actions-row{flex-direction:column;align-items:stretch;gap:8px}.admin-primary-btn,.admin-danger-btn{min-height:42px}.admin-user-row{padding:10px}.admin-mail-form,.admin-mail-history{padding-left:12px;padding-right:12px}.admin-mail-history-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-mail-ghost-btn{padding:0 6px}.admin-mail-detail-attachment{align-items:flex-start;flex-direction:column}}
