:root{--bg: #0c0f14;--surface: #141a24;--surface-2: #1c2433;--text: #e8edf5;--muted: #8b9bb8;--accent: #5eead4;--accent-2: #f59e0b;--border: rgba(255, 255, 255, .08);--radius: 14px;font-family:DM Sans,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(94,234,212,.12),transparent),var(--bg)}h1,h2,.brand-serif{font-family:"Instrument Serif",Georgia,serif;font-weight:400}a{color:var(--accent)}button{font:inherit;cursor:pointer}.container{width:min(1100px,92vw);margin:0 auto}.btn{border:none;border-radius:999px;padding:.85rem 1.4rem;font-weight:600;transition:transform .15s,opacity .15s}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--accent),#2dd4bf);color:#042f2e}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:grid;place-items:center;z-index:50;padding:1rem}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;width:min(420px,100%)}.modal input{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);margin:1rem 0}.back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);text-decoration:none;font-size:.9rem;transition:color .15s}.back-link:hover{color:var(--accent)}.skill-carousel-3d-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;margin-top:3rem;perspective:1200px;height:430px;overflow:hidden}.skill-carousel-3d-track{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;transform-style:preserve-3d}.skill-card-3d{position:absolute;width:310px;height:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:transform .5s cubic-bezier(.25,.8,.25,1),opacity .5s ease,border-color .3s,box-shadow .3s;cursor:pointer;-webkit-user-select:none;user-select:none;transform-style:preserve-3d;box-shadow:0 10px 40px #00000059}.skill-card-3d.active{transform:translateZ(100px) scale(1);opacity:1;z-index:10;border-color:#5eead459;box-shadow:0 15px 50px #5eead40f,0 5px 15px #0006;cursor:default}.skill-card-3d.prev{transform:translate3d(-230px,0,0) scale(.85) rotateY(25deg);opacity:.55;z-index:5}.skill-card-3d.next{transform:translate3d(230px,0,0) scale(.85) rotateY(-25deg);opacity:.55;z-index:5}.skill-card-3d.hidden{transform:translateZ(-200px) scale(.7);opacity:0;z-index:1;pointer-events:none}.skill-card-3d:hover:not(.active){opacity:.85;border-color:#ffffff26}.skill-card-3d-header{display:flex;flex-direction:column;gap:.25rem}.skill-card-3d-title{margin:0;font-size:1.25rem;font-weight:600;line-height:1.25}.skill-card-tagline{color:var(--muted);font-size:.95rem;margin:0;line-height:1.4}.skill-card-bullets{margin:0;padding-left:1.1rem;color:var(--muted);flex-grow:1;font-size:.9rem;display:flex;flex-direction:column;gap:.4rem}.skill-card-bullets li{line-height:1.4}.skill-card-3d .tier{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-2)}.skill-card-3d .price{color:var(--muted);font-size:.85rem;margin-top:.25rem}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--accent);font-size:1.75rem;display:grid;place-items:center;cursor:pointer;z-index:15;transition:background .15s,color .15s,transform .15s;box-shadow:0 4px 20px #00000040}.carousel-btn:hover{background:var(--accent);color:#042f2e;transform:translateY(-50%) scale(1.05)}.carousel-btn:active{transform:translateY(-50%) scale(.98)}.prev-btn{left:.5rem}.next-btn{right:.5rem}.chat-split-left .skill-carousel-3d-container{height:380px;margin-top:1.5rem}.chat-split-left .skill-card-3d{width:260px;height:320px;padding:1.25rem}.chat-split-left .skill-card-3d.prev{transform:translate3d(-170px,0,0) scale(.8) rotateY(20deg);opacity:.45}.chat-split-left .skill-card-3d.next{transform:translate3d(170px,0,0) scale(.8) rotateY(-20deg);opacity:.45}@media(max-width:768px){.skill-carousel-3d-container{height:380px}.skill-card-3d{width:260px;height:320px;padding:1.25rem}.skill-card-3d.prev{transform:translate3d(-150px,0,0) scale(.8) rotateY(20deg);opacity:.45}.skill-card-3d.next{transform:translate3d(150px,0,0) scale(.8) rotateY(-20deg);opacity:.45}}@media(max-width:480px){.skill-carousel-3d-container{height:360px}.skill-card-3d{width:240px;height:300px}.skill-card-3d.prev{transform:translate3d(-90px,0,-50px) scale(.75) rotateY(15deg);opacity:.25}.skill-card-3d.next{transform:translate3d(90px,0,-50px) scale(.75) rotateY(-15deg);opacity:.25}.carousel-btn{width:2.25rem;height:2.25rem;font-size:1.25rem}}.chat-split-container{display:flex;min-height:100vh;width:100%}.chat-split-left{flex:1;overflow-y:auto;padding:2rem 3rem;border-right:1px solid var(--border);height:100vh}.chat-split-right{width:460px;flex-shrink:0;display:flex;flex-direction:column;height:100vh;background:var(--surface);border-left:1px solid var(--border)}.chat-split-right .chat-layout{height:100%;min-height:unset;max-width:none;padding:1.5rem}.chat-layout{height:100%;display:grid;grid-template-rows:auto 1fr auto;max-width:720px;margin:0 auto;padding:1rem}@media(max-width:900px){.chat-split-container{flex-direction:column;min-height:100vh}.chat-split-left{height:auto;border-right:none;border-bottom:1px solid var(--border);padding:1.5rem 1rem;overflow-y:visible}.chat-split-right{width:100%;height:600px;border-left:none}}.chat-messages{overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding:1rem 0}.bubble{max-width:85%;padding:.75rem 1rem;border-radius:12px;line-height:1.45}.bubble.user{align-self:flex-end;background:#134e4a}.bubble.assistant{align-self:flex-start;background:var(--surface-2);border:1px solid var(--border)}.chat-input-row{display:flex;gap:.5rem}.chat-input-row input{flex:1;padding:.75rem 1rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text)}
