*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--fx-black: #100f0f;--fx-950: #1c1b1a;--fx-900: #282726;--fx-850: #343331;--fx-800: #403e3c;--fx-700: #575653;--fx-600: #6f6e69;--fx-500: #878580;--fx-200: #cecdc3;--fx-50: #f2f0e5;--fx-paper: #fffcf0;--em-joy-accent: #d0a215;--em-joy-deep: #ad8301;--em-joy-bg: #241e08;--em-joy-surface: #3a2d04;--em-joy-text: #f6e2a0;--em-sadness-accent: #4385be;--em-sadness-deep: #205ea6;--em-sadness-bg: #101a24;--em-sadness-surface: #12253b;--em-sadness-text: #c6dde8;--em-anger-accent: #d14d41;--em-anger-deep: #af3029;--em-anger-bg: #261312;--em-anger-surface: #3e1715;--em-anger-text: #ffcabb;--em-fear-accent: #8b7ec8;--em-fear-deep: #5e409d;--em-fear-bg: #1a1623;--em-fear-surface: #261c39;--em-fear-text: #e2d9e9;--em-love-accent: #ce5d97;--em-love-deep: #a02f6f;--em-love-bg: #24131d;--em-love-surface: #39172b;--em-love-text: #fccfda;--em-wonder-accent: #3aa99f;--em-wonder-deep: #24837b;--em-wonder-bg: #101f1d;--em-wonder-surface: #122f2c;--em-wonder-text: #bfe8d9;--em-peace-accent: #879a39;--em-peace-deep: #66800b;--em-peace-bg: #1a1e0c;--em-peace-surface: #252d09;--em-peace-text: #dde2b2;--em-hope-accent: #da702c;--em-hope-deep: #bc5215;--em-hope-bg: #27180e;--em-hope-surface: #40200d;--em-hope-text: #fed3af;--em-cold-accent: #889ba6;--em-cold-deep: #607882;--em-cold-bg: #0e1416;--em-cold-surface: #151d21;--em-cold-text: #c0cdd4;--em-alive-accent: #d0a215;--em-alive-deep: #da702c;--em-melancholy-accent: #7b8fb5;--em-melancholy-deep: #536685;--em-melancholy-bg: #111520;--em-melancholy-surface: #1a2030;--em-melancholy-text: #c4ccdc;--em-corrupted-accent: #af3029;--em-corrupted-deep: #6c201c;--em-corrupted-bg: #1a0a0a;--em-corrupted-surface: #2a1010;--em-corrupted-text: #d4a0a0;--em-shame-accent: #6b4a6b;--em-shame-deep: #4a2d4a;--em-shame-bg: #130e14;--em-shame-surface: #1d1420;--em-shame-text: #bca8bc;--em-small-accent: #a89f9f;--em-small-deep: #7d7272;--em-small-bg: #131112;--em-small-surface: #1c1919;--em-small-text: #ccc5c5;--em-athome-accent: #b59a6a;--em-athome-deep: #8a7242;--em-athome-bg: #181410;--em-athome-surface: #231e17;--em-athome-text: #d8ccba;--em-passion-accent: #e04f5f;--em-passion-deep: #b33344;--em-passion-bg: #1e0f11;--em-passion-surface: #2a1418;--em-passion-text: #f0c6cb;font-family:"Source Serif 4",Georgia,serif;font-size:18px;line-height:1.7;font-optical-sizing:auto}body{background-color:var(--fx-black);color:var(--fx-200);min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;transition:background-color 1.5s ease,color 1.5s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.attenuating{animation:heartbeat 1.6s ease-in-out infinite}@keyframes heartbeat{0%,to{background-color:var(--em-joy-bg)}8%{background-color:var(--fx-black)}11%{background-color:var(--em-sadness-bg)}19%{background-color:var(--fx-black)}22%{background-color:var(--em-anger-bg)}30%{background-color:var(--fx-black)}33%{background-color:var(--em-fear-bg)}41%{background-color:var(--fx-black)}44%{background-color:var(--em-love-bg)}52%{background-color:var(--fx-black)}55%{background-color:var(--em-wonder-bg)}63%{background-color:var(--fx-black)}66%{background-color:var(--em-peace-bg)}74%{background-color:var(--fx-black)}77%{background-color:var(--em-hope-bg)}85%{background-color:var(--fx-black)}88%{background-color:var(--em-cold-bg)}96%{background-color:var(--fx-black)}}body[data-emotion=joy]{background-color:var(--em-joy-bg);color:var(--em-joy-text)}body[data-emotion=sadness]{background-color:var(--em-sadness-bg);color:var(--em-sadness-text)}body[data-emotion=anger]{background-color:var(--em-anger-bg);color:var(--em-anger-text)}body[data-emotion=fear]{background-color:var(--em-fear-bg);color:var(--em-fear-text)}body[data-emotion=love]{background-color:var(--em-love-bg);color:var(--em-love-text)}body[data-emotion=wonder]{background-color:var(--em-wonder-bg);color:var(--em-wonder-text)}body[data-emotion=peace]{background-color:var(--em-peace-bg);color:var(--em-peace-text)}body[data-emotion=hope]{background-color:var(--em-hope-bg);color:var(--em-hope-text)}body[data-emotion=cold]{background-color:var(--em-cold-bg);color:var(--em-cold-text)}body[data-emotion=shame]{background-color:var(--em-shame-bg);color:var(--em-shame-text)}body[data-emotion=corrupted]{background-color:var(--em-corrupted-bg);color:var(--em-corrupted-text)}body[data-emotion=melancholy]{background-color:var(--em-melancholy-bg);color:var(--em-melancholy-text)}body[data-emotion=small]{background-color:var(--em-small-bg);color:var(--em-small-text)}body[data-emotion="at home"]{background-color:var(--em-athome-bg);color:var(--em-athome-text)}body[data-emotion=passion]{background-color:var(--em-passion-bg);color:var(--em-passion-text)}body[data-emotion=alive]{animation:aliveBg 16s ease-in-out infinite}@keyframes aliveBg{0%,to{background-color:var(--em-joy-bg);color:var(--em-joy-text)}11%{background-color:var(--em-sadness-bg);color:var(--em-sadness-text)}22%{background-color:var(--em-anger-bg);color:var(--em-anger-text)}33%{background-color:var(--em-fear-bg);color:var(--em-fear-text)}44%{background-color:var(--em-love-bg);color:var(--em-love-text)}55%{background-color:var(--em-wonder-bg);color:var(--em-wonder-text)}66%{background-color:var(--em-peace-bg);color:var(--em-peace-text)}77%{background-color:var(--em-hope-bg);color:var(--em-hope-text)}88%{background-color:var(--em-cold-bg);color:var(--em-cold-text)}}#root{width:100%;max-width:640px;padding:2rem}.welcome-container{margin-bottom:3rem}.welcome-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0rem}.welcome-avatar{grid-row:1;grid-column:2;height:100%;max-height:5rem;width:auto;image-rendering:pixelated;opacity:0;animation:fadeIn 1s ease forwards;animation-delay:1.2s}.welcome-line{opacity:0;animation:fadeIn 1s ease forwards;margin-bottom:.5em}.welcome-line:nth-child(1){animation-delay:.3s}.welcome-line:nth-child(2){animation-delay:1.2s}.welcome-line:nth-child(3){animation-delay:2.1s}.welcome-greeting{font-size:1.4rem;font-style:italic;opacity:0;animation:fadeIn 1s ease forwards;animation-delay:.3s;margin-bottom:.5em;transition:color 1.5s ease}.welcome-name{font-size:2rem;font-weight:600;opacity:0;animation:fadeIn 1s ease forwards;animation-delay:1.2s;margin-bottom:.5em;transition:color 1.5s ease}.welcome-question{font-size:1.2rem;color:var(--fx-600);opacity:0;animation:fadeIn 1s ease forwards;animation-delay:2.1s;margin-bottom:.5em;transition:color 1.5s ease}body[data-emotion=joy] .welcome-question{color:var(--em-joy-accent)}body[data-emotion=sadness] .welcome-question{color:var(--em-sadness-accent)}body[data-emotion=anger] .welcome-question{color:var(--em-anger-accent)}body[data-emotion=fear] .welcome-question{color:var(--em-fear-accent)}body[data-emotion=love] .welcome-question{color:var(--em-love-accent)}body[data-emotion=wonder] .welcome-question{color:var(--em-wonder-accent)}body[data-emotion=peace] .welcome-question{color:var(--em-peace-accent)}body[data-emotion=hope] .welcome-question{color:var(--em-hope-accent)}body[data-emotion=cold] .welcome-question{color:var(--em-cold-accent)}body[data-emotion=shame] .welcome-question{color:var(--em-shame-accent)}body[data-emotion=corrupted] .welcome-question{color:var(--em-corrupted-accent)}body[data-emotion=melancholy] .welcome-question{color:var(--em-melancholy-accent)}body[data-emotion=small] .welcome-question{color:var(--em-small-accent)}body[data-emotion="at home"] .welcome-question{color:var(--em-athome-accent)}body[data-emotion=passion] .welcome-question{color:var(--em-passion-accent)}body[data-emotion=alive] .welcome-question{color:var(--fx-50)}@keyframes aliveAccent{0%,to{color:var(--em-joy-accent)}11%{color:var(--em-sadness-accent)}22%{color:var(--em-anger-accent)}33%{color:var(--em-fear-accent)}44%{color:var(--em-love-accent)}55%{color:var(--em-wonder-accent)}66%{color:var(--em-peace-accent)}77%{color:var(--em-hope-accent)}88%{color:var(--em-cold-accent)}}.progress-container{margin-bottom:2rem;opacity:0;animation:fadeIn 1s ease forwards;animation-delay:2.8s;transition:opacity .8s ease}.progress-container.hidden{opacity:0!important;animation:none}.progress-track{width:100%;height:2px;background:var(--fx-900);border-radius:1px;overflow:hidden}.progress-fill{height:100%;background:var(--fx-600);border-radius:1px;transition:width .3s ease}@keyframes fadeIn{to{opacity:1}}.emotion-input-container{opacity:0;animation:fadeIn 1s ease forwards;animation-delay:2.8s}.emotion-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--fx-800);color:var(--fx-500);font-family:"Source Serif 4",Georgia,serif;font-size:1.3rem;padding:.5em 0;outline:none;caret-color:var(--fx-500);transition:border-color 1.5s ease,color 1.5s ease,caret-color 1.5s ease}body[data-emotion=joy] .emotion-input{border-bottom-color:var(--em-joy-surface);color:var(--em-joy-accent);caret-color:var(--em-joy-accent)}body[data-emotion=sadness] .emotion-input{border-bottom-color:var(--em-sadness-surface);color:var(--em-sadness-accent);caret-color:var(--em-sadness-accent)}body[data-emotion=anger] .emotion-input{border-bottom-color:var(--em-anger-surface);color:var(--em-anger-accent);caret-color:var(--em-anger-accent)}body[data-emotion=fear] .emotion-input{border-bottom-color:var(--em-fear-surface);color:var(--em-fear-accent);caret-color:var(--em-fear-accent)}body[data-emotion=love] .emotion-input{border-bottom-color:var(--em-love-surface);color:var(--em-love-accent);caret-color:var(--em-love-accent)}body[data-emotion=wonder] .emotion-input{border-bottom-color:var(--em-wonder-surface);color:var(--em-wonder-accent);caret-color:var(--em-wonder-accent)}body[data-emotion=peace] .emotion-input{border-bottom-color:var(--em-peace-surface);color:var(--em-peace-accent);caret-color:var(--em-peace-accent)}body[data-emotion=hope] .emotion-input{border-bottom-color:var(--em-hope-surface);color:var(--em-hope-accent);caret-color:var(--em-hope-accent)}body[data-emotion=cold] .emotion-input{border-bottom-color:var(--em-cold-surface);color:var(--em-cold-accent);caret-color:var(--em-cold-accent)}body[data-emotion=shame] .emotion-input{border-bottom-color:var(--em-shame-surface);color:var(--em-shame-accent);caret-color:var(--em-shame-accent)}body[data-emotion=corrupted] .emotion-input{border-bottom-color:var(--em-corrupted-surface);color:var(--em-corrupted-accent);caret-color:var(--em-corrupted-accent)}body[data-emotion=melancholy] .emotion-input{border-bottom-color:var(--em-melancholy-surface);color:var(--em-melancholy-accent);caret-color:var(--em-melancholy-accent)}body[data-emotion=small] .emotion-input{border-bottom-color:var(--em-small-surface);color:var(--em-small-accent);caret-color:var(--em-small-accent)}body[data-emotion="at home"] .emotion-input{border-bottom-color:var(--em-athome-surface);color:var(--em-athome-accent);caret-color:var(--em-athome-accent)}body[data-emotion=passion] .emotion-input{border-bottom-color:var(--em-passion-surface);color:var(--em-passion-accent);caret-color:var(--em-passion-accent)}body[data-emotion=alive] .emotion-input{animation:aliveAccent 16s ease-in-out infinite;caret-color:var(--fx-50);border-bottom-color:var(--fx-800)}.emotion-input::placeholder{color:var(--fx-600);font-style:italic;transition:color 1.5s ease}.emotion-input:focus{border-bottom-color:var(--fx-600)}.unmatched-hint{font-size:.85rem;font-style:italic;color:var(--fx-600);margin-top:.8rem}.response-container{margin-top:2.5rem;min-height:4em}.response-text{font-size:1.1rem;line-height:1.8;font-style:italic;opacity:0;transition:opacity .8s ease,color 1.5s ease}.response-text.visible{opacity:1}.album-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-top:.5rem;opacity:0;animation:fadeIn .6s ease forwards}.album-cover{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:4px;transition:transform .3s ease}.album-cover:hover{transform:scale(1.05)}.album-cover img{width:100%;height:100%;object-fit:cover;display:block}.album-label{position:absolute;bottom:0;left:0;right:0;padding:.4rem;background:linear-gradient(transparent,#100f0fd9);display:flex;flex-direction:column;opacity:1}.album-title{font-size:.65rem;font-weight:600;color:var(--fx-50);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-artist{font-size:.55rem;color:var(--fx-500);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-list{margin-top:3rem;display:flex;flex-direction:column;gap:0rem}.section-header,.project-header{font-size:1.2rem;font-weight:400;font-style:italic;color:var(--fx-500);margin-bottom:.5rem}.section-header{margin-top:3rem}.project-title{font-size:1.1rem;font-weight:600;color:var(--fx-200);text-decoration:underline;transition:color 1.5s ease}.project-title:hover{opacity:.7}.project-description{font-size:.95rem;font-style:italic;color:var(--fx-500);line-height:1.6;margin-top:.3rem;transition:color 1.5s ease}.links{display:flex;gap:1.5rem;margin-top:3rem}.meet-link{display:inline-block;font-size:.9rem;font-family:inherit;color:var(--fx-500);text-decoration:underline;transition:color 1.5s ease}.meet-link:hover{opacity:.7}body[data-emotion=joy] .meet-link,body[data-emotion=joy] .project-title{color:var(--em-joy-accent)}body[data-emotion=sadness] .meet-link,body[data-emotion=sadness] .project-title{color:var(--em-sadness-accent)}body[data-emotion=anger] .meet-link,body[data-emotion=anger] .project-title{color:var(--em-anger-accent)}body[data-emotion=fear] .meet-link,body[data-emotion=fear] .project-title{color:var(--em-fear-accent)}body[data-emotion=love] .meet-link,body[data-emotion=love] .project-title{color:var(--em-love-accent)}body[data-emotion=wonder] .meet-link,body[data-emotion=wonder] .project-title{color:var(--em-wonder-accent)}body[data-emotion=peace] .meet-link,body[data-emotion=peace] .project-title{color:var(--em-peace-accent)}body[data-emotion=hope] .meet-link,body[data-emotion=hope] .project-title{color:var(--em-hope-accent)}body[data-emotion=cold] .meet-link,body[data-emotion=cold] .project-title{color:var(--em-cold-accent)}body[data-emotion=alive] .meet-link,body[data-emotion=alive] .project-title{animation:aliveAccent 16s ease-in-out infinite}body[data-emotion=melancholy] .meet-link,body[data-emotion=melancholy] .project-title{color:var(--em-melancholy-accent)}body[data-emotion=corrupted] .meet-link,body[data-emotion=corrupted] .project-title{color:var(--em-corrupted-accent)}body[data-emotion=shame] .meet-link,body[data-emotion=shame] .project-title{color:var(--em-shame-accent)}body[data-emotion=small] .meet-link,body[data-emotion=small] .project-title{color:var(--em-small-accent)}body[data-emotion="at home"] .meet-link,body[data-emotion="at home"] .project-title{color:var(--em-athome-accent)}body[data-emotion=passion] .meet-link,body[data-emotion=passion] .project-title{color:var(--em-passion-accent)}@media(max-width:600px){:root{font-size:16px}#root{padding:1.5rem}.welcome-name{font-size:1.6rem}.welcome-greeting{font-size:1.2rem}.emotion-input{font-size:1.1rem}.album-grid{grid-template-columns:repeat(5,1fr);gap:.5rem}}@media(max-width:380px){:root{font-size:15px}#root{padding:1rem}}.blog-index{padding:2rem 0}.blog-index-title{font-size:1.4rem;font-weight:400;font-style:italic;color:var(--fx-500);margin-bottom:2rem}.blog-post-list{display:flex;flex-direction:column;gap:.75rem}.blog-post-item{display:flex;justify-content:space-between;align-items:baseline;text-decoration:none;color:var(--fx-200);transition:opacity .3s ease}.blog-post-item:hover{opacity:.7}.blog-post-name{font-size:1.05rem;text-decoration:underline}.blog-post-date{font-size:.8rem;color:var(--fx-600);font-style:italic}.blog-back{display:inline-block;margin-top:2rem;font-size:.9rem;color:var(--fx-500);text-decoration:underline;transition:opacity .3s ease}.blog-back:hover{opacity:.7}.blog-post{padding:2rem 0}.blog-post-title{font-size:1.8rem;font-weight:600;margin-bottom:.3rem}.blog-post .blog-post-date{display:block;font-size:.85rem;color:var(--fx-600);font-style:italic;margin-bottom:2rem}.blog-prose{font-size:1.05rem;line-height:1.9}.blog-prose p{margin-bottom:1.2em}.blog-prose ul,.blog-prose ol{margin-bottom:1.2em;padding-left:1.2em}.blog-prose li{margin-bottom:.4em}.blog-prose a{color:inherit;text-decoration:underline}.blog-preview{display:flex;flex-direction:column;gap:.4rem}.blog-preview-link{font-size:1rem;color:var(--fx-200);text-decoration:underline;transition:color 1.5s ease,opacity .3s ease}.blog-preview-link:hover{opacity:.7}.blog-see-all{font-size:.85rem;color:var(--fx-600);text-decoration:underline;font-style:italic;margin-top:.3rem;transition:opacity .3s ease}.blog-see-all:hover{opacity:.7}
