:root{--bg-main: #f0f9ff;--primary: #0ea5e9;--primary-glow: rgba(14, 165, 233, .3);--card-bg: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border: #bae6fd;--neon-blue: #00d2ff;--neon-blue-glow: rgba(0, 210, 255, .5);--neon-red: #ff4d4d;--neon-red-glow: rgba(255, 77, 77, .5)}*{margin:0;padding:0;box-sizing:border-box}html,body{background:linear-gradient(135deg,#e0f2fe,#7dd3fc)!important;background-attachment:fixed!important;color:var(--text-primary)!important;min-height:100vh;margin:0;overflow-x:hidden}#fireworksCanvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.app-container{padding:2rem;display:flex;flex-direction:column;gap:2rem;max-width:1400px;margin:0 auto;position:relative;z-index:10}header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2.5rem;background:#fff9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:24px;box-shadow:0 10px 30px #0000000d;border:1px solid rgba(255,255,255,.4)}.logo{display:flex;align-items:center;gap:1.5rem}.logo h1{font-size:1.8rem;font-weight:800;color:#1e293b}.logo h1 span{color:var(--primary)}.home-btn{font-size:3rem!important;text-decoration:none;color:#64748b;transition:all .2s}.home-btn:hover{transform:scale(1.1);color:var(--primary)}.input-section{margin-bottom:2rem}.input-header{margin-bottom:1rem;padding-left:.5rem}.input-header h2{font-size:1.4rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:12px}.input-header i{color:var(--primary)}.input-card{display:flex;gap:1.5rem;background:#fff;padding:2rem;border-radius:32px;box-shadow:0 20px 50px #0000000d}textarea{flex:1;height:220px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:20px;padding:2.2rem 2.5rem;color:#1e293b;font-size:1.25rem;line-height:1.8;resize:none;outline:none;transition:.2s;overflow-y:hidden}textarea:focus{border-color:var(--primary);background:#fff}#analyzeBtn{padding:0 3.5rem;background:var(--primary);color:#fff;border:none;border-radius:20px;font-weight:800;font-size:1.2rem;cursor:pointer;transition:all .3s}#analyzeBtn:hover{background:#0284c7;transform:translateY(-2px)}main{flex:1;display:flex;flex-direction:column;gap:1rem}.column-title-row{display:grid;grid-template-columns:1fr 400px;gap:2rem;margin-bottom:2rem}.column-title{font-size:1.2rem;font-weight:800;color:var(--text-primary)!important;padding-left:.5rem;border-left:4px solid var(--primary)!important}.learning-area{display:flex;flex-direction:column;gap:1.5rem;position:relative;width:100%}.learning-row{display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:center}.learning-area-unit{font-size:1.4rem;line-height:1.5;padding:1.5rem 2rem;min-height:80px;display:flex;flex-wrap:wrap;align-content:center;background:#fff;border:2px solid #bae6fd;border-radius:20px;box-shadow:0 10px 30px #00000008;color:#1e293b;transition:all .3s ease;gap:4px 8px}.sentence-arrow-row{display:grid;grid-template-columns:1fr 400px;gap:2rem;margin:-1rem 0}.arrow-center-box{display:flex;justify-content:center}.unit-card-placeholder{height:120px;width:400px;opacity:0;pointer-events:none}.unit-card{padding:1.5rem 2rem;background:#fff;clip-path:polygon(5% 0,95% 0,100% 50%,95% 100%,5% 100%,0 50%);border:3px solid var(--primary);width:100%;height:120px;display:flex;align-items:center;gap:1.5rem;animation:cardIn .6s cubic-bezier(.34,1.56,.64,1);flex-shrink:0;color:#1e293b;box-shadow:0 10px 25px var(--primary-glow);transition:transform .3s ease}.unit-card:hover{transform:scale(1.02)}.icon-box{font-size:3rem;display:flex;align-items:center;justify-content:center;min-width:60px}.word{display:inline-block;padding:4px 10px;margin:2px;border-radius:10px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;border:2px solid transparent;white-space:nowrap}.word:hover{background:#ffffff1a;transform:translateY(-2px)}.word.discourse-marker{color:#f97316;font-weight:800}.word.causal-marker{color:#f97316!important;font-weight:800}.morphism.subject-particle{color:#0284c7!important;font-weight:900}.word.success{color:#0f8!important;font-weight:900;text-shadow:0 0 15px rgba(0,255,136,.6);background:#00ff881a!important;border-color:#0f8!important;animation:success-pop .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes success-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.shake{animation:shake-anim .4s ease-in-out}@keyframes shake-anim{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.word.wrong{background:#f43f5e33!important;border-color:var(--neon-red)!important}.sentence-arrow{display:flex;justify-content:center;margin:-1rem 0;height:1rem;opacity:0;transition:.5s;z-index:50}.sentence-arrow.visible{opacity:1}.arrow-path{width:30px;height:15px;clip-path:polygon(50% 100%,0 0,100% 0);background:#0ea5e9}.arrow-path.causal{background:var(--neon-red);box-shadow:0 0 15px var(--neon-red-glow)}.interaction-layer{position:fixed;bottom:50px;left:0;width:100%;height:auto;pointer-events:none;z-index:9999;display:flex;align-items:center;justify-content:center}.question-box{background:#fff;color:#020617;padding:1rem 2rem;border-radius:16px;text-align:center;box-shadow:0 10px 40px #0000004d;pointer-events:auto;animation:slideUp .6s cubic-bezier(.34,1.56,.64,1);position:relative;border:2px solid var(--primary);transition:all .5s ease}.question-box.hidden{opacity:0!important;visibility:hidden;transform:translateY(20px);pointer-events:none}.question-box:after{content:"";position:absolute;top:-12px;left:50%;transform:translate(-50%) rotate(180deg);border-left:15px solid transparent;border-right:15px solid transparent;border-top:15px solid #ffffff}.q-text{font-size:1.3rem;font-weight:800;margin-bottom:.1rem}.q-sub{font-size:.95rem;color:#64748b;font-weight:600}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.unit-card .text{font-size:1.2rem;font-weight:800}.concept-canvas{margin-top:2rem;padding:2.5rem;background:#fff;border-radius:32px;border:none;box-shadow:0 20px 50px #0000000d;display:flex;flex-direction:column;align-items:center;overflow:visible;max-height:none}.concept-header{margin-bottom:2rem;width:100%;display:flex;justify-content:center}#conceptTitle{font-size:2rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:15px}.title-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fde047;border:3px solid #1e293b;border-radius:12px;color:#1e293b;font-size:1.8rem;box-shadow:0 4px 12px #fde0474d}.flow-engine{display:flex;flex-direction:column;align-items:center;width:100%;gap:1rem}.mini-unit-group{display:flex;flex-direction:column;gap:.5rem;width:100%;align-items:center}.mini-unit{background:#f8fafc;border:2px solid #e2e8f0;padding:.8rem 1.5rem;border-radius:12px;font-size:1.1rem;width:95%;text-align:center;display:flex;align-items:center;justify-content:center;gap:1rem;color:#1e293b}.mini-unit span{font-size:2rem}.connection-block{display:flex;flex-direction:column;align-items:center;width:100%}.lego-block{padding:.5rem 2rem;border-radius:8px;font-weight:800;margin-bottom:.5rem}.lego-block.result{background:var(--neon-red);color:#fff}.lego-block:not(.result){background:var(--neon-blue);color:#000}.connection-line-desc{font-size:.9rem;color:#94a3b8;margin-left:1rem}.result-card{background:#fff1f2;border:3px solid #f43f5e;padding:2rem;border-radius:24px;text-align:center;width:80%;color:#1e293b;font-weight:800}.hidden{display:none!important}.puzzle-box{margin-top:2rem;padding:20px 30px;background:#fff;border:1px solid #cbd5e1;border-radius:20px;position:relative;box-shadow:0 4px 12px #0000000d;width:90%;margin-left:auto;margin-right:auto}.mini-unit{transition:all .3s ease;cursor:default}.mini-unit.puzzle-mode{cursor:pointer}.mini-unit.puzzle-mode:hover{transform:scale(1.02);box-shadow:0 4px 12px #0000000d}.mini-unit.selected{background:#e0f2fe;border-color:#0ea5e9;color:#1e293b}.puzzle-message{position:fixed;top:40%;left:50%;transform:translate(-50%) translateY(30px);background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:3px solid #ef4444;color:#ef4444;padding:15px 30px;border-radius:16px;font-weight:800;font-size:1.4rem;box-shadow:0 15px 40px #ef444440;opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1);pointer-events:none;z-index:10000;white-space:nowrap}.puzzle-message:after{display:none}.puzzle-message.success{border-color:#10b981!important;color:#10b981!important}.puzzle-message.success:after{border-color:#10b981 transparent transparent transparent!important}
