:root{--bg-primary: #0b0f19;--bg-secondary: #121826;--bg-panel: rgba(20, 27, 45, .7);--bg-glass: rgba(255, 255, 255, .03);--border-glass: rgba(255, 255, 255, .08);--border-focus: rgba(99, 102, 241, .5);--text-primary: #f3f4f6;--text-secondary: #9ca3af;--text-muted: #6b7280;--primary: #6366f1;--primary-hover: #4f46e5;--primary-glow: rgba(99, 102, 241, .2);--secondary: #10b981;--secondary-glow: rgba(16, 185, 129, .15);--accent: #a855f7;--accent-glow: rgba(168, 85, 247, .15);--error: #ef4444;--success: #10b981;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--shadow-premium: 0 10px 30px -10px rgba(0, 0, 0, .5), 0 1px 1px 0 rgba(255, 255, 255, .05) inset}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;display:flex;justify-content:center;overflow-x:hidden;-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0% 0%,rgba(99,102,241,.1) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(168,85,247,.1) 0px,transparent 50%);background-attachment:fixed}.app-container{width:100%;max-width:1400px;min-height:100vh;display:flex;flex-direction:column;padding:1.5rem;gap:1.5rem}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bg-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:16px;box-shadow:var(--shadow-premium)}.logo-area{display:flex;align-items:center;gap:.75rem}.logo-icon{font-size:1.75rem;animation:float 4s ease-in-out infinite}.logo-area h1{font-size:1.5rem;font-weight:700;letter-spacing:-.025em;font-family:Outfit,sans-serif}.gradient-text{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-actions{display:flex;align-items:center;gap:1rem}.icon-btn{background:var(--bg-glass);border:1px solid var(--border-glass);color:var(--text-primary);width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth)}.icon-btn:hover{background:#ffffff1a;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px var(--primary-glow)}.icon-btn:active{transform:translateY(0)}.workspace{flex:1;display:grid;grid-template-columns:1fr 1.2fr;gap:1.5rem}@media(max-width:1024px){.workspace{grid-template-columns:1fr}}.panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:20px;box-shadow:var(--shadow-premium);display:flex;flex-direction:column;overflow:hidden}.panel-header{padding:1.5rem;border-bottom:1px solid var(--border-glass)}.panel-header h2{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;font-family:Outfit,sans-serif}.panel-header p{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.panel-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;flex:1;overflow-y:auto}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:var(--text-primary)}.form-group input[type=text],.form-group input[type=password],.form-group textarea,.form-group select{width:100%;background:#ffffff05;border:1px solid var(--border-glass);border-radius:12px;padding:.75rem 1rem;color:var(--text-primary);font-family:inherit;font-size:.95rem;transition:var(--transition-smooth)}.form-group input[type=text]:focus,.form-group input[type=password]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;background:#ffffff0d;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-glow)}.form-group textarea{resize:vertical}.form-group select option{background-color:var(--bg-secondary);color:var(--text-primary)}.field-hint{font-size:.75rem;color:var(--text-muted)}.checkbox-group{display:flex;flex-direction:column;gap:1rem}.checkbox-label{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#ffffff03;border:1px solid var(--border-glass);border-radius:12px;cursor:pointer;transition:var(--transition-smooth)}.checkbox-label:hover{background:#ffffff08;border-color:#ffffff26}.checkbox-label input[type=checkbox]{display:none}.custom-checkbox{width:20px;height:20px;border:2px solid var(--border-glass);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth);flex-shrink:0;margin-top:2px}.checkbox-label input[type=checkbox]:checked+.custom-checkbox{background-color:var(--primary);border-color:var(--primary);box-shadow:0 0 8px var(--primary-glow)}.checkbox-label input[type=checkbox]:checked+.custom-checkbox:after{content:"";width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.checkbox-text{display:flex;flex-direction:column;gap:.25rem}.checkbox-text strong{font-size:.95rem;font-weight:600}.checkbox-text span{font-size:.8rem;color:var(--text-secondary)}.action-btn{position:relative;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);border:none;color:#fff;padding:.9rem 1.5rem;font-size:1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:var(--transition-smooth);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 15px #6366f14d}.action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6366f180}.action-btn:active{transform:translateY(0)}.shimmer-btn:before{content:"";position:absolute;top:0;left:-150%;width:50%;height:100%;background:linear-gradient(to right,#fff0,#ffffff4d,#fff0);transform:skew(-25deg);transition:.75s}.shimmer-btn:hover:before{animation:shimmer 1.5s infinite}.empty-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;text-align:center;flex:1}.placeholder-icon{font-size:3rem;animation:float 6s ease-in-out infinite}.empty-placeholder h3{font-size:1.25rem;font-weight:600}.empty-placeholder p{font-size:.9rem;color:var(--text-secondary);max-width:350px;line-height:1.6}.output-container{display:flex;flex-direction:column;height:100%}.tabs-nav{display:flex;padding:1rem 1.5rem 0;border-bottom:1px solid var(--border-glass);gap:.5rem;overflow-x:auto}.tab-btn{background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);padding:.75rem 1.25rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:var(--transition-smooth);white-space:nowrap}.tab-btn:hover{color:var(--text-primary);background:#ffffff05;border-radius:8px 8px 0 0}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-contents{flex:1;overflow-y:auto;padding:1.5rem}.tab-panel{display:none;animation:fadeIn .4s ease-out forwards}.tab-panel.active{display:flex;flex-direction:column;gap:1.5rem}.output-card{background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:16px;overflow:hidden}.card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-glass);display:flex;justify-content:space-between;align-items:center;background:#0000001a}.card-title{font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.card-actions{display:flex;align-items:center;gap:.5rem}.card-body{padding:1.5rem;line-height:1.8;font-size:.95rem;white-space:pre-wrap;word-break:break-all}.card-body blockquote{border-left:4px solid var(--primary);padding-left:1rem;margin:1rem 0;background:#6366f10d;color:var(--text-primary);font-style:italic;border-radius:0 8px 8px 0;padding-top:.5rem;padding-bottom:.5rem}.card-body h2,.card-body h3{margin-top:1.5rem;margin-bottom:.75rem;color:#fff;font-weight:600}.card-body table{width:100%;border-collapse:collapse;margin:1.5rem 0}.card-body th,.card-body td{border:1px solid var(--border-glass);padding:.75rem 1rem;text-align:left}.card-body th{background:#ffffff0d;font-weight:600}.card-body ul,.card-body ol{padding-left:1.5rem;margin:1rem 0}.card-body li{margin-bottom:.5rem}.badge-group{display:flex;flex-wrap:wrap;gap:.5rem}.badge{background:var(--bg-glass);border:1px solid var(--border-glass);color:var(--text-secondary);padding:.25rem .75rem;border-radius:99px;font-size:.75rem;font-weight:500}.badge.success{background:#10b9811a;border-color:#10b98133;color:var(--secondary)}.badge.accent{background:#a855f71a;border-color:#a855f733;color:var(--accent)}.drawing-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.drawing-container{grid-template-columns:1fr}}.image-preview-panel{background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:16px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative}.image-preview-panel img{width:100%;height:100%;object-fit:cover}.img-placeholder-text{text-align:center;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--text-muted)}.img-placeholder-text .icon{font-size:2.5rem}.draw-btn-container{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:10}.img-overlay-actions{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;z-index:10}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:none;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .3s ease-out forwards}.modal-overlay.active{display:flex}.modal-content{width:100%;max-width:550px;background:#121826f2;border:1px solid var(--border-glass);border-radius:20px;box-shadow:0 25px 50px -12px #000000b3;display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-glass);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.15rem;font-weight:600}.close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;transition:var(--transition-smooth)}.close-btn:hover{color:var(--text-primary)}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;max-height:70vh;overflow-y:auto}.modal-description{font-size:.85rem;color:var(--text-secondary);line-height:1.5}.modal-divider{border:0;height:1px;background:var(--border-glass);margin:.5rem 0}.modal-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border-glass);display:flex;justify-content:flex-end}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;display:inline-block;margin-right:.5rem;vertical-align:middle}.spinner-large{width:40px;height:40px;border-width:3px;border-top-color:var(--primary);margin-bottom:1rem}.skeleton-screen{display:flex;flex-direction:column;gap:1rem;padding:2rem;flex:1}.skeleton-line{height:1rem;background:linear-gradient(90deg,#ffffff05 25%,#ffffff0d,#ffffff05 75%);background-size:200% 100%;animation:loading-pulse 1.5s infinite;border-radius:4px}.skeleton-line.title{height:1.5rem;width:40%;margin-bottom:1rem}.skeleton-line.paragraph-1{width:90%}.skeleton-line.paragraph-2{width:85%}.skeleton-line.paragraph-3{width:95%}.skeleton-line.paragraph-4{width:60%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes shimmer{to{left:125%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes loading-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}
