:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}.mock-center{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#333}.mock-center-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.mock-center-title{display:flex;align-items:center;gap:12px}.mock-center-title h1{margin:0;font-size:24px;font-weight:600}.mock-badge{background:#e8f0fe;color:#1a73e8;padding:2px 10px;border-radius:12px;font-size:13px;font-weight:500}.mock-center-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mock-search{padding:8px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;width:220px;transition:border-color .2s}.mock-search:focus{border-color:#1a73e8}.mock-btn{padding:8px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;background:#fff;white-space:nowrap}.mock-btn:hover{border-color:#bbb;background:#f8f8f8}.mock-btn-primary{background:#1a73e8;color:#fff;border-color:#1a73e8}.mock-btn-primary:hover{background:#1558b0;border-color:#1558b0}.mock-btn-success{background:#34a853;color:#fff;border-color:#34a853}.mock-btn-success:hover{background:#2d8f47}.mock-btn-danger{color:#d93025;border-color:#d93025;background:transparent}.mock-btn-danger:hover{background:#fce8e6}.mock-btn-default{background:#fff}.mock-btn-sm{padding:4px 10px;font-size:12px}.mock-btn-close{border:none;background:transparent;font-size:20px;cursor:pointer;color:#666;padding:4px 8px}.mock-btn-close:hover{color:#333;background:transparent}.mock-btn-icon{border:none;background:transparent;cursor:pointer;font-size:16px;padding:4px 6px;border-radius:4px;transition:background .2s}.mock-btn-icon:hover{background:#f0f0f0}.mock-route-list{display:flex;flex-direction:column;gap:8px}.mock-route-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:14px 18px;transition:all .2s}.mock-route-card:hover{border-color:#1a73e8;box-shadow:0 2px 8px #1a73e81a}.mock-route-disabled{opacity:.5}.mock-route-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mock-method-badge{display:inline-block;padding:2px 8px;border-radius:4px;color:#fff;font-size:12px;font-weight:700;font-family:SF Mono,Consolas,monospace;min-width:52px;text-align:center}.mock-route-path{font-family:SF Mono,Consolas,monospace;font-size:14px;font-weight:500;color:#333}.mock-route-status{background:#f0f0f0;padding:2px 8px;border-radius:4px;font-size:12px;color:#666}.mock-route-delay{font-size:12px;color:#f9a825}.mock-route-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.mock-route-desc{margin-top:6px;font-size:13px;color:#888}.mock-route-preview{margin-top:12px;background:#1e1e1e;border-radius:6px;overflow:hidden}.mock-route-preview pre{margin:0;padding:14px;color:#d4d4d4;font-size:13px;font-family:SF Mono,Consolas,monospace;overflow-x:auto;line-height:1.5}.mock-toggle{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.mock-toggle input{opacity:0;width:0;height:0}.mock-toggle-slider{position:absolute;inset:0;background:#ccc;border-radius:20px;transition:.3s}.mock-toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:.3s}.mock-toggle input:checked+.mock-toggle-slider{background:#34a853}.mock-toggle input:checked+.mock-toggle-slider:before{transform:translate(16px)}.mock-empty{text-align:center;padding:60px 20px;color:#999}.mock-empty-icon{font-size:48px;margin-bottom:16px}.mock-empty-text{font-size:15px}.mock-editor-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.mock-editor{background:#fff;border-radius:12px;width:100%;max-width:960px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.mock-editor-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #eee}.mock-editor-header h2{margin:0;font-size:18px;font-weight:600}.mock-editor-body{display:flex;gap:0;flex:1;overflow:hidden}.mock-editor-form{flex:1;padding:20px 24px;overflow-y:auto;border-right:1px solid #eee}.mock-editor-preview{width:380px;display:flex;flex-direction:column;background:#fafafa}.mock-editor-preview h3{margin:0;font-size:15px}.mock-preview-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #eee}.mock-preview-code{flex:1;margin:0;padding:14px 18px;font-size:13px;font-family:SF Mono,Consolas,monospace;overflow:auto;background:#1e1e1e;color:#d4d4d4;line-height:1.5}.mock-preview-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}.mock-editor-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid #eee}.mock-form-row{margin-bottom:14px}.mock-form-row label{display:block;font-size:13px;font-weight:500;color:#555;margin-bottom:4px}.mock-form-row input,.mock-form-row select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.mock-form-row input:focus,.mock-form-row select:focus{border-color:#1a73e8}.mock-form-row-group{display:flex;gap:14px}.mock-form-row-group .mock-form-row{flex:1}.mock-form-section{margin-top:20px;border-top:1px solid #eee;padding-top:16px}.mock-form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mock-form-section-header h3{margin:0;font-size:15px;font-weight:600}.mock-field-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:8px 12px;background:#f8f9fa;border-radius:6px}.mock-field-name{font-family:SF Mono,Consolas,monospace;font-size:13px;font-weight:600;min-width:100px;color:#1a73e8}.mock-field-row select{flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;outline:none}.mock-field-range{display:flex;align-items:center;gap:4px}.mock-field-range input{width:60px;padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;outline:none;text-align:center}.mock-field-range span{color:#999}.lora-page{width:100%;min-height:100vh;position:relative;overflow:hidden}.lora-page-bg{position:fixed;inset:0;background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);z-index:0}.lora-layout{position:relative;z-index:1;display:flex;gap:40px;padding:30px;max-width:1400px;margin:0 auto;min-height:100vh;align-items:flex-start}.lora-device-wrapper{flex-shrink:0;display:flex;justify-content:center;padding-top:20px}.lora-device{width:360px;background:linear-gradient(180deg,#e8e4df,#d4cfc8 30%,#c8c2b8);border-radius:16px;padding:24px 20px 18px;position:relative;box-shadow:0 4px 20px #0006,inset 0 1px #ffffff4d,inset 0 -1px #0000001a;border:1px solid rgba(255,255,255,.15)}.lora-screw{position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#b0a89e,#7a7168);box-shadow:inset 0 1px 2px #0006}.lora-screw:after{content:"";position:absolute;top:4px;left:1px;width:8px;height:2px;background:#0000004d;border-radius:1px}.lora-screw-tl{top:8px;left:8px}.lora-screw-tr{top:8px;right:8px}.lora-screw-bl{bottom:8px;left:8px}.lora-screw-br{bottom:8px;right:8px}.lora-display{background:#1a2a1a;border-radius:8px;padding:4px;margin-bottom:16px;box-shadow:inset 0 2px 6px #0009,0 1px #ffffff1a}.lora-display-inner{background:linear-gradient(180deg,#0d1f0d,#142814);border-radius:6px;padding:12px 16px;font-family:Courier New,Consolas,monospace}.lora-display-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.lora-room-info{color:#4ade80;font-size:14px;font-weight:700;text-shadow:0 0 6px rgba(74,222,128,.5)}.lora-time{color:#86efac;font-size:13px}.lora-display-status{text-align:center;padding:8px 0;min-height:40px;display:flex;align-items:center;justify-content:center}.lora-status-msg{color:#fbbf24;font-size:18px;font-weight:700;text-shadow:0 0 8px rgba(251,191,36,.5);animation:lora-display-blink 1s ease-in-out infinite}.lora-status-active{color:#f87171;text-shadow:0 0 10px rgba(248,113,113,.6)}.lora-status-idle{color:#4ade80;font-size:16px}.lora-display-bottom{display:flex;justify-content:space-between;font-size:11px;color:#86efac}.lora-signal-pulse{animation:lora-signal-pulse .5s ease-in-out infinite}.lora-online-yes{color:#4ade80}.lora-online-no{color:#f87171}.lora-leds{display:flex;justify-content:center;gap:24px;margin-bottom:16px}.lora-led{display:flex;flex-direction:column;align-items:center;gap:4px}.lora-led span{font-size:10px;color:#666}.lora-led-light{width:10px;height:10px;border-radius:50%;background:#555;box-shadow:inset 0 1px 2px #00000080;transition:all .3s}.lora-led-power .lora-led-light{background:#555}.lora-led-power.lora-led-on .lora-led-light{background:#22c55e;box-shadow:0 0 8px #22c55e,0 0 16px #22c55e4d}.lora-led-wifi .lora-led-light{background:#555}.lora-led-wifi.lora-led-on .lora-led-light{background:#3b82f6;box-shadow:0 0 8px #3b82f6,0 0 16px #3b82f64d}.lora-led-call .lora-led-light{background:#555}.lora-led-call.lora-led-on .lora-led-light{background:#ef4444;box-shadow:0 0 8px #ef4444,0 0 16px #ef444466;animation:lora-led-blink .5s ease-in-out infinite}.lora-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.lora-btn{position:relative;border:none;border-radius:10px;padding:14px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:inherit;transition:all .15s;overflow:hidden}.lora-btn:active:not(:disabled){transform:scale(.96)}.lora-btn:disabled{opacity:.5;cursor:not-allowed}.lora-btn-icon{font-size:24px;position:relative;z-index:1}.lora-btn-text{font-size:13px;font-weight:600;color:#fff;position:relative;z-index:1}.lora-btn-glow{position:absolute;inset:0;opacity:0;transition:opacity .3s;border-radius:10px}.lora-btn-emergency{background:linear-gradient(180deg,#dc2626,#b91c1c);box-shadow:0 3px 8px #dc262666,inset 0 1px #fff3}.lora-btn-emergency:hover:not(:disabled){background:linear-gradient(180deg,#ef4444,#dc2626)}.lora-btn-emergency .lora-btn-glow{background:radial-gradient(circle,rgba(239,68,68,.6) 0%,transparent 70%)}.lora-btn-emergency.lora-btn-active{animation:lora-btn-glow-pulse .8s ease-in-out infinite}.lora-btn-emergency.lora-btn-active .lora-btn-glow{opacity:1}.lora-btn-nurse{background:linear-gradient(180deg,#f59e0b,#d97706);box-shadow:0 3px 8px #f59e0b66,inset 0 1px #fff3}.lora-btn-nurse:hover:not(:disabled){background:linear-gradient(180deg,#fbbf24,#f59e0b)}.lora-btn-nurse .lora-btn-glow{background:radial-gradient(circle,rgba(251,191,36,.6) 0%,transparent 70%)}.lora-btn-nurse.lora-btn-active{animation:lora-btn-glow-pulse .8s ease-in-out infinite}.lora-btn-nurse.lora-btn-active .lora-btn-glow{opacity:1}.lora-btn-toilet{background:linear-gradient(180deg,#22c55e,#16a34a);box-shadow:0 3px 8px #22c55e66,inset 0 1px #fff3}.lora-btn-toilet:hover:not(:disabled){background:linear-gradient(180deg,#4ade80,#22c55e)}.lora-btn-toilet .lora-btn-glow{background:radial-gradient(circle,rgba(74,222,128,.6) 0%,transparent 70%)}.lora-btn-toilet.lora-btn-active{animation:lora-btn-glow-pulse .8s ease-in-out infinite}.lora-btn-toilet.lora-btn-active .lora-btn-glow{opacity:1}.lora-btn-cancel{background:linear-gradient(180deg,#6b7280,#4b5563);box-shadow:0 3px 8px #6b728066,inset 0 1px #fff3}.lora-btn-cancel:hover{background:linear-gradient(180deg,#9ca3af,#6b7280)}.lora-btn-cancel.lora-btn-buzzing{animation:lora-cancel-shake .15s linear infinite}.lora-buzzer{position:relative;text-align:center;font-size:20px;height:28px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;opacity:.3;transition:opacity .3s}.lora-buzzer-active{opacity:1;animation:lora-buzzer-shake .1s linear infinite}.lora-buzzer-wave{position:absolute;width:100%;height:100%;border:2px solid #f59e0b;border-radius:50%;opacity:0}.lora-buzzer-active .lora-buzzer-wave{animation:lora-buzzer-expand 1.5s ease-out infinite}.lora-buzzer-active .lora-buzzer-wave-2{animation-delay:.5s}.lora-buzzer-active .lora-buzzer-wave-3{animation-delay:1s}.lora-label{text-align:center;font-size:11px;color:#888;letter-spacing:1px;padding-top:4px;border-top:1px solid rgba(0,0,0,.08)}.lora-panel{flex:1;background:#ffffff0f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;border:1px solid rgba(255,255,255,.1);padding:24px;color:#e2e8f0;min-width:0}.lora-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.lora-panel-header h2{margin:0;font-size:20px;font-weight:600}.lora-panel-actions{display:flex;gap:8px}.lora-panel-btn{padding:6px 14px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff14;color:#e2e8f0;cursor:pointer;font-size:13px;font-family:inherit;transition:all .2s}.lora-panel-btn:hover{background:#ffffff26}.lora-selector{margin-bottom:20px}.lora-selector-group{margin-bottom:12px}.lora-selector-group label{display:block;font-size:12px;color:#94a3b8;margin-bottom:6px;text-transform:uppercase;letter-spacing:1px}.lora-selector-items{display:flex;gap:6px;flex-wrap:wrap}.lora-selector-item{padding:6px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#cbd5e1;cursor:pointer;font-size:13px;font-family:inherit;transition:all .2s}.lora-selector-item:hover{background:#ffffff1a}.lora-selector-active{background:#3b82f64d!important;border-color:#3b82f680!important;color:#93c5fd!important}.lora-settings{background:#0003;border-radius:10px;padding:16px;margin-bottom:20px}.lora-settings h3{margin:0 0 12px;font-size:14px;color:#94a3b8}.lora-setting-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.lora-setting-row label{min-width:80px;font-size:13px;color:#cbd5e1}.lora-setting-row input[type=text]{flex:1;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#e2e8f0;font-family:Courier New,monospace;font-size:13px;outline:none}.lora-setting-row select{flex:1;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#e2e8f0;font-family:inherit;font-size:13px;outline:none}.lora-setting-col{flex-direction:column;align-items:flex-start;gap:6px}.lora-body-textarea{width:100%;padding:10px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#0000004d;color:#e2e8f0;font-family:Courier New,monospace;font-size:13px;line-height:1.5;resize:vertical;outline:none;tab-size:2}.lora-body-textarea:focus{border-color:#3b82f680}.lora-body-preview-row{display:flex;flex-direction:column;gap:8px;width:100%}.lora-body-preview{margin:0;padding:10px 12px;font-size:12px;font-family:Courier New,monospace;color:#86efac;background:#0006;border-radius:6px;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow:auto;border:1px solid rgba(34,197,94,.2)}.lora-setting-hint{font-size:11px;color:#64748b;font-family:Courier New,monospace;margin-top:6px;padding:6px 8px;background:#0003;border-radius:4px;word-break:break-all}.lora-request-result{margin-top:12px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.lora-request-ok{border-color:#22c55e66}.lora-request-fail{border-color:#ef444466}.lora-request-result-header{display:flex;align-items:center;gap:12px;padding:8px 12px;font-size:12px;font-weight:600}.lora-request-ok .lora-request-result-header{background:#22c55e26;color:#86efac}.lora-request-fail .lora-request-result-header{background:#ef444426;color:#fca5a5}.lora-request-sending{color:#fbbf24;animation:lora-display-blink 1s ease-in-out infinite}.lora-request-body{margin:0;padding:10px 12px;font-size:12px;font-family:Courier New,monospace;color:#cbd5e1;background:#0000004d;max-height:160px;overflow:auto;white-space:pre-wrap;word-break:break-all}.lora-setting-row input[type=range]{flex:1;accent-color:#3b82f6}.lora-toggle{padding:4px 16px;border-radius:20px;border:none;cursor:pointer;font-size:12px;font-weight:600;background:#ef4444;color:#fff;transition:all .3s}.lora-toggle-on{background:#22c55e}.lora-log{margin-bottom:16px}.lora-log h3{margin:0 0 12px;font-size:14px;color:#94a3b8;display:flex;align-items:center;gap:8px}.lora-log-count{background:#3b82f64d;color:#93c5fd;padding:1px 8px;border-radius:10px;font-size:12px}.lora-log-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.lora-log-list::-webkit-scrollbar{width:4px}.lora-log-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.lora-log-empty{text-align:center;padding:24px;color:#64748b;font-size:13px}.lora-log-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffffff0d;border-radius:8px;border-left:3px solid transparent;gap:10px;flex-wrap:wrap}.lora-log-pending{border-left-color:#f59e0b}.lora-log-acknowledged{border-left-color:#3b82f6}.lora-log-resolved{border-left-color:#22c55e;opacity:.6}.lora-log-item-left{display:flex;align-items:center;gap:10px}.lora-log-icon{font-size:20px}.lora-log-type{font-size:13px;font-weight:500}.lora-log-location{font-size:12px;color:#94a3b8}.lora-log-item-right{display:flex;align-items:center;gap:10px}.lora-log-time{font-size:12px;color:#94a3b8;font-family:Courier New,monospace}.lora-log-status{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.lora-log-status-pending{background:#f59e0b33;color:#fbbf24}.lora-log-status-acknowledged{background:#3b82f633;color:#93c5fd}.lora-log-status-resolved{background:#22c55e33;color:#86efac}.lora-log-ack{padding:3px 10px;border-radius:6px;border:none;background:#3b82f64d;color:#93c5fd;cursor:pointer;font-size:12px;font-family:inherit;transition:all .2s}.lora-log-ack:hover{background:#3b82f680}.lora-status-bar{display:flex;gap:16px;padding:10px 14px;background:#00000040;border-radius:8px;font-size:12px;color:#64748b;flex-wrap:wrap}@keyframes lora-display-blink{0%,to{opacity:1}50%{opacity:.6}}@keyframes lora-signal-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes lora-led-blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes lora-btn-glow-pulse{0%,to{box-shadow:0 3px 8px #0000004d}50%{box-shadow:0 3px 20px #ffc80080}}@keyframes lora-cancel-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes lora-buzzer-shake{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes lora-buzzer-expand{0%{transform:scale(.5);opacity:.6}to{transform:scale(2.5);opacity:0}}@media (max-width: 860px){.lora-layout{flex-direction:column;align-items:center;padding:20px 16px}.lora-device{width:320px}.lora-panel{width:100%;max-width:480px}}.home{position:relative;min-height:100vh;background:#0a0a1a;display:flex;flex-direction:column;align-items:center;overflow:hidden}.home-bg{position:fixed;inset:0;pointer-events:none;overflow:hidden}.home-bg-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;animation:float 20s ease-in-out infinite}.home-bg-orb-1{width:600px;height:600px;background:#6366f1;top:-200px;left:-100px;animation-delay:0s}.home-bg-orb-2{width:500px;height:500px;background:#8b5cf6;bottom:-150px;right:-100px;animation-delay:-7s}.home-bg-orb-3{width:400px;height:400px;background:#a855f7;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.home-header{position:relative;z-index:1;text-align:center;padding:80px 20px 40px}.home-logo{margin-bottom:24px}.home-logo-icon{width:80px;height:80px;filter:drop-shadow(0 8px 32px rgba(99,102,241,.4));animation:pulse-glow 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 8px 32px rgba(99,102,241,.4))}50%{filter:drop-shadow(0 8px 48px rgba(99,102,241,.6))}}.home-title{font-size:42px;font-weight:700;background:linear-gradient(135deg,#fff,#c4b5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;letter-spacing:-.5px}.home-subtitle{font-size:16px;color:#ffffff80;font-weight:400}.home-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:800px;width:100%;padding:20px 32px 60px}@media (max-width: 768px){.home-grid{grid-template-columns:repeat(2,1fr);padding:20px 16px 40px;gap:14px}.home-header{padding:60px 16px 24px}.home-title{font-size:32px}}@media (max-width: 480px){.home-grid{grid-template-columns:1fr;gap:12px}}.home-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:24px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:left;font-family:inherit;overflow:hidden}.home-card:before{content:"";position:absolute;inset:0;border-radius:20px;background:var(--card-gradient);opacity:0;transition:opacity .3s}.home-card:hover:not(.home-card-disabled):before{opacity:.08}.home-card:hover:not(.home-card-disabled){border-color:var(--card-color);transform:translateY(-4px);box-shadow:0 12px 40px -8px color-mix(in srgb,var(--card-color) 30%,transparent)}.home-card:active:not(.home-card-disabled){transform:translateY(-2px)}.home-card-disabled{cursor:not-allowed;opacity:.5}.home-card-icon{position:relative;width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;box-shadow:0 4px 12px #0003}.home-card-body{position:relative;flex:1;min-width:0}.home-card-title{font-size:16px;font-weight:600;color:#f1f5f9;margin-bottom:4px}.home-card-desc{font-size:13px;color:#ffffff73;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-card-badge{position:absolute;top:12px;right:12px;padding:3px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:20px;font-size:11px;color:#ffffff80;font-weight:500}.home-footer{position:relative;z-index:1;padding:20px;font-size:12px;color:#ffffff40;display:flex;align-items:center;gap:8px}.home-footer-dot{opacity:.4}.module-view{min-height:100vh;background:#f5f5f5}.module-nav{position:fixed;top:0;left:0;right:0;z-index:999;display:flex;align-items:center;gap:16px;background:#0f2027f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0 20px;height:52px;border-bottom:1px solid rgba(255,255,255,.08)}.module-back{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;background:#ffffff14;color:#94a3b8;font-size:13px;font-family:inherit;cursor:pointer;border-radius:8px;transition:all .2s}.module-back:hover{background:#ffffff1f;color:#e2e8f0}.module-nav-title{font-size:14px;font-weight:500;color:#e2e8f0}.module-content{padding-top:52px}
