@font-face{font-family:HubJP;src:url('/assets/fonts/MochiyPopOne.woff2')}*{box-sizing:border-box}body{margin:0;color:#603047;font-family:HubJP,'Hiragino Maru Gothic ProN','Noto Sans',sans-serif;background-color:#ffd6e8;background-image:linear-gradient(45deg,#fff6fa 25%,transparent 25%,transparent 75%,#fff6fa 75%),linear-gradient(45deg,#fff6fa 25%,transparent 25%,transparent 75%,#fff6fa 75%);background-size:36px 36px;background-position:0 0,18px 18px}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #246445;outline-offset:4px}button{color:inherit}button:hover:not(:disabled){filter:brightness(1.035)}[hidden]{display:none!important}.portal{max-width:1420px;margin:24px auto;background:#fffafd;border:2px solid #e982ad;border-radius:22px;box-shadow:0 0 0 6px #fff9,0 8px 0 #e991b7,0 20px 50px #a1346126;overflow:hidden}.masthead{display:flex;justify-content:space-between;align-items:center;padding:25px 34px 18px;background:radial-gradient(ellipse at 50% 0,#fff 20%,#ffe4f1 100%);gap:20px}.brand{text-decoration:none;text-align:center;display:block}.brand>span{font-family:'Arial Rounded MT Bold',Arial,sans-serif;font-size:clamp(27px,3.8vw,57px);font-weight:1000;letter-spacing:-2px;color:#fff5fb;-webkit-text-stroke:2px #ed3787;text-shadow:2px 4px 0 #f19abc,0 6px 0 #a72b64;white-space:nowrap}.brand>small{display:block;color:#df2776;letter-spacing:7px;font:bold 17px Arial;margin-top:9px}.header-right{display:flex;align-items:center;gap:24px}.balance{min-width:150px;background:#fff;border:2px dashed #ec81af;outline:3px solid #fff;border-radius:14px;padding:8px 20px}.balance>span{display:block;font:bold 12px Arial;letter-spacing:1px;color:#3d805a}.balance strong{display:block;font:bold 36px Arial;color:#d92176}.balance small{font-size:15px}.utilities{display:flex;align-items:center;gap:5px}.utilities select{max-width:120px;background:white;border:1px solid #efaccc;padding:8px;border-radius:8px;font-size:13px}.utilities button{font-size:26px;background:none;border:0;color:#ce337c}.main-nav{display:flex;align-items:center;gap:8px;padding:0 34px 16px;background:#ffe4f1}.main-nav button{border:1px solid #eeaad0;background:#fff9fc;border-radius:9px;padding:9px 25px;min-height:44px;font-size:15px;font-weight:bold}.main-nav button.selected,.jelly{background:linear-gradient(#ffa9d3 0%,#ff65b0 45%,#f3358e 48%,#fb69aa 100%);color:white;border:2px solid white;outline:1px solid #eb67a5;box-shadow:inset 0 2px 0 #fff9,0 3px 0 #dc6a9b;text-shadow:0 1px 1px #af2b66}.nav-note{margin-left:auto;font:12px Arial;letter-spacing:2px;color:#a95379}.ticker{display:flex;justify-content:center;align-items:center;gap:24px;border-block:1px solid #bbddc7;background:repeating-linear-gradient(90deg,#eaf8ef 0 14px,#dbf2e4 14px 28px);color:#47664f;padding:7px 15px}.ticker p{margin:0;font-size:15px;font-weight:bold;letter-spacing:2px}.ticker>span{color:#f34196}main{padding:24px 28px}.hub-layout{display:grid;grid-template-columns:205px 1fr;gap:25px}.atelier{position:relative;text-align:center;border:2px dashed #e895bd;border-radius:15px;padding:15px;background:linear-gradient(#fff9fd,#ffe9f3);box-shadow:0 0 0 4px #fff,0 0 0 5px #f7bed8;overflow:hidden}.panel-label{font:bold 18px Arial;color:#db307d;letter-spacing:2px}.portrait-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;border:6px double white;outline:1px solid #efadcf;height:175px;margin:20px 3px;background:radial-gradient(#fff,#f3c9e0);color:#ad7097}.portrait-placeholder>span{font-size:24px}.portrait-placeholder strong{font:60px Georgia;color:#b680a0}.portrait-placeholder small{font:10px Arial;letter-spacing:1px}.atelier h2{font:bold 27px Arial;color:#c12770;line-height:1.1;letter-spacing:2px;margin:24px 0 18px}.soon{display:inline-block;font:bold 11px Arial;letter-spacing:2px;border:1px dashed #cb95b3;padding:8px 12px;border-radius:5px;background:#fff8fc;color:#94607b}.atelier p{font-size:13px;line-height:1.9;margin:16px 0}.atelier-options{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:25px}.atelier-options span{font:10px Arial;padding:8px 2px;border:1px solid #efc8de;border-radius:8px;background:#fff8}.handwritten{font:italic 22px Georgia;transform:rotate(-7deg);color:#9695b3;margin:30px 0 10px}.lineup-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px}.lineup-head h1{font:bold 21px Arial;letter-spacing:2px;margin:0}.lineup-head h1 span{color:#e84791}.lineup-head>span{font:12px Arial;color:#98657d}.filters{display:flex;gap:8px;margin-bottom:15px}.filters button{flex:1;border:1px solid #eec0d9;border-radius:8px;background:linear-gradient(white,#fde6f3);font-size:14px;font-weight:bold;min-height:40px;padding:8px}.filters button.active{background:linear-gradient(#ff96c8,#f1579c);color:white;box-shadow:inset 0 2px 0 #ffd6eb}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.game-card{border:1px solid #edadd0;background:#fff;border-radius:11px;padding:5px;box-shadow:0 3px 0 #f7d1e4;transition:transform .15s,box-shadow .15s;min-width:0}.game-card:hover{transform:translateY(-3px);box-shadow:0 6px 0 #f7d1e4}.card-art{position:relative;height:150px;border-radius:7px;overflow:hidden;background:var(--card-color,#e8f6ee);display:flex;align-items:center;justify-content:center}.card-art img{width:100%;height:100%;object-fit:cover}.card-art.contain img{object-fit:contain;padding:6px}.card-art .card-star{position:absolute;top:5px;left:9px;color:#fff;font:28px Arial;text-shadow:0 0 2px #be477a,1px 1px #be477a}.card-art .badge{position:absolute;right:7px;top:7px;font:10px Arial;font-weight:bold;letter-spacing:.5px;border:1px solid #ffffffaa;background:#fffc;border-radius:4px;padding:4px 6px;color:#974365}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:5px;padding:10px 5px 5px}.card-bottom h2{font:bold 16px Arial;margin:0;color:#a72065;letter-spacing:-.3px}.card-bottom p{font-size:12px;margin:4px 0 0;color:#95627c}.play-button{border-radius:20px;padding:7px 15px;font:bold 13px Arial;min-height:36px}.unavailable .card-art{background:repeating-linear-gradient(45deg,#f6ecf4,#f6ecf4 12px,#fff5fa 12px,#fff5fa 24px);color:#b78faa}.coming-art{font:bold 25px Arial;letter-spacing:3px;text-align:center;line-height:1.5}.coming-art small{font-size:12px;letter-spacing:2px}.unavailable .card-bottom{min-height:57px}.local-note{font-size:12px;color:#9b768c;margin:15px 0 0}.reward-strip{display:flex;align-items:center;gap:24px;padding:22px;margin-top:25px;background:#fff1f7;border:1px solid #eda6cc;border-radius:12px;outline:3px solid #fff;box-shadow:0 0 0 4px #f6cadf}.eyebrow{font:bold 10px Arial;letter-spacing:2px;color:#b8658e}.reward-strip h2{font:bold 22px Arial;margin:4px 0;color:#ce2975}.reward-strip p{font-size:12px;margin:6px 0 0}.mini-tickets{display:flex;gap:12px;margin-left:auto}.mini-tickets span{padding:10px 20px;background:#ffe4f3;border:1px dashed #d7609b;outline:3px solid white;color:#a73772;font:bold 25px Arial;transform:rotate(-3deg)}.mini-tickets span:nth-child(2){background:#e4f6df;color:#598453;transform:rotate(3deg)}.mini-tickets span:nth-child(3){background:#ede3fc;color:#82639e}.mini-tickets small{font-size:14px}.reward-strip>.jelly{border-radius:22px;padding:12px 20px;font-size:14px}footer{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-top:1px solid #f1c6da;gap:15px}footer b{font:12px Arial;letter-spacing:2px}footer span{font:italic 13px Georgia;color:#9f728a}footer button{background:none;border:0;font-size:12px;color:#986580}.page-head{text-align:center;padding:20px 0}.page-head .eyebrow{color:#e03f85}.page-head h1{font:bold 34px Arial;color:#c32977;letter-spacing:2px}.page-head p{font-size:15px;line-height:1.8}.notice{max-width:760px;margin:10px auto 26px;padding:20px;border:1px solid #edc5d9;background:#fff0f7;border-radius:12px;font-size:15px;line-height:1.9;text-align:center}.point-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:850px;margin:30px auto}.step{background:#fff;border:1px solid #efc3dc;border-radius:14px;padding:24px;text-align:center}.step>b{font:bold 36px Arial;color:#e96fa7}.step h2{font-size:18px}.step p{font-size:14px;line-height:1.8}.coupon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:900px;margin:25px auto}.coupon{border:2px dashed #e896be;background:#fff0f8;border-radius:12px;text-align:center;padding:30px 15px}.coupon:nth-child(2){background:#eef9e9;border-color:#aad19b}.coupon:nth-child(3){background:#f4eefe;border-color:#c1abdf}.coupon strong{font:bold 65px Arial;display:block;color:#943761}.coupon strong small{font-size:28px}.coupon h2{font-size:22px;margin:15px 0}.coupon p{font-size:13px}.coupon button{width:90%;border:1px solid #e1bfd1;background:#fff9;padding:12px;border-radius:20px;color:#926e83;font-size:14px}.view>.center{text-align:center;margin:20px}.center .jelly{padding:12px 30px;border-radius:22px}dialog{border:2px solid #ec91bc;border-radius:18px;max-width:520px;width:calc(100% - 30px);padding:35px;color:#603047;background:#fff9fc;box-shadow:0 20px 80px #68214755}dialog::backdrop{background:#3e153766;backdrop-filter:blur(4px)}dialog h2{margin-top:0;color:#c52973}dialog p{font-size:15px;line-height:1.9}.dialog-close{position:absolute;right:10px;top:8px;background:none;border:0;font-size:25px}.settings-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid #f0d5e3}.settings-row input{width:22px;height:22px;accent-color:#e93e8b}.settings-row span{font-size:15px}#player{position:fixed;inset:0;z-index:30;background:#fff;display:flex;flex-direction:column}body.playing{overflow:hidden}.player-toolbar{min-height:56px;background:#ffe7f2;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:2px solid #ef9fc6}.player-toolbar strong{font:bold 16px Arial}.player-toolbar button{border:1px solid #e59cbf;background:#fff;padding:9px 12px;border-radius:8px;font-size:13px;min-height:38px}#frame-host{flex:1;min-height:0}#frame-host iframe{border:0;display:block;width:100%;height:100%;background:#fff}#loading{position:absolute;inset:56px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff5fb;z-index:2;padding:25px;text-align:center}#loading .loader{color:#ef4896;font-size:65px;animation:spin 3s linear infinite}#loading h2{font:bold 21px Arial;color:#cf3b80}#loading p{font-size:14px}#loading button{padding:10px 22px;border-radius:8px;border:1px solid #eea2c7;background:white}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:80;max-width:90%;background:#65334c;color:white;padding:14px 24px;border-radius:15px;font-size:14px}body.reduced *{animation:none!important;transition:none!important}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:1050px){.portal{margin:12px}.masthead{padding:20px}.header-right{gap:10px}.utilities{flex-direction:column}.hub-layout{grid-template-columns:160px 1fr;gap:18px}.portrait-placeholder{height:130px}.atelier h2{font-size:22px}.card-art{height:130px}.card-bottom{flex-wrap:wrap}.card-bottom h2{font-size:15px}.reward-strip{gap:15px}.mini-tickets{gap:8px}.mini-tickets span{padding:10px}.reward-strip h2{font-size:19px}.main-nav{padding-inline:20px}}@media(max-width:700px){.portal{margin:8px;border-radius:15px}.masthead{padding:18px 13px 12px;gap:8px;align-items:flex-start}.brand>span{font-size:28px;letter-spacing:-1.3px;-webkit-text-stroke:1.1px #ed3787;text-shadow:1px 2px 0 #f19abc}.brand>small{font-size:11px;letter-spacing:4px;margin-top:5px}.header-right{display:block}.balance{min-width:82px;padding:5px 9px;border-radius:9px}.balance>span{font-size:8px}.balance strong{font-size:23px}.utilities{flex-direction:row;justify-content:flex-end;margin-top:6px}.utilities select{font-size:11px;padding:4px;max-width:86px}.utilities button{font-size:20px}.main-nav{gap:6px;padding:7px 12px 13px}.main-nav button{flex:1;font-size:13px;padding:8px;min-height:40px}.nav-note{display:none}.ticker{gap:12px}.ticker p{font-size:12px;letter-spacing:.5px}main{padding:17px 12px}.hub-layout{display:block}.atelier{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;padding:13px;text-align:left;margin:0 3px 23px}.panel-label{font-size:11px;grid-column:1}.atelier h2{font-size:18px;letter-spacing:1px;margin:0;grid-column:1;grid-row:2}.atelier h2 br{display:none}.atelier .soon{grid-column:2;grid-row:1/3;font-size:9px;padding:8px}.atelier p{font-size:12px;margin:4px 0 0;grid-column:1/3;line-height:1.5}.atelier p br{display:none}.portrait-placeholder,.atelier-options,.handwritten{display:none}.lineup-head h1{font-size:19px}.lineup-head>span{font-size:10px}.filters{gap:5px}.filters button{font-size:12px;padding:7px 2px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.card-art{height:120px}.card-bottom{padding:8px 3px 4px;gap:8px}.card-bottom h2{font-size:14px}.card-bottom p{font-size:11px}.play-button{margin-left:auto;padding:6px 15px;font-size:12px;min-height:32px}.reward-strip{flex-wrap:wrap;justify-content:center;text-align:center;padding:20px 12px;gap:18px}.reward-strip>div:first-child{width:100%}.mini-tickets{margin:0}.mini-tickets span{padding:10px 20px}.reward-strip>.jelly{width:90%}footer{flex-wrap:wrap;justify-content:center;text-align:center;padding:18px 10px;gap:10px}footer span{font-size:12px}.point-steps{grid-template-columns:1fr;gap:12px}.step{padding:16px}.step>b{font-size:26px}.coupon-grid{grid-template-columns:1fr;gap:15px}.coupon{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;padding:20px 15px}.coupon strong{font-size:44px}.coupon h2{margin:0;font-size:23px}.coupon p{grid-column:1/3;margin:0}.coupon button{grid-column:1/3;margin:auto}.page-head{padding:10px 0}.page-head h1{font-size:27px}.notice{padding:16px;font-size:14px}.player-toolbar{padding:6px;gap:5px}.player-toolbar strong{font-size:12px}.player-toolbar button{font-size:11px;padding:8px}.coming-art{font-size:18px}}@media(max-width:360px){.brand>span{font-size:23px}.card-art{height:100px}.card-bottom h2{font-size:12px}}

.portrait-placeholder #atelier-portrait{width:120px;height:180px;object-fit:contain;display:block}.portrait-placeholder #atelier-portrait[hidden],#portrait-symbol[hidden]{display:none}.portrait-placeholder:has(#atelier-portrait:not([hidden])){height:220px}.atelier>.jelly{margin:10px 0}
