@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,700&display=swap";:root{--sky: #f4f8ff;--mint: #edf8f2;--peach: #fff1e8;--lavender: #f5f2ff;--paper: rgba(255, 255, 255, .86);--ink: #1f2940;--muted: #5f6a82;--line: rgba(31, 41, 64, .12);--primary: #3d6cff;--primary-deep: #2850d8;--accent: #e66f78;--success: #2c8c63;--danger: #be4a57;--radius-xl: 28px;--radius-lg: 18px;--radius-sm: 12px;--panel-shadow: 0 20px 42px rgba(66, 93, 146, .14)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:Manrope,system-ui,sans-serif;background:linear-gradient(150deg,var(--sky) 0%,var(--mint) 46%,#fff8ef 100%)}.ambient{position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle at 8% 16%,rgba(149,193,255,.3) 0,transparent 34%),radial-gradient(circle at 90% 12%,rgba(255,186,196,.35) 0,transparent 36%),radial-gradient(circle at 78% 82%,rgba(195,177,255,.28) 0,transparent 33%)}.shell{position:relative;z-index:1;width:min(1200px,94vw);margin:0 auto;padding:1.7rem 0 5.8rem}.hero{margin-bottom:.8rem;animation:reveal .28s ease-out}.eyebrow{margin:0;color:var(--primary-deep);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.workspace{display:grid;grid-template-columns:minmax(0,1.26fr) minmax(0,.9fr);gap:1rem}.panel{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--paper);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.form-panel,.result-panel{padding:1.25rem}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem}.section-head h2,.section-head h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.4rem}.section-head.tight{margin-top:1.1rem}.indicator{opacity:0;color:var(--primary-deep);font-size:.88rem;font-weight:600;transition:opacity .16s ease}form.htmx-request .indicator,.htmx-request .indicator{opacity:1}.grid{display:grid;gap:.72rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}label{display:block}label span{display:block;margin-bottom:.34rem;color:var(--muted);font-size:.82rem;font-weight:600}input,select,button{font:inherit}input,select{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fffffff2;color:var(--ink);padding:.64rem .72rem;transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus{outline:0;border-color:color-mix(in oklab,var(--primary) 46%,white);box-shadow:0 0 0 3px #3d6cff24}input[type=color]{appearance:none;-webkit-appearance:none;padding:0;width:100%;height:2.65rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:transparent;cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input[type=color]::-webkit-color-swatch{border:1px solid rgba(31,41,64,.18);border-radius:9px}input[type=color]::-moz-color-swatch{border:1px solid rgba(31,41,64,.18);border-radius:9px}.hint-card{border:1px solid color-mix(in oklab,var(--primary) 22%,white);border-radius:var(--radius-sm);background:linear-gradient(135deg,#c8e0ff59,#ffe6ec73);padding:.7rem .8rem}.hint-card h3{margin:0 0 .12rem;font-size:.88rem;font-weight:700}.hint-card p{margin:0;font-size:.78rem;color:var(--muted)}.field-group{margin-bottom:.7rem}.hidden{display:none}.actions{margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;cursor:pointer;line-height:1;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{width:100%;padding:.78rem 1.2rem;color:#fff;font-weight:700;letter-spacing:.01em;background:linear-gradient(120deg,var(--primary),#5a86ff 58%,#7b9dff);box-shadow:0 10px 22px #3d6cff4d}.btn.ghost{flex:none;width:auto;padding:.42rem .64rem;border-radius:9px;border-color:var(--line);background:#fff;color:var(--ink);font-size:.79rem;font-weight:600}.state-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;padding:1rem}.state-card.success{border-color:color-mix(in oklab,var(--success) 35%,white);background:linear-gradient(180deg,#fff,#f3fbf7)}.state-card.error{border-color:color-mix(in oklab,var(--danger) 38%,white);background:linear-gradient(180deg,#fff,#fff5f6)}.state-card h3,.state-card h4{margin:0 0 .4rem;font-family:Fraunces,Georgia,serif}.state-card p{margin:0;color:var(--muted)}.error-list{margin:.66rem 0 0;padding-left:1rem;color:var(--danger)}.link-grid{margin:.95rem 0 0;display:grid;gap:.74rem}.link-grid dt{margin-bottom:.24rem;font-size:.83rem;font-weight:700;color:#4a5676}.link-grid dd{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}code{display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;border:1px solid var(--line);border-radius:9px;background:#f9fbff;padding:.28rem .44rem;font-size:.77rem;color:#233051}.qr-preview{margin-top:1rem}.qr-preview img{width:min(100%,350px);border-radius:16px;border:1px solid var(--line);background:#fff;padding:.6rem}.qr-preview-actions{margin-top:.56rem}.language-dock{position:fixed;left:50%;bottom:.85rem;transform:translate(-50%);z-index:25}.language-form{display:inline-flex;align-items:center;gap:.46rem;padding:.42rem .54rem;border:1px solid var(--line);border-radius:999px;background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 18px #425d922e}.language-form select{width:auto;min-width:8.4rem;border-radius:999px;padding:.35rem .58rem;font-size:.8rem}.toast{position:fixed;left:50%;bottom:4.15rem;transform:translate(-50%) translateY(20px);opacity:0;pointer-events:none;background:#1f2940eb;color:#fff;padding:.58rem .88rem;border-radius:999px;font-size:.83rem;font-weight:600;letter-spacing:.01em;box-shadow:0 10px 24px #1f294042;transition:opacity .12s ease,transform .12s ease;z-index:30}.toast.visible{opacity:1;transform:translate(-50%) translateY(0)}@keyframes reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.workspace{grid-template-columns:1fr}.link-grid dd{grid-template-columns:1fr;align-items:start}.btn.ghost{justify-self:start}.language-form{max-width:calc(100vw - 1.4rem)}.language-form select{min-width:6.8rem}.grid.four,.grid.three,.grid.two{grid-template-columns:1fr}}
