:root{--cp-ink:#34262e;--cp-muted:#806f78;--cp-paper:#fffaf7;--cp-plum:#593649;--cp-line:#e8dadf;--cp-rose:#f0e2e5}*{box-sizing:border-box}.companion-page{margin:0;background:var(--cp-paper);color:var(--cp-ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.companion-page [hidden]{display:none!important}.companion-shell{max-width:1320px;margin:auto;padding:0 56px}.companion-header{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:96px;border-bottom:1px solid var(--cp-line)}.companion-brand{font:29px Georgia,serif;letter-spacing:.18em;color:var(--cp-plum);text-decoration:none}.companion-back,.companion-chat-link{font-size:13px;color:var(--cp-plum);text-decoration:none}.companion-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:54px 0 38px}.companion-kicker{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--cp-muted);margin:0 0 15px}.companion-intro h1{font:52px/1.13 Georgia,serif;letter-spacing:-.025em;margin:0 0 22px}.companion-intro h1 em{font-weight:400;color:#896574}.companion-intro p:not(.companion-kicker){color:var(--cp-muted);font-size:14px;line-height:1.8;margin-bottom:0}.companion-stamp{display:grid;place-content:center;text-align:center;font:italic 21px/1.25 Georgia,serif;color:#957c87;border:1px solid #d9c5ce;border-radius:50%;width:128px;height:128px;transform:rotate(9deg);margin-right:30px}.companion-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:64px;align-items:start}.companion-section{padding:28px 0;border-top:1px solid var(--cp-line)}.companion-section h2{font:29px/1.2 Georgia,serif;font-weight:400;margin:0 0 12px}.companion-muted{color:var(--cp-muted);font-size:13px;line-height:1.7}.companion-small{font-size:11px!important}.companion-characters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}.companion-character{min-width:0;cursor:pointer;background:#f8f1ef;border:1px solid transparent;border-radius:18px;color:var(--cp-ink);padding:5px 5px 12px;position:relative;transition:border-color .15s,background .15s,transform .15s}.companion-character[aria-pressed=true]{border-color:#7e526b;background:#f2e5eb;box-shadow:0 0 0 1px #7e526b}.companion-character:hover{transform:translateY(-2px)}.companion-character strong{font-size:11px;display:block;font-weight:500}.companion-character .companion-art{width:100%;aspect-ratio:1;display:block}.companion-art{background-image:url('/companion-atlas.png');background-size:300% 200%;background-repeat:no-repeat;flex-shrink:0}.companion-art[data-character=cat]{background-position:0% 0%}.companion-art[data-character=rabbit]{background-position:50% 0%}.companion-art[data-character=fox]{background-position:100% 0%}.companion-art[data-character=muse]{background-position:0% 100%}.companion-art[data-character=chihuahua]{background-position:50% 100%}.companion-art[data-character=bear]{background-position:100% 100%}.companion-label{display:block;font-size:13px;margin:20px 0 9px}.companion-input{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #dccbd3;border-radius:11px;background:#fffdfb;padding:12px 13px;color:var(--cp-ink);font-size:14px;line-height:1.4;font-family:inherit}.companion-page input,.companion-page button{font:inherit}.companion-page input:focus-visible,.companion-page button:focus-visible,.companion-page a:focus-visible{outline:3px solid #8c617a;outline-offset:3px}.companion-page input[type=checkbox]{accent-color:var(--cp-plum);width:18px;height:18px;flex:none;margin:3px 0}.companion-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.companion-pair label{font-size:11px;color:var(--cp-muted)}.companion-pair input{margin-top:6px}.companion-social-row{border:0;padding:18px 0;margin:0;border-bottom:1px solid #eee2e6}.companion-social-row legend{padding:0;float:left;width:100%}.companion-social-fields{clear:both}.companion-check{display:flex;align-items:start;gap:10px;font-size:13px;margin:14px 0;cursor:pointer}.companion-check small{display:block;color:var(--cp-muted);font-size:11px;line-height:1.6;margin-top:4px}.companion-social-toggle{font-weight:500}.companion-suggest{color:#775066;background:transparent;border:0;padding:8px 0;cursor:pointer;font-size:11px!important;min-height:36px;text-align:left}.companion-task-fields{padding-top:10px}.companion-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.companion-button{background:var(--cp-plum);color:#fff;border:0;border-radius:12px;min-height:46px;padding:12px 18px;cursor:pointer;font-size:12px!important}.companion-button:disabled{opacity:.5;cursor:wait}.companion-secondary{background:#f0e5e9;color:var(--cp-plum)}.companion-remove{background:none;border:0;padding:12px 0;color:var(--cp-muted);font-size:11px!important;min-height:44px;cursor:pointer}.companion-preview{position:sticky;top:24px;padding-top:0;min-width:0}.companion-room{border-radius:26px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#fffdf6,#f1e6e3 75%);border:1px solid var(--cp-line);padding:24px 18px 22px;position:relative;text-align:center}.companion-room-label{font-size:9px;letter-spacing:.2em;color:#a28a96}.companion-live-art{width:min(100%,320px);aspect-ratio:1;position:relative;z-index:1;display:block;margin:8px auto 0;animation:companion-breathe 5s ease-in-out infinite;transform-origin:50% 90%}.companion-live-name{font:31px/1.2 Georgia,serif;margin:8px 0 7px;overflow-wrap:anywhere}.companion-room-caption{font-size:10px;color:var(--cp-muted);letter-spacing:.02em;margin:0}.companion-floor{display:none}.companion-bubble{padding:22px 23px;background:#f4e9ed;border-radius:5px 22px 22px;margin-top:18px}.companion-bubble p{font:20px/1.5 Georgia,serif;margin:8px 0 15px;overflow-wrap:anywhere}.companion-bubble .companion-kicker{font-size:9px}.companion-chat-link{font-size:11px;text-decoration:underline;text-underline-offset:4px}.companion-progress-list{margin:20px 0}.companion-progress-card{border-top:1px solid var(--cp-line);padding:17px 0}.companion-progress-card h3{font-size:12px;font-weight:600;margin:0 0 7px}.companion-progress-card p{margin:4px 0;font-size:12px;overflow-wrap:anywhere}.companion-progress-card progress{display:block;width:100%;height:7px;accent-color:#82566e;margin:11px 0}.companion-progress-card small{font-size:10px;color:var(--cp-muted)}.companion-notice{background:#fff1d6;border:1px solid #eddcb7;border-radius:16px;padding:18px;margin-top:18px;font-size:12px}.companion-notice strong{font-weight:600}.companion-notice p{overflow-wrap:anywhere}.companion-privacy{padding:0 3px}.companion-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--cp-line);padding:28px 0;margin-top:60px;font-size:9px;letter-spacing:.14em;color:var(--cp-muted)}.companion-footer span{letter-spacing:0}.companion-demo{background:#f1e5eb;border-radius:12px;padding:13px 17px;font-size:12px}.companion-page #companion-status{font-size:12px;line-height:1.6;overflow-wrap:anywhere;scroll-margin-top:15px}.companion-page #companion-status:empty{display:none}.companion-page #companion-status[data-error=true]{background:#fae7ec;border-left:3px solid #943b5c;border-radius:6px;padding:12px}.companion-page[data-motion=off] .companion-live-art{animation:none}.companion-live-art.is-celebrating{animation:companion-happy .65s ease-in-out 2}.companion-dock{display:flex;align-items:center;gap:12px;text-decoration:none;color:#593649;padding:7px 12px;background:#f6edf0;border:1px solid #e7d8df;border-radius:14px;margin:9px 0;font-size:12px;flex:none;min-width:0}.companion-dock[hidden]{display:none}.companion-dock .companion-art{height:52px;width:52px;border-radius:10px}.companion-dock strong{font-weight:500}.companion-dock small{display:block;font-size:10px;color:#806f78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65vw}.companion-dock>span:last-child{min-width:0}.companion-dock b{font-size:10px;display:inline-block;margin-left:6px}.companion-dock .companion-art{animation:companion-breathe 5s ease-in-out infinite}@keyframes companion-breathe{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-5px) rotate(.6deg)}}@keyframes companion-happy{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-10px) rotate(-3deg)}70%{transform:translateY(-5px) rotate(3deg)}}@media(max-width:1000px){.companion-shell{padding:0 30px}.companion-layout{gap:30px}.companion-intro h1{font-size:44px}}@media(max-width:700px){.companion-shell{padding:0 20px}.companion-header{min-height:76px}.companion-brand{font-size:24px}.companion-back{font-size:10px}.companion-intro{padding:34px 0 24px}.companion-intro h1{font-size:36px}.companion-stamp{display:none}.companion-layout{display:flex;flex-direction:column;gap:18px}.companion-preview{position:static;order:-1;width:100%;display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px;align-items:start}.companion-room{padding:8px 3px 12px;border-radius:18px}.companion-live-art{width:112px;margin:0 auto}.companion-room-label,.companion-room-caption{display:none}.companion-live-name{font-size:20px;margin:1px 4px 0}.companion-bubble{margin:0;padding:14px 15px}.companion-bubble p{font-size:17px;line-height:1.45;margin:5px 0 9px}.companion-bubble .companion-kicker{font-size:8px}.companion-progress-list{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.companion-progress-card{min-width:0;padding-bottom:0}.companion-notice,.companion-privacy{grid-column:1/-1;margin:0}.companion-settings{width:100%}.companion-characters{gap:9px}.companion-character strong{font-size:10px}.companion-input{font-size:16px!important}.companion-section{padding:24px 0}.companion-section h2{font-size:27px}.companion-footer{margin-top:36px}.companion-kicker{font-size:9px}.companion-dock{padding:3px 8px;gap:8px;margin:6px 0}.companion-dock .companion-art{width:40px;height:40px}.companion-dock small{max-width:70vw}}@media(max-width:360px){.companion-shell{padding:0 14px}.companion-intro h1{font-size:32px}.companion-pair{gap:8px}.companion-progress-list{grid-template-columns:1fr}.companion-preview{grid-template-columns:100px minmax(0,1fr)}.companion-live-art{width:96px}}@media(prefers-reduced-motion:reduce){.companion-live-art,.companion-dock .companion-art{animation:none!important}.companion-character{transition:none!important}}

.companion-start{display:inline-flex;text-decoration:none;margin-top:22px;align-items:center}.companion-continue{display:inline-flex;text-decoration:none;align-items:center;margin:12px 0}.companion-characters{scroll-margin-top:24px}
.companion-guide{padding:16px 18px;background:#f4e9ed;border:1px solid var(--cp-line);border-radius:14px;margin:18px 0 10px;font-size:13px;color:var(--cp-plum)}.companion-guide p{margin:4px 0}.companion-guide-arrow{display:inline-block;font-size:22px;margin-right:8px}.companion-action-status{font-size:13px;color:var(--cp-plum);margin:10px 0;scroll-margin-top:24px}.companion-action-status[data-error=true]{color:#943b5c}.companion-continue{gap:8px;box-shadow:0 0 0 4px #f0e2e5}.companion-continue:focus-visible{outline:3px solid #8c617a;outline-offset:5px}