*{box-sizing:border-box}body{margin:0;background:#f5faf7;color:#204657;font:15px/1.7 "Yu Gothic",Meiryo,sans-serif}button,input,select,textarea{font:inherit}a{color:#176c88}button,.button{border:0;border-radius:14px;background:#087a91;color:#fff;padding:11px 18px;cursor:pointer;font-weight:700;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:wait}.secondary{background:#e7f1ec;color:#2c6056;border:1px solid #cbded4}input,select,textarea{width:100%;padding:11px;border:1px solid #cbd9d4;border-radius:10px;background:white;color:#234c59}label{display:block;font-size:13px;font-weight:700}textarea{min-height:110px;resize:vertical}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e8b454;outline-offset:3px}[hidden]{display:none!important}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1100px;margin:auto;padding:19px 24px;border-bottom:1px solid #dce9e1}.app-brand{text-decoration:none;font-size:25px;line-height:1.2;font-weight:900}.app-brand small{display:block;font-size:10px;font-weight:400;margin-top:6px;color:#5c7d7c}.header-actions{display:flex;align-items:center;gap:15px;font-size:12px}.header-actions button{font-size:12px;padding:8px 12px}#header-plan{text-decoration:none;background:#fff2d4;padding:6px 12px;border-radius:20px;color:#806428;font-weight:bold}.app-wrap{max-width:1060px;margin:30px auto 115px;padding:0 24px}.eyebrow{font-size:10px;color:#658b8b;letter-spacing:.15em;font-weight:bold;margin:0 0 12px}h1{font-size:34px;line-height:1.5;margin:0 0 8px;letter-spacing:.02em}h2{font-size:21px;line-height:1.6}p{margin:8px 0 17px}.home-heading,.view-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:35px 0 25px}.home-heading p,.view-heading p{color:#63817f}.profile-link{font-size:12px;white-space:nowrap}.usage-strip{padding:15px 20px;border:1px solid #dfd9bd;border-radius:16px;background:#fff8e8;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;margin-bottom:25px}.usage-strip a{font-weight:bold}.content-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.content-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;padding:24px 13px;border:1px solid #d5e3dc;border-radius:24px;text-decoration:none;background:linear-gradient(145deg,#fff,#edf7f4);box-shadow:0 6px 18px #35665208;color:#284c59;transition:transform .18s,box-shadow .18s}.content-button:hover{transform:translateY(-3px);box-shadow:0 9px 22px #35665218}.content-button strong{font-size:19px;margin:8px 0 5px}.content-button small{font-size:11px;text-align:center;color:#63817f}.tile-icon{display:grid;place-items:center;width:61px;height:61px;border-radius:20px;background:var(--tile-color,#e3f4ee);color:var(--tile-ink,#237a86);font-size:31px}.tile-status{position:absolute;right:13px;top:11px;font-size:9px;padding:2px 7px;background:#f2f5e8;color:#6b8068;border-radius:10px}.home-note,.hint{font-size:12px;color:#63817f;line-height:1.8}.home-note{margin-top:24px}.app-bottom{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:35px;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid #dce7df;padding:10px 12px max(12px,env(safe-area-inset-bottom));z-index:20}.app-bottom a{min-width:65px;text-align:center;text-decoration:none;font-size:24px;line-height:1.1;color:#6d8b88}.app-bottom a span{display:block;font-size:10px;margin-top:5px}.app-bottom a[aria-current=page]{color:#d25a83}.app-notice,.notice-panel{background:#fff2d8;border:1px solid #eddaad;border-radius:13px;padding:13px 16px;font-size:13px;overflow-wrap:anywhere}.panel{background:white;border:1px solid #d8e3dc;border-radius:20px;padding:24px;margin:18px 0}.counter{display:inline-block;background:#e8f2e7;border-radius:20px;padding:6px 13px;font-size:12px;font-weight:bold}.character-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px}.character-button{padding:20px 12px;border:4px double #b99d62;aspect-ratio:55/91;border-radius:18px;display:flex;flex-direction:column;align-items:center;background:linear-gradient(145deg,#fff6e0,#fce4ec,#e8f5ee);color:#31535d;overflow:hidden}.character-button img{width:100%;height:0;min-height:0;flex:1;object-fit:contain;margin:15px 0}.character-button strong{font-size:20px}.character-button span{font-size:11px}.empty-state{text-align:center;background:linear-gradient(130deg,#e5f3ee,#fff4df);padding:60px 25px;border:1px solid #d5e3d8;border-radius:24px;margin:25px 0}.empty-state>span{font-size:48px;color:#629c91}.empty-state p{color:#67857f}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:25px}.plan-card{background:white;padding:24px;border-radius:23px;border:1px solid #cfdfd5;display:flex;flex-direction:column}.plan-card.current{border:2px solid #1b8997}.plan-card h2{font-size:20px}.plan-price{font-size:39px;color:#20516b;font-weight:bold}.plan-price small{font-size:12px;font-weight:normal}.plan-card ul{padding-left:19px;flex:1;font-size:12px;line-height:2.1}.plan-card button{margin-top:18px}.plan-card .hint{font-size:11px}.talk-panel label{max-width:250px}.chat-messages{min-height:220px;max-height:430px;overflow:auto;margin:20px 0;display:flex;flex-direction:column;gap:12px}.chat-guide{color:#7c9691;font-size:13px}.chat-bubble{max-width:85%;padding:12px 16px;border-radius:16px;background:#eaf3ed;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px}.chat-bubble.user{align-self:flex-end;background:#dff0f6}.chat-bubble.assistant{align-self:flex-start;background:#fff2dc}#talk-form{display:flex;gap:10px}#talk-form input{flex:1;min-width:0}#talk-form button{flex-shrink:0}.upgrade-banner{background:#fff0d5;padding:23px;border-radius:20px;margin-top:24px}.alarm-form{display:grid;grid-template-columns:1fr 2fr 1fr;gap:15px;align-items:end}.alarm-form button{grid-column:1/-1}.alarm-tools{display:flex;gap:10px;flex-wrap:wrap}.alarm-row{background:white;border:1px solid #d7e2dc;border-radius:14px;padding:17px;margin:10px 0;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.alarm-row strong{font-size:24px}.alarm-row .alarm-info{flex:1}.alarm-row small{display:block;font-size:11px}.alarm-row button{font-size:12px;padding:6px 12px}.check-label{display:flex;align-items:flex-start;gap:8px;font-size:11px;margin:15px 0}.check-label input{width:auto;margin-top:4px}.community-post{border:1px solid #d6e4dc;border-radius:15px;background:white;padding:20px;margin:14px 0}.community-post p{white-space:pre-wrap;overflow-wrap:anywhere}.community-post small{font-size:11px;color:#69877f}.member-card{max-width:550px;background:linear-gradient(120deg,#e5f6f1,#fff3da)}#member-map-frame{width:100%;height:760px;border:1px solid #c9dbcf;border-radius:20px;background:#e3edcc;display:block}dialog{border:0;border-radius:20px;max-width:92vw;max-height:94dvh;background:#fffaf2;padding:20px}dialog::backdrop{background:#123d4caa}dialog img{display:block;max-width:80vw;height:65dvh;object-fit:contain;margin:auto}dialog h2,dialog p{text-align:center}dialog p{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
@media(max-width:650px){body{font-size:14px}.app-header{padding:14px 15px;gap:8px}.app-brand{font-size:20px}.app-brand small{font-size:8px}.header-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}.header-actions button{font-size:10px;padding:7px}#header-plan{font-size:10px;padding:4px 7px}.app-wrap{padding:0 14px;margin-top:20px}.home-heading,.view-heading{align-items:flex-start;margin:23px 0 18px;flex-wrap:wrap;gap:8px}h1{font-size:26px}.home-heading p{font-size:12px}.content-buttons{gap:9px}.content-button{min-height:146px;border-radius:17px;padding:22px 5px 12px}.content-button strong{font-size:12px;white-space:nowrap}.content-button small{font-size:9px}.tile-icon{width:46px;height:46px;border-radius:15px;font-size:25px}.tile-status{right:6px;top:6px;font-size:8px;padding:1px 4px}.usage-strip{padding:12px;font-size:11px;gap:4px;margin-bottom:18px}.usage-strip span{width:100%}.app-bottom{gap:0;justify-content:space-around}.app-bottom a{min-width:0;flex:1;font-size:22px}.app-bottom a span{font-size:9px}.panel{padding:17px}.plan-grid{grid-template-columns:1fr}.plan-card{padding:23px}.character-gallery{gap:9px}.character-button{padding:12px 5px;border-width:3px}.character-button strong{font-size:12px;white-space:nowrap}.character-button span{font-size:9px}.character-button img{margin:9px 0}.alarm-form{grid-template-columns:1fr}.alarm-form button{grid-column:auto}.empty-state{padding:38px 19px}#member-map-frame{height:740px}.hint,.home-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:650px){.home-heading{position:relative;display:block}.home-heading .profile-link{position:absolute;top:0;right:0;font-size:10px}.home-heading>div>p:last-child{margin-bottom:6px}.content-button{min-height:125px}.content-button strong{font-size:11px}.content-button small{font-size:9px}.tile-icon{width:40px;height:40px;font-size:24px}.usage-strip{margin-bottom:15px}}

/* A colorful entrance to the nine musubi experiences. */
body{background:radial-gradient(circle at 0 15%,#fff0cd 0,transparent 34%),radial-gradient(circle at 100% 45%,#eae0ff 0,transparent 36%),#effaff;color:#173e61}
.app-header{background:#ffffffd9;border:0;border-radius:0 0 24px 24px;box-shadow:0 5px 24px #1569ac0b}
.app-brand{display:block;flex-shrink:0}.app-brand img{display:block;width:190px;height:auto;max-width:100%}.app-brand small{font-size:9px;text-align:center;color:#51748a;margin-top:0}
.home-heading{position:relative;isolation:isolate;overflow:hidden;min-height:235px;padding:30px 36px;margin:20px 0;border-radius:30px;background:linear-gradient(115deg,#0579c8,#069ed5 55%,#3ac6ca);box-shadow:0 12px 30px #1685be25;color:white}
.home-heading:before{content:'✦';position:absolute;right:80px;top:20px;font-size:150px;line-height:1;color:#ffdc61;transform:rotate(12deg);z-index:-1;text-shadow:70px 100px 0 #ff9cb8,-80px 90px 0 #ffffff22}
.home-heading:after{content:'';position:absolute;right:-45px;top:-85px;width:290px;height:290px;border:35px solid #ffffff18;border-radius:50%;z-index:-2}
.home-heading h1{font-size:34px;font-weight:900;line-height:1.45;text-shadow:0 2px 0 #006b9b30}.home-heading h1 span{color:#fff28a}.home-heading p{color:#fff}.home-heading .eyebrow{color:#bdf7ff;letter-spacing:.18em;font-size:10px}.home-heading>div>p:last-child{font-size:13px;margin-bottom:0}.home-heading .profile-link{align-self:flex-end;background:white;color:#086996;text-decoration:none;border-radius:30px;padding:8px 14px;font-weight:bold;position:relative}
.usage-strip{background:#ffffffdd;border:2px solid #d9edfb;box-shadow:0 4px 0 #dcecf6;border-radius:18px;color:#335c7d}.usage-strip a{color:#976208}
.play-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 2px 15px;gap:10px}.play-heading h2{font-size:21px;margin:0;font-weight:900}.play-heading>span{font-size:11px;background:#fff0b7;color:#7a5c10;padding:4px 10px;border-radius:20px;font-weight:bold}
.content-buttons{gap:18px}.content-button{--edge:#17a3d2;--wash:#d9f5ff;background:linear-gradient(155deg,#fff 5%,var(--wash));border:2px solid white;border-bottom:5px solid var(--edge);box-shadow:0 6px 0 #234d6d0b,0 10px 24px #234d6d08;min-height:185px;padding:25px 10px 18px;border-radius:25px;color:#193f5b;overflow:hidden}.content-button:before{content:'';position:absolute;width:90px;height:90px;border:15px solid #ffffff70;border-radius:50%;right:-35px;bottom:-30px;pointer-events:none}.content-button:hover{transform:translateY(-5px) rotate(-1deg);box-shadow:0 10px 0 #234d6d0b,0 16px 25px #234d6d13}.content-button:active{transform:translateY(2px)}
.content-button[data-content=cards]{--edge:#ec6a9c;--wash:#ffe0ed}.content-button[data-content=stamps]{--edge:#70b94c;--wash:#e6f7c9}.content-button[data-content=hiroba]{--edge:#f18a4c;--wash:#ffe7cc}.content-button[data-content=talk]{--edge:#9b77d9;--wash:#eee1ff}.content-button[data-content=alarm]{--edge:#e6b12e;--wash:#fff0b5}.content-button[data-content=wallpaper]{--edge:#27b8a0;--wash:#cef8ec}.content-button[data-content=gacha]{--edge:#e97565;--wash:#ffdbce}.content-button[data-content=drama]{--edge:#6b8ce1;--wash:#dee9ff}
.tile-icon{background:white!important;width:65px;height:65px;border-radius:22px;font-size:37px;box-shadow:0 5px 0 #234d6d0a;transform:rotate(-5deg)}.content-button strong{font-size:18px;font-weight:900}.content-button small{color:#47667d}.tile-status{background:#fffdf4;color:#536879;font-weight:bold;border:1px solid #ffffff;z-index:1}.home-note{text-align:center;color:#5d7384}.app-bottom{background:#fffffff5;border:1px solid #d9e8fa;box-shadow:0 -5px 25px #3b7ca915;border-radius:25px 25px 0 0}.app-bottom a[aria-current=page]{background:#dff5ff;color:#0075b5;border-radius:16px}
@media(max-width:650px){.app-brand img{width:135px}.app-brand small{font-size:7px}.app-header{padding:9px 14px}.home-heading{padding:20px;min-height:210px;margin:14px 0 17px;border-radius:23px}.home-heading h1{font-size:25px}.home-heading:before{font-size:90px;right:18px;top:30px;opacity:.8}.home-heading>div>p:last-child{font-size:11px}.home-heading .profile-link{position:relative;display:inline-block;top:auto;right:auto;margin-top:12px;padding:4px 10px;font-size:10px}.home-heading .eyebrow{margin-bottom:7px;font-size:8px}.play-heading{margin:22px 0 12px}.play-heading h2{font-size:17px}.play-heading>span{font-size:9px;padding:3px 7px}.content-buttons{gap:10px}.content-button{min-height:143px;padding:25px 4px 11px;border-radius:18px;border-bottom-width:4px}.content-button strong{font-size:11px;letter-spacing:-.03em}.content-button small{font-size:9px;line-height:1.5}.tile-icon{width:45px;height:45px;font-size:28px;border-radius:15px}.tile-status{font-size:8px}.usage-strip{font-size:10px}.content-button:before{width:60px;height:60px;border-width:10px}}
@media(prefers-reduced-motion:reduce){.content-button:hover,.content-button:active{transform:none}}

.map-logo-heading{margin:0 0 12px}.map-logo-heading img{display:block;width:250px;max-width:65vw;height:auto;border-radius:12px}

@media(max-width:650px){#member-map-frame{height:75dvh;min-height:420px}}

.member-map-actions { display: flex; gap: 8px; flex-wrap: wrap; }
body.member-map-expanded { overflow: hidden; }
#view-map.map-expanded {
 position: fixed; inset: 0; z-index: 100; display: flex; flex-direction: column;
 background: #f5faf7; padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
}
#view-map.map-expanded .view-heading,
#view-map.map-expanded > .hint { display: none; }
#view-map.map-expanded #member-map-frame {
 flex: 1; height: auto; min-height: 0; border: 0; border-radius: 0;
}
