:root{color:#211c17;background:#f4efe8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--ink: #211c17;--ink-soft: #5c554d;--ink-faint: #8f877d;--paper: #f4efe8;--paper-strong: #ece5db;--surface: #fffdf9;--line: rgba(33, 28, 23, .1);--line-strong: rgba(33, 28, 23, .2);--gold: #b8955a;--gold-deep: #9a7a44;--gold-soft: #f3ead9;--danger: #b4443c;--shadow-sm: 0 1px 2px rgba(40, 30, 20, .05), 0 8px 20px rgba(40, 30, 20, .06);--shadow-md: 0 2px 6px rgba(40, 30, 20, .06), 0 24px 48px rgba(40, 30, 20, .12);--radius: 18px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--paper)}button,input{font:inherit}button{cursor:pointer}.hidden-audio{display:none}.app{position:relative;min-height:100vh}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.15rem;letter-spacing:.02em;color:var(--ink)}.brand-mark{width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}.nav-tag{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.eyebrow{margin:0 0 12px;font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-deep)}.eyebrow:after{content:"";display:block;width:64px;height:1px;margin-top:10px;background:linear-gradient(90deg,var(--gold),transparent)}.lede{color:var(--ink-soft);font-size:1.08rem;line-height:1.6;max-width:44ch}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:14px 26px;border-radius:999px;font-weight:600;letter-spacing:.01em;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.link-button{background:none;border:none;color:var(--ink-soft);padding:6px 0}.cta-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}.cta-hint{font-size:.9rem;color:var(--ink-faint)}.home{position:relative;z-index:2;min-height:100vh;overflow-x:hidden;background:#f7f3ed;color:#2e2118;font-family:Figtree,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.home *,.home *:before,.home *:after{box-sizing:border-box}.home a{color:#2e2118;text-decoration:none}.home a:hover{color:#8a6f4a}.home h1,.home h2,.home h3,.home-wordmark,.home-step-num{font-family:Newsreader,Georgia,serif;font-weight:400}.home-nav-wrap{background:#fbf9f5;border-bottom:1px solid #e6ddd0}.home-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,50px);height:58px}.home-wordmark{font-size:20px;letter-spacing:.32em;color:#2e2118;white-space:nowrap}.home-wordmark--small{font-size:13px;letter-spacing:.3em}.home-links{display:flex;gap:clamp(20px,3vw,40px);font-size:15px}.home-links a{color:#4a3b2f}.home-links a:hover{color:#8a6f4a}.home-nav-cta{display:flex;justify-content:flex-end}.home-btn{display:inline-flex;align-items:center;gap:14px;margin-top:32px;background:#3d2b1f;color:#f7f2ea;font:inherit;font-size:17px;font-weight:500;line-height:normal;padding:14px 26px;border:0;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.home-btn:hover{background:#2e2118;color:#fff}.home-btn--small{margin-top:0;font-size:14px;padding:9px 18px;border-radius:5px}.home-eyebrow{margin:0;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#5a4a3c}.home-textlink-row{margin-top:26px}.home-quick{margin-top:30px;padding-top:22px;border-top:1px solid rgba(60,40,20,.14)}.home-quick-label{display:block;margin-bottom:10px;font-size:13px;letter-spacing:.04em;color:#281e14b3}.home-quick-row{display:flex;flex-wrap:wrap;gap:10px}.home-quick-input{flex:1 1 150px;min-width:0;padding:11px 14px;border:1px solid rgba(60,40,20,.28);border-radius:6px;background:#ffffffd9;color:inherit;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;letter-spacing:.22em;text-transform:uppercase}.home-quick-input::placeholder{letter-spacing:.08em;text-transform:none;color:#281e1466}.home-quick-input:focus{outline:2px solid rgba(120,80,40,.45);outline-offset:1px}.home-quick-input[aria-invalid=true]{border-color:#b3423a}.home-quick .home-btn--small{margin-top:0}.home-quick .home-btn:disabled{opacity:.55;cursor:default}.home-quick-error{margin:10px 0 0;font-size:13px;color:#b3423a}.home-textlink{display:inline-block;font-size:15.5px;color:#2e2118;padding-bottom:3px;border-bottom:1.5px solid #c8aa78}.home-hero{position:relative;overflow:hidden}.home-hero-inner{max-width:1280px;margin:0 auto;padding-left:clamp(20px,4vw,50px);display:flex;flex-wrap:wrap;align-items:stretch}.home-hero-copy{flex:1 1 300px;max-width:440px;padding:clamp(40px,6vw,76px) 24px 56px 0;position:relative;z-index:2}.home-hero h1{margin:22px 0 0;font-size:clamp(44px,5.6vw,78px);line-height:.98;letter-spacing:-.012em;color:#2e2118}.home-hero .home-lede{margin:28px 0 0;font-size:19px;line-height:1.4;color:#4a3b2f;max-width:350px;text-wrap:pretty}.home-hero-figure{flex:2 1 400px;min-width:0;position:relative;display:flex;flex-direction:column;justify-content:flex-end}.home-hero-mask{position:relative;width:100%;aspect-ratio:609 / 544;-webkit-mask-image:linear-gradient(to right,transparent 4%,#000 26%);mask-image:linear-gradient(to right,transparent 4%,#000 26%)}.home-hero-mask img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.home-hero-caption{position:absolute;left:0;right:0;bottom:16px;margin:0;text-align:center;font-size:12px;color:#3a2a1e;pointer-events:none}.home-strip{border-top:1px solid #e6ddd0;border-bottom:1px solid #e6ddd0;background:#fbf9f5;overflow:hidden}.home-strip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin:-1px 0 0 -1px}.home-strip-grid>div{display:flex;align-items:center;justify-content:center;gap:18px;padding:20px 24px;font-size:15px;color:#3a2a1e;border-left:1px solid #e6ddd0;border-top:1px solid #e6ddd0}.home-strip-grid svg{flex:none}.home-how{padding:clamp(48px,6vw,64px) clamp(20px,4vw,50px) clamp(44px,5vw,56px)}.home-how-inner{max-width:1180px;margin:0 auto;text-align:center}.home-how h2,.home-belong h2,.home-cta h2{margin:16px 0 0;font-size:clamp(34px,4.4vw,52px);line-height:1.1;letter-spacing:-.01em;color:#2e2118;text-wrap:balance}.home-steps{margin-top:52px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));overflow:hidden}.home-step{padding:8px 24px 20px;display:flex;flex-direction:column;align-items:center;border-left:1px solid #e6ddd0;border-top:1px solid #e6ddd0;margin:-1px 0 0 -1px}.home-step-head{display:flex;align-items:center;gap:26px;color:#2e2118}.home-step-num{font-size:44px;line-height:1;color:#c8aa78}.home-step h3{margin:18px 0 0;font-size:23px;line-height:1.2;color:#2e2118}.home-step p{margin:10px 0 0;font-size:15.5px;line-height:1.5;color:#5a4a3c;max-width:260px;text-wrap:pretty}.home-belong{background:#efe6da}.home-belong-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));align-items:stretch}.home-belong-photo{position:relative;min-height:320px;-webkit-mask-image:linear-gradient(to right,#000 78%,transparent 100%);mask-image:linear-gradient(to right,#000 78%,transparent 100%)}.home-belong-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.home-belong-copy{padding:clamp(40px,5vw,60px) clamp(24px,4vw,56px) clamp(40px,5vw,60px) clamp(24px,4vw,64px);max-width:580px}.home-belong h2{font-size:clamp(34px,4vw,48px);text-wrap:initial}.home-belong .home-lede{margin:22px 0 0;font-size:18.5px;line-height:1.45;color:#4a3b2f;text-wrap:pretty}.home-belong .home-textlink-row{margin-top:28px}.home-cta{padding:clamp(48px,6vw,64px) 24px clamp(40px,5vw,56px);text-align:center}.home-cta h2{margin:0}.home-cta-row{margin-top:28px;display:flex;justify-content:center}.home-cta .home-btn{margin-top:0}.home-fineprint{margin:18px 0 0;font-size:12.5px;color:#6b5b4d;text-wrap:pretty}.home-foot{border-top:1px solid #e6ddd0;background:#f7f3ed}.home-foot-inner{max-width:1280px;margin:0 auto;padding:20px clamp(20px,4vw,50px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.home-foot-links{display:flex;gap:40px;font-size:14px}.home-foot-links a{color:#3a2a1e}.home-foot-links a:hover{color:#8a6f4a}@media(max-width:640px){.home-links{display:none}.home-nav{grid-template-columns:1fr auto}.home-nav .home-wordmark{font-size:16px;letter-spacing:.24em}}.twin-studio{--font-sans: "Avenir Next", Avenir, "Segoe UI", sans-serif;--font-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--primary: #5b3f2c;--spacing: .25rem;position:relative;z-index:2;line-height:1.5;-webkit-font-smoothing:antialiased}@media(max-width:920px){.twin-studio .ts-empty-portrait{gap:0}.twin-studio .ts-empty-portrait p{display:none}}:where(.twin-studio *,.twin-studio *:before,.twin-studio *:after){box-sizing:border-box;border-width:0;border-style:solid}:where(.twin-studio) :where(h1,h2,h3,p,dl,dd,blockquote){margin:0}:where(.twin-studio a){color:inherit;text-decoration:none}:where(.twin-studio button){background:none;color:inherit;cursor:pointer;padding:0}:where(.twin-studio svg){display:block;flex-shrink:0}.twin-studio [data-slot=tabs-trigger],.twin-studio [data-slot=toggle-group-item]{display:inline-flex;align-items:center;justify-content:center}.twin-studio [data-slot=tabs-content][hidden]{display:none}.twin-studio .ts-select[data-slot=select-trigger]{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23564735' stroke-opacity='.5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px!important}.twin-studio .ts-select:invalid{color:#ad9f8d}.twin-studio [data-slot=radio-group-item]{display:inline-grid;place-items:center;aspect-ratio:1;border-radius:50%;flex-shrink:0}.twin-studio [data-slot=radio-group-item][data-state=checked]:after{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.twin-studio .ts-system-voices{display:grid}.twin-studio .ts-voice-tabs{display:flex;flex-direction:column}.ts-dialog-overlay{position:fixed;inset:0;z-index:50;background:#00000080;animation:.2s ts-appear}.ts-dialog-content{position:fixed;top:50%;left:50%;z-index:51;display:grid;gap:16px;width:100%;max-width:calc(100% - 2rem);transform:translate(-50%,-50%);animation:.2s ts-appear}.ts-dialog-content [data-slot=dialog-header]{display:flex;flex-direction:column;gap:8px}.ts-dialog-close{position:absolute;top:16px;right:16px;opacity:.7;border-radius:2px}.ts-dialog-close:hover{opacity:1}.twin-studio .ts-preview-note.ts-preview-note--busy{display:flex;align-items:center;gap:10px}@keyframes ts-record-pulse{50%{box-shadow:0 0 0 8px #bb725c19}}@keyframes ts-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.skip-link{background:var(--primary);color:#fff;z-index:100;border-radius:8px;padding:12px 20px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.brand{font-family:var(--font-serif);letter-spacing:.19em;white-space:nowrap;align-items:center;gap:13px;font-size:1.25rem;display:flex}.brand-symbol{border:1.5px solid #896341;border-radius:4px;place-items:center;width:28px;height:32px;display:grid;transform:rotate(-3deg)}.brand-symbol>span{border:1px solid #ae8e6d;border-radius:2px;width:18px;height:22px}@media(max-width:800px){.topbar .brand{grid-area:1/1}.brand{letter-spacing:.15em;gap:10px;font-size:1.0625rem}.brand-symbol{width:24px;height:28px}.brand-symbol>span{width:15px;height:19px}}@media(max-width:430px){.brand{letter-spacing:.12em;font-size:.9375rem}}.twin-studio{--ts-bg:#f7f4ee;--ts-paper:#fffdfa;--ts-ink:#342b23;--ts-muted:#807365;--ts-line:#e7dfd3;--ts-accent:#9b7953;--ts-button:#62472f;background:radial-gradient(ellipse at 4% 45%,#efe7da55,transparent 43%),var(--ts-bg);min-height:100svh;color:var(--ts-ink);font-family:var(--font-sans)}.twin-studio button,.twin-studio input,.twin-studio textarea,.twin-studio select{font:inherit}.twin-studio button{border:0}.twin-studio input,.twin-studio textarea{border:1px solid var(--ts-line)}.twin-studio button:disabled{cursor:not-allowed}.ts-header{border-bottom:1px solid var(--ts-line);background:#fcfaf7;justify-content:space-between;align-items:center;gap:28px;height:82px;padding:0 clamp(24px,3.4vw,60px);display:flex}.ts-header .brand{letter-spacing:.2em;font-size:1.13rem}.ts-header .brand-symbol{width:26px;height:31px}.ts-motto{font-family:var(--font-serif);color:#998874;font-style:italic}.ts-credit{text-align:right;color:#8a7a68;max-width:340px;font-size:.75rem;line-height:1.5}.ts-shell{width:100%;max-width:1390px;margin:auto;padding:31px 36px 25px}.ts-page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.ts-back-link{color:#877360;align-items:center;gap:8px;margin-bottom:13px;font-size:.8125rem;display:inline-flex}.ts-back-link:hover{color:var(--ts-ink)}.ts-page-heading h1{font-family:var(--font-serif);letter-spacing:-.035em;font-size:2.65rem;font-weight:400;line-height:1.15}.ts-page-heading h1>span{color:#a78965}.ts-page-heading p{color:var(--ts-muted);margin-top:10px;font-size:.9375rem;line-height:1.6}.ts-prototype{color:#907758;letter-spacing:.025em;border:1px solid #e2d7c6;border-radius:5px;align-self:flex-start;margin-top:36px;padding:7px 12px;font-size:.75rem}.ts-workspace{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:32px;display:grid}.ts-sidebar{position:sticky;top:25px}.ts-portrait-card{background:#e0d1ba;border:1px solid #ddd0bb;border-radius:15px;position:relative;overflow:hidden}.ts-preview-top{z-index:2;background:linear-gradient(#e7dbcaee,#e7dbca99,#0000);justify-content:space-between;align-items:center;gap:8px;padding:17px 18px;display:flex;position:absolute;top:0;left:0;right:0}.ts-preview-top>span:first-child{letter-spacing:.14em;color:#69523a;font-size:.75rem}.ts-preview-badge{color:#77614b;white-space:nowrap;background:#fffaf0b0;border:1px solid #fffaf033;border-radius:20px;padding:4px 8px;letter-spacing:0!important;font-size:.75rem!important}.ts-portrait-image{background:#e3d7c8;height:403px;position:relative;overflow:hidden}.ts-portrait-image>img{object-fit:cover;object-position:center;width:100%;height:100%}.ts-portrait-image.is-sample>img{width:100%;max-width:none;height:auto;position:absolute;bottom:0;left:0}.ts-portrait-details{text-align:center;background:#eee5d6;border-top:1px solid #fff8e6aa;padding:22px 22px 24px}.ts-portrait-details h2{font-family:var(--font-serif);overflow-wrap:anywhere;letter-spacing:-.025em;font-size:2.3rem;font-weight:400;line-height:1.15}.ts-portrait-details p{color:#897151;margin-top:9px;font-size:.8125rem;line-height:1.6}.ts-empty-portrait{color:#a08b73;flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100%;display:flex}.ts-empty-portrait p{font-family:var(--font-serif);text-align:center;font-size:1.7rem;line-height:1.25}.ts-profile-details{border-bottom:1px solid var(--ts-line);padding:28px 10px 18px}.ts-overline{color:#997c57;letter-spacing:.17em;font-size:.75rem;font-weight:500;line-height:1.6;display:block}.ts-profile-details>.ts-overline{margin-bottom:16px;font-size:.75rem}.ts-profile-details>div{align-items:center;gap:10px;padding:9px 0;font-size:.8125rem;display:flex}.ts-profile-details>div>svg{color:#a58b69}.ts-profile-details>div>span{color:#8e7e6b}.ts-profile-details strong{color:#63503b;text-align:right;overflow-wrap:anywhere;max-width:48%;margin-left:auto;font-size:.8125rem;font-weight:500}.ts-sidebar-note{color:#8c7963;text-align:center;font-size:.875rem;line-height:1.8;font-family:var(--font-serif);padding:21px 10px}.ts-editor[data-slot=tabs]{background:var(--ts-paper);border:1px solid var(--ts-line);border-radius:16px;flex-direction:column;gap:0;min-width:0;display:flex;overflow:hidden;box-shadow:0 4px 9px #5f402e03,0 16px 40px #654f3906}.ts-stepper[data-slot=tabs-list]{border-bottom:1px solid var(--ts-line);background:#f7f3ed;border-radius:0;grid-template-columns:.85fr .82fr 1.05fr 1.42fr;gap:0;width:100%;height:77px;padding:0;display:grid}.ts-step[data-slot=tabs-trigger]{flex:initial;white-space:normal;color:#a19585;background:0 0;border:0;border-radius:0;gap:8px;width:100%;height:100%;padding:10px 8px;font-size:.875rem;font-weight:450;line-height:1.35;transition:background .2s;position:relative;box-shadow:none!important}.ts-step[data-slot=tabs-trigger]:after{display:none}.ts-step[data-state=active]{color:#4f3b28;background:var(--ts-paper)}.ts-step[data-state=active]:before{content:"";background:#ac8a58;height:2px;position:absolute;bottom:-1px;left:0;right:0}.ts-step-number{font-family:var(--font-serif);color:#b79b76;border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;font-size:.875rem;font-weight:400;display:grid}.ts-step[data-state=active] .ts-step-number{color:#fffefa;font-family:var(--font-sans);background:#b19568;font-size:.75rem}.ts-step-number.is-complete{color:#9a855e;background:#eae4d6}.ts-form-area{padding:35px 38px 29px}.ts-panel[data-slot=tabs-content]{min-width:0;margin:0}.ts-panel[data-state=active]{animation:.2s ts-appear}.ts-intro{margin-bottom:28px}.ts-intro>.ts-overline{letter-spacing:.16em;margin-bottom:10px;font-size:.75rem}.ts-intro h2{font-family:var(--font-serif);letter-spacing:-.03em;color:#3c2e21;font-size:2.15rem;font-weight:400;line-height:1.18}.ts-intro h2 em{color:#987d5a;font-weight:400}.ts-intro>p{color:#8a7b68;max-width:620px;margin-top:11px;font-size:1rem;line-height:1.7}.ts-form-section{margin-top:25px}.ts-name-section{margin-top:0}.ts-label{color:#514333;align-items:center;gap:7px;margin-bottom:8px;font-size:.875rem;font-weight:500;line-height:1.5;display:flex}.ts-field-meta{color:#a19481;font-size:.75rem;font-weight:400}.ts-input,.ts-textarea,.ts-select[data-slot=select-trigger]{color:#564735;width:100%;box-shadow:none;outline-offset:2px;background:#fbf8f3;border:1px solid #e5ddd1;border-radius:7px;transition:border-color .2s,box-shadow .2s;font-size:.9375rem!important}.ts-input{height:46px;padding:0 14px}.ts-input:focus,.ts-textarea:focus,.ts-select[data-state=open]{border-color:#b49368;outline:2px solid #b4936825;box-shadow:0 0 0 3px #b4936810}.ts-input::placeholder,.ts-textarea::placeholder{color:#ad9f8d}.ts-textarea{resize:vertical;min-height:115px;padding:11px 14px;line-height:1.7;display:block}.ts-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.ts-section-heading h3{color:#514333;font-size:.875rem;font-weight:500;line-height:1.5}.ts-section-heading p,.ts-field-help{color:#94836f;margin-top:4px;font-size:.8125rem;line-height:1.6}.ts-field-help{margin-top:-3px;margin-bottom:10px}.ts-selection-count{color:#9c876b;white-space:nowrap;padding-top:3px;font-size:.75rem}.ts-chip-picker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ts-chips[data-slot=toggle-group]{display:contents}.ts-chip[data-slot=toggle-group-item]{color:#8a765d;white-space:nowrap;background:#fffdfa;gap:6px;min-width:0;height:34px;padding:0 13px;font-size:.8125rem;font-weight:400;line-height:1;box-shadow:none!important;border:1px solid #e1d7c7!important;border-radius:30px!important}.ts-chip[data-state=on]{color:#73593c!important;background:#eee6d8!important;border-color:#c4ae8c!important}.ts-chip:hover{background:#f5ede0}.ts-chip>svg{width:12px!important;height:12px!important}.ts-add-chip{color:#967e5e;white-space:nowrap;background:0 0;border-radius:30px;align-items:center;gap:5px;height:34px;padding:0 12px;display:flex;border:1px dashed #d8cbb8!important;font-size:.8125rem!important}.ts-custom-chip{background:#fbf8f3;border:1px solid #c4ae8c;border-radius:7px;align-items:center;gap:1px;width:245px;display:flex}.ts-custom-chip input{background:0 0;border:0;width:170px;min-width:0;height:33px;padding:5px 9px;font-size:.8125rem}.ts-round{color:#a28d72;background:0 0;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.ts-round:hover{color:#654b31;background:#eee5d9}.ts-story{height:124px;min-height:124px;font-size:.875rem!important}.ts-textarea-bottom{color:#a0917d;justify-content:space-between;gap:15px;margin-top:7px;font-size:.75rem;line-height:1.5;display:flex}.ts-family-section{border-top:1px solid var(--ts-line);padding-top:23px}.ts-family-labels,.ts-family-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 29px;align-items:center;gap:12px;display:grid}.ts-family-labels{color:#98866f;margin:14px 0 8px;font-size:.75rem;line-height:1.4}.ts-family-rows{flex-direction:column;gap:9px;display:flex}.ts-select[data-slot=select-trigger]{min-width:0;height:44px;padding:0 12px;overflow:hidden;font-size:.875rem!important}.ts-select>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.ts-family-row .ts-input{height:44px;font-size:.875rem!important}.ts-remove{color:#b1a28c;width:29px;height:32px}.ts-custom-relationship{grid-column:1/3}.ts-text-button{color:#9c7951;background:0 0;align-items:center;gap:7px;min-height:38px;padding:12px 0 0;display:flex;font-size:.8125rem!important}.ts-text-button:hover{color:#61472e}.ts-form-footer{border-top:1px solid var(--ts-line);background:#fffcf8;padding:19px 38px 21px}.ts-footer-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.ts-button{border-radius:7px;justify-content:center;align-items:center;gap:11px;min-height:45px;padding:13px 18px;line-height:1.4;display:inline-flex;font-size:.875rem!important;font-weight:500!important}.ts-primary{background:var(--ts-button,#62472f);color:#fffcf6;box-shadow:0 2px 4px #63482f13}.ts-primary:hover{background:#533a26}.ts-back{color:#897255;background:0 0;min-width:86px;border:1px solid #e0d5c4!important}.ts-back:disabled{visibility:hidden}.ts-step-count{color:#aa9a82;margin:auto auto auto 0;font-size:.75rem}.ts-error{color:#a0432e;background:#fcf0e8;border:1px solid #eacdbc;border-radius:6px;margin-bottom:15px;padding:10px 13px;font-size:.875rem;line-height:1.6}.ts-local-note{color:#9a8a75;text-align:center;margin:21px 0 0;font-size:.75rem;line-height:1.6}.ts-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ts-photo-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.ts-field-heading{color:#66513a;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;font-size:.875rem;display:flex}.ts-upload{background:#f7f1e8;border:1px dashed #d7c8b2;border-radius:10px;flex-direction:column;min-height:190px;transition:background .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.ts-upload.is-dragging{background:#e9dbc6;border-color:#9b7953;box-shadow:inset 0 0 0 1px #9b7953}.ts-upload.has-media{border:1px solid #dacdb9}.ts-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ts-upload-hit{text-align:center;color:#91795a;width:100%;min-height:inherit;background:0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:11px;padding:28px 14px;display:flex}.ts-upload-icon{color:#ac9170;background:#fffaf3;border:1px solid #ddcdb6;border-radius:50%;place-items:center;width:51px;height:51px;display:grid}.ts-upload-hit strong{font-size:.875rem;font-weight:500;line-height:1.5}.ts-upload-hit>span:not(.ts-upload-icon){color:#a39177;max-width:230px;font-size:.75rem;line-height:1.6}.ts-upload-hit .ts-browse{border-bottom:1px solid #ceb997;align-items:center;gap:8px;margin-top:4px;padding:5px 0;font-size:.75rem;display:flex;color:#98734b!important}.ts-photo-upload{height:340px}.ts-upload-media{background:#e8ddca;flex:1;min-height:0;position:relative;overflow:hidden}.ts-upload-media>img,.ts-upload-media>video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ts-upload-media>video{object-fit:contain;background:#382f26}.ts-upload-media.ts-sample-photo>img{object-fit:initial;width:193%;max-width:none;height:auto;top:-67%;left:-47%}.ts-upload-caption{color:#8a7256;background:#fffcf5;align-items:center;gap:10px;min-height:45px;padding:9px 12px;font-size:.75rem;display:flex}.ts-upload-caption>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ts-upload-caption>button:not(.ts-round){text-underline-offset:3px;color:#8c6740;background:0 0;flex-shrink:0;font-size:.75rem;text-decoration:underline}.ts-upload-caption>.ts-round{width:22px;height:24px}.ts-photo-tips{flex-wrap:wrap;gap:13px 19px;padding:21px 0 0;display:flex}.ts-photo-tips>span{color:#8e7b60;align-items:center;gap:6px;font-size:.75rem;display:flex}.ts-photo-tips svg{color:#a78e68}.ts-file-note{color:#9a896f;margin-top:13px;line-height:1.7;display:block;font-size:.75rem!important}.ts-language{align-items:center;gap:16px;margin-bottom:25px;display:flex}.ts-language>label{color:#6d5941;font-size:.875rem}.ts-language>.ts-select{background:#fffefa;width:190px}.ts-voice-tabs{gap:21px!important}.ts-voice-options[data-slot=tabs-list]{background:#f5efe6;border:1px solid #e4d9c8;border-radius:9px;grid-template-columns:1fr 1fr 1fr;gap:3px;width:100%;height:auto;padding:4px;display:grid}.ts-voice-options [data-slot=tabs-trigger]{color:#9b866a;white-space:normal;text-align:center;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:8px;min-height:64px;padding:10px 8px;font-size:.8125rem;font-weight:400}.ts-voice-options [data-slot=tabs-trigger]:after{display:none}.ts-voice-options [data-state=active]{color:#6e5031!important;background:#fffdfa!important;box-shadow:0 1px 4px #75533512!important}.ts-voice-options [data-slot=tabs-trigger]>svg{width:19px!important;height:19px!important}.ts-record-panel{text-align:center;background:#faf5ec;border:1px solid #e8dcc9;border-radius:10px;flex-direction:column;align-items:center;padding:26px 20px;display:flex}.ts-record-symbol{color:#937146;background:#eee1ce;border:1px solid #dfcaae;border-radius:50%;place-items:center;width:59px;height:59px;margin-bottom:15px;display:grid}.ts-record-symbol.is-recording{color:#fff;background:#bb725c;animation:1.8s infinite ts-record-pulse}.ts-record-panel h3{font-family:var(--font-serif);color:#6e5133;font-size:1.65rem;font-weight:400}.ts-record-panel p{color:#9a8263;max-width:360px;margin-top:8px;font-size:.875rem;line-height:1.6}.ts-record-panel blockquote{font-family:var(--font-serif);color:#9a8263;text-align:left;border-left:2px solid #d9c4a5;margin:22px auto;padding-left:18px;font-size:1.125rem;font-style:italic;line-height:1.65}.ts-record-controls{align-items:center;gap:22px;margin-bottom:3px;display:flex}.ts-timer{font-variant-numeric:tabular-nums;letter-spacing:.06em;color:#8e7050;font-size:1.125rem}.ts-stop{color:#fff;background:#ab6551}.ts-audio-upload{min-height:245px}.ts-default-heading{margin-bottom:15px}.ts-default-heading h3{font-family:var(--font-serif);color:#634a31;font-size:1.6rem;font-weight:400}.ts-default-heading p{color:#968066;margin-top:6px;font-size:.8125rem;line-height:1.5}.ts-system-voices{gap:11px}.ts-voice-card{background:#fffdfa;border:1px solid #e4daca;border-radius:9px;align-items:center;gap:13px;min-width:0;padding:17px 15px;display:flex}.ts-voice-card.is-selected{background:#f8f1e6;border-color:#b59971}.ts-voice-card label{cursor:pointer;flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.ts-voice-card strong{color:#705537;overflow-wrap:anywhere;font-size:.875rem;font-weight:500}.ts-voice-card label>span{color:#9a8569;font-size:.75rem;line-height:1.5}.ts-voice-card [data-slot=radio-group-item]{box-shadow:none;color:#947247;background:0 0;border:1px solid #c5ae8d;width:17px;height:17px}.ts-voice-play{color:#9a774b;background:0 0;align-items:center;gap:6px;min-height:38px;padding:3px 4px;display:flex;font-size:.75rem!important}.ts-audio-files{margin-top:25px}.ts-audio-file{background:#f7f0e5;border:1px solid #e4d8c6;border-radius:8px;margin-bottom:10px;padding:12px 14px}.ts-audio-file>div{color:#8f7350;align-items:center;gap:9px;margin-bottom:8px;font-size:.8125rem;display:flex}.ts-audio-file>div>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ts-audio-file small{color:#a28d71;margin-top:3px;font-size:.75rem;display:block}.ts-audio-file audio{width:100%;max-width:100%;height:34px}.ts-preview-note{color:#9b8262;background:#f6efe3;border:1px solid #e6d8c2;border-radius:7px;margin-top:18px;padding:12px 14px;line-height:1.7;font-size:.8125rem!important}.ts-memory-list-heading{color:#9b886b;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px;font-size:.75rem;display:flex}.ts-memory-list-heading>span:first-child{color:#776044;font-weight:500}.ts-memory-list-heading>span:last-child{text-align:right}.ts-memories{flex-direction:column;gap:17px;display:flex}.ts-memory-row{background:#fdfaf4;border:1px solid #e3d8c6;border-radius:10px;padding:16px 18px 20px}.ts-memory-row>header{justify-content:space-between;align-items:center;margin:-5px -5px 10px 0;display:flex}.ts-memory-number{letter-spacing:.13em;color:#ac9070;font-size:.75rem}.ts-memory-fields{grid-template-columns:minmax(0,1fr) 165px;gap:18px;display:grid}.ts-memory-text{min-width:0}.ts-memory-text .ts-label{color:#81684b;font-size:.8125rem}.ts-memory-text .ts-input{background:#fffefa;height:41px;margin-bottom:13px;font-size:.875rem!important}.ts-memory-text .ts-textarea{background:#fffefa;height:116px;min-height:116px;line-height:1.6;font-size:.8125rem!important}.ts-memory-upload>.ts-label{white-space:nowrap;justify-content:space-between;gap:3px;font-size:.8125rem}.ts-memory-upload .ts-field-meta{font-size:.75rem}.ts-memory-upload>.ts-upload{background:#f3ecdf;height:204px;min-height:204px}.ts-memory-upload .ts-upload-hit{gap:10px;padding:15px 10px}.ts-memory-upload .ts-upload-hit strong{font-size:0;line-height:1.4}.ts-memory-upload .ts-upload-hit strong:before{content:"Add photo / video";font-size:.75rem}.ts-memory-upload .ts-upload-hit .ts-browse{display:none}.ts-memory-upload .ts-upload-caption{flex-wrap:wrap;gap:4px;min-height:44px;padding:8px 6px;font-size:.75rem}.ts-memory-upload .ts-upload-caption>span{flex-basis:100%;font-size:.75rem}.ts-memory-upload .ts-upload-caption>.ts-round{margin-left:auto}.ts-memory-upload .ts-upload-caption>button:not(.ts-round){font-size:.75rem}.ts-add-memory{color:#967249;background:#faf6ed;border-radius:8px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:51px;margin-top:18px;display:flex;border:1px dashed #cdbb9e!important;font-size:.875rem!important}.ts-add-memory:hover{background:#f1e7d7}.ts-memory-note{color:#a8906e;align-items:flex-start;gap:11px;margin-top:20px;display:flex}.ts-memory-note>svg{flex-shrink:0;margin-top:2px}.ts-memory-note p{font-size:.8125rem;line-height:1.7}.ts-memory-note span{color:#a79780;margin-top:5px;font-size:.75rem;display:block}.ts-review-dialog{max-height:90svh;font-family:var(--font-sans);overflow-y:auto;background:#fffdfa!important;border:1px solid #e1d4c0!important;border-radius:14px!important;max-width:590px!important;padding:30px!important}.ts-review-dialog [data-slot=dialog-title]{font-family:var(--font-serif);color:#674b2f;letter-spacing:-.03em;margin:8px 0;font-size:2.4rem;font-weight:400}.ts-review-dialog [data-slot=dialog-description]{color:#978063;font-size:.9375rem;line-height:1.6}.ts-review-chips{flex-wrap:wrap;gap:7px;display:flex}.ts-review-chips>span{color:#87643d;background:#f4ebdd;border:1px solid #d7c4a7;border-radius:22px;padding:5px 11px;font-size:.8125rem}.ts-review-summary{margin:0}.ts-review-summary>div{border-bottom:1px solid #eee3d2;grid-template-columns:135px minmax(0,1fr);gap:15px;padding:12px 0;font-size:.8125rem;line-height:1.7;display:grid}.ts-review-summary dt{color:#ac9271}.ts-review-summary dd{color:#796042;overflow-wrap:anywhere;margin:0}.ts-review-dialog .ts-preview-note{margin-top:0}.ts-review-dialog .ts-primary{background:#62472f;border:0}@media(min-width:1650px){.ts-shell{max-width:1480px;padding-top:38px}.ts-workspace{grid-template-columns:370px minmax(0,1fr);gap:39px}.ts-portrait-image{height:452px}.ts-form-area{padding:38px 44px 32px}.ts-form-footer{padding-left:44px;padding-right:44px}.ts-intro h2{font-size:2.3rem}.ts-memory-fields{grid-template-columns:minmax(0,1fr) 190px}.ts-photo-upload{height:385px}}@media(max-width:1150px){.ts-motto{display:none}.ts-shell{padding:28px 25px}.ts-workspace{grid-template-columns:270px minmax(0,1fr);gap:23px}.ts-portrait-image{height:330px}.ts-form-area{padding:30px 27px}.ts-form-footer{padding:18px 27px}.ts-stepper[data-slot=tabs-list]{grid-template-columns:.85fr .8fr 1.1fr 1.4fr;height:76px}.ts-step[data-slot=tabs-trigger]{gap:5px;font-size:.8125rem}.ts-intro h2{font-size:1.875rem}.ts-intro p{font-size:.9375rem}.ts-photo-upload{height:300px}.ts-memory-fields{grid-template-columns:minmax(0,1fr) 142px;gap:14px}.ts-memory-row{padding:15px 14px}.ts-profile-details>div,.ts-profile-details strong{font-size:.75rem}.ts-preview-top{padding:15px 12px}.ts-preview-top>span:first-child{font-size:.75rem}.ts-preview-badge{font-size:.75rem!important}.ts-memory-upload>.ts-label{white-space:normal}.ts-memory-upload .ts-field-meta{display:none}}@media(max-width:920px){.ts-shell{max-width:780px}.ts-workspace{grid-template-columns:minmax(0,1fr);gap:20px}.ts-sidebar{display:block;position:static}.ts-portrait-card{background:#efe4d2;align-items:center;min-height:102px;display:flex}.ts-preview-top{display:none}.ts-portrait-image{flex-shrink:0;width:90px;height:102px}.ts-portrait-image.is-sample>img{width:170%;bottom:-20px;left:-36%}.ts-portrait-details{text-align:left;background:0 0;border:0;padding:17px 22px}.ts-portrait-details h2{font-size:1.8rem}.ts-portrait-details p{margin-top:5px}.ts-profile-details,.ts-sidebar-note{display:none}.ts-form-area{padding:30px 32px}.ts-form-footer{padding:18px 32px}.ts-header{height:74px}.ts-header .brand{letter-spacing:.16em;font-size:1rem}.ts-credit{max-width:260px;font-size:.75rem}.ts-page-heading h1{font-size:2.35rem}.ts-page-heading{margin-bottom:24px}.ts-photo-upload{height:330px}.ts-stepper[data-slot=tabs-list]{height:70px}.ts-step[data-slot=tabs-trigger]{gap:8px;font-size:.875rem}.ts-memory-fields{grid-template-columns:minmax(0,1fr) 170px}.ts-memory-upload .ts-field-meta{display:inline}}@media(max-width:580px){.ts-header{flex-wrap:wrap;gap:10px;height:auto;min-height:77px;padding:15px 20px}.ts-header .brand{letter-spacing:.16em;gap:10px;font-size:.875rem}.ts-header .brand-symbol{width:21px;height:27px}.ts-header .brand-symbol>span{width:13px;height:18px}.ts-credit{text-align:left;flex-basis:100%;max-width:100%;padding-left:31px;font-size:.75rem}.ts-shell{padding:22px 15px}.ts-page-heading{align-items:flex-start;gap:10px}.ts-page-heading h1{font-size:2rem}.ts-page-heading p{max-width:290px;margin-top:8px;font-size:.8125rem}.ts-prototype{white-space:nowrap;margin-top:32px;padding:6px 7px;font-size:.75rem}.ts-back-link{font-size:.75rem}.ts-portrait-card{border-radius:10px;min-height:86px}.ts-portrait-image{width:77px;height:87px}.ts-portrait-details{padding:14px 17px}.ts-portrait-details h2{font-size:1.65rem}.ts-portrait-details p{font-size:.75rem}.ts-stepper[data-slot=tabs-list]{grid-template-columns:.8fr .8fr 1.05fr 1.25fr;height:83px}.ts-step[data-slot=tabs-trigger]{flex-direction:column;gap:6px;padding:10px 4px;font-size:.75rem}.ts-step-number{width:22px;height:22px;font-size:.75rem}.ts-step[data-state=active] .ts-step-number{font-size:.75rem}.ts-form-area{padding:26px 19px 24px}.ts-intro{margin-bottom:23px}.ts-intro h2{font-size:1.75rem}.ts-intro>p{font-size:.875rem;line-height:1.7}.ts-intro>.ts-overline{font-size:.75rem}.ts-form-section{margin-top:24px}.ts-name-section{margin-top:0}.ts-form-footer{padding:17px 18px}.ts-footer-actions{gap:10px}.ts-button{gap:8px;min-height:44px;padding:12px 13px;font-size:.75rem!important}.ts-back{min-width:60px}.ts-step-count{font-size:.75rem}.ts-input,.ts-textarea,.ts-family-row .ts-input,.ts-story{font-size:1rem!important}.ts-select[data-slot=select-trigger]{font-size:.875rem!important}.ts-family-labels,.ts-family-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 24px;gap:7px}.ts-family-labels{font-size:.75rem}.ts-family-row .ts-input{padding:0 10px}.ts-select[data-slot=select-trigger]{gap:4px;padding:0 8px}.ts-remove{width:24px}.ts-chip[data-slot=toggle-group-item],.ts-add-chip{height:35px;padding:0 11px;font-size:.75rem!important}.ts-selection-count{font-size:.75rem}.ts-textarea-bottom{gap:10px;font-size:.75rem}.ts-textarea-bottom>span:last-child{white-space:nowrap}.ts-photo-grid{grid-template-columns:1fr;gap:23px}.ts-photo-upload{height:320px}.ts-photo-grid>div:last-child .ts-photo-upload:not(.has-media){height:195px;min-height:195px}.ts-photo-grid>div:last-child .ts-photo-upload:not(.has-media) .ts-upload-hit{padding:20px}.ts-photo-tips{gap:10px;font-size:.75rem}.ts-language{flex-direction:column;align-items:flex-start;gap:9px}.ts-language>.ts-select{width:100%}.ts-voice-options[data-slot=tabs-list]{gap:2px}.ts-voice-options [data-slot=tabs-trigger]{min-height:68px;padding:10px 5px;font-size:.75rem}.ts-voice-card{gap:10px;padding:14px 11px}.ts-voice-play span{display:none}.ts-record-panel{padding:24px 16px}.ts-record-panel h3{font-size:1.5rem}.ts-record-panel blockquote{padding-left:13px;font-size:1.0625rem}.ts-memory-list-heading{align-items:flex-start;gap:12px}.ts-memory-list-heading>span:last-child{max-width:170px;font-size:.75rem}.ts-memory-fields{grid-template-columns:minmax(0,1fr)}.ts-memory-row{padding:15px}.ts-memory-text .ts-textarea{height:135px;font-size:1rem!important}.ts-memory-text .ts-input{height:45px;font-size:1rem!important}.ts-memory-upload>.ts-label{justify-content:flex-start;gap:8px}.ts-memory-upload>.ts-upload{height:152px;min-height:152px}.ts-memory-upload .ts-upload-hit{text-align:left;grid-template-columns:45px auto;place-content:center;gap:6px 15px;display:grid}.ts-memory-upload .ts-upload-icon{grid-row:1/3;width:42px;height:42px}.ts-memory-upload .ts-upload-hit strong{align-self:end}.ts-memory-upload .ts-upload-hit>span:not(.ts-upload-icon){align-self:start}.ts-memory-upload>.ts-upload.has-media{height:220px}.ts-memory-upload .ts-upload-caption{flex-wrap:nowrap;padding:8px 10px}.ts-memory-upload .ts-upload-caption>span{flex-basis:auto}.ts-memory-note span{font-size:.75rem}.ts-review-dialog{padding:25px!important}.ts-review-summary>div{grid-template-columns:1fr;gap:4px}.ts-review-dialog [data-slot=dialog-title]{font-size:2rem}.ts-local-note{margin-top:18px;font-size:.75rem}}@media(prefers-reduced-motion:reduce){.ts-panel[data-state=active],.ts-record-symbol.is-recording{animation:none}.twin-studio *{scroll-behavior:auto!important}}.twin-studio .ts-label,.twin-studio .ts-section-heading h3,.twin-studio .ts-field-heading,.twin-studio .ts-family-labels{font-size:.875rem}.twin-studio .ts-input,.twin-studio .ts-textarea{font-size:1rem!important}.twin-studio .ts-chip[data-slot=toggle-group-item],.twin-studio .ts-add-chip{font-size:.875rem!important}.twin-studio .ts-step[data-slot=tabs-trigger]{font-size:.875rem}.twin-studio .ts-intro>p{font-size:1rem}.twin-studio .ts-profile-details>div,.twin-studio .ts-profile-details strong{font-size:.875rem}.twin-studio .ts-preview-badge{font-size:.75rem!important}.twin-studio .ts-memory-upload .ts-field-meta{font-size:.75rem}.twin-studio .ts-story{height:153px;min-height:153px}.twin-studio .ts-memory-text .ts-textarea{height:139px;min-height:139px}.twin-studio .ts-memory-upload>.ts-upload{height:235px;min-height:235px}@media(max-width:580px){.twin-studio .ts-family-labels{font-size:.75rem}.twin-studio .ts-stepper[data-slot=tabs-list]{height:94px}.twin-studio .ts-family-row{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 24px}.twin-studio .ts-memory-upload>.ts-upload{height:152px;min-height:152px}.twin-studio .ts-memory-upload>.ts-upload.has-media{height:240px}.twin-studio .ts-story{height:198px}.twin-studio .ts-page-heading h1{font-size:1.9rem}}.stage-loader-detail{display:block;margin-top:-6px;font-size:.82rem;color:var(--ink-faint, #8a7a68)}.stage-memory{position:absolute;left:24px;bottom:96px;z-index:4;display:flex;flex-direction:column;gap:2px;max-width:min(60vw,360px);padding:12px 16px;border-radius:10px;background:#fffdfae6;border:1px solid #e1d4c0;box-shadow:0 8px 24px #5a402e1f;color:#342b23;animation:.35s ts-appear;pointer-events:none}.stage-memory-eyebrow{font-size:.68rem;letter-spacing:.17em;text-transform:uppercase;color:#997c57}.stage-memory-title{font-family:var(--font-display, Georgia, serif);font-size:1.1rem;line-height:1.3}.stage-shell{position:fixed;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 800px at 50% 40%,#efe8dd,#e2d9cc)}.app--landing .stage-shell,.app--setup .stage-shell,.app--launch .stage-shell{opacity:.35;filter:blur(2px);pointer-events:none}.stage-canvas{position:relative;width:100%;height:100vh;display:flex;align-items:center;justify-content:center}.stage-canvas canvas{display:block;border-radius:6px;box-shadow:var(--shadow-md);cursor:grab;touch-action:none}.stage-canvas canvas:active{cursor:grabbing}.app--mode-3d .stage-shell{background:#f1eee8}.app--mode-3d .stage-canvas{height:100dvh}.app--mode-3d .stage-canvas canvas{border-radius:0;box-shadow:none}.stage-topbar{position:fixed;top:18px;left:22px;right:22px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.stage-topbar-right{display:flex;align-items:center;gap:10px}.twin-id-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 14px;border-radius:999px;background:#fffdf9eb;border:1px solid var(--line);color:var(--ink);font:inherit;font-size:13px;cursor:pointer;pointer-events:auto;box-shadow:0 6px 20px #3c281414}.twin-id-chip:hover{background:#fff}.twin-id-label{color:var(--ink-faint);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.twin-id-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;font-weight:600;letter-spacing:.18em}.twin-id-copy{padding:3px 8px;border-radius:999px;background:#0000000f;font-size:11px;letter-spacing:.06em}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fffdf9eb;border:1px solid var(--line);font-size:.85rem;font-weight:600;color:var(--ink-soft);box-shadow:var(--shadow-sm)}.status-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-faint)}.status-pill--listening:before{background:#2f9e5f;animation:pulse 1.6s ease-in-out infinite}.status-pill--thinking:before{background:var(--gold);animation:pulse .9s ease-in-out infinite}.status-pill--speaking:before{background:#3b6fd6;animation:pulse .7s ease-in-out infinite}.status-pill--error:before{background:var(--danger)}.status-pill--preview{padding:7px 12px;background:#fffdf98f;border-color:#50483c17;box-shadow:none;font-size:.74rem;font-weight:450}.status-pill--preview:before{width:5px;height:5px;background:#8b9185}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}.stage-loader{position:fixed;left:50%;bottom:96px;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:999px;background:#fffdf9f0;border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--ink-soft);font-weight:500}.stage-preview{width:36px;height:54px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--gold);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stage-error{position:fixed;left:50%;top:72px;transform:translate(-50%);z-index:6;max-width:min(680px,90vw);padding:12px 16px;border-radius:12px;background:#fff3f1;border:1px solid rgba(180,68,60,.35);color:var(--danger);font-size:.92rem}.stage-unblock{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:7}.stage-controls{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:5;display:flex;gap:12px}.playback-dock{position:fixed;left:50%;bottom:max(34px,calc(env(safe-area-inset-bottom) + 25px));transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:4px;padding:6px;border:1px solid rgb(117 105 86 / .16);border-radius:999px;background:#fffefbd1;box-shadow:0 5px 24px #3e311d0f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.playback-dock-label{margin:0 7px 0 12px;padding-right:18px;border-right:1px solid rgb(117 105 86 / .18);color:#8b8479;font-size:.7rem;white-space:nowrap}.playback-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 11px;border:0;border-radius:999px;background:transparent;color:#57534c;font-size:.72rem;white-space:nowrap;transition:background .15s ease,color .15s ease}.playback-button:hover{background:#695b4512;color:#24221d}.playback-button:focus-visible{outline:2px solid #a98b61;outline-offset:2px}.playback-button--reset{width:34px;padding:0}.playback-hint{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:50%;z-index:5;transform:translate(-50%);margin:0;color:#928b7f;font-size:.61rem;letter-spacing:.025em;white-space:nowrap;pointer-events:none}.playback-hint span{margin:0 7px}.round-button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:#fffdf9f0;box-shadow:var(--shadow-sm);font-size:1.2rem;display:grid;place-items:center}.round-button--end{background:var(--danger);color:#fff;border-color:var(--danger)}.stage-hint-pop{position:fixed;right:28px;top:50%;transform:translateY(-50%);z-index:6;width:min(320px,calc(100vw - 40px));padding:22px 24px 20px;border-radius:16px;background:#fffdf9f7;border:1px solid var(--line);box-shadow:var(--shadow-md);color:var(--ink);animation:hint-in .35s ease-out}.stage-hint-pop h3{margin:0 0 12px;font-family:var(--font-display);font-weight:400;font-size:1.35rem}.stage-hint-pop ul{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:8px;font-size:1rem;line-height:1.4;color:var(--ink-soft)}.stage-hint-pop li b{color:var(--ink)}.stage-hint-pop .btn{padding:10px 20px}@keyframes hint-in{0%{opacity:0;transform:translateY(-50%) translate(12px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.stage-hud{position:fixed;left:22px;bottom:28px;z-index:5;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-soft);background:#fffdf9d9;padding:6px 10px;border-radius:8px}.tuning-hud{position:fixed;right:22px;top:72px;z-index:6;width:260px;display:grid;gap:8px;padding:12px;border-radius:12px;background:#fffdf9f2;border:1px solid var(--line);box-shadow:var(--shadow-sm);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.tuning-hud label{display:grid;gap:2px}.tuning-hud label span{display:flex;justify-content:space-between}.tuning-hud input[type=range]{width:100%}.tuning-row{display:flex;align-items:center;gap:6px}.tuning-row input[type=text]{width:84px;font:inherit}.tuning-check{display:flex!important;align-items:center;gap:6px}.swatch{width:18px;height:18px;border-radius:4px;border:1px solid var(--line-strong)}@media(max-width:640px){.playback-dock-label{display:none}.playback-dock{gap:2px}.playback-button{height:36px;padding:0 12px}.twin-id-label{display:none}.stage-topbar{left:12px;right:12px}.stage-hint-pop{right:50%;top:auto;bottom:100px;transform:translate(50%);animation:none}}.frame2d{position:absolute;inset:0;overflow:hidden;background:#d9cdbd}.frame2d-room{position:absolute;inset:0;background-size:cover;background-position:50% 58%;transform:scale(1.06)}.frame2d-haze{position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 45%,#fffaf200,#f0e7da59 70%,#dcd0be99),linear-gradient(180deg,#fffbf51a,#fffbf500 30%);pointer-events:none}.frame2d{--stand-h: min(76vh, 130vw)}.frame2d-stand{position:absolute;left:50%;top:50%;height:var(--stand-h);transform:translate(-50%);margin-top:calc(var(--stand-h) * -.535)}.frame2d-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}.frame2d-shadow{position:absolute;border-radius:50%;pointer-events:none}.frame2d-shadow--soft{left:0;width:100%;height:10%;background:radial-gradient(50% 50% at 50% 50%,#462d1980,#462d1900);filter:blur(10px);transform:translate(-3%,8%)}.frame2d-shadow--contact{left:3%;width:94%;height:3%;background:radial-gradient(50% 50% at 50% 50%,#1e1208d9,#1e120800);filter:blur(2px)}.frame2d-reflection{position:absolute;left:0;width:100%;height:100%;overflow:hidden;opacity:.32;-webkit-mask-image:linear-gradient(to bottom,rgb(0 0 0 / 1),rgb(0 0 0 / .45) 14%,rgb(0 0 0 / 0) 44%);mask-image:linear-gradient(to bottom,#000,#00000073 14%,#0000 44%);pointer-events:none}.frame2d-reflection-img{position:absolute;left:0;width:100%;height:100%;object-fit:fill;transform:scaleY(-1);filter:blur(1.5px) saturate(.8);user-select:none}.frame2d-opening{position:absolute;overflow:hidden;isolation:isolate;background:#e6e2da}.frame2d-box{position:absolute;inset:0;pointer-events:none}.frame2d-box-ceiling,.frame2d-box-left,.frame2d-box-right,.frame2d-box-floor{position:absolute;inset:0}.frame2d-box-back{position:absolute;inset:9% 13% 12%;background:radial-gradient(ellipse at 35% 25%,#fffefa 0%,transparent 75%),linear-gradient(100deg,#eae7e0,#f6f4ee 42%,#e9e6df);box-shadow:inset 0 8px 18px #4338291a,inset -7px 0 16px #4338290f}.frame2d-box-ceiling{clip-path:polygon(0 0,100% 0,87% 9%,13% 9%);background:linear-gradient(180deg,#c1bbb0,#e0dcd3 9%,#e0dcd3)}.frame2d-box-left{clip-path:polygon(0 0,13% 9%,13% 88%,0 100%);background:linear-gradient(90deg,#e8e4dc,#d1cbc0 13%,#d1cbc0)}.frame2d-box-right{clip-path:polygon(100% 0,100% 100%,87% 88%,87% 9%);background:linear-gradient(90deg,#c8c2b7 87%,#eeeae2)}.frame2d-box-floor{clip-path:polygon(13% 88%,87% 88%,100% 100%,0 100%);background:linear-gradient(180deg,#c8c1b5 88%,#e4ded3 92%,#f4efe5)}.frame2d-foot-shadow{position:absolute;left:50%;top:var(--figure-foot);width:44%;height:4%;transform:translate(-50%,-50%) scaleX(var(--figure-shadow-scale, 1));background:radial-gradient(ellipse 20% 24% at 22% 48%,rgb(40 32 23 / .34),transparent 100%),radial-gradient(ellipse 20% 24% at 78% 48%,rgb(40 32 23 / .34),transparent 100%),radial-gradient(ellipse at center,rgb(54 43 29 / .2),transparent 70%);opacity:0}.frame2d-opening--full-body .frame2d-foot-shadow{opacity:1}.frame2d-opening:after{content:"";position:absolute;inset:0;box-shadow:inset 0 2px 5px #1e140a47,inset 0 0 1px 1px #fff9e852;pointer-events:none;z-index:3}.frame2d canvas.frame2d-video{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;border-radius:0;box-shadow:none;cursor:default;z-index:1}.frame2d-memory-layer{position:absolute;inset:0;z-index:2;background:#2a1d14;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s;pointer-events:none}.frame2d-memory-layer.is-shown{opacity:1;visibility:visible}.frame2d-memory-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#2a1d14}.frame2d-memory-caption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:26px 14px 12px;background:linear-gradient(to top,#140c06b8,#140c0600);color:#f7efe3}.frame2d-memory-eyebrow{font-size:.62rem;letter-spacing:.17em;text-transform:uppercase;color:#d9c19c}.frame2d-memory-title{font-family:var(--font-display, Georgia, serif);font-size:1.05rem;line-height:1.3}.frame2d-memory-title:empty~*,.frame2d-memory-caption:has(.frame2d-memory-title:empty){display:none}.app--mode-2d .stage-shell{background:#d9cdbd}.app--mode-2d .stage-memory{display:none}@media(max-width:720px){.frame2d{--stand-h: min(72vh, 130vw)}}.ts-display-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ts-display-card{cursor:pointer}@media(max-width:580px){.ts-display-options{grid-template-columns:1fr}}.app--mode-2d-device .stage-shell,.frame2d--device{background:#000}.frame2d--device{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.frame2d-device-screen{position:relative;height:min(78vh,calc(92vw * 16 / 9));aspect-ratio:9 / 16}.frame2d-device-screen .frame2d-opening{inset:0}.frame2d--device.is-fullscreen{gap:0}.frame2d--device.is-fullscreen .frame2d-device-fullscreen{display:none}.frame2d--device.is-fullscreen .frame2d-device-screen{height:100vh;width:100vw;aspect-ratio:auto}.frame2d--device.is-rotated .frame2d-device-screen{position:fixed;left:50%;top:50%;width:100vh;height:100vw;transform:translate(-50%,-50%) rotate(var(--device-rotate, 90deg))}.app--mode-2d-device .stage-topbar,.app--mode-2d-device .playback-dock,.app--mode-2d-device .playback-hint,.app--mode-2d-device .stage-memory{display:none}:root:fullscreen .app--mode-2d-device .stage-controls,:root:fullscreen .app--mode-2d-device .stage-hud,:root:fullscreen .app--mode-2d-device .tuning-hud{display:none}.app--mode-2d-device .stage-canvas{height:100dvh}.launch{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px 16px;background:#000;color:#f5f1ea;text-align:center}.launch-title{margin:0;font-size:clamp(22px,4vw,34px);font-weight:600;letter-spacing:.01em}.launch-detail{margin:-12px 0 0;max-width:32ch;color:#a39b92;font-size:15px}.launch-start{min-width:220px;padding:18px 32px;font-size:20px}.twins-page{min-height:100svh;background:radial-gradient(ellipse at 8% 0%,rgba(184,149,90,.14),transparent 46%),var(--paper);color:var(--ink);font-family:Figtree,Avenir Next,Segoe UI,sans-serif;padding:56px 16px 72px;box-sizing:border-box}.twins-wrap{max-width:760px;margin:0 auto}.twins-brand{margin:0 0 14px;font-size:.72rem;font-weight:600;letter-spacing:.22em;color:var(--gold-deep)}.twins-head h1{margin:0;font-family:"Newsreader",var(--font-display);font-weight:400;font-size:clamp(2.2rem,6vw,3rem);letter-spacing:-.02em;line-height:1.05}.twins-sub{margin:10px 0 0;color:var(--ink-soft);font-size:.98rem}.twins-list{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:12px}.twins-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:start;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.twins-name{margin:0;font-family:"Newsreader",var(--font-display);font-size:1.32rem;line-height:1.2;overflow-wrap:anywhere}.twins-about{margin:4px 0 0;color:var(--ink-soft);font-size:.9rem;line-height:1.4}.twins-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding-top:3px}.twins-tag{padding:3px 10px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink-soft);font-size:.74rem;font-weight:500;white-space:nowrap}.twins-tag--type{border-color:transparent;background:var(--gold-soft);color:var(--gold-deep);font-weight:600}.twins-link{grid-column:1 / -1;display:flex;align-items:center;gap:8px;min-width:0;padding:6px 6px 6px 14px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.twins-link code{flex:1 1 auto;min-width:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.86rem;color:var(--ink);overflow-wrap:anywhere;user-select:all}.twins-copy{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.twins-copy:hover{background:var(--gold-soft);color:var(--gold-deep);border-color:var(--gold)}.twins-copy:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.twins-copy--done,.twins-copy--done:hover{background:#e7f1e6;border-color:#8fb58b;color:#3d7a3a}.twins-copied{flex:0 0 auto;min-width:3.4em;font-size:.78rem;font-weight:600;color:#3d7a3a}@media(max-width:520px){.twins-page{padding-top:36px}.twins-row{grid-template-columns:minmax(0,1fr);padding:16px}.twins-tags{justify-content:flex-start;padding-top:0}.twins-copied{display:none}}
