.app-layout{min-height:100vh}.app-layout,.seckill-container .main-layout{height:auto!important;max-height:none!important;overflow:visible!important}.seckill-container .main-layout{min-height:calc(100vh - 64px)}.seckill-container .layout-container{height:auto!important;overflow:visible!important}.seckill-container{min-height:100vh;background:#fafafa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#000}.seckill-wrapper{max-width:1400px;margin:0 auto;padding:40px 16px}.seckill-header{text-align:center;margin-bottom:40px}.seckill-title{font-size:32px;font-weight:600;color:#000;margin:0 0 12px;letter-spacing:-.025em}.seckill-subtitle{font-size:16px;color:#666;margin:0}.seckill-layout{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}.seckill-main{background:#fff;border:1px solid #eaeaea;border-radius:12px;padding:32px;min-height:300px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title{font-size:18px;font-weight:500;color:#000;margin:0}.collapse-button{background:none;border:1px solid #e2e8f0;border-radius:8px;padding:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;color:#64748b;min-width:36px;height:36px}.collapse-button:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#cbd5e1;color:#334155;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.collapse-icon{width:20px;height:20px;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;vertical-align:middle}.collapse-icon.collapsed{transform:rotate(-180deg)}.collapsible-content{overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);opacity:1;max-height:9999px}.collapsible-content.collapsed{max-height:0;opacity:0;margin:0;padding:0}.log-panel.collapsed,.seckill-main.collapsed{min-height:auto;transition:all .4s cubic-bezier(.4,0,.2,1)}.log-panel.collapsed,.seckill-main.collapsed{padding-bottom:20px}.script-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px;width:100%;max-width:100%;overflow:hidden}.script-label{font-size:14px;font-weight:500;color:#333;min-width:80px}.script-select{background:#fff;border:1px solid #eaeaea;border-radius:8px;padding:8px 12px;font-size:14px;color:#000;min-width:200px;max-width:100%;cursor:pointer;transition:all .2s ease;outline:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-select:hover{border-color:#d4d4d8}.script-select:focus{border-color:#000;box-shadow:0 0 0 2px rgba(0,0,0,.1)}.run-button{background:#000;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.run-button:hover{background:#333}.run-button:active{background:#000;transform:scale(.98)}.run-button:disabled{background:#f4f4f4;color:#999;cursor:not-allowed;transform:none}.icon-button{background:#fff;color:#666;border:1px solid #e1e5e9;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.icon-button:hover{background:#f6f8fa;border-color:#d0d7de;color:#24292f}.icon-button:active{background:#f3f4f6;transform:scale(.98)}.icon-button:disabled{background:#f6f8fa;color:#8c959f;cursor:not-allowed;transform:none;opacity:.6}.icon-button .icon{width:16px;height:16px}.icon-button.syncing{color:#0969da;border-color:#0969da}.code-editor{background:#1a1a1a;border:1px solid #333;border-radius:8px;overflow:hidden;margin-top:16px;min-height:450px;display:flex;flex-direction:column;width:100%;max-width:100%}.code-editor.light{background:#ffffff;border:1px solid #e1e1e1}.code-editor.light .code-editor-header{background:#f8f8f8;border-bottom:1px solid #e1e1e1}.code-editor.light .code-file-name{color:#333}.code-editor.light .code-action-btn{border-color:#ccc;color:#666}.code-editor.light .code-action-btn:hover{background:#e8e8e8;border-color:#999;color:#333}.code-editor.light .code-content{background:#ffffff}.code-editor.light .code-line .line-number{background:#f5f5f5;color:#666;border-right:1px solid #e1e1e1}.code-editor.light .code-line .line-content{background:#ffffff;color:#333}.code-editor.light .empty-code{color:#999}.code-editor.light .code-content::-webkit-scrollbar{width:8px;height:8px}.code-editor.light .code-content::-webkit-scrollbar-track{background:#f5f5f5;border-radius:4px}.code-editor.light .code-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}.code-editor.light .code-content::-webkit-scrollbar-thumb:hover{background:#999}.code-editor.light .code-content::-webkit-scrollbar-corner{background:#ffffff}.code-editor.light .code-content .token.cdata,.code-editor.light .code-content .token.comment,.code-editor.light .code-content .token.doctype,.code-editor.light .code-content .token.prolog{color:#708090}.code-editor.light .code-content .token.punctuation{color:#333}.code-editor.light .code-content .token.constant,.code-editor.light .code-content .token.deleted,.code-editor.light .code-content .token.property,.code-editor.light .code-content .token.symbol,.code-editor.light .code-content .token.tag{color:#d73a49}.code-editor.light .code-content .token.boolean,.code-editor.light .code-content .token.number{color:#005cc5}.code-editor.light .code-content .token.attr-name,.code-editor.light .code-content .token.builtin,.code-editor.light .code-content .token.char,.code-editor.light .code-content .token.inserted,.code-editor.light .code-content .token.selector,.code-editor.light .code-content .token.string{color:#032f62}.code-editor.light .code-content .language-css .token.string,.code-editor.light .code-content .style .token.string,.code-editor.light .code-content .token.entity,.code-editor.light .code-content .token.operator,.code-editor.light .code-content .token.url,.code-editor.light .code-content .token.variable{color:#e36209}.code-editor.light .code-content .token.atrule,.code-editor.light .code-content .token.attr-value,.code-editor.light .code-content .token.class-name,.code-editor.light .code-content .token.function{color:#6f42c1}.code-editor.light .code-content .token.keyword{color:#d73a49}.code-editor-header{background:#2a2a2a;padding:12px 16px;border-bottom:1px solid #333;display:flex;align-items:center;justify-content:space-between}.code-file-name{color:#fff;font-size:14px;font-weight:500;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.code-actions{display:flex;gap:8px;align-items:center}.code-action-btn{background:none;border:1px solid #444;color:#ccc;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.code-action-btn:hover{background:#333;border-color:#555;color:#fff}.format-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#ffffff;border:1px solid #16a34a;display:flex;align-items:center;gap:6px;padding:6px 12px;font-weight:500;transition:all .2s ease}.format-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);border-color:#15803d;transform:translateY(-1px);box-shadow:0 4px 12px rgba(34,197,94,.3)}.format-btn:disabled{background:#f4f4f4;color:#999;border-color:#e5e5e5;cursor:not-allowed;transform:none;box-shadow:none}.copy-icon,.format-icon{width:14px;height:14px;stroke-width:2;flex-shrink:0;vertical-align:middle}.code-editor.light .format-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#ffffff;border-color:#16a34a}.code-editor.light .format-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);border-color:#15803d}.code-content{padding:16px;background:#1a1a1a;color:#e6e6e6;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:14px;line-height:1.6;overflow-x:auto;overflow-y:auto;flex:1 1;min-height:380px;max-height:600px;scrollbar-width:thin;scrollbar-color:#444 #1a1a1a}.code-content::-webkit-scrollbar{width:8px;height:8px}.code-content::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.code-content::-webkit-scrollbar-thumb{background:#444;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}.code-content::-webkit-scrollbar-thumb:hover{background:#666}.code-content::-webkit-scrollbar-corner{background:#1a1a1a}.code-line{display:flex;align-items:flex-start}.line-number{color:#666;min-width:40px;text-align:right;padding-right:16px;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.line-content{flex:1 1;white-space:pre}.code-content .token.cdata,.code-content .token.comment,.code-content .token.doctype,.code-content .token.prolog{color:#8b949e}.code-content .token.punctuation{color:#e6edf3}.code-content .token.constant,.code-content .token.deleted,.code-content .token.property,.code-content .token.symbol,.code-content .token.tag{color:#ff7b72}.code-content .token.boolean,.code-content .token.number{color:#79c0ff}.code-content .token.attr-name,.code-content .token.builtin,.code-content .token.char,.code-content .token.inserted,.code-content .token.selector,.code-content .token.string{color:#a5d6ff}.code-content .language-css .token.string,.code-content .style .token.string,.code-content .token.entity,.code-content .token.operator,.code-content .token.url,.code-content .token.variable{color:#ffa657}.code-content .token.atrule,.code-content .token.attr-value,.code-content .token.class-name,.code-content .token.function{color:#d2a8ff}.code-content .token.keyword{color:#ff7b72}.code-content .token.important,.code-content .token.regex{color:#ffa657}.code-content .token.bold,.code-content .token.important{font-weight:700}.code-content .token.italic,.empty-code{font-style:italic}.empty-code{color:#666;text-align:center;padding:40px 20px}.log-panel{background:#fff;border:1px solid #eaeaea;border-radius:12px;padding:32px}.log-container,.log-panel{min-height:300px;width:100%;max-width:100%;overflow:hidden}.log-container{background:#0d1117;border:1px solid #30363d;border-radius:8px;margin-top:16px;max-height:500px;display:flex;flex-direction:column;position:relative}.log-header{background:#161b22;padding:12px 16px;border-bottom:1px solid #30363d;justify-content:space-between;flex-wrap:wrap}.log-header,.log-title-section{display:flex;align-items:center;gap:12px}.log-stats{display:flex;align-items:center;gap:8px;font-size:12px;color:#7d8590}.log-separator{color:#30363d}.system-count{color:#58a6ff}.script-count{color:#a5f3fc}.log-tabs{display:flex;align-items:center;gap:4px;background:#0d1117;border-radius:6px;padding:2px}.log-tab-btn{padding:6px 12px;font-size:12px;font-weight:500;color:#7d8590;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.log-tab-btn:hover{color:#e6edf3;background:#21262d}.log-tab-btn.active{color:#f0f6fc;background:#1f6feb;box-shadow:0 1px 3px rgba(0,0,0,.3)}.log-content-wrapper{flex:1 1;overflow:hidden}.log-title{color:#f0f6fc;font-size:14px;font-weight:500;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.log-actions{display:flex;gap:8px;align-items:center}.log-action-btn{background:none;border:1px solid #30363d;color:#8b949e;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.log-action-btn:hover{background:#21262d;border-color:#444c56;color:#f0f6fc}.log-content{padding:16px;background:#0d1117;color:#e6edf3;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:13px;line-height:1.6;overflow-y:auto;overflow-x:hidden;flex:1 1;min-height:200px;max-height:400px;scrollbar-width:thin;scrollbar-color:#30363d #161b22}.log-content::-webkit-scrollbar{width:8px}.log-content::-webkit-scrollbar-track{background:#161b22;border-radius:4px}.log-content::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}.log-content::-webkit-scrollbar-thumb:hover{background:#484f58}.log-container:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:linear-gradient(transparent,rgba(13,17,23,.8));pointer-events:none;opacity:0;transition:opacity .3s ease}.log-container.has-scroll:after{opacity:1}.scroll-to-bottom{position:absolute;bottom:8px;right:8px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:50%;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(59,130,246,.3);z-index:10;opacity:0;transform:translateY(10px);pointer-events:none}.scroll-to-bottom.visible{opacity:1;transform:translateY(0);pointer-events:auto}.scroll-to-bottom:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,.4)}.scroll-to-bottom:active{transform:translateY(0)}.scroll-to-bottom svg{width:18px;height:18px;color:white;flex-shrink:0;vertical-align:middle}.log-entry{margin-bottom:2px;display:flex;align-items:flex-start;gap:8px;padding:4px 0;border-bottom:1px solid rgba(48,54,61,.2);font-size:12px;line-height:1.3;position:relative}.log-entry.system{border-left:3px solid transparent}.log-entry.system:hover{border-left-color:#58a6ff;background:rgba(88,166,255,.05)}.log-entry.script{border-left:3px solid transparent}.log-entry.script:hover{border-left-color:#a5f3fc;background:rgba(165,243,252,.05)}.log-category{font-size:9px;font-weight:600;padding:1px 4px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px;min-width:32px;text-align:center;flex-shrink:0}.log-category.system{background:rgba(88,166,255,.15);color:#58a6ff;border:1px solid rgba(88,166,255,.3)}.log-category.script{background:rgba(165,243,252,.15);color:#a5f3fc;border:1px solid rgba(165,243,252,.3)}.log-timestamp{color:#7d8590;font-size:11px;width:65px}.log-level,.log-timestamp{margin-right:6px;flex-shrink:0}.log-level{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;box-shadow:0 1px 2px rgba(0,0,0,.1);border:1px solid transparent;transition:all .2s ease;min-width:50px;text-align:center}.log-level.info{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#ffffff;border-color:#2563eb}.log-level.info:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(59,130,246,.3)}.log-level.success{background:linear-gradient(135deg,#10b981,#059669);color:#ffffff;border-color:#047857}.log-level.success:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(16,185,129,.3)}.log-level.error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#ffffff;border-color:#b91c1c}.log-level.error:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(239,68,68,.3)}.log-level.warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#ffffff;border-color:#b45309}.log-level.warning:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(245,158,11,.3)}.log-message{flex:1 1;word-break:break-word;margin-right:4px}.empty-log{color:#7d8590;font-style:italic;text-align:center;padding:40px 20px}.script-status{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;border-radius:8px;font-size:14px}.status-success{background:#f0f9ff;border:1px solid #e0f2fe;color:#0369a1}.status-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.status-running{background:#fffbeb;border:1px solid #fed7aa;color:#d97706}.status-icon{width:16px;height:16px;flex-shrink:0;vertical-align:middle}.script-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-top:24px;grid-column:1/-1}.stat-card{background:#fff;padding:16px}.stat-number{font-size:24px;font-weight:600;color:#000;margin:0 0 4px}.stat-label{margin:0}.spinning{animation:spin 1s linear infinite}.auto-scroll{scroll-behavior:smooth}.layout-toggle{display:flex;gap:4px;margin:24px 0;justify-content:center;padding:6px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.05);position:relative;overflow:hidden}.layout-toggle:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(255,255,255,.4));pointer-events:none}.layout-btn{background:transparent;border:none;padding:14px 24px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:10px;color:#64748b;min-width:140px;justify-content:center;position:relative;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.layout-btn,.layout-btn-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.layout-btn-icon{width:20px;height:20px;stroke-width:2.5;flex-shrink:0;vertical-align:middle}.layout-btn.active{background:linear-gradient(135deg,#1e293b,#334155);color:#ffffff;box-shadow:0 8px 25px rgba(30,41,59,.3),0 4px 12px rgba(30,41,59,.2),inset 0 1px 0 rgba(255,255,255,.2);transform:translateY(-2px)}.layout-btn.active .layout-btn-icon{transform:scale(1.1) rotate(5deg);filter:drop-shadow(0 0 8px rgba(255,255,255,.3))}.layout-btn:hover:not(.active){background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(248,250,252,.9));color:#334155;transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.1)}.layout-btn:hover:not(.active) .layout-btn-icon{transform:scale(1.05);color:#1e293b}.layout-btn:active{transform:translateY(0);transition:transform .1s ease}.layout-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.layout-btn:disabled:hover{background:transparent;transform:none!important}.layout-section{display:flex;flex-direction:column;align-items:center;gap:12px;margin:24px 0}.layout-shortcuts-hint{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);padding:8px 16px;border-radius:8px;border:1px solid #cbd5e1;font-size:12px;color:#64748b;text-align:center;font-weight:500;opacity:.8;transition:all .3s ease}.layout-shortcuts-hint:hover{opacity:1;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);color:#475569}.shortcuts-text{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.seckill-layout.horizontal{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;transition:all .4s cubic-bezier(.4,0,.2,1);opacity:1;width:100%;max-width:100%;overflow:hidden}.seckill-layout.horizontal.layout-enter{animation:slideInHorizontal .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideInHorizontal{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.seckill-layout.horizontal .log-panel,.seckill-layout.horizontal .seckill-main{transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1);min-width:0;overflow:hidden;width:100%}.seckill-layout.horizontal .log-panel:hover,.seckill-layout.horizontal .seckill-main:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.08)}.seckill-layout.horizontal .log-container{max-height:700px;min-height:400px}.seckill-layout.horizontal .log-content{min-height:800px}.seckill-layout.vertical{display:flex;flex-direction:column;gap:20px;transition:all .4s cubic-bezier(.4,0,.2,1);opacity:1}.seckill-layout.vertical.layout-enter{animation:slideInVertical .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideInVertical{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.seckill-layout.vertical .log-panel,.seckill-layout.vertical .seckill-main{transform:scale(1);transition:all .3s cubic-bezier(.4,0,.2,1)}.seckill-layout.vertical .log-panel:hover,.seckill-layout.vertical .seckill-main:hover{transform:scale(1.01);box-shadow:0 16px 40px rgba(0,0,0,.1)}.seckill-layout.tabs{display:block;margin-top:24px;opacity:1}.seckill-layout.tabs.layout-enter{animation:slideInTabs .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideInTabs{0%{opacity:0;transform:scale(.98) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.tab-container{background:linear-gradient(135deg,#ffffff,#f8fafc);border:1px solid #e2e8f0;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.04);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.tab-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.6),rgba(255,255,255,.2));pointer-events:none;z-index:1}.tab-header{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-bottom:1px solid #cbd5e1;margin:0;z-index:2;padding:8px;gap:4px}.tab-button,.tab-header{display:flex;position:relative}.tab-button{flex:1 1;background:transparent;border:none;padding:20px 32px;border-radius:16px;font-size:15px;font-weight:700;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);align-items:center;justify-content:center;gap:12px;color:#64748b;overflow:hidden}.tab-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(30,41,59,.1),rgba(30,41,59,.05));opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:16px}.tab-button:hover:before{opacity:1}.tab-button.active{background:linear-gradient(135deg,#1e293b,#334155);color:#ffffff;transform:translateY(-3px) scale(1.02);box-shadow:0 15px 35px rgba(30,41,59,.25),0 8px 20px rgba(30,41,59,.15),inset 0 1px 0 rgba(255,255,255,.2)}.tab-button.active .layout-btn-icon{transform:scale(1.15) rotate(10deg);filter:drop-shadow(0 0 12px rgba(255,255,255,.4))}.tab-button.active:before{opacity:0}.tab-button:hover:not(.active){background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(248,250,252,.8));color:#334155;transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.12)}.tab-button:hover:not(.active) .layout-btn-icon{transform:scale(1.1);color:#1e293b}.tab-content{padding:40px;min-height:600px;background:linear-gradient(135deg,#ffffff,#f8fafc);position:relative;z-index:2}.tab-pane{display:none;opacity:0;transform:translateY(20px) scale(.98);transition:all .5s cubic-bezier(.4,0,.2,1)}.tab-pane.active{display:block;animation:tabSlideIn .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes tabSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}50%{opacity:.7;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.layout-switching{pointer-events:none;opacity:.7;transform:scale(.98);transition:all .3s cubic-bezier(.4,0,.2,1)}.layout-switch-complete{pointer-events:auto;opacity:1;transform:scale(1)}@media (max-width:768px){.seckill-wrapper{padding:24px 12px}.seckill-layout.horizontal{grid-template-columns:1fr;gap:16px}.log-panel,.seckill-main{padding:24px 20px}.script-controls{flex-direction:column;align-items:stretch}.script-label,.script-select{min-width:auto}.layout-toggle{flex-direction:column;gap:6px;padding:8px;border-radius:12px}.layout-btn{min-width:auto;padding:12px 20px;font-size:14px;border-radius:8px}.layout-btn-icon{width:18px;height:18px}.seckill-layout.horizontal,.seckill-layout.tabs,.seckill-layout.vertical{animation-duration:.4s}@keyframes slideInHorizontal{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInVertical{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.seckill-title{font-size:24px}.code-content{max-height:250px}.log-content{min-height:150px;max-height:200px}.tab-header{flex-direction:column;gap:2px;padding:6px}.tab-button{text-align:center;border-radius:10px;padding:16px 24px;border-bottom:none;border-right:none}.tab-button.active{border-bottom:none;border-left:none;transform:translateY(-1px) scale(1.01)}.tab-content{padding:24px 20px}.collapse-button{min-width:32px;height:32px;padding:6px}.collapse-icon{width:18px;height:18px}.section-header{margin-bottom:12px}.scroll-to-bottom{width:32px;height:32px;bottom:6px;right:6px}.scroll-to-bottom svg{width:16px;height:16px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #eaeaea}.modal-header h3{font-size:18px;font-weight:600;color:#000;margin:0}.modal-close{background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#f0f0f0;color:#000}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:6px}.form-input{width:100%;padding:10px 12px;border:1px solid #eaeaea;border-radius:6px;font-size:14px;color:#000;background:#fff;transition:all .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#000;box-shadow:0 0 0 2px rgba(0,0,0,.1)}.form-input::placeholder{color:#999}.form-help{display:block;font-size:12px;color:#666;margin-top:4px}.config-preview{background:#f9f9f9;border:1px solid #eaeaea;border-radius:6px;padding:12px;margin-top:16px}.config-preview strong{font-size:14px;color:#333;margin-bottom:6px;display:block}.config-preview code{background:#000;color:#fff;padding:6px 8px;border-radius:4px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:13px;display:block;word-break:break-all}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid #eaeaea;background:#f9f9f9;border-radius:0 0 12px 12px}.btn-secondary{background:#f4f4f4;color:#666;border:1px solid #eaeaea;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#e4e4e7;border-color:#d4d4d8}.btn-primary{background:#000;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:#333}.btn-primary:disabled{background:#ccc;cursor:not-allowed}@media (max-width:1024px) and (min-width:769px){.seckill-wrapper{padding:40px 20px}.seckill-layout.horizontal{grid-template-columns:1fr 1fr;gap:16px;overflow:hidden;width:100%}.layout-btn{min-width:120px;padding:12px 18px}.tab-button{padding:16px 24px;font-size:14px}}@media (max-width:480px){.seckill-wrapper{padding:16px 12px}.log-panel,.seckill-main{padding:20px 16px;min-height:400px}.modal-content{width:95%;margin:20px}.modal-body,.modal-footer,.modal-header{padding:16px 20px}.modal-footer{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}.seckill-layout.horizontal{grid-template-columns:1fr;gap:16px}.layout-section{margin:16px 0}.layout-toggle{margin:0}.layout-shortcuts-hint{font-size:11px;padding:6px 12px;text-align:center}.tab-content{padding:20px 16px;min-height:450px}.script-stats{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}}@media (max-width:360px){.seckill-wrapper{padding:12px 8px}}@media (min-width:1440px){.seckill-wrapper{max-width:1600px;padding:40px 20px}.seckill-layout.horizontal{grid-template-columns:1fr 1fr;gap:24px;overflow:hidden;width:100%}.layout-btn{padding:10px 16px;font-size:13px;min-width:auto}.layout-btn-icon{width:16px;height:16px}.tab-button{padding:14px 20px;font-size:13px}.layout-shortcuts-hint{font-size:10px;padding:4px 8px}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:16px;gap:16px;margin:16px 0}.stat-card{background:#f9f9f9;border:1px solid #eaeaea;border-radius:8px;padding:20px 16px;text-align:center;transition:all .2s ease}.stat-card:hover{background:#f0f0f0;border-color:#d4d4d8}.stat-value{font-size:24px;font-weight:700;color:#000;margin-bottom:8px}.stat-label{font-size:14px;color:#666;font-weight:500}@media (max-width:480px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px 12px}.stat-value{font-size:20px}.stat-label{font-size:12px}}.script-selector-row{margin-bottom:16px}.script-actions-row,.script-selector-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.create-button{background:linear-gradient(135deg,#22c55e,#16a34a);color:#ffffff;border:1px solid #16a34a}.create-button:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);border-color:#15803d;transform:translateY(-1px);box-shadow:0 4px 12px rgba(34,197,94,.3)}.edit-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#ffffff;border:1px solid #2563eb}.edit-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);border-color:#1e40af;transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.save-button{background:linear-gradient(135deg,#10b981,#059669);color:#ffffff;border:1px solid #047857}.save-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);border-color:#065f46;transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.3)}.cancel-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#ffffff;border:1px solid #b91c1c}.cancel-button:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c)}.stop-button{background:linear-gradient(135deg,#dc3545,#c82333);color:#ffffff;border:1px solid #bd2130}.stop-button:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#a71e2a);border-color:#a71e2a;transform:translateY(-1px);box-shadow:0 4px 12px rgba(220,53,69,.3)}.delete-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#ffffff;border:1px solid #b91c1c;padding:6px 8px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.delete-button:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#991b1b;transform:translateY(-1px);box-shadow:0 4px 12px rgba(239,68,68,.3)}.delete-button:disabled{background:#f4f4f4;color:#999;border-color:#e5e5e5;cursor:not-allowed;transform:none;box-shadow:none}.code-editor.editing{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.2)}.code-editor.editing .code-editor-header{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#ffffff}.code-editor.editing .code-file-name{color:#ffffff}.editing-indicator{color:#fbbf24;font-weight:600;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.code-editor-container{flex:1 1;display:flex;flex-direction:column}.code-textarea{background:transparent;color:inherit;border:none;outline:none;resize:vertical;font-family:Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:14px;line-height:1.5;white-space:pre;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#444 #1a1a1a}.code-textarea::placeholder{color:#666;font-style:italic}.code-editor.light .code-textarea{color:#333;scrollbar-color:#ccc #f5f5f5}.code-editor.light .code-textarea::placeholder{color:#999}.code-textarea::-webkit-scrollbar{width:8px;height:8px}.code-textarea::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.code-textarea::-webkit-scrollbar-thumb{background:#444;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}.code-textarea::-webkit-scrollbar-thumb:hover{background:#666}.code-editor.light .code-textarea::-webkit-scrollbar-track{background:#f5f5f5}.code-editor.light .code-textarea::-webkit-scrollbar-thumb{background:#ccc}.code-editor.light .code-textarea::-webkit-scrollbar-thumb:hover{background:#999}.script-select:disabled{background:#f9f9f9;color:#999;cursor:not-allowed;opacity:.6}.script-source-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:8px}.script-source-badge.github{background:linear-gradient(135deg,#24292e,#1b1f23);color:#ffffff}.script-source-badge.local{background:linear-gradient(135deg,#22c55e,#16a34a);color:#ffffff}@media (max-width:768px){.script-actions-row,.script-selector-row{flex-direction:column;align-items:stretch;gap:8px}.script-selector-row{margin-bottom:12px}.script-label{text-align:left;min-width:auto}.delete-button,.script-select{min-width:auto;width:100%}.delete-button{height:40px;justify-content:center}.cancel-button,.create-button,.edit-button,.save-button{width:100%;justify-content:center;min-width:auto}.code-textarea{min-height:300px;font-size:13px}.editing-indicator{display:block;margin-top:4px}}@media (max-width:480px){.code-textarea{min-height:250px;font-size:12px;padding:12px}.script-actions-row{gap:6px}.cancel-button,.create-button,.edit-button,.save-button{padding:10px 16px;font-size:13px}}.code-file-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.runtime-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;color:#ffffff;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 2px 4px rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s ease;cursor:help}.runtime-badge:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.code-editor.light .runtime-badge{color:#ffffff;text-shadow:0 1px 2px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.3)}@media (max-width:768px){.code-file-info{flex-direction:column;align-items:flex-start;gap:8px}.runtime-badge{font-size:10px;padding:3px 6px}}@media (max-width:480px){.code-file-info{gap:6px}.runtime-badge{font-size:9px;padding:2px 5px}}.iwenyi-layout{min-height:100vh;background:var(--color-background);color:var(--color-foreground)}.attraction-list{height:100%;display:flex;flex-direction:column}.attraction-search{padding:var(--spacing-4);border-bottom:1px solid var(--color-border);background:var(--color-card)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--spacing-3);color:var(--color-muted-foreground);z-index:1}.search-input{width:100%;padding:var(--spacing-2) var(--spacing-3) var(--spacing-2) var(--spacing-10);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input);color:var(--color-foreground);font-size:var(--font-size-sm);transition:var(--transition-colors)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.search-clear{position:absolute;right:var(--spacing-2);padding:var(--spacing-1);background:none;border:none;color:var(--color-muted-foreground);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-colors)}.search-clear:hover{background:var(--color-secondary);color:var(--color-foreground)}.attraction-filters{padding:var(--spacing-4);border-bottom:1px solid var(--color-border);background:var(--color-card)}.filter-section{margin-bottom:var(--spacing-3)}.filter-tabs{flex-wrap:wrap;margin-bottom:var(--spacing-3)}.filter-tab,.filter-tabs{display:flex;gap:var(--spacing-1)}.filter-tab{align-items:center;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);color:var(--color-foreground);font-size:var(--font-size-xs);cursor:pointer;transition:var(--transition-all)}.filter-tab:hover{border-color:var(--color-border-hover);background:var(--color-secondary)}.filter-tab.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-foreground)}.filter-icon{font-size:var(--font-size-xs)}.filter-label{font-weight:var(--font-weight-medium)}.filter-count{opacity:.7;font-size:var(--font-size-xs)}.filter-controls{justify-content:space-between}.filter-controls,.filter-group{display:flex;align-items:center;gap:var(--spacing-2)}.filter-select{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs)}.filter-select,.sort-order-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input);color:var(--color-foreground);cursor:pointer}.sort-order-btn{padding:var(--spacing-1);transition:var(--transition-all)}.sort-order-btn:hover{background:var(--color-secondary)}.favorites-toggle{padding:var(--spacing-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input);color:var(--color-muted-foreground);cursor:pointer;transition:var(--transition-all)}.favorites-toggle:hover{background:var(--color-secondary);color:var(--color-foreground)}.favorites-toggle.active{background:var(--color-destructive);color:var(--color-destructive-foreground);border-color:var(--color-destructive)}.attraction-stats{padding:var(--spacing-2) var(--spacing-4);background:var(--color-secondary);border-bottom:1px solid var(--color-border)}.stats-text{font-size:var(--font-size-xs);color:var(--color-muted-foreground)}.attraction-items{flex:1 1;overflow-y:auto;padding:var(--spacing-2)}.attraction-item{display:flex;gap:var(--spacing-3);padding:var(--spacing-3);margin-bottom:var(--spacing-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);cursor:pointer;transition:var(--transition-all);position:relative}.attraction-item:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.attraction-item.selected{border-color:var(--color-primary);box-shadow:var(--shadow-lg);background:var(--color-primary-light)}.attraction-item.recommended:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-warning);border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.attraction-image{position:relative;width:80px;height:80px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden}.attraction-image .image{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-secondary);color:var(--color-muted-foreground)}.placeholder-icon{font-size:var(--font-size-2xl)}.recommended-badge{position:absolute;top:var(--spacing-1);right:var(--spacing-1);width:16px;height:16px;display:flex;justify-content:center;font-size:8px}.attraction-info{flex:1 1;min-width:0}.attraction-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-2)}.attraction-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-foreground);margin:0;line-height:var(--line-height-tight)}.favorite-btn{padding:var(--spacing-1);background:none;border:none;color:var(--color-muted-foreground);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-colors);flex-shrink:0}.favorite-btn:hover{background:var(--color-secondary);color:var(--color-foreground)}.favorite-btn.favorited{color:var(--color-destructive)}.attraction-meta{gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.attraction-meta,.category-tag{display:flex;align-items:center}.category-tag{gap:var(--spacing-1);padding:var(--spacing-0-5) var(--spacing-1);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.category-icon,.category-tag,.rating{font-size:var(--font-size-xs)}.rating{display:flex;align-items:center;gap:var(--spacing-0-5);color:var(--color-warning)}.attraction-description,.rating-text{color:var(--color-muted-foreground)}.attraction-description{font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0 0 var(--spacing-2) 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.attraction-details{flex-direction:column;margin-bottom:var(--spacing-2)}.attraction-details,.detail-item{display:flex;gap:var(--spacing-1)}.detail-item{align-items:center;font-size:var(--font-size-xs);color:var(--color-muted-foreground)}.detail-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attraction-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-1)}.tag{background:var(--color-secondary);color:var(--color-muted-foreground)}.tag,.tag-more{padding:var(--spacing-0-5) var(--spacing-1);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.tag-more{background:var(--color-muted);color:var(--color-background)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);text-align:center}.empty-icon{color:var(--color-muted-foreground);margin-bottom:var(--spacing-4)}.empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-foreground);margin:0 0 var(--spacing-2) 0}.empty-description{font-size:var(--font-size-sm);color:var(--color-muted-foreground);line-height:var(--line-height-normal);margin:0;max-width:300px}.attraction-list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);text-align:center}.loading-spinner{color:var(--color-primary);margin-bottom:var(--spacing-4)}.loading-text{font-size:var(--font-size-sm);color:var(--color-muted-foreground);margin:0}.map-container{height:100%;flex-direction:column}.map-container,.map-header{display:flex;background:var(--color-card)}.map-header{align-items:center;justify-content:space-between;padding:var(--spacing-4);border-bottom:1px solid var(--color-border)}.map-title{flex:1 1}.title-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-foreground);margin:0 0 var(--spacing-1) 0}.title-description{font-size:var(--font-size-sm);color:var(--color-muted-foreground);margin:0}.attraction-badge,.selected-attraction-info{display:flex;align-items:center;gap:var(--spacing-2)}.attraction-badge{padding:var(--spacing-2) var(--spacing-3);background:var(--color-primary);color:var(--color-primary-foreground);border-radius:var(--radius-md);font-weight:var(--font-weight-medium)}.attraction-badge,.badge-icon{font-size:var(--font-size-sm)}.badge-text{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-close{padding:var(--spacing-0-5);background:rgba(255,255,255,.2);border:none;color:currentColor;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-colors)}.badge-close:hover{background:rgba(255,255,255,.3)}.map-content{flex:1 1;position:relative}.amap-container{position:relative;background:var(--color-secondary);border-radius:var(--border-radius-lg);overflow:hidden}.amap-container,.amap-loading,.amap-map{width:100%;height:100%}.amap-loading{display:flex;align-items:center;justify-content:center;background:var(--color-background)}.loading-content{text-align:center;color:var(--color-foreground)}.loading-spinner{width:40px;height:40px;border-top:3px solid var(--color-border);border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.amap-error{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--color-background)}.error-content{text-align:center;color:var(--color-foreground)}.error-content h3{color:var(--color-destructive);margin-bottom:.5rem}.error-content button{margin-top:1rem;padding:.5rem 1rem;background:var(--color-primary);color:var(--color-primary-foreground);border:none;border-radius:var(--border-radius-md);cursor:pointer}.map-info{bottom:var(--spacing-4);left:var(--spacing-4);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-muted-foreground)}.map-info,.map-toolbar{position:absolute;background:var(--color-card);box-shadow:var(--shadow-md);z-index:var(--z-10)}.map-toolbar{top:var(--spacing-4);right:var(--spacing-4);justify-content:space-between;gap:var(--spacing-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-2)}.map-toolbar,.toolbar-group{display:flex;align-items:center}.toolbar-group{gap:var(--spacing-1)}.toolbar-btn{padding:var(--spacing-1);background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-foreground);cursor:pointer;transition:var(--transition-colors)}.toolbar-btn:hover{background:var(--color-secondary);border-color:var(--color-border-hover)}.toolbar-info{font-size:var(--font-size-xs);color:var(--color-muted-foreground);padding-left:var(--spacing-2);border-left:1px solid var(--color-border)}.info-text{white-space:nowrap}.amap-error,.amap-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-secondary);color:var(--color-muted-foreground)}.error-content,.loading-content{text-align:center;max-width:300px}.error-icon{color:var(--color-destructive);margin-bottom:var(--spacing-4)}.error-title{font-size:var(--font-size-lg);color:var(--color-foreground);margin:0 0 var(--spacing-2) 0}.error-message{margin:0 0 var(--spacing-4) 0}.floating-toggle{position:absolute;top:var(--spacing-4);left:var(--spacing-4);z-index:var(--z-20);background:var(--color-card)!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-lg)}.sidebar-title{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.title-badge{justify-content:center;min-width:20px;height:20px;padding:0 var(--spacing-1);background:var(--color-primary);color:var(--color-primary-foreground);border-radius:var(--radius-full);font-weight:var(--font-weight-semibold)}.data-source-badge,.title-badge{display:inline-flex;align-items:center;font-size:var(--font-size-xs)}.data-source-badge{gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-md);border:1px solid}.data-source-badge.database{background:var(--color-success);color:var(--color-success-foreground);border-color:var(--color-success)}.data-source-badge.fallback{background:var(--color-warning);color:var(--color-warning-foreground);border-color:var(--color-warning)}.error-banner{margin-bottom:var(--spacing-4);padding:var(--spacing-3);background:var(--color-destructive-light,#fef2f2);border:1px solid var(--color-destructive);border-radius:var(--border-radius-lg)}.error-content{display:flex;align-items:flex-start;gap:var(--spacing-3)}.error-icon{font-size:1.25rem;flex-shrink:0}.error-text{flex:1 1;min-width:0}.error-title{font-weight:var(--font-weight-semibold);color:var(--color-destructive);margin:0 0 var(--spacing-1) 0}.error-message{font-size:var(--font-size-sm);color:var(--color-muted-foreground);margin:0}.amap-info-window,.map-info-window{font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.info-header{margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-2);border-bottom:1px solid #e5e5e5}.info-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#000;margin:0 0 var(--spacing-1) 0}.info-category{font-size:var(--font-size-xs);color:#666}.info-content{color:#333}.info-description{margin:0 0 var(--spacing-2) 0;color:#666}.info-details{margin-bottom:var(--spacing-2)}.info-item{margin-bottom:var(--spacing-1)}.info-label{color:#333;min-width:40px}.info-value{color:#666}.info-image{margin-top:var(--spacing-2)}.detail-sidebar{position:fixed;top:0;right:0;width:480px;height:100vh;background:var(--color-card);border-left:1px solid var(--color-border);box-shadow:var(--shadow-2xl);z-index:var(--z-modal);transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;overflow:hidden}.detail-sidebar.open{transform:translateX(0)}.detail-header{padding:var(--spacing-6);border-bottom:1px solid var(--color-border);background:var(--color-card);flex-shrink:0}.detail-header-content{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-4)}.detail-title-section{flex:1 1;min-width:0}.detail-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-foreground);margin:0 0 var(--spacing-2) 0;line-height:var(--line-height-tight)}.recommended-badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background:var(--color-warning);color:white;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.detail-actions{gap:var(--spacing-2);flex-shrink:0}.action-btn,.detail-actions{display:flex;align-items:center}.action-btn{justify-content:center;width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-foreground);cursor:pointer;transition:var(--transition-all)}.action-btn:hover{background:var(--color-secondary);border-color:var(--color-border-hover)}.favorite-btn.favorited{background:var(--color-destructive);color:var(--color-destructive-foreground);border-color:var(--color-destructive)}.navigate-btn:hover{background:var(--color-info);color:white;border-color:var(--color-info)}.close-btn:hover{background:var(--color-destructive);color:var(--color-destructive-foreground);border-color:var(--color-destructive)}.detail-category{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3)}.rating-display{display:flex;align-items:center;gap:var(--spacing-2)}.stars{display:flex;gap:var(--spacing-0-5)}.star{width:16px;height:16px;color:var(--color-border);transition:var(--transition-colors)}.star.filled{color:var(--color-warning)}.rating-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-foreground)}.detail-content{flex:1 1;overflow-y:auto;padding:0}.detail-images{margin-bottom:var(--spacing-6)}.image-carousel,.image-container{position:relative}.image-container{width:100%;height:240px;overflow:hidden}.main-image{width:100%;height:100%;object-fit:cover}.image-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;background:rgba(0,0,0,.6);color:white;border:none;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-all);z-index:var(--z-10)}.image-nav:hover{background:rgba(0,0,0,.8)}.image-nav.prev{left:var(--spacing-4)}.image-nav.next{right:var(--spacing-4)}.image-indicators{display:flex;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-4);background:var(--color-card)}.indicator{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-border);border:none;cursor:pointer;transition:var(--transition-all)}.indicator.active{background:var(--color-primary)}.detail-section{padding:var(--spacing-6);border-bottom:1px solid var(--color-border)}.detail-section:last-child{border-bottom:none}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-foreground);margin:0 0 var(--spacing-4) 0}.info-grid{gap:var(--spacing-4)}.info-grid,.info-item{display:flex;flex-direction:column}.info-item,.info-label{gap:var(--spacing-2)}.info-label{display:flex;align-items:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-muted-foreground)}.info-value{line-height:var(--line-height-normal)}.description-text,.info-value{font-size:var(--font-size-base);color:var(--color-foreground)}.description-text{line-height:var(--line-height-relaxed);margin:0}.facilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--spacing-3);gap:var(--spacing-3)}.facility-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);background:var(--color-secondary);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-foreground)}.facility-item svg{color:var(--color-success);flex-shrink:0}.tags-container{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-3)}.contact-item{display:flex;align-items:center;gap:var(--spacing-2)}.contact-link{color:var(--color-primary);text-decoration:none;font-size:var(--font-size-base);transition:var(--transition-colors)}.contact-link:hover{color:var(--color-primary-hover);text-decoration:underline}.visit-stats{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-muted-foreground);justify-content:center;padding:var(--spacing-3);background:var(--color-secondary);border-radius:var(--radius-md)}@media (max-width:768px){.detail-sidebar{width:100vw;right:0}.detail-header,.detail-section{padding:var(--spacing-4)}.detail-title{font-size:var(--font-size-lg)}.facilities-grid{grid-template-columns:1fr}.info-grid{gap:var(--spacing-3)}}@media (max-width:480px){.detail-actions{gap:var(--spacing-1)}.action-btn{width:36px;height:36px}.image-container{height:200px}.image-nav{width:36px;height:36px}}@media (max-width:768px){.filter-tabs{gap:var(--spacing-0-5)}.filter-tab{padding:var(--spacing-0-5) var(--spacing-1);font-size:10px}.attraction-item{flex-direction:column;gap:var(--spacing-2)}.attraction-image{width:100%;height:120px}.map-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.selected-attraction-info{width:100%}.attraction-badge{width:100%;justify-content:space-between}.map-toolbar{position:static;margin:var(--spacing-2);justify-content:center}}@tailwind base;@tailwind components;@tailwind utilities;@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}