:root{--sand-1: #e8c98a;--sand-2: #d9ad5f;--sand-3: #c98f3f;--ink: #3a2a1a;--copper: #b5622f;--copper-dark: #8a441c;--teal: #2e6b64;--teal-dark: #1f4a45;--cream: #faf3e2;--panel: #fffaf0;--shadow: 0 4px 14px rgba(58, 42, 26, .18)}*{box-sizing:border-box}body{margin:0;font-family:Nunito,Quicksand,Comfortaa,Fredoka,Varela Round,Poppins,Segoe UI,system-ui,sans-serif;color:var(--ink)}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:authFadeIn .2s ease-out}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{background:var(--panel);border-radius:16px;box-shadow:var(--shadow);padding:24px;width:100%;max-width:380px;position:relative;font-family:inherit;animation:authSlideUp .3s ease-out}@keyframes authSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-modal h2{margin:0 36px 8px 0;font-size:1.4rem}.auth-modal p{margin:0 0 20px;line-height:1.5}.auth-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink);opacity:.6;line-height:1;padding:0;box-shadow:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s,opacity .15s}.auth-close:hover:not(:disabled){opacity:1;background:#00000014}.auth-close:disabled{cursor:wait;opacity:.3}.auth-login-modal .auth-close{top:-12px;right:-12px;border:1px solid rgba(58,42,26,.12);background:var(--panel);box-shadow:var(--shadow)}.auth-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid rgba(58,42,26,.1);padding-bottom:8px}.auth-tabs[hidden],.auth-forgot-heading[hidden]{display:none}.auth-tab{flex:1;background:none;border:none;padding:10px 8px;font-family:inherit;font-weight:700;font-size:.9rem;color:var(--ink);opacity:.5;cursor:pointer;box-shadow:none;position:relative;transition:opacity .15s,color .15s}.auth-tab:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--teal);transform:scaleX(0);transition:transform .2s ease}.auth-tab:hover{opacity:.7}.auth-tab.active{opacity:1;color:var(--teal)}.auth-tab.active:after{transform:scaleX(1)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form input{padding:14px 16px;border:1.5px solid #dde3eb;border-radius:12px;font-family:inherit;font-size:1rem;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}.auth-form input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #2e6b6426}.auth-form input::placeholder{color:#9aa3b2}.auth-form input[hidden],.auth-text-button[hidden]{display:none}.auth-error{color:var(--copper-dark);font-size:.85rem;font-weight:600;min-height:22px}.auth-error:not(:empty){animation:authShake .3s ease}@keyframes authShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.auth-info{color:var(--teal-dark);font-size:.85rem;font-weight:600;min-height:22px}.auth-submit{position:relative;margin-top:4px;padding:14px 24px;background:linear-gradient(180deg,var(--copper),var(--copper-dark));color:#fff;border:none;border-radius:12px;font-family:inherit;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 4px 14px #b5622f66;transition:transform .1s,box-shadow .15s,background .15s;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;width:100%}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #b5622f80}.auth-submit:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 8px #b5622f66}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #b5622f4d}.auth-submit__spinner{display:none;font-size:1.2em;line-height:1;animation:authSpin 1s linear infinite}@keyframes authSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-submit.is-loading .auth-submit__text{display:none}.auth-submit.is-loading .auth-submit__spinner{display:block}.auth-text-button{align-self:center;border:0;background:none;color:var(--teal-dark);cursor:pointer;font:inherit;font-size:.9rem;font-weight:700;padding:2px 4px;text-decoration:underline;box-shadow:none}.auth-text-button:hover{color:var(--teal)}.auth-text-button:disabled{cursor:not-allowed;opacity:.5}.forgot-password-link{align-self:flex-end;margin-top:-6px}.recovery-success,.recovery-error-content{text-align:center}.recovery-success h2,.recovery-error-content h2{margin-right:0}.recovery-success-icon{width:56px;height:56px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;margin:0 auto 16px;font-size:2rem;font-weight:900}.recovery-error-close{margin-top:14px}.premium-access-content{text-align:center}.premium-access-content h2{margin-right:0}.premium-access-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 16px;border-radius:50%;background:var(--sand-1);font-size:1.8rem}@media (max-width: 480px){.auth-modal-overlay{padding:12px}.auth-modal{padding:22px 18px}}.landing-page{--landing-ink: #241b4a;--landing-ink-soft: #5b5480;--landing-sky: #eaf7ff;--landing-sun: #ffc63c;--landing-sun-deep: #f5a623;--landing-grass: #2fae7c;--landing-grass-deep: #238f65;--landing-coral: #ff6b5e;--landing-grape: #6c4ce0;--landing-grape-deep: #5636c4;--landing-line: #e7e1f7;position:relative;min-height:100vh;overflow:hidden;background:#fff;color:var(--landing-ink);font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,sans-serif}.landing-page:before,.landing-page:after{content:"";position:absolute;z-index:0;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none}.landing-page:before{top:-120px;right:-100px;width:420px;height:420px;background:var(--landing-sky)}.landing-page:after{bottom:-140px;left:-80px;width:340px;height:340px;background:#fff3d2}.landing-page .wrap{position:relative;z-index:1;width:min(1280px,calc(100% - 64px));margin:0 auto}.landing-page>header{position:relative;z-index:2}.landing-page nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;min-height:80px}.landing-page .brand{display:inline-flex;align-items:center;gap:10px;color:var(--landing-ink);font-family:inherit;font-size:1.4rem;font-weight:700;text-decoration:none}.landing-page .brand:before{content:"🦊";display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--landing-grape);box-shadow:0 3px 0 var(--landing-grape-deep);font-family:sans-serif;font-size:1.1rem}.landing-page .header-right{display:flex;align-items:center;gap:14px}.landing-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 25px;border:0;border-radius:14px;background:var(--landing-sun);color:var(--landing-ink);box-shadow:0 5px 0 var(--landing-sun-deep);font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s}.landing-page .btn:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--landing-sun-deep)}.landing-page .header-right .btn{padding:9px 19px;border-radius:12px;background:var(--landing-grass);color:#fff;box-shadow:0 4px 0 var(--landing-grass-deep);font-size:.94rem}.landing-page .lang-switch{display:flex;align-items:center}.landing-page .lang-select{padding:8px 34px 8px 12px;border:2px solid var(--landing-line);border-radius:12px;background:#fff;color:var(--landing-ink);font-family:inherit;font-size:.86rem;font-weight:800;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241b4a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}.landing-page .lang-select:focus-visible{outline:3px solid rgba(108,76,224,.2);border-color:var(--landing-grape)}.landing-page .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;min-height:0;padding:56px 0 76px}.landing-page .eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;padding:8px 14px;border-radius:999px;background:#e4f7ee;color:var(--landing-grass-deep);font-family:inherit;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.landing-page .eyebrow i{width:7px;height:7px;border-radius:2px;background:var(--landing-grass)}.landing-page h1{margin:0 0 22px;color:var(--landing-ink);font-family:inherit;font-size:clamp(3rem,5vw,3.75rem);font-weight:700;line-height:1.03;letter-spacing:-.02em}.landing-page .accent{position:relative;display:inline-flex;align-items:center;margin:5px 8px;padding:4px 20px 8px;border-radius:12px;background:var(--landing-grape);color:#fff;box-shadow:0 5px 0 var(--landing-grape-deep)}.landing-page .accent:before,.landing-page .accent:after{content:"";position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:var(--landing-grape);transform:translateY(-50%)}.landing-page .accent:before{left:-8px}.landing-page .accent:after{right:-8px}.landing-page .lead{max-width:500px;margin:0 0 28px;color:var(--landing-ink-soft);font-size:1.1rem;font-weight:600;line-height:1.6}.landing-page .actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px}.landing-page .btn.alt{padding:13px 23px;border:2px solid var(--landing-line);background:transparent;color:var(--landing-ink);box-shadow:none}.landing-page .note{margin:0;padding-top:14px;color:var(--landing-ink-soft);font-size:1rem;font-weight:800}.landing-page .demo{position:relative;width:min(480px,100%);margin:0 auto;padding:0;border:2px solid #d8dee8;border-radius:24px;background:#fff;box-shadow:10px 12px #dce1e8;transform:rotate(1.5deg)}.landing-page .demo:before{display:none}.landing-page .window{overflow:hidden;border-radius:22px;background:#f6f4fc}.landing-page .top{display:flex;align-items:center;gap:7px;min-height:46px;padding:0 15px;border-bottom:1px solid #e0e4e9;background:#f3f5f7}.landing-page .dot{display:block;width:10px;height:10px;border-radius:50%;background:#ff6d6d}.landing-page .dot:nth-child(2){background:#ffd166}.landing-page .dot:nth-child(3){background:#42d3a3}.landing-page .title{margin:auto;color:var(--landing-ink-soft);font-family:inherit;font-size:.82rem;font-weight:600;transform:translate(-22px)}.landing-page .board{display:grid;grid-template-columns:1.05fr 1fr;min-height:300px}.landing-page .blocks{padding:16px 12px;background:#f6f4fc}.landing-page .label{margin:0 0 10px;color:var(--landing-ink-soft);font-size:.63rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.landing-page .block{display:flex;align-items:center;width:auto;max-width:100%;margin:0 0 7px;padding:9px 12px;border-radius:9px;color:#fff;box-shadow:0 3px #0000002e;font-family:inherit;font-size:.8rem;font-weight:600}.landing-page .blue{background:var(--landing-grape)}.landing-page .purple{margin-left:10px;background:#9b7be8}.landing-page .orange{margin-left:10px;background:var(--landing-sun-deep)}.landing-page .pink{margin-left:10px;background:var(--landing-coral)}.landing-page .green{background:var(--landing-grass)}.landing-page .stage{display:flex;flex-direction:column;padding:0;background:#f6f4fc}.landing-page .sky{position:relative;flex:1;min-height:0;overflow:hidden;background:linear-gradient(180deg,#bee7ff,#bee7ff 60%,#b7e7a6 60%,#b7e7a6)}.landing-page .sun{display:none}.landing-page .cloud,.landing-page .cloud:before{position:absolute;border-radius:20px;background:#fff}.landing-page .cloud{top:18px;left:16px;width:34px;height:16px}.landing-page .cloud:before{content:"";top:-8px;left:6px;width:18px;height:18px}.landing-page .cloud:after{display:none}.landing-page .bubble{position:absolute;top:44px;right:14px;padding:6px 10px;border-radius:10px 10px 2px;background:#fff;color:var(--landing-ink);box-shadow:0 3px #00000014;font-family:inherit;font-size:.7rem;font-weight:600}.landing-page .bot{position:absolute;bottom:16px;left:50%;font-size:2.15rem;transform:translate(-50%)}.landing-page .run{margin:0;padding:12px 14px;border:0;background:#f6f4fc;color:var(--landing-ink);font-family:inherit;font-size:.82rem;font-weight:600;text-align:left;cursor:pointer}.landing-page .sticker{position:absolute;z-index:3;padding:7px 12px;border-radius:10px;font-family:inherit;font-size:.8rem;font-weight:600}.landing-page .one{top:-10px;left:-6px;padding:0;border-radius:0;background:transparent;color:var(--landing-ink);box-shadow:none;font-size:.9rem;font-weight:700;transform:rotate(-6deg)}.landing-page .two{right:-10px;bottom:-14px;background:#ffe0ec;color:#c2306b;box-shadow:0 3px #0000001a;transform:rotate(8deg)}.landing-page .skills{grid-column:1 / -1;display:flex;justify-content:center;gap:36px;margin-top:8px;color:var(--landing-ink);font-size:1.05rem;font-weight:800}.landing-page .skills span{display:flex;align-items:center;gap:12px}.landing-page .skills b{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#e4f7ee;font-size:1.35rem}.landing-page .skills span:nth-child(2) b{background:#fff3d2}.landing-page .skills span:nth-child(3) b{background:#f0ebff}.landing-page .skills span:nth-child(4) b{background:#ffe3e0}@media (max-width: 900px){.landing-page .hero{grid-template-columns:minmax(0,1fr);gap:54px;padding:28px 0 58px}.landing-page .copy{text-align:center}.landing-page .lead{margin-inline:auto}.landing-page .actions,.landing-page .note{justify-content:center}.landing-page .note{text-align:center}.landing-page .demo{width:min(520px,100%)}.landing-page .skills{flex-wrap:wrap;gap:20px 30px}}@media (max-width: 620px){.landing-page .wrap{width:min(100% - 28px,1280px)}.landing-page nav{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px 0}.landing-page .header-right{grid-column:1 / -1;grid-row:2;width:100%}.landing-page .header-right>*{flex:1}.landing-page .header-right .lang-select,.landing-page .header-right .btn{width:100%}.landing-page h1{font-size:clamp(2.5rem,12vw,3.2rem)}.landing-page .eyebrow{justify-content:center;white-space:normal}.landing-page .actions .btn{width:100%}.landing-page .demo{transform:none}.landing-page .board{min-height:280px}.landing-page .skills{justify-content:flex-start}.landing-page .skills span{width:calc(50% - 15px)}}@media (max-width: 420px){.landing-page .brand{font-size:1.1rem}.landing-page .brand:before{width:32px;height:32px}.landing-page .lang-select{max-width:126px;font-size:.78rem}.landing-page .hero{padding-top:20px}.landing-page .accent{padding-inline:14px}.landing-page .demo{padding-inline:10px}.landing-page .board{grid-template-columns:.95fr 1.05fr;min-height:250px}.landing-page .blocks{padding:12px 8px}.landing-page .block{padding:8px;font-size:.68rem}.landing-page .skills{display:grid;grid-template-columns:1fr 1fr}.landing-page .skills span{width:auto}}#app,body.app-loaded #landing{display:none}body.app-loaded #app{display:block}
