*{box-sizing:border-box} :root{color-scheme:dark;--blue:#4bdcff;--purple:#a481ff}body{margin:0;font:15px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#ebf5ff;background:#060a17;background-image:radial-gradient(ellipse at 80% 10%,#5722b52b,transparent 40%),radial-gradient(ellipse at 10% 40%,#007dac25,transparent 50%)}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;color:inherit;background:#101a30;border:1px solid #314663;border-radius:14px;padding:12px}button:hover{border-color:var(--blue)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}button.primary,#send{background:linear-gradient(130deg,#008cc7,#7252d9)}[hidden]{display:none!important}.app{max-width:1120px;margin:auto;padding:0 24px}header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #293251}.brand{font-size:25px;font-weight:850;letter-spacing:3px;color:white;text-decoration:none}.brand span,h1 span,h2 span{color:var(--blue);text-shadow:0 0 22px #23b9ff55}.badge{font-size:11px;max-width:170px;color:#a7b7cf;text-align:right}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:470px;gap:30px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--purple);font-weight:700}h1{font-size:42px;line-height:1.16;letter-spacing:-1.3px;margin:22px 0}p{color:#a0b5cf;line-height:1.6}.portrait-stage{position:relative;max-width:400px;height:410px;margin:auto;width:100%;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;inset:22px -5px;border:1px solid #3c9fd581;border-radius:50%;box-shadow:0 0 40px #4089ff33,inset 0 0 45px #6158ee33}.orbit:after{content:"";position:absolute;inset:13px;border:2px solid;border-color:#23c7ff transparent #ae71fa transparent;border-radius:50%}canvas{width:285px;height:350px;object-fit:contain;border-radius:130px 130px 50px 50px;position:relative;box-shadow:0 0 28px #528df95c}.portrait-label{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);white-space:nowrap;border:1px solid #35608a;border-radius:20px;background:#09172bee;padding:9px 16px;font-size:11px;color:#c3d5eb}.dot{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;margin-right:8px;box-shadow:0 0 8px var(--blue)}.glass{background:linear-gradient(125deg,#122440b8,#0c1027d9);border:1px solid #315777;border-radius:20px;box-shadow:inset 0 1px 0 #8caff51c}.welcome{padding:22px 25px;display:flex;align-items:center;gap:18px}.welcome h2{font-size:21px;margin:0}.welcome p{margin:5px 0 0}.spark{font-size:32px;color:var(--blue)}.welcome button{margin-left:auto}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.quick button{height:96px;background:#0b1528;font-size:28px;color:var(--blue)}.quick span{display:block;font-size:13px;margin-top:9px;color:#bdd7ef}#messages{display:flex;flex-direction:column;gap:12px;margin:22px 0}.message{padding:16px;border-radius:18px;max-width:92%;background:#14203a;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.message.user{align-self:flex-end;background:#29234d}.message .read{font-size:11px;display:block;margin-top:12px;padding:6px 12px}#composer{display:flex;align-items:center;gap:8px;padding:10px}textarea{resize:none;min-width:0;flex:1;border:0;background:transparent;font:inherit;color:white;outline:none;max-height:160px;padding:10px}#send{border:0;width:48px;height:48px;border-radius:50%;font-size:23px}#mic{background:transparent;border:0;font-size:22px}.footnote{text-align:center;font-size:9px;letter-spacing:3px;margin:25px 0}main{padding-bottom:100px}nav{position:fixed;bottom:0;left:0;right:0;z-index:3;display:flex;justify-content:center;gap:28px;background:#070e20f2;border-top:1px solid #263757;backdrop-filter:blur(20px);padding:10px 10px calc(10px + env(safe-area-inset-bottom))}nav button{min-width:90px;border:0;background:transparent;font-size:21px;color:#8293b5}nav span{display:block;font-size:10px;margin-top:4px}nav .active{color:var(--blue);background:#14344c60}.view:not(#home){padding-top:28px}.panel{padding:25px;margin:20px 0}label{display:block;margin:20px 0}select{display:block;width:100%;padding:12px;margin-top:10px;background:#0a1428;color:white;border:1px solid #355372;border-radius:10px}input[type=range]{display:block;width:100%;margin-top:15px}#error{padding:14px;background:#4c2637;border:1px solid #8e4260;border-radius:14px;margin-bottom:10px}#historyList .message{max-width:100%;margin:12px 0} @media(max-width:650px){.app{padding:0 17px}header{height:68px}.brand{font-size:19px}.badge{font-size:10px}.hero{display:flex;flex-direction:column;gap:0;min-height:0}.hero-copy{text-align:center;padding-top:19px}.hero-copy h1{font-size:28px;margin:12px 0}.hero-copy>p:last-child{margin:0;font-size:12px}.eyebrow{font-size:9px;margin:8px 0}.portrait-stage{height:325px;max-width:300px}canvas{width:226px;height:278px}.portrait-label{bottom:0}.orbit{inset:18px 0}.welcome{padding:17px 13px;margin-top:18px;gap:10px}.welcome h2{font-size:16px}.welcome p{font-size:12px}.spark{font-size:25px}.quick{gap:8px;margin:15px 0}.quick button{height:78px;padding:8px;font-size:23px}.quick span{font-size:10px}.welcome button{padding:9px}nav{gap:2px}nav button{min-width:0;flex:1;max-width:130px}h1{font-size:31px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
#accessCode{display:block;width:100%;padding:12px;background:#0a1428;border:1px solid #355372;border-radius:10px;color:white;margin-top:10px}canvas{background:#dedede}
