:root{font-family:var(--font-body,"Zen Kaku Gothic New"),"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#554c40;background:#f5f1e9;font-size:15px;line-height:1.7;--accent:#65816d;--line:#e4dfd3}*{box-sizing:border-box}body{margin:0}header{max-width:1280px;margin:auto;padding:24px;display:flex;align-items:center;gap:16px;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand small{display:block;font-size:10px;letter-spacing:.16em;color:#918575}.brand strong{font-size:22px}nav{display:flex;gap:8px}main{max-width:1280px;margin:auto;padding:0 24px 30px;display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.card{background:#fffdf8;border:1px solid var(--line);border-radius:22px;padding:26px;min-width:0}h2{margin:0 0 18px;font-size:21px}h3{font-size:18px;margin:12px 0}p{margin:12px 0}.eyebrow{letter-spacing:.16em;font-size:11px;color:#9a8c76;margin:0 0 4px}.hint{font-size:12px;color:#817b70}label{display:block;margin:10px 0}label b{float:right}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;padding:11px 13px;background:#fff;border:1px solid #d6d6c9;border-radius:10px;color:inherit}textarea{resize:vertical}button{border:1px solid #d2d9c9;border-radius:11px;padding:10px 15px;background:#f2f5ec;color:#4b6052;cursor:pointer;margin:3px 0}button:hover{background:#e6eddf}button:disabled{opacity:.5;cursor:wait}.primary{background:#678571;color:white;border-color:#678571}.primary:hover{background:#506e5a}.danger{color:#9a4a40;background:#fff5ef}button:focus-visible,a:focus-visible{outline:3px solid #ba945b;outline-offset:3px}.fields{display:flex;gap:12px;flex-wrap:wrap}.fields>*{flex:1;min-width:120px}progress{width:100%;height:12px;accent-color:#839a73}.balances{display:flex;gap:24px;margin:24px 0}.balances>div{flex:1;font-size:12px}.balances strong{font-size:32px;display:block;color:#806b48}.room{position:relative;overflow:hidden;min-height:490px;background:linear-gradient(0deg,#e6d6bd 0 22%,#f5e9d7 22% 100%);display:flex;flex-direction:column;padding:24px}.room-top{display:flex;justify-content:space-between;z-index:1}.room-top span{background:#fff9e8e6;padding:4px 12px;border-radius:20px}.room>#background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.pet-stage{position:relative;flex:1;display:grid;place-items:center;min-height:310px}.pet-stage img{max-width:80%;max-height:310px;width:280px;height:310px;object-fit:contain;filter:drop-shadow(0 14px 9px #58402222)}.bubble{position:relative;background:#fffef7ed;border:1px solid #e4dcc9;border-radius:18px;padding:16px 20px;min-height:70px;white-space:pre-wrap}.stack{display:grid;gap:8px}#messages{height:320px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:5px}#messages p{max-width:90%;margin:0;padding:10px 15px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;background:#eee9de;align-self:flex-start}#messages p.user{background:#e6eddf;align-self:flex-end}#messages p.pending{opacity:.6}#chat-form{display:flex;gap:10px;margin-top:15px}#chat-form input{min-width:0}#chat-form button{white-space:nowrap}#logs{max-height:260px;overflow:auto;font-size:13px}#logs p{margin:8px 0;padding:8px 0;border-bottom:1px solid #eee9df}.plus{color:#3b815b;font-weight:bold}.minus{color:#b45a48;font-weight:bold}.muted, time{color:#958c7e;font-size:11px}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#4a5549;color:#fff;padding:12px 22px;border-radius:12px;max-width:90%;z-index:20;display:none}#notice.visible{display:block}footer{text-align:center;font-size:12px;color:#918575;padding:20px}dialog{width:min(760px,94vw);max-height:90dvh;overflow:auto;border:1px solid #ded8cb;border-radius:20px;padding:24px;color:inherit;background:#fffdf8}dialog::backdrop{background:#302c2455;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-24px;background:#fffdf8;z-index:2;padding:10px 0}.dialog-heading h2{margin:0}dialog section{padding:18px 0;border-bottom:1px solid var(--line)}.warning{background:#fff4df;border:1px solid #e9d3ad;border-radius:12px;padding:18px;font-size:13px}.check{display:flex;align-items:flex-start;gap:10px;font-size:13px}.check input{width:auto;margin-top:7px}.item{border:1px solid var(--line);border-radius:14px;padding:18px;margin:14px 0}.item h3{font-size:16px}.item p{white-space:pre-wrap;overflow-wrap:anywhere}.pagination{display:flex;justify-content:center;gap:18px;align-items:center}summary{cursor:pointer;color:#65816d}details{margin:12px 0}a{color:#50795e}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}#fatal{max-width:800px;margin:24px auto;background:#fff4df}#gacha-result{white-space:pre-wrap}#memory-summary{white-space:pre-wrap;font-size:14px}#memory-items article{padding:15px 0;border-bottom:1px solid var(--line)}@media(max-width:700px){header{padding:16px;align-items:flex-start}.brand strong{font-size:17px}.brand small{display:none}.brand img{width:32px;height:32px}nav button{padding:8px 11px;font-size:13px}main{grid-template-columns:1fr;padding:0 12px 20px;gap:14px}.card{padding:20px;border-radius:17px}.room{min-height:420px}.pet-stage{min-height:260px}.pet-stage img{max-height:260px}.fields{gap:8px}.fields>*{min-width:100px}dialog{padding:18px}.dialog-heading{top:-18px}}
.nav-link{display:inline-flex;align-items:center;padding:10px 15px;border:1px solid #d2d9c9;border-radius:11px;text-decoration:none;background:#f2f5ec;font-size:14px;white-space:nowrap}.manual{display:block;max-width:960px}.manual h1{font-size:27px}.manual section{padding:22px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.manual-toc{display:flex;gap:10px 20px;flex-wrap:wrap}.manual table{border-collapse:collapse;width:100%;font-size:14px}.manual th,.manual td{padding:10px;border:1px solid var(--line);text-align:left}.manual li{margin:10px 0}.manual code{overflow-wrap:anywhere}@media(max-width:700px){header{flex-wrap:wrap}nav{flex-wrap:wrap}.nav-link{padding:8px 11px;font-size:13px}.manual .card{padding:18px}.manual table{font-size:12px}}

.gacha-rates{position:relative;width:max-content;margin:0 0 14px}.gacha-rates summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;list-style:none}.gacha-rates summary::-webkit-details-marker{display:none}.gacha-rates .gacha-rates-popup{display:none;position:absolute;top:100%;left:0;z-index:5;min-width:190px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fffdf8;box-shadow:0 5px 18px #554c4026}.gacha-rates[open] .gacha-rates-popup{display:block}@media(hover:hover){.gacha-rates:hover .gacha-rates-popup{display:block}}

h1,h2,h3,h4,h5,h6{font-family:var(--font-heading,"Hachi Maru Pop"),"Zen Kaku Gothic New",sans-serif;font-weight:700}
