:root{
  --ink:#2f2b27;
  --muted:#7d766e;
  --line:#e7e1da;
  --cream:#fbf8f3;
  --card:#fffdfa;
  --peach:#f4d5c3;
  --orange:#d97757;
  --lav:#eee7f5;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55}
button,input{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.screen{min-height:100vh;display:grid;place-items:center;padding:24px}
.password-screen{background:radial-gradient(circle at 20% 20%,#f5e7dd 0,transparent 28%),radial-gradient(circle at 80% 75%,#eee8f5 0,transparent 30%),var(--cream)}
.password-card{width:min(470px,100%);background:rgba(255,253,250,.9);border:1px solid var(--line);border-radius:24px;padding:42px 38px;text-align:center;box-shadow:0 18px 55px rgba(64,48,37,.08)}
.claude-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#ead9cc;color:var(--orange);font-size:25px}
.small-mark{width:28px;height:28px;font-size:15px;margin:0;background:#ead9cc}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
h1{font-size:30px;line-height:1.15;margin:0 0 12px;font-weight:650}
.password-card p{color:var(--muted);margin:0 auto 24px;max-width:340px}
.password-row{display:flex;gap:8px}
.password-row input{flex:1;min-width:0;border:1px solid #dcd5cd;border-radius:12px;padding:12px 14px;background:white;outline:none}
.password-row input:focus{border-color:#c78f79;box-shadow:0 0 0 3px rgba(199,143,121,.13)}
.password-row button{border:0;border-radius:12px;padding:0 17px;background:#34302c;color:white}
.error{display:none;color:#b64f4f;font-size:13px;margin-top:10px}.error.show{display:block}
.tiny-note{font-size:12px;color:#aaa19a;margin-top:22px}
.app{min-height:100vh}
.topbar{height:62px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:rgba(251,248,243,.9);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:9px;font-weight:650;font-size:15px}.top-actions{display:flex;gap:16px;align-items:center;color:#938b84;font-size:13px}.pill{padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#fffaf6}
.chat-shell{width:min(920px,calc(100% - 32px));margin:0 auto;padding:80px 0 100px}
.intro{text-align:center;min-height:calc(100vh - 142px);display:flex;flex-direction:column;align-items:center;justify-content:center}.intro-mark{font-size:34px;color:var(--orange);margin-bottom:8px}.intro h2{font-size:32px;line-height:1.2;margin:0 0 8px;font-weight:600}.intro>p{color:var(--muted);margin:0 0 28px}
.composer{width:min(680px,100%);min-height:72px;background:white;border:1px solid #ddd6ce;border-radius:18px;box-shadow:0 8px 30px rgba(54,43,35,.06);display:flex;align-items:center;text-align:left;padding:15px 58px 15px 18px;position:relative;outline:none;transition:.2s}.composer:hover,.composer:focus{border-color:#c8a99b;box-shadow:0 10px 35px rgba(54,43,35,.1)}.typed-text{white-space:pre-wrap}.composer.idle{color:#a7a099}.cursor{margin-left:1px;color:#b66b52;animation:blink 1s step-end infinite}.send-button{position:absolute;right:11px;bottom:11px;width:38px;height:38px;border:0;border-radius:11px;background:#eee9e4;color:#77706a;font-size:20px}.composer.ready .send-button{background:#d97757;color:white}.composer-hint{font-size:12px;color:#aaa19a;margin-top:10px}
@keyframes blink{50%{opacity:0}}
.conversation{max-width:760px;margin:0 auto}.user-message,.thinking{display:flex;gap:14px;margin-bottom:32px}.avatar{width:34px;height:34px;border-radius:10px;flex:0 0 34px;display:grid;place-items:center;font-size:13px;font-weight:650}.user-avatar{background:#e8e0d9}.claude-avatar{background:#ead9cc;color:var(--orange)}.message-label,.thinking-label{font-size:12px;font-weight:650;color:#817970;margin-bottom:6px}.message-bubble{background:#eee9e4;border-radius:15px 15px 4px 15px;padding:12px 15px;display:inline-block}.thinking-line{color:#77706a;font-size:14px}.dots{display:inline-flex;gap:3px;margin-left:6px}.dots i{width:4px;height:4px;background:#b7afa8;border-radius:50%;animation:dot 1.2s infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
.response{display:flex;gap:14px}.response-body{flex:1}.answer-lead{font-size:18px;margin:0 0 28px;font-weight:520}.memory-stage-wrap{min-height:620px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:6px}.memory-stage{width:min(510px,92%);min-height:500px;display:grid;place-items:start center;position:relative}.polaroid{width:min(450px,100%);background:#fff;border:1px solid #ece6df;padding:15px 15px 25px;box-shadow:0 18px 42px rgba(65,50,39,.13);transform:rotate(var(--rotation)) scale(.97);opacity:0;transition:opacity .5s ease,transform .65s cubic-bezier(.2,.75,.2,1);position:relative}.polaroid.visible{opacity:1;transform:rotate(var(--rotation)) scale(1)}.photo-wrap{width:100%;aspect-ratio:4/5;background:#eee9e4;overflow:hidden}.photo-wrap img{width:100%;height:100%;object-fit:cover;display:block}.polaroid-caption{font-family:"Segoe Print","Bradley Hand",cursive;font-size:18px;text-align:center;padding:13px 8px 0;color:#4d4640;min-height:40px}.next-hint{font-size:13px;color:#aaa19a;margin:0 0 10px}.next-button{border:1px solid #ddd3ca;background:#fff;border-radius:999px;padding:8px 17px;color:#5d554e;box-shadow:0 5px 16px rgba(50,40,32,.06)}.next-button:hover{background:#f7f1eb;transform:translateY(-1px)}
.ending{padding:60px 0 40px;text-align:center}.scroll-cue{color:#aaa19a;font-size:12px;display:flex;flex-direction:column;gap:5px;margin-bottom:55px}.down-arrow{font-size:20px;animation:bounce 1.5s infinite}@keyframes bounce{50%{transform:translateY(5px)}}.ending-card{background:linear-gradient(145deg,#fffaf5,#f4edf5);border:1px solid #e9dfd7;border-radius:28px;padding:52px 24px 44px;box-shadow:0 22px 55px rgba(60,45,37,.1)}.tiny-stars{color:#c47b61;letter-spacing:.2em;margin-bottom:18px}.ending-card h3{font-family:"Segoe Print","Bradley Hand",cursive;font-size:30px;line-height:1.25;margin:0 0 4px}.ending-card h4{font-size:22px;margin:0 0 14px;font-weight:500}.ending-card p{font-size:22px;margin:0 0 24px;color:#a85f49}.hug-gif{display:block;width:min(270px,80%);margin:12px auto 20px;border-radius:18px}.ending-note{font-size:13px;color:#958c84}
@media(max-width:600px){.topbar{padding:0 16px}.pill{display:none}.chat-shell{padding-top:42px}.intro h2{font-size:27px}.password-card{padding:34px 22px}.password-row{flex-direction:column}.password-row button{height:46px}.memory-stage-wrap{min-height:570px}.memory-stage{min-height:470px}.polaroid{width:94%}.polaroid-caption{font-size:16px}.ending-card h3{font-size:25px}.answer-lead{font-size:16px}}

.password-hint{margin-top:10px;font-size:13px;color:#8d8178;font-style:italic;}
