.management{max-width:1100px;margin:24px auto;padding:20px;color:#56445f;background:#fff9fc;border-radius:20px;font-size:16px}.management section{background:#fff;border:1px solid #ebd9e6;border-radius:14px;margin:20px 0;padding:20px}.management form{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0}.management label{display:flex;flex-direction:column;gap:6px;max-width:100%}.management input,.management select{font:inherit;padding:10px;border:1px solid #cdb6cf;border-radius:8px;max-width:100%;min-width:180px}.management button{font:inherit;border:0;border-radius:10px;background:#87649b;color:#fff;padding:12px;cursor:pointer}.management button:disabled{opacity:.5;cursor:default}.management .user-id{overflow-wrap:anywhere;font-family:monospace;-webkit-user-select:all;user-select:all}.management .table-scroll{overflow:auto;max-height:450px}.management table{border-collapse:collapse;font-size:13px}.management th,.management td{text-align:left;border-bottom:1px solid #eddfed;padding:8px;min-width:100px;max-width:300px;overflow-wrap:anywhere}.management th{position:sticky;top:0;background:#f4e7f1}.management .admin-card-catalog{padding:clamp(16px,3vw,30px);background:linear-gradient(135deg,#fff8fb,#f8f4ff)}.admin-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-card-heading h2{margin:4px 0;color:#704c61}.admin-card-eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:#a56483;margin:0}.admin-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;max-width:820px}.admin-card{overflow:hidden;border:1px solid #eedbe5;border-radius:18px;background:#fff;box-shadow:0 8px 24px #704c610a}.management .admin-card-art{display:block;position:relative;width:100%;padding:16px;border-radius:0;background:#f6edf3}.admin-card-art img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border-radius:12px}.admin-card-art span{position:absolute;bottom:25px;right:25px;background:#fffef2ed;color:#674954;padding:6px 12px;border-radius:20px;font-size:13px}.admin-card-art:hover img{filter:brightness(1.03)}.admin-card-meta{padding:18px}.admin-card-meta h3{margin:14px 0 8px;font-size:18px}.admin-card-meta p{font-size:14px;margin:8px 0 16px}.admin-card-rarity{border-radius:20px;background:#f4edf2;padding:6px 12px;font-size:13px}.admin-card-rarity.sr{background:linear-gradient(110deg,#ffebbb,#f3cfff,#cdefff);color:#714b75}.admin-card-status{display:inline-block;font-size:13px;color:#876443;background:#fff3dc;padding:6px 10px;border-radius:6px}.admin-card-dialog{box-sizing:border-box;width:min(620px,94vw);max-height:94dvh;overflow:auto;border:1px solid #e4c6d7;border-radius:20px;padding:20px;color:#56445f;background:#fff9fc}.admin-card-dialog::backdrop{background:#332337b3}.admin-card-dialog img{display:block;width:100%;height:auto;border-radius:12px}.admin-card-dialog h2{font-size:20px;clear:both;padding-top:12px}.management .admin-card-close{float:right;position:sticky;top:0;background:#76546c}@media(max-width:520px){.admin-card-grid{grid-template-columns:1fr;gap:18px}.admin-card-heading>span{font-size:13px;white-space:nowrap}}.management .admin-disclosure{margin:20px 0;padding:20px;border:1px solid #efd5dd;border-radius:16px;background:#fffafb}.management details>summary{cursor:pointer;font-weight:700;font-size:1.15rem;padding:12px 0;color:#754957}.management details[open]>summary{margin-bottom:16px}.success-popup-backdrop{position:fixed;inset:0;z-index:10000;background:#43253566;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.success-popup{box-sizing:border-box;width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #edc8d5;border-radius:24px;padding:28px;background:#fff8fa;color:#674b58;box-shadow:0 20px 70px #58313f33;text-align:center}.success-popup h2{font-size:1.35rem;line-height:1.6;margin:0 0 16px}.success-popup p{line-height:1.8}.success-popup button{min-width:100px;min-height:48px;border:0;border-radius:24px;padding:12px 24px;background:#ba6684;color:#fff;font:inherit;font-weight:700;cursor:pointer}.success-popup button:focus-visible{outline:3px solid #793c64;outline-offset:3px}.reward-warning{padding:12px 16px;border:1px solid #e8bbc5;border-radius:12px;background:#fff0f3;font-weight:600}.management .transfer-card{box-shadow:none;background:#fff}.management .transfer-card h2{text-align:left}.management .transfer-lead{font-size:inherit;color:inherit;line-height:1.7}.contact-links{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.contact-links a{display:flex;align-items:center;justify-content:center;flex:1 1 180px;min-height:48px;padding:12px 18px;border:1px solid #efb9c8;border-radius:14px;background:#fbe3e9;color:#a34563;text-align:center;text-decoration:none;font-weight:700}.management .contact-user-id{width:100%;min-width:0;font-size:14px}.management #contact label{margin:16px 0 12px}.contact-links a:focus-visible{outline:3px solid #bc496f;outline-offset:3px}.management #contact{scroll-margin-top:20px}.reward-warning a{color:#a34563;text-decoration:underline;text-underline-offset:3px}.reward-warning a:focus-visible{outline:2px solid #bc496f;outline-offset:3px}.admin-code-value{min-width:180px;max-width:340px}.admin-code-value code{display:block;overflow-wrap:anywhere;white-space:normal;-webkit-user-select:all;user-select:all;margin:8px 0}.admin-code-value button{margin:4px}.survey-page{max-width:760px}.survey-switch{display:flex;gap:12px;flex-wrap:wrap}.survey-switch button{flex:1;min-width:210px}.survey-switch small{display:block;margin-top:6px}.survey-switch [aria-pressed=true]{background:#b65378}.management .survey-form{display:block}.survey-form fieldset{border:0;padding:20px 0;margin:0;border-bottom:1px solid #efdfeb}.survey-form legend{font-weight:700;padding-top:18px;line-height:1.7}.survey-options{display:grid;gap:8px}.management .survey-options label{display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px;border:1px solid #eedde7;border-radius:12px;cursor:pointer}.management .survey-options input{min-width:0;width:20px;height:20px;flex-shrink:0;accent-color:#b65378}.survey-form textarea{box-sizing:border-box;width:100%;font:inherit;padding:12px;border:1px solid #d7bbce;border-radius:12px}.survey-thanks{padding:24px;background:#fff0f5;border-radius:16px}.survey-form>button{width:100%;margin-top:16px}.survey-page button:disabled{opacity:.5;cursor:default}@media(max-width:520px){.survey-page h1{font-size:23px;line-height:1.5}.survey-page{margin:0;border-radius:0;padding:18px}.survey-page section{padding:16px}.survey-options label{font-size:16px}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;color:#382f3e;background:#fbf5fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-height:100%;background:#fbf5fb}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 84% 10%,rgba(237,194,226,.34),transparent 28rem),radial-gradient(circle at 10% 72%,rgba(222,202,241,.32),transparent 30rem),linear-gradient(180deg,#fffafd,#f9f1fa 56%,#fdf9fc)}button,textarea,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{display:flex;flex-direction:column;width:min(100%,700px);height:100dvh;min-height:0;margin:0 auto;overflow:hidden}.topbar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top)) 18px 10px}.identity{display:flex;align-items:center;gap:11px}.mini-avatar,.message-avatar{overflow:hidden;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:linear-gradient(145deg,#eadbf1,#d4bce2);box-shadow:0 5px 14px #5b3d6e26}.mini-avatar{width:54px;height:54px}.mini-avatar img,.message-avatar img{width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.55);transform-origin:center top}.identity h1{margin:0 0 2px;font-family:Georgia,Yu Mincho,serif;font-size:1.2rem;font-weight:600;letter-spacing:.08em}.identity p{margin:0;color:#807283;font-size:.73rem}.online-dot{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:#79b993;box-shadow:0 0 0 3px #79b99324}.beta-badge{padding:5px 10px;border:1px solid rgba(122,91,141,.15);border-radius:999px;color:#745a83;background:#ffffff94;font-size:.7rem;font-weight:700;letter-spacing:.08em}.topbar-actions{display:flex;align-items:center;gap:7px}.profile-button,.item-button{display:flex;align-items:center;gap:6px;max-width:210px;padding:9px 14px;overflow:hidden;border:1.5px solid rgba(242,111,175,.52);border-radius:999px;color:#644d6c;background:#ffffffd1;box-shadow:0 6px 18px #da75af14;font-size:.72rem;font-weight:650;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.profile-button b,.item-button b{color:#ed79b1;font-size:1.1rem;line-height:.7}.status-row{display:flex;gap:8px;padding:5px 20px 13px}.status-chip{display:flex;align-items:baseline;gap:7px;padding:8px 12px;border:1px solid rgba(125,92,145,.1);border-radius:12px;background:#ffffffa8;box-shadow:0 7px 20px #5e416c0d}.status-chip span{color:#847587;font-size:.68rem}.status-chip strong{color:#654d75;font-size:.88rem}.home-status{flex:0 0 auto;padding:2px 12px 8px}.companion-summary{padding:7px 10px 8px;border:1px solid rgba(139,98,152,.09);border-radius:20px;background:#ffffffdb;box-shadow:0 12px 32px #5b3d6e12}.remaining-talks{display:flex;align-items:center;justify-content:center;gap:9px;width:fit-content;margin:6px auto 0;padding:5px 14px;border-radius:999px;background:linear-gradient(135deg,#eddcfacc,#fae2f4e0)}.talk-access-notice{margin:.5rem auto;padding:1rem;max-width:42rem;text-align:center;background:#ffffffd9;border-radius:1.25rem}.talk-access-notice p{margin:0 0 .75rem}.talk-access-notice .item-button{display:inline-flex}.remaining-talks>span{font-size:.88rem}.remaining-talks p,.rui-now-card p{margin:0}.remaining-talks p{color:#8a62ad;font-size:.73rem;font-weight:650}.remaining-talks strong{margin:0 2px;color:#8451ac;font-size:.88rem}.rui-now-card{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.rui-now-card p{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:4px 16px;color:#655768;font-size:.72rem}.rui-now-card p+p{border-left:1px solid rgba(139,98,152,.12)}.rui-now-card strong{flex:0 0 auto;color:#695371;font-size:.78rem;font-weight:650;white-space:nowrap}.rui-now-card .mood-line strong{color:#ed4f99}.friendship-hearts{display:inline-flex;gap:1px;color:#f6b0cf;font-size:1rem;letter-spacing:.01em;white-space:nowrap}.friendship-hearts .filled{color:#f2529d}.friendship-hearts .empty{color:#efbfd5}.rui-stage{position:relative;flex:0 0 clamp(270px,42dvh,520px);height:clamp(270px,42dvh,520px);margin:0 10px 10px;overflow:hidden;border:1px solid rgba(255,255,255,.85);border-radius:28px;background:linear-gradient(145deg,#ffffffd6,#efd6f0c7),#f6e8f3;box-shadow:0 18px 48px #6a406e1c}.stage-glow{position:absolute;inset:14% 22% 0;border-radius:50%;background:#ffffffbd;filter:blur(32px)}.room-background-layer,.room-furniture-layer,.room-foreground-layer{position:absolute;inset:0;pointer-events:none}.room-background-layer{z-index:0;background:linear-gradient(180deg,#fff5fa 0 68%,#ead8e8 68% 100%)}.room-background-layer img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.rui-stage:has(.room-background-layer img) .stage-glow{display:none}.room-window{position:absolute;top:8%;right:6%;width:24%;height:34%;border:8px solid rgba(255,255,255,.7);border-radius:50% 50% 18px 18px;background:linear-gradient(#dff4ff,#fff6fd);box-shadow:0 10px 30px #70487714}.room-floor{position:absolute;inset:68% 0 0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 2px,transparent 2px 80px)}.room-furniture-layer{z-index:1}.room-foreground-layer{z-index:3}.room-item{position:absolute;display:grid;place-items:center;width:74px;height:74px;font-size:2.8rem}.room-item img{width:100%;height:100%;object-fit:contain}.room-item-left-decoration{left:4%;bottom:5%}.room-item-right-decoration{right:4%;bottom:5%}.character-breath,.character-pose{position:absolute;inset:0}.character-breath{z-index:2;transform-origin:50% 68%;animation:rui-breathe 5.2s ease-in-out infinite;will-change:transform}.motion-food_happy{animation:rui-food-happy .8s ease both}@keyframes rui-food-happy{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate))}35%{transform:translate3d(var(--rui-look-x),-8px,0) rotate(-.7deg) scale(1.012)}70%{transform:translate3d(var(--rui-look-x),-2px,0) rotate(.5deg)}}.item-overlay{position:fixed;inset:0;z-index:60;display:flex;justify-content:center;align-items:flex-end}.item-sheet{position:relative;z-index:1;width:min(720px,100%);max-height:min(88dvh,900px);overflow:auto;padding:22px;border:1px solid rgba(151,102,158,.15);border-radius:30px 30px 0 0;background:linear-gradient(145deg,#fffafd,#f8effa);box-shadow:0 -24px 80px #462a5233}.item-sheet>header{display:flex;align-items:center;justify-content:space-between}.item-sheet header small{color:#aa8ab4;letter-spacing:.12em}.item-sheet header h2{margin:4px 0 14px;color:#563f60}.item-sheet header button{width:42px;height:42px;border:0;border-radius:50%;background:#fff;font-size:1.6rem}.item-tabs{display:flex;gap:7px;overflow-x:auto;padding:4px 0 12px}.item-tabs button{flex:none;padding:7px 11px;border:1px solid #ead9ed;border-radius:999px;color:#80698a;background:#fff;font-size:.65rem}.item-tabs button.active{color:#fff;border-color:#b974d1;background:linear-gradient(135deg,#d38de4,#f28dbc)}.item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.item-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:90px;padding:12px;border:1px solid rgba(139,98,152,.1);border-radius:20px;background:#ffffffb8}.item-card.owned{opacity:1}.item-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#fff4fb;font-size:1.8rem}.item-card h3,.item-card p{margin:0}.item-card h3{color:#604c69;font-size:.85rem}.item-card p,.item-card small{color:#8e8091;font-size:.65rem}.item-card button,.keyword-card button{padding:8px 12px;border:0;border-radius:999px;color:#fff;background:linear-gradient(135deg,#ad71ca,#ed82b4);font:inherit;font-size:.7rem}.item-card button:disabled{opacity:.45}.keyword-card{margin-top:14px;padding:16px;border:1px solid #eeddef;border-radius:22px;background:#ffffffb8}.keyword-card h3,.keyword-card p{margin:0 0 5px}.keyword-card p{color:#8e8091;font-size:.7rem}.keyword-card>div:last-child{display:flex;gap:8px;margin-top:10px}.keyword-card input{min-width:0;flex:1;padding:11px 14px;border:1px solid #e8d7eb;border-radius:14px;background:#fff}.item-notice{color:#8b55a5;text-align:center;font-weight:650}.character-pose{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate));transform-origin:50% 56%;transition:transform .18s ease-out;will-change:transform}.character-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.96) contrast(.99);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.character-normal{opacity:1}.has-live2d .character-breath{visibility:hidden;animation:none;will-change:auto}.is-live2d-loading .character-breath{visibility:hidden}.live2d-loading-label{position:absolute;inset:45% 0 auto;text-align:center;color:#80698a;font-size:.8rem}.has-live2d .character-pose{transform:none;animation:none;will-change:auto}.rui-live2d-layer{position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none}.rui-live2d-layer.is-ready{opacity:1}.rui-live2d-art,.rui-live2d-hit-map{position:absolute;top:3%;left:3%;width:94%;height:97%}.rui-live2d-body,.rui-live2d-canvas{position:absolute;inset:0;width:100%;height:100%}.rui-live2d-hit-map{z-index:4;pointer-events:none;overflow:hidden}.has-live2d .rui-live2d-art,.has-live2d .rui-live2d-hit-map{transform-origin:50% 85%;animation:rui-beta-presence 6s ease-in-out infinite}@keyframes rui-beta-presence{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}@media(prefers-reduced-motion:reduce){.has-live2d .rui-live2d-art,.has-live2d .rui-live2d-hit-map{animation:none}}.live2d-hit-area{width:100%;height:100%;padding:0;border:0;border-radius:18px;background:transparent;cursor:pointer;pointer-events:auto}.live2d-hit-area:focus-visible{outline:3px solid #bd76b0;outline-offset:-4px;background:#fff3}.live2d-preview{max-width:720px;margin:0 auto;padding:16px;color:#65475e}.live2d-preview h1{font-size:1.2rem}.live2d-preview p{font-size:.85rem}.live2d-preview-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.live2d-preview-controls button{border:1px solid #ddc3d6;border-radius:10px;padding:8px 12px;background:#fff;color:inherit}.live2d-preview .rui-stage{margin:0}.character-expression{opacity:0;transition:opacity .22s ease}.character-expression.is-visible,.character-blink{opacity:1}.character-reaction{position:absolute;z-index:5;top:7%;left:4%;max-width:min(38%,250px);padding:9px 14px;border:1px solid rgba(233,133,184,.18);border-radius:17px 17px 17px 5px;color:#654c6f;background:#ffffffed;box-shadow:0 10px 28px #6b427621;font-size:clamp(.72rem,2.4vw,.86rem);font-weight:650;line-height:1.45;pointer-events:none;animation:rui-reaction-in .22s ease-out both,rui-reaction-out .25s ease-in 2.25s forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes rui-reaction-out{to{opacity:0;transform:translateY(-4px)}}.character-hit-area{position:absolute;z-index:4;padding:0;border:0;border-radius:45%;outline:none;background:transparent;cursor:pointer;touch-action:manipulation}.character-hit-area:focus-visible{box-shadow:0 0 0 3px #f068aa47}.character-pose.motion-small_bounce{animation:rui-head-pat .72s ease-out both}.character-pose.motion-eyes_closed{animation:rui-eyes-closed .76s ease-in-out both}.character-pose.motion-lean_forward{animation:rui-lean-forward .76s ease-out both}.character-pose.motion-face_shy{animation:rui-face-shy .76s ease-in-out both}.character-pose.motion-hand_touch{animation:rui-hand-touch .72s ease-out both}.character-pose.motion-soft_tilt{animation:rui-soft-tilt .76s ease-in-out both}.character-pose.motion-shoulder_bob{animation:rui-shoulder-bob .68s ease-out both}.character-pose.motion-ticklish{animation:rui-ticklish .82s ease-in-out both}.character-pose.motion-startled{animation:rui-startled .62s ease-out both}.character-pose.motion-waist_sway{animation:rui-waist-sway .82s ease-in-out both}.character-pose.motion-soft_happy{animation:rui-soft-happy .78s ease-in-out both}.character-pose.motion-tap{animation:rui-soft-tap .52s ease-out both}.character-pose.motion-idle_tilt{animation:rui-idle-tilt 1.9s ease-in-out both}@keyframes rui-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.003)}}@keyframes rui-head-pat{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate)) scale(1)}35%{transform:translate3d(var(--rui-look-x),calc(var(--rui-look-y) + 3px),0) rotate(var(--rui-look-rotate)) scale(.994)}65%{transform:translate3d(var(--rui-look-x),calc(var(--rui-look-y) - 2px),0) rotate(var(--rui-look-rotate)) scale(1.006)}}@keyframes rui-eyes-closed{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate)) scale(1)}45%{transform:translate3d(var(--rui-look-x),calc(var(--rui-look-y) + 2px),0) rotate(var(--rui-look-rotate)) scale(.998)}}@keyframes rui-lean-forward{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate)) scale(1)}48%{transform:translate3d(var(--rui-look-x),calc(var(--rui-look-y) - 2px),0) rotate(var(--rui-look-rotate)) scale(1.012)}}@keyframes rui-face-shy{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate))}28%{transform:translate3d(calc(var(--rui-look-x) - 3px),var(--rui-look-y),0) rotate(-.55deg)}58%{transform:translate3d(calc(var(--rui-look-x) + 3px),var(--rui-look-y),0) rotate(.55deg)}}@keyframes rui-hand-touch{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate)) scale(1)}45%{transform:translate3d(var(--rui-look-x),calc(var(--rui-look-y) - 2px),0) rotate(var(--rui-look-rotate)) scale(1.008)}}@keyframes rui-soft-tilt{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate))}48%{transform:translate3d(calc(var(--rui-look-x) + 2px),var(--rui-look-y),0) rotate(.65deg)}}@keyframes rui-shoulder-bob{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate))}42%{transform:translate3d(var(--rui-look-x),calc(var(--rui-look-y) - 3px),0) rotate(var(--rui-look-rotate))}}@keyframes rui-ticklish{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate))}22%{transform:translate3d(calc(var(--rui-look-x) - 4px),var(--rui-look-y),0) rotate(-.7deg)}46%{transform:translate3d(calc(var(--rui-look-x) + 4px),calc(var(--rui-look-y) - 2px),0) rotate(.7deg)}70%{transform:translate3d(calc(var(--rui-look-x) - 2px),var(--rui-look-y),0) rotate(-.35deg)}}@keyframes rui-startled{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate)) scale(1)}24%{transform:translate3d(var(--rui-look-x),calc(var(--rui-look-y) - 5px),0) rotate(var(--rui-look-rotate)) scale(1.008)}52%{transform:translate3d(var(--rui-look-x),calc(var(--rui-look-y) + 1px),0) rotate(var(--rui-look-rotate)) scale(.998)}}@keyframes rui-waist-sway{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate))}34%{transform:translate3d(calc(var(--rui-look-x) - 3px),var(--rui-look-y),0) rotate(-.55deg)}66%{transform:translate3d(calc(var(--rui-look-x) + 3px),var(--rui-look-y),0) rotate(.55deg)}}@keyframes rui-soft-happy{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate)) scale(1)}50%{transform:translate3d(var(--rui-look-x),calc(var(--rui-look-y) - 2px),0) rotate(.3deg) scale(1.006)}}@keyframes rui-soft-tap{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate)) scale(1)}45%{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate)) scale(.996)}}@keyframes rui-idle-tilt{0%,to{transform:translate3d(var(--rui-look-x),var(--rui-look-y),0) rotate(var(--rui-look-rotate))}45%{transform:translate3d(calc(var(--rui-look-x) + 2px),calc(var(--rui-look-y) - 1px),0) rotate(.45deg)}}@keyframes rui-reaction-in{0%{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stage-copy{position:absolute;z-index:2;right:18px;bottom:16px;display:flex;flex-direction:column;align-items:flex-end;color:#483352a1;text-transform:uppercase}.stage-copy span{font-family:Georgia,serif;font-size:.76rem;letter-spacing:.13em}.stage-copy small{margin-top:2px;font-size:.52rem;letter-spacing:.12em}.conversation{display:flex;flex:1 1 140px;flex-direction:column;gap:10px;min-height:0;padding:7px 16px 18px;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;outline:none}.load-older-button{align-self:center;flex:0 0 auto;padding:6px 13px;border:1px solid rgba(139,98,152,.12);border-radius:999px;color:#8a6a96;background:#ffffffb8;font-size:.62rem}.load-older-button:disabled{opacity:.7}.message{display:flex;align-items:flex-end;gap:8px;max-width:88%}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-avatar{flex:0 0 auto;width:30px;height:30px;margin-bottom:1px}.bubble{padding:11px 14px;border-radius:18px;font-size:.92rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.assistant .bubble{border-bottom-left-radius:5px;color:#463a4a;background:#ffffffe6;box-shadow:0 8px 24px #5b3d6e12}.user .bubble{border-bottom-right-radius:5px;color:#fff;background:linear-gradient(135deg,#9871ad,#735486);box-shadow:0 8px 24px #62437429}.thinking{display:flex;gap:4px;align-items:center;min-width:57px;height:40px}.thinking span,.typing-dots i{width:6px;height:6px;border-radius:50%;background:#a489ae;animation:pulse 1.2s infinite ease-in-out}.thinking span:nth-child(2),.typing-dots i:nth-child(2){animation-delay:.16s}.thinking span:nth-child(3),.typing-dots i:nth-child(3){animation-delay:.32s}@keyframes pulse{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.loading-card,.error-card{align-self:center;padding:14px 18px;border-radius:16px;text-align:center;background:#ffffffb3}.loading-card p,.error-card p{margin:6px 0 0;color:#776a7a;font-size:.8rem}.typing-dots{display:flex;justify-content:center;gap:4px}.typing-dots i{display:block}.error-card{border:1px solid rgba(177,91,109,.17);background:#fff3f5eb}.error-card p{margin-top:0;color:#9a5060}.error-card button{margin-top:10px;padding:7px 12px;border:0;border-radius:10px;color:#fff;background:#866499}.composer{position:relative;z-index:10;display:flex;flex:0 0 auto;gap:10px;width:100%;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid rgba(112,83,128,.09);background:#faf7fae0;box-shadow:0 -12px 35px #46305212;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.input-wrap{position:relative;flex:1}.input-wrap textarea{display:block;width:100%;height:48px;max-height:120px;padding:13px 48px 11px 15px;resize:none;border:1px solid rgba(104,75,119,.13);border-radius:17px;outline:none;color:#3f3443;background:#fffffff0;box-shadow:inset 0 1px 2px #5b3d6e0a}.input-wrap textarea:focus{border-color:#845f9966;box-shadow:0 0 0 3px #9770ad17}.input-wrap textarea::placeholder{color:#aaa0ab}.character-count{position:absolute;right:10px;bottom:6px;color:#a597a8;font-size:.58rem}.send-button{display:grid;flex:0 0 auto;width:48px;height:48px;place-items:center;border:0;border-radius:16px;color:#fff;background:linear-gradient(145deg,#c87ae2,#9e60c8);box-shadow:0 9px 22px #9a53be38;transition:transform .15s,opacity .15s}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{opacity:.38;box-shadow:none}.send-button svg{width:23px;height:23px;fill:currentColor}.profile-shell{display:flex;flex-direction:column;justify-content:flex-end;width:min(100%,560px);min-height:100vh;margin:0 auto;padding:calc(18px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom))}.profile-portrait{position:relative;flex:1;min-height:210px;overflow:hidden;border-radius:30px 30px 8px 8px;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.95),rgba(243,207,229,.5) 48%,transparent 72%)}.profile-portrait img{position:absolute;width:100%;height:100%;left:50%;bottom:0;object-fit:cover;object-position:center 18%;transform:translate(-50%)}.mini-rui-portrait{display:block;position:relative;width:100%;height:100%}.mini-rui-portrait>svg{position:absolute;inset:0;width:100%;height:100%}.profile-portrait>.mini-rui-portrait{position:absolute;inset:0;max-width:420px;margin:auto}.profile-form{position:relative;z-index:1;padding:24px 20px 20px;border:1px solid rgba(255,255,255,.9);border-radius:26px;background:#ffffffe0;box-shadow:0 20px 55px #5b3d6e24;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.profile-shell .profile-form{margin-top:-28px}.language-select{position:relative;z-index:1;margin-top:-28px;padding:26px 22px 22px;border:1px solid rgba(255,255,255,.9);border-radius:26px;background:#ffffffe6;box-shadow:0 20px 55px #5b3d6e24;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.language-select .profile-heading h1 span{font-size:.92em}.language-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.language-options button{display:grid;min-height:112px;place-items:center;padding:14px;border:1px solid rgba(139,91,156,.16);border-radius:19px;color:#5e4968;background:linear-gradient(145deg,#fffffff5,#f4e5f9d1);box-shadow:0 8px 22px #62437112}.language-options button>span{font-size:1.65rem}.language-options button strong{font-size:.95rem}.language-options button small{color:#95849a;font-size:.62rem}.onboarding-transfer-button{width:100%;margin-top:14px;padding:10px 12px;border:0;color:#806889;background:transparent;font-size:.68rem;text-decoration:underline;text-underline-offset:3px}.profile-heading small{color:#9a82a7;font-family:Georgia,serif;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.profile-heading h1{margin:5px 0 4px;color:#5d4869;font-family:Georgia,Yu Mincho,serif;font-size:1.35rem;font-weight:600}.profile-heading p{margin:0 0 20px;color:#88788c;font-size:.78rem}.profile-field,.birthday-field{display:block;margin:18px 0 0}.profile-field>span,.birthday-field legend{display:block;margin-bottom:7px;color:#5f5263;font-size:.78rem;font-weight:650}.profile-field b,.birthday-field em{margin-left:5px;color:#9676a6;font-size:.62rem;font-style:normal;font-weight:500}.profile-field input,.profile-field select,.birthday-selects select{width:100%;height:48px;padding:0 13px;border:1px solid rgba(112,83,128,.14);border-radius:14px;outline:none;color:#433747;background:#fcf9fcf0}.profile-field input:focus,.profile-field select:focus,.birthday-selects select:focus{border-color:#845f996b;box-shadow:0 0 0 3px #9770ad17}.birthday-field{padding:0;border:0}.birthday-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-submit{width:100%;height:50px;margin-top:21px;border:0;border-radius:16px;color:#fff;background:linear-gradient(135deg,#a37ab8,#79588c);box-shadow:0 10px 24px #67487933;font-weight:700}.profile-submit-row{display:flex;align-items:end;gap:9px}.profile-submit-row .profile-submit{flex:1}.profile-back-button{width:82px;height:50px;margin-top:21px;border:1px solid rgba(121,88,137,.14);border-radius:16px;color:#745f7d;background:#ffffffb8;font-size:.72rem}.profile-submit:disabled{opacity:.42;box-shadow:none}.form-error{margin:12px 0 0;color:#a24f61;font-size:.72rem}.profile-error,.profile-loading{margin-bottom:20vh}.profile-overlay{position:fixed;z-index:30;inset:0;display:flex;align-items:flex-end;justify-content:center}.profile-backdrop{position:absolute;inset:0;width:100%;border:0;background:#2f233457;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile-sheet{position:relative;z-index:1;width:min(100%,600px);max-height:92vh;padding:24px 20px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;border-radius:28px 28px 0 0;background:radial-gradient(circle at 85% 12%,rgba(247,215,237,.45),transparent 16rem),#fffafd;box-shadow:0 -20px 55px #3827402e}.couple-profile-heading{margin:3px 38px 22px 4px}.couple-profile-heading h2{margin:0;color:#49364e;font-family:Georgia,Yu Mincho,serif;font-size:1.28rem;font-weight:700}.couple-records,.memory-card{margin-top:13px;padding:18px 20px;border:1px solid rgba(128,92,146,.1);border-radius:25px;background:#ffffffe6;box-shadow:0 11px 32px #5b3d6e0f}.couple-records h3,.memory-card h3{margin:0 0 13px;color:#644177;font-size:.9rem;font-weight:700}.couple-records dl{margin:0}.record-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:50px;border-bottom:1px solid rgba(127,98,140,.09)}.record-row:last-child{border-bottom:0}.record-row dt{display:flex;align-items:center;gap:10px;color:#5f5263;font-size:.76rem}.record-icon{display:inline-grid;width:23px;height:23px;flex:0 0 auto;place-items:center;color:#f1559d;font-size:1rem}.record-row dd{display:flex;flex-direction:column;align-items:flex-end;margin:0;color:#f34f99;font-size:.84rem;text-align:right}.record-row dd strong{font-weight:750}.record-row dd small{margin-top:2px;color:#786b7c;font-size:.62rem;font-weight:500}.memory-card{position:relative;min-height:150px;overflow:visible;background:#ffffffe0}.memory-card:after{content:none}.memory-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.memory-card-heading small{color:#a18ca6;font-size:.62rem}.memory-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.memory-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid rgba(141,105,157,.09);border-radius:15px;background:#fdf8fcc7}.memory-item>div:first-child{min-width:0}.memory-category{display:block;margin-bottom:3px;color:#a277af;font-size:.57rem}.memory-item p{margin:0;color:#5f5263;font-size:.75rem;line-height:1.55;overflow-wrap:anywhere}.memory-actions{display:flex;flex:0 0 auto;gap:4px}.memory-actions button,.memory-form-footer button{padding:5px 7px;border:1px solid rgba(144,102,159,.13);border-radius:9px;color:#886a91;background:#ffffffd9;font-size:.57rem}.memory-delete-confirm{display:flex;gap:4px}.memory-delete-confirm button:first-child{color:#b44e70;background:#fff0f5}.memory-card>p:not(.memory-notice){position:relative;z-index:1;margin:8px 0 16px;color:#8c7c90;font-size:.72rem;line-height:1.65}.add-memory-button{width:100%;margin-top:12px;padding:10px 14px;border:1px solid rgba(239,105,169,.26);border-radius:14px;color:#9a5fac;background:linear-gradient(135deg,#ffffffeb,#f8e6fcd6);font-size:.72rem;font-weight:700}.add-memory-button:disabled{opacity:.45}.memory-form{display:grid;gap:11px;margin-top:12px;padding:13px;border:1px solid rgba(150,105,166,.12);border-radius:17px;background:linear-gradient(135deg,#fffafdf5,#f3e6f9d1)}.memory-form label{display:grid;gap:5px}.memory-form label>span{color:#79657f;font-size:.63rem;font-weight:700}.memory-form select,.memory-form input{width:100%;min-height:40px;padding:8px 10px;border:1px solid rgba(136,99,151,.16);border-radius:12px;color:#574a5b;outline:none;background:#ffffffe6;font:inherit;font-size:.72rem}.memory-form select:focus,.memory-form input:focus{border-color:#e069a885;box-shadow:0 0 0 3px #eb7cb81a}.memory-form-footer{display:flex;align-items:center;justify-content:flex-end;gap:7px}.memory-form-footer small{margin-right:auto;color:#a090a4;font-size:.57rem}.memory-form-footer button[type=submit]{padding-inline:12px;color:#fff;border-color:transparent;background:linear-gradient(135deg,#d982c7,#9f6ac5)}.memory-form-footer button:disabled{opacity:.45}.memory-notice{margin:10px 2px 0;color:#9a5fac;font-size:.66rem;line-height:1.5}.transfer-card{margin-top:15px;padding:18px 20px;border:1px solid rgba(125,91,145,.11);border-radius:24px;background:radial-gradient(circle at 92% 10%,rgba(244,207,236,.5),transparent 9rem),linear-gradient(145deg,#fffffff0,#f5e9fae0);box-shadow:0 11px 32px #5b3d6e0f}.profile-shell>.transfer-card{position:relative;z-index:1;margin-top:-28px;padding:24px 20px 20px}.transfer-card h3{margin:0;color:#624671;font-size:.9rem}.transfer-lead{margin:7px 0 14px;color:#806f85;font-size:.7rem;line-height:1.6}.transfer-menu{display:grid;grid-template-columns:1fr 1fr;gap:8px}.transfer-menu button,.transfer-issued>button:not(.transfer-text-button),.transfer-primary,.transfer-confirm button,.transfer-success-card button{min-height:42px;padding:9px 12px;border:1px solid rgba(162,103,166,.16);border-radius:13px;color:#765482;background:#ffffffe0;font-size:.68rem;font-weight:700}.transfer-menu button:first-child,.transfer-primary,.transfer-confirm button:last-child,.transfer-success-card button{color:#fff;border-color:transparent;background:linear-gradient(135deg,#d67fbd,#9567bc);box-shadow:0 8px 18px #7e519429}.transfer-issued{display:grid;gap:9px;text-align:center}.transfer-issued>strong,.transfer-redeem>strong{color:#6b5077;font-size:.76rem}.transfer-issued output{display:block;padding:13px 8px;border:1px dashed rgba(169,92,154,.35);border-radius:14px;color:#7d4d91;background:#ffffffd1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;font-weight:800;letter-spacing:.07em;-webkit-user-select:all;user-select:all}.transfer-issued p,.transfer-issued small{margin:0;color:#87758d;font-size:.64rem;line-height:1.55}.transfer-issued small:last-of-type{color:#a08fa4;font-size:.57rem}.transfer-redeem{display:grid;gap:11px}.transfer-redeem label{display:grid;gap:6px}.transfer-redeem label span{color:#75657a;font-size:.64rem}.transfer-redeem input{width:100%;height:46px;padding:0 12px;border:1px solid rgba(137,92,151,.18);border-radius:13px;outline:none;color:#55425d;background:#ffffffeb;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.transfer-redeem input:focus{border-color:#dc66a87a;box-shadow:0 0 0 3px #e779b71a}.transfer-primary{width:100%}.transfer-text-button{width:fit-content;margin:0 auto;padding:3px 8px;border:0;color:#8f7b95;background:transparent;font-size:.61rem;text-decoration:underline;text-underline-offset:3px}.transfer-confirm{display:grid;gap:12px;padding:13px;border-radius:16px;background:#fff5fae0}.transfer-confirm p,.transfer-error{margin:0;white-space:pre-line;font-size:.67rem;line-height:1.65}.transfer-confirm p{color:#705d76}.transfer-confirm>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.transfer-error{color:#a34d68}.transfer-success-overlay{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:24px;background:#36253c61;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.transfer-success-card{width:min(100%,390px);padding:24px;border:1px solid rgba(255,255,255,.9);border-radius:28px;background:radial-gradient(circle at 80% 12%,rgba(244,208,236,.58),transparent 11rem),#fffafd;box-shadow:0 24px 70px #3e294738;text-align:center}.transfer-success-card img{width:110px;height:110px;object-fit:contain}.transfer-success-card h2{margin:6px 0 9px;color:#654875;font-family:Georgia,Yu Mincho,serif;font-size:1.35rem}.transfer-success-card p{margin:0 0 18px;white-space:pre-line;color:#76637c;font-size:.78rem;line-height:1.8}.transfer-success-card button{width:100%;min-height:48px}@media(max-width:430px){.transfer-menu{grid-template-columns:1fr}.transfer-card{padding-inline:16px}.transfer-issued output{font-size:.82rem}}.profile-note{display:flex;align-items:center;gap:13px;margin-top:15px;padding:16px 18px;border:1px solid rgba(134,93,150,.08);border-radius:22px;background:linear-gradient(135deg,#ffffffeb,#f3e0fac2);box-shadow:0 9px 28px #5b3d6e0d}.profile-note-avatar{width:58px;height:72px;flex:0 0 auto;overflow:hidden;border-radius:18px;background:#fffc}.profile-note-avatar img{width:100%;height:100%;object-fit:contain}.profile-note p{margin:0;color:#5f5263;font-size:.72rem;line-height:1.85}.profile-editor{margin-top:17px}.profile-editor summary{padding:10px 13px;border-radius:14px;color:#8a788e;background:#ffffff9e;font-size:.7rem;text-align:center;cursor:pointer}.profile-edit-divider{display:flex;align-items:center;gap:10px;margin:22px 2px 0;color:#a091a4;font-size:.62rem}.profile-edit-divider:before,.profile-edit-divider:after{flex:1;height:1px;background:#7c5c8c1a;content:""}.close-button{position:absolute;z-index:2;top:14px;right:15px;width:32px;height:32px;border:0;border-radius:50%;color:#745f7d;background:#7d608c17;font-size:1.2rem}.days-card{display:flex;align-items:center;gap:12px;margin:5px 36px 0 0;padding:14px 15px;border:1px solid rgba(128,92,146,.1);border-radius:17px;background:linear-gradient(135deg,#ffffffeb,#ebdcf2b3)}.days-card>span{font-size:1.25rem}.days-card div{display:flex;align-items:baseline;gap:7px}.days-card small{color:#88768e;font-size:.72rem}.days-card strong{color:#6c507b;font-size:1rem}.met-date{margin:7px 0 15px 16px;color:#a091a3;font-size:.64rem}.profile-sheet .profile-form{padding:18px 2px 2px;border:0;background:transparent;box-shadow:none}.profile-sheet .profile-heading h1{font-size:1.12rem}@media(min-width:721px){body{padding:24px 0}.app-shell{height:calc(100dvh - 48px);min-height:0;overflow:hidden;border:1px solid rgba(110,79,126,.1);border-radius:32px;background:#fcf8fb8c;box-shadow:0 28px 80px #452e501f}.rui-stage{flex-basis:clamp(340px,50dvh,650px);height:clamp(340px,50dvh,650px)}.composer{border:1px solid rgba(110,79,126,.09);border-radius:0 0 32px 32px}.profile-shell{min-height:calc(100vh - 48px)}.profile-sheet{bottom:24px;border-radius:28px}}@media(max-width:430px){.topbar{padding-inline:13px}.mini-avatar{width:50px;height:50px}.profile-button,.item-button{max-width:164px;padding:8px 10px;font-size:.64rem}.beta-badge{display:none}.companion-summary{padding-inline:5px}.rui-now-card{grid-template-columns:repeat(3,1fr)}.rui-now-card p{gap:4px;padding-inline:7px;font-size:.57rem}.rui-now-card p{flex-direction:column;gap:2px}.item-sheet{padding:18px 12px}.item-grid{grid-template-columns:1fr}.rui-now-card strong{font-size:.62rem}.friendship-hearts{font-size:.88rem}.rui-stage{flex-basis:clamp(280px,41dvh,350px);height:clamp(280px,41dvh,350px);margin-inline:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color:#58433f;background:#fff6f4}body{padding:0;background:radial-gradient(ellipse at 5% 0%,#ffe1e4,transparent 55%),linear-gradient(130deg,#fff9f5,#fcebec)}.app-shell{--rose: #c65872;--ink: #58433f;--line: #efd9d8;position:relative;display:grid;grid-template-columns:182px minmax(0,1fr);grid-template-rows:88px minmax(0,1fr);width:min(1440px,calc(100% - 64px));height:calc(100dvh - 64px);min-height:480px;margin:32px auto;overflow:hidden;border:1px solid #f1d9d8;border-radius:28px;background:#fff9f7;box-shadow:0 18px 70px #a76e6e16}.app-brand{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:16px 28px;border-bottom:1px solid var(--line);background:linear-gradient(100deg,#fff8f6,#fce4e7)}.app-brand strong{display:block;font-family:Hiragino Maru Gothic ProN,Yu Gothic,sans-serif;font-size:24px;letter-spacing:.08em;color:#744b4a}.app-brand small{display:block;margin-top:3px;color:#956c6b;font-size:12px;letter-spacing:.2em}.brand-paw{display:grid;place-items:center;width:45px;height:45px;color:var(--rose);background:#fff8f8;border:1px solid #edc6cb;border-radius:16px;font-size:30px}.app-brand .beta-badge{display:block;margin-left:auto;color:#906767;border-color:#e9c8cb}.app-navigation{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:10px;padding:26px 14px;border-right:1px solid var(--line);background:#fff4f2}.app-navigation button,.app-navigation a{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px;color:#876c68;background:transparent;border:0;border-radius:14px;text-decoration:none;font-size:14px;font-weight:600;cursor:pointer}.app-navigation [aria-current]{background:#fbdfe3;color:#a8415b}.app-navigation button:hover,.app-navigation a:hover{background:#fbe8e8}.app-navigation .nav-account{margin-top:auto;gap:8px;padding-inline:8px}.nav-account-label{white-space:nowrap;line-height:1.45}.app-navigation .nav-account-label{font-size:13px}.app-navigation .nav-account svg{flex-shrink:0}.app-workspace{grid-row:2;grid-column:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;min-height:0;padding:24px}.room-panel,.chat-panel{min-width:0;min-height:0;display:flex;flex-direction:column}.panel-heading{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-bottom:12px}.panel-heading h2,.chat-heading h2{margin:0;color:var(--ink);font-size:18px;font-weight:650;letter-spacing:.08em}.panel-heading a{color:#a35366;font-size:14px;text-decoration:none}.room-panel .home-status{order:2;flex:none;padding:14px 0 0}.room-panel .companion-summary{padding:0;background:transparent;border:0;box-shadow:none}.room-panel .rui-now-card{padding:12px 0;border:1px solid var(--line);border-radius:16px;background:#fff}.room-panel .rui-now-card p{flex-direction:column;gap:8px;padding:0 8px;font-size:14px;color:#765b57}.friendship-hearts .filled{color:#de7892}.friendship-hearts .empty{color:#dfbfc4}.room-panel .remaining-talks{display:none}.room-panel .rui-stage{flex:1 1 0;min-height:150px;height:auto;margin:0;border-radius:22px;border:1px solid #ebcfcb;box-shadow:0 8px 30px #865e5310}.room-actions{order:3;display:flex;justify-content:center;gap:22px;padding:16px 0 0}.room-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:88px;min-height:74px;padding:10px 4px;border:1px solid var(--line);border-radius:20px;color:#a55267;background:#fff;cursor:pointer}.room-actions span{font-size:12px;color:#72564f}.room-greeting{order:4;text-align:center;margin:12px 0 0;font-size:14px;color:#94716a}.room-greeting span{color:var(--rose)}.chat-panel{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:linear-gradient(#fff6f5,#fffaf8)}.chat-heading{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid var(--line);background:#fbe6e8}.chat-title-icon{display:flex;flex:none;color:#876c68}.chat-title-icon svg{width:26px;height:26px}.chat-title{display:flex;align-items:center;gap:10px;flex:none}.chat-balance{flex:none;margin-left:auto;color:#a25466;font-size:16px;white-space:nowrap}.chat-balance strong{margin:0 3px;font-size:22px;font-weight:700}.chat-panel .conversation{padding:24px 16px;gap:22px}.chat-panel .bubble{font-size:16px;line-height:1.9;padding:13px 16px}.chat-panel .assistant .bubble{border:1px solid #f1e4df;color:#5a4843;box-shadow:0 3px 8px #74534a05}.chat-panel .user .bubble{color:#703d47;background:#fac4ce;box-shadow:none}.chat-panel .message-avatar{width:46px;height:46px;box-shadow:none}.chat-panel .composer{padding:14px;border:0;border-top:1px solid var(--line);border-radius:0;background:#fff5f3;box-shadow:none}.chat-panel textarea{border-radius:24px;padding-right:16px;border-color:#ecd9d7;font-size:16px}.chat-panel .send-button{width:46px;height:46px;border-radius:50%;background:#db6a83;box-shadow:none}.chat-panel .send-button:disabled{background:#edbac6;opacity:.65}.app-shell button:focus-visible,.app-shell a:focus-visible,.app-shell textarea:focus-visible{outline:3px solid #b84562;outline-offset:3px}.app-shell .profile-overlay,.app-shell .item-overlay{position:absolute;inset:112px 24px 24px auto;width:calc((100% - 252px) / 2.1);z-index:20;display:flex;align-items:stretch}.app-shell .profile-backdrop{display:none}.app-shell .profile-sheet,.app-shell .item-sheet{width:100%;height:100%;max-height:none;bottom:auto;padding:22px 18px;border:1px solid var(--line);border-radius:22px;background:#fff9f7;box-shadow:none}.app-shell[data-panel=items] .chat-panel,.app-shell[data-panel=profile] .chat-panel{visibility:hidden}.app-shell .couple-profile-heading h2,.app-shell .item-sheet header h2{font-family:inherit;font-size:18px;color:#684a46}.profile-rui-intro{display:flex;align-items:center;gap:20px;padding:20px 0 28px}.profile-rui-intro>.mini-rui-portrait{flex:0 0 100px;width:100px;height:100px;overflow:hidden;border:3px solid white;border-radius:50%;background:#fbe5e8}.profile-rui-intro h3{margin:0 0 10px;font-size:20px}.profile-rui-intro p{margin:0;font-size:14px;line-height:1.9}.app-shell .item-sheet header small{display:none}.app-shell .item-tabs{gap:8px;border-bottom:1px solid var(--line);margin-bottom:16px}.app-shell .item-tabs button{font-size:14px;padding:9px 13px;color:#82625e;border-color:transparent;background:transparent}.app-shell .item-tabs button.active{color:#a1415b;background:#fbdde3}.app-shell .item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-shell .item-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 10px;border:1px solid #f0dddd;border-radius:16px;text-align:center;background:#fffdfc}.app-shell .item-icon{width:64px;height:64px;font-size:38px;background:#fff3ef}.app-shell .item-card h3{color:#684b45;font-size:14px}.app-shell .item-card p{margin-top:8px;font-size:12px;line-height:1.6;color:#876c65}.app-shell .item-card small{display:block;margin-top:8px;font-size:14px;color:#8e645e}.app-shell .item-card button{margin-top:auto;min-height:36px;font-size:14px;background:#ca637d}.app-shell .keyword-card{background:#fff;border-color:var(--line)}.app-shell .keyword-card p,.app-shell .record-row dt,.app-shell .record-row dd{font-size:14px}.app-shell .profile-note{background:#fff0f0}@media(min-width:1200px){.app-shell .item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1050px)and (min-width:761px){.app-shell{width:calc(100% - 24px);margin:12px;height:calc(100dvh - 24px);grid-template-columns:110px minmax(0,1fr)}.app-navigation{padding:18px 6px}.app-navigation button,.app-navigation a{flex-direction:column;gap:6px;padding:10px 3px;font-size:12px}.app-navigation .nav-account{padding-inline:0}.app-navigation .nav-account-label{font-size:12px}.app-workspace{gap:14px;padding:16px}.app-shell .profile-overlay,.app-shell .item-overlay{inset:104px 16px 16px auto;width:calc((100% - 156px) / 2.1)}.room-actions{gap:10px}}@media(max-width:760px){.app-shell{width:100%;height:100dvh;min-height:0;margin:0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr);grid-template-rows:calc(68px + env(safe-area-inset-top)) minmax(0,1fr) calc(70px + env(safe-area-inset-bottom));box-shadow:none}.app-brand{padding:calc(10px + env(safe-area-inset-top)) 18px 10px;gap:10px}.app-brand strong{font-size:20px}.app-brand small{font-size:10px}.brand-paw{width:35px;height:35px;border-radius:12px;font-size:25px}.app-navigation{grid-column:1;grid-row:3;flex-direction:row;justify-content:space-around;gap:0;padding:5px 6px env(safe-area-inset-bottom);border:0;border-top:1px solid var(--line);z-index:25;background:#fff9f7}.app-navigation button{flex:1;flex-direction:column;gap:5px;min-width:0;min-height:60px;padding:6px 0;font-size:12px;border-radius:12px}.app-navigation .nav-account{display:none}.app-navigation [aria-current]{background:transparent;color:#ba4c68}.app-navigation [aria-current] svg{fill:#f7d6de}.app-workspace{grid-column:1;grid-row:2;display:flex;padding:0;gap:0;overflow:hidden}.room-panel,.chat-panel{flex:1;width:100%}.room-panel{padding:12px 14px}.panel-heading{min-height:32px;margin-bottom:10px}.panel-heading h2{font-size:17px}.room-panel .rui-stage{min-height:100px;border-radius:20px}.room-panel .home-status{padding-top:12px}.room-panel .rui-now-card{padding:10px 0}.room-panel .rui-now-card p{font-size:12px;gap:5px}.room-panel .friendship-hearts{font-size:17px}.room-actions{padding-top:12px;gap:24px}.room-actions button{width:76px;min-height:65px;border-radius:50%}.room-actions span{font-size:11px}.room-greeting{display:block;font-size:16px;font-weight:700;line-height:1.7;color:#8b505d;margin:12px 0;overflow-wrap:anywhere}.app-shell[data-view=home] .chat-panel,.app-shell[data-view=talk] .room-panel{display:none}.chat-panel{border:0;border-radius:0}.chat-heading{padding:12px 18px}.chat-panel .conversation{padding:22px 16px}.chat-panel .composer{padding:10px 14px}.app-shell .profile-overlay,.app-shell .item-overlay{inset:calc(68px + env(safe-area-inset-top)) 0 calc(70px + env(safe-area-inset-bottom));width:auto}.app-shell .profile-sheet,.app-shell .item-sheet{border:0;border-radius:0;padding:20px 16px}.app-shell .item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.app-shell .item-card{padding:14px 7px}.app-shell .item-card p{font-size:12px}.app-shell[data-panel=items] .app-workspace,.app-shell[data-panel=profile] .app-workspace{visibility:hidden}.profile-rui-intro{padding-top:10px}}@media(max-width:360px){.app-shell .item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-actions{gap:16px}}@media(max-height:650px)and (max-width:760px){.room-actions{padding-top:6px}.room-actions button{min-height:48px;border-radius:14px;gap:3px}.room-panel .home-status{padding-top:6px}.room-panel .rui-now-card{padding:6px 0}}.item-empty{padding:28px 12px;color:#876c65;text-align:center;font-size:14px}@media(max-width:430px){.chat-heading{gap:8px;padding-inline:12px}.chat-title{gap:6px}.chat-title-icon svg{width:22px;height:22px}.chat-heading h2{font-size:16px}.chat-balance{font-size:14px}.chat-balance strong{font-size:20px;margin-inline:2px}}.chat-heading{min-height:66px}.app-shell .section-pink-heading{position:sticky;top:-22px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;margin:-22px -18px 20px;padding:18px;background:#fbe6e8;border-bottom:1px solid var(--line)}.app-shell .section-pink-heading h2{display:flex;align-items:center;gap:10px;margin:0;color:var(--ink);font-size:18px;font-weight:650;letter-spacing:.08em}.app-shell .section-pink-heading h2 svg{flex:none;width:26px;height:26px;color:#876c68}.app-shell .section-pink-heading button{position:static;flex:none;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#fff5f6;color:#876c68;font-size:22px;cursor:pointer}@media(max-width:760px){.app-shell .section-pink-heading{top:-20px;margin:-20px -16px 20px;padding:12px 18px}}@media(min-width:761px){.app-shell .chat-heading h2,.app-shell .section-pink-heading h2{font-size:22px;font-weight:700}.chat-title-icon svg,.app-shell .section-pink-heading h2 svg{width:30px;height:30px}.room-greeting{font-size:18px;font-weight:700;line-height:1.6;color:#8b505d}}.profile-rui-intro p{white-space:pre-line}.panel-heading a{display:inline-flex;align-items:center;gap:7px}.panel-heading a svg{width:20px;height:20px}@media(max-width:760px){.panel-heading a{min-height:40px;padding:8px 12px;border:1px solid #f1d9df;border-radius:14px;background:#fbe6e8;color:#93696a;font-weight:650}}.memory-gallery-lead{margin:0 0 16px;color:#876c65;font-size:14px;line-height:1.7}.memory-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.memory-gallery-card{min-width:0;padding:0;overflow:hidden;border:1px solid #efd9d8;border-radius:18px;background:#fff;color:#684b45;text-align:left;cursor:pointer}.memory-gallery-card img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#fff}.memory-gallery-card span{display:block;padding:14px;font-size:14px;font-weight:650}.memory-gallery-card:hover{border-color:#ca637d;box-shadow:0 4px 16px #ca637d16}.memory-gallery-back{padding:10px 14px;border:1px solid #efd9d8;border-radius:999px;color:#935367;background:#fff0f3;cursor:pointer;font-size:14px}.memory-image-view h3{font-size:18px;margin:18px 0;color:#684b45}.memory-image-view>img{display:block;width:100%;max-height:65dvh;object-fit:contain;border:1px solid #efd9d8;border-radius:16px;background:#fff}@media(max-width:360px){.memory-gallery-grid{grid-template-columns:1fr}}.chat-balance{display:flex;flex-direction:column;align-items:flex-end;gap:5px;white-space:normal}.chat-balance small{font-size:12px;font-weight:600;line-height:1.5;text-align:right}@media(max-width:600px){.chat-heading{flex-wrap:wrap;gap:12px}.chat-balance{margin-left:auto}.chat-balance strong{font-size:24px}}.app-shell .reward-code-link{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:52px;margin:18px 0 4px;padding:14px 20px;border:1px solid #efb9c8;border-radius:18px;background:#fbe3e9;color:#a34563;font-size:16px;font-weight:700;line-height:1.5;text-align:center;text-decoration:none}.reward-code-link:focus-visible{outline:3px solid #bc496f;outline-offset:3px}.app-shell .item-empty{line-height:1.8}
