:root{--misaki-main:#ff6680;--misaki-main-dark:#e95872;--misaki-sub:#ffd5de;--misaki-beige:#f8efea;--misaki-paper:#fffafa;--misaki-white:#ffffff;--misaki-text:#6c5c62;--misaki-title:#49383e;--misaki-muted:#9a8b90;--misaki-line:rgba(108,92,98,0.11)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}html{background:var(--misaki-beige)}body{background:radial-gradient(circle at 50% 0,rgba(255,213,222,.35),transparent 380px),var(--misaki-beige);color:var(--misaki-text);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Meiryo,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.shell{width:100%;max-width:480px;min-height:100dvh;margin:0 auto;display:flex;flex-direction:column;position:relative;background:linear-gradient(180deg,#fffafa,#fdf5f5 34%,#f8efea);color:var(--misaki-text);overflow-x:hidden}.shell .card{position:-webkit-sticky;position:sticky;top:0;z-index:20;min-height:79px;display:flex;align-items:center;gap:11px;padding:calc(11px + env(safe-area-inset-top)) 14px 11px;background:rgba(255,250,250,.94);border-bottom:1px solid rgba(108,92,98,.08);box-shadow:0 5px 24px rgba(82,55,64,.055);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.shell .avatar{flex:0 0 auto;width:49px;height:49px;padding:2px;border-radius:50%;background:linear-gradient(145deg,#ffd5de,#ff6680);box-shadow:0 5px 16px rgba(189,84,107,.18)}.shell .avatar img{width:100%;height:100%;display:block;object-fit:cover;border:2px solid rgba(255,255,255,.94);border-radius:50%}.shell .card h1{margin:0;color:var(--misaki-title);font-size:18px;line-height:1.15;font-weight:800;letter-spacing:.04em}.shell .card p{margin:4px 0 0;color:var(--misaki-muted);font-size:10px;line-height:1.3}.shell .card button{color:var(--misaki-text)!important;font-weight:600}.shell .card button:first-of-type{background:var(--misaki-main)!important;color:#ffffff!important;box-shadow:0 5px 14px rgba(255,102,128,.18)}.shell .notice{margin:11px 13px 0;padding:9px 13px;border:1px solid rgba(255,102,128,.08);border-radius:13px;background:rgba(255,255,255,.68);color:#918086;font-size:10px;line-height:1.55;text-align:center;box-shadow:0 5px 18px rgba(74,52,59,.025)}.shell .chat{flex:1 1;width:100%;padding:20px 13px 126px;display:flex;flex-direction:column;gap:13px}.shell .chat .bubble{position:relative;width:-moz-fit-content;width:fit-content;max-width:78%;padding:10px 14px;color:var(--misaki-text);font-size:15px;line-height:1.58;letter-spacing:.005em;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 4px 14px rgba(73,50,58,.045)}.shell .chat .bubble:not(.user){align-self:flex-start;margin-left:45px;background:rgba(255,255,255,.96);border:1px solid rgba(108,92,98,.045);border-radius:18px 18px 18px 5px}.shell .chat .bubble:not(.user):before{content:"";position:absolute;left:-45px;top:0;width:35px;height:35px;border:2px solid #ffffff;border-radius:50%;background-image:url(/icon-192.png);background-size:cover;background-position:50%;background-repeat:no-repeat;box-shadow:0 4px 12px rgba(90,58,69,.11)}.shell .chat .bubble.user{align-self:flex-end;margin-left:auto;background:linear-gradient(145deg,#ffdce3,var(--misaki-sub));color:#5f4c53;border:1px solid rgba(216,104,128,.06);border-radius:18px 18px 5px 18px;box-shadow:0 4px 13px rgba(199,98,120,.055)}.shell .typingBubble{min-width:61px;height:40px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 13px}.shell .typingBubble span{width:6px;height:6px;display:block;border-radius:50%;background:#c08f99;animation:typingDot 1.2s ease-in-out infinite}.shell .typingBubble span:first-child{animation-delay:0s}.shell .typingBubble span:nth-child(2){animation-delay:.18s}.shell .typingBubble span:nth-child(3){animation-delay:.36s}@keyframes typingDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.shell .inputArea{position:fixed;z-index:30;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,480px);display:flex;align-items:center;gap:8px;padding:9px 10px calc(9px + env(
        safe-area-inset-bottom
      ));background:rgba(255,250,250,.96);border-top:1px solid rgba(108,92,98,.08);box-shadow:0 -7px 25px rgba(73,48,57,.055);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.shell .inputArea input,.shell .inputArea textarea{flex:1 1;min-width:0;min-height:43px;max-height:110px;padding:10px 15px;border:1px solid rgba(108,92,98,.13);border-radius:22px;outline:none;resize:none;background:#ffffff;color:var(--misaki-text);font-size:16px;box-shadow:inset 0 1px 2px rgba(73,48,57,.025);transition:border-color .2s ease,box-shadow .2s ease}.shell .inputArea input::placeholder,.shell .inputArea textarea::placeholder{color:#b6a9ad}.shell .inputArea input:focus,.shell .inputArea textarea:focus{border-color:rgba(255,102,128,.56);box-shadow:0 0 0 3px rgba(255,102,128,.08)}.shell .inputArea button{flex:0 0 auto;min-width:62px;height:43px;padding:0 15px;border:none;border-radius:22px;background:var(--misaki-main);color:#ffffff;font-size:13px;font-weight:800;box-shadow:0 7px 17px rgba(255,102,128,.22);cursor:pointer;transition:transform .15s ease,opacity .15s ease}.shell .inputArea button:active:not(:disabled){transform:scale(.96)}.shell .inputArea button:disabled{opacity:.42;box-shadow:none}.shell>section[style]{color:var(--misaki-text)}.shell>section[style] strong{color:var(--misaki-title)}.shell>section[style] button{color:var(--misaki-text)}.shell>section[style]>span{color:#8e7e84}.shell>section[style] button[style*=background]{background:var(--misaki-main)!important;color:#ffffff!important}.shell .coming{margin:20px 12px;padding:18px;text-align:center;background:rgba(255,255,255,.8);border:1px solid rgba(108,92,98,.05);border-radius:18px;box-shadow:0 10px 25px rgba(75,52,60,.05)}.shell .coming strong{color:var(--misaki-main-dark);font-size:17px}.shell .coming p{margin-bottom:0;line-height:1.7;color:var(--misaki-text)}@media (min-width:481px){body{background:linear-gradient(135deg,#f8efea,#fff7f8)}.shell{box-shadow:0 0 55px rgba(72,48,56,.12)}}@media (max-width:390px){.shell .card{padding-left:11px;padding-right:11px;gap:8px}.shell .avatar{width:44px;height:44px}.shell .card h1{font-size:17px}.shell .card p{font-size:9px}.shell .chat .bubble{max-width:80%;font-size:14px}.shell .inputArea button{min-width:56px;padding:0 12px}}