@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2039e8342bda6056-s.51680477.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fabcf92ba1ccea36-s.p.19f28380.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bebas Neue Fallback;src:local(Arial);ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.0%;size-adjust:76.72%}.bebas_neue_223b711d-module__8OrnNa__className{font-family:Bebas Neue,Bebas Neue Fallback;font-style:normal;font-weight:400}.bebas_neue_223b711d-module__8OrnNa__variable{--font-display-en:"Bebas Neue","Bebas Neue Fallback"}
:root{--background:#0a0908;--foreground:#f5f3f0;--text-primary:#e8e6e3;--text-secondary:#a39e97;--text-muted:#6b6560;--surface:#161412;--surface-elevated:#1e1b18;--surface-hover:#252220;--border:#2a2622;--border-subtle:#1f1d1b;--accent:#8b7355;--accent-hover:#a08b6e;--accent-muted:#6b5b4a;--accent-bright:var(--accent-hover);--accent-dim:var(--accent-muted);--surface-border:var(--border);--muted:var(--text-muted);--glow:transparent;--glow-strong:transparent;--glow-soft:transparent;--glow-card:transparent;--gradient-card:var(--surface);--font-display:var(--font-outfit),system-ui,sans-serif;--radius-lg:24px;--radius-md:16px;--radius-sm:12px;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 24px #00000040;--shadow-lg:0 8px 40px #0000004d;--shadow-card:0 4px 20px #00000040;--shadow-card-hover:0 12px 48px #00000059;--transition-smooth:.3s cubic-bezier(.4,0,.2,1);--transition-bounce:.4s cubic-bezier(.34,1.2,.64,1)}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);font-family:var(--font-outfit),system-ui,sans-serif;letter-spacing:.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.6}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}.game-canvas-wrapper canvas{image-rendering:pixelated;image-rendering:crisp-edges;max-width:100%;height:auto}@keyframes bg-pulse{0%,to{opacity:1}50%{opacity:.88}}@keyframes bg-shift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes glow-pulse{0%,to{box-shadow:var(--shadow-md)}50%{box-shadow:var(--shadow-lg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradient-text{0%,to{background-position:0%}50%{background-position:100%}}@keyframes border-glow{0%,to{border-color:var(--border);box-shadow:var(--shadow-sm)}50%{border-color:var(--accent-muted);box-shadow:var(--shadow-md)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-bean-pop{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes splash-fade-out{to{opacity:0;visibility:hidden}}@keyframes splash-load{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes particle-float{0%,to{opacity:.4;transform:translate(0)scale(1)}50%{transform:translate(var(--dx),var(--dy))scale(1.2);opacity:.8}}@keyframes route-loading-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes route-loading-dots{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.splash{z-index:9999;background:var(--background);pointer-events:none;justify-content:center;align-items:center;animation:.6s 1.8s forwards splash-fade-out;display:flex;position:fixed;inset:0}.splash__particles{opacity:.9;background-image:radial-gradient(2px 2px at 20% 30%,#8b735526,#0000),radial-gradient(2px 2px at 80% 70%,#8b73551a,#0000),radial-gradient(2px 2px at 40% 80%,#2a262233,#0000),radial-gradient(2px 2px at 60% 20%,#2a262226,#0000);background-size:200% 200%;animation:14s ease-in-out infinite bg-shift;position:absolute;inset:0}.splash__inner{z-index:1;text-align:center;padding:2rem;position:relative}.splash__title{font-family:var(--font-heading),"Noto Sans JP",sans-serif;letter-spacing:.2em;color:var(--text-primary);opacity:0;margin:0 0 .75rem;font-size:clamp(2rem,8vw,3.5rem);font-weight:700;animation:.6s .2s forwards fade-up}.splash__tagline{font-family:var(--font-heading),"Noto Sans JP",sans-serif;color:var(--text-muted);letter-spacing:.18em;opacity:0;margin:0 0 2.5rem;font-size:clamp(.8rem,2.5vw,.95rem);font-weight:500;animation:.5s .45s forwards fade-up}.splash__loader{background:var(--surface-elevated);opacity:0;border-radius:2px;width:160px;height:3px;margin:0 auto;animation:.4s .7s forwards fade-up;overflow:hidden}.splash__loader-bar{background:var(--accent);transform-origin:0;border-radius:2px;width:100%;height:100%;animation:1.2s ease-in-out 1s forwards splash-load}.route-loading{background:var(--background);flex-direction:column;justify-content:center;align-items:center;gap:0;min-height:100vh;padding:2rem;animation:.5s backwards fade-up;display:flex}.route-loading__text{color:var(--text-muted);letter-spacing:.12em;margin:0 0 .5rem;font-size:.9rem;font-weight:500}.route-loading__dots{gap:8px;display:flex}.route-loading__dots span{background:var(--accent-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite route-loading-dots}.route-loading__dots span:nth-child(2){animation-delay:.2s}.route-loading__dots span:nth-child(3){animation-delay:.4s}.top-page{background:var(--background);min-height:100vh;padding:max(28px,env(safe-area-inset-top))max(28px,env(safe-area-inset-right))max(28px,env(safe-area-inset-bottom))max(28px,env(safe-area-inset-left));box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.top-page__bg{pointer-events:none;background-color:#0000;background-image:radial-gradient(18% 28% at 8% 18%,#2a26221f 0%,#0000 55%),radial-gradient(14% 22% at 92% 78%,#2a26221a 0%,#0000 55%),radial-gradient(16% 26% at 75% 12%,#2a262212 0%,#0000 55%),radial-gradient(12% 20% at 15% 72%,#2a262214 0%,#0000 55%),radial-gradient(10% 18% at 88% 45%,#2a26220f 0%,#0000 55%),radial-gradient(20% 32% at 50% 95%,#1e1b1817 0%,#0000 55%),radial-gradient(80% 80% at 50% 20%,#8b73550d 0%,#0000 50%),radial-gradient(60% 60% at 90% 60%,#2a26220f 0%,#0000 45%),radial-gradient(50% 50% at 10% 80%,#2a26220a 0%,#0000 45%);background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat;background-size:100% 100%;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box;width:200%;height:200%;animation:10s ease-in-out infinite bg-pulse;position:fixed;inset:-50%}.top-page__bg:after{content:"";pointer-events:none;background:radial-gradient(circle,#0000 0%,#0003 100%);position:absolute;inset:0}.top-page__content{z-index:1;text-align:center;width:100%;max-width:740px;animation:.7s backwards fade-up;position:relative}.top-page__hero{margin-bottom:1.5rem}.top-page__catch{font-family:var(--font-heading),"Noto Sans JP",sans-serif;letter-spacing:.35em;color:var(--text-muted);margin:0 0 8px;font-size:clamp(.7rem,1.8vw,.85rem);font-weight:500}.top-page__brand{font-family:var(--font-display-en),"Bebas Neue",sans-serif;letter-spacing:.28em;color:var(--text-muted);text-transform:lowercase;opacity:.85;margin:0 0 4px;font-size:clamp(1.5rem,6vw,2.5rem);font-weight:400}.top-page__title{font-family:var(--font-heading),"Noto Sans JP",sans-serif;margin:0 0 20px;line-height:1.12}.top-page__title-main{letter-spacing:.12em;color:var(--text-primary);font-size:clamp(2.8rem,14vw,5rem);font-weight:700;display:block}.top-page__title-dot{letter-spacing:.32em;color:var(--text-secondary);margin-top:.5rem;font-size:clamp(1.1rem,3.5vw,1.75rem);font-weight:500;display:block}.top-page__sub{font-family:var(--font-heading),"Noto Sans JP",sans-serif;color:var(--text-muted);letter-spacing:.03em;max-width:420px;margin-bottom:56px;margin-left:auto;margin-right:auto;font-size:clamp(.85rem,2vw,1rem);font-weight:500;line-height:1.85}.top-page__nav{counter-reset:card;gap:20px;display:grid}.top-page__card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--foreground);box-shadow:var(--shadow-card);counter-increment:card;padding:28px 26px 28px 30px;text-decoration:none;transition:transform .35s cubic-bezier(.25,.46,.45,.94),box-shadow .35s,border-color .3s,background .3s;animation:.6s cubic-bezier(.25,.46,.45,.94) backwards card-in;display:block;position:relative;overflow:hidden}.top-page__card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.top-page__nav .top-page__card:first-child{animation-delay:60ms}.top-page__nav .top-page__card:nth-child(2){animation-delay:.12s}.top-page__nav .top-page__card:nth-child(3){animation-delay:.18s}.top-page__nav .top-page__card:nth-child(4){animation-delay:.24s}.top-page__nav .top-page__card:nth-child(5){animation-delay:.3s}.top-page__nav .top-page__card:nth-child(6){animation-delay:.36s}.top-page__nav .top-page__card:nth-child(7){animation-delay:.42s}.top-page__nav .top-page__card:nth-child(8){animation-delay:.48s}.top-page__card:before{content:"";background:var(--border);border-radius:var(--radius-lg)0 0 var(--radius-lg);width:4px;transition:width .25s,background .3s;position:absolute;top:0;bottom:0;left:0}.top-page__card:after{content:counter(card,decimal-leading-zero);font-family:var(--font-display-en),"Bebas Neue",sans-serif;color:var(--text-muted);opacity:.5;letter-spacing:.05em;font-size:.9rem;font-weight:400;transition:opacity .25s,color .25s;position:absolute;top:20px;right:20px}.top-page__card:hover{border-color:var(--border-subtle);box-shadow:var(--shadow-card-hover);background:var(--surface-elevated);transform:translateY(-8px)scale(1.008)}.top-page__card:nth-child(odd):hover{transform:translateY(-8px)scale(1.008)rotate(.4deg)}.top-page__card:nth-child(2n):hover{transform:translateY(-8px)scale(1.008)rotate(-.4deg)}.top-page__card:hover:before{background:var(--accent-muted);width:5px}.top-page__card:hover:after{opacity:.85;color:var(--accent-muted)}.top-page__card-title{font-family:var(--font-heading),"Noto Sans JP",sans-serif;color:var(--text-primary);letter-spacing:.04em;margin-bottom:10px;padding-right:2.5rem;font-size:1.1rem;font-weight:600;transition:color .25s;display:block}.top-page__card:hover .top-page__card-title{color:var(--foreground)}.top-page__card-desc{color:var(--text-muted);letter-spacing:.02em;margin:0;font-size:.875rem;line-height:1.7;transition:color .25s}.top-page__card:hover .top-page__card-desc{color:var(--text-secondary)}.top-page__footer{font-family:var(--font-heading),"Noto Sans JP",sans-serif;color:var(--text-muted);letter-spacing:.12em;margin-top:60px;font-size:.75rem;font-weight:500}.section-page{background:var(--background);min-height:100vh;padding:max(28px,env(safe-area-inset-top))max(28px,env(safe-area-inset-right))max(28px,env(safe-area-inset-bottom))max(28px,env(safe-area-inset-left));box-sizing:border-box;position:relative;overflow:hidden}.section-page:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(70% 70% at 50% 0,#8b73550d 0%,#0000 50%),radial-gradient(50% 50% at 80%,#2a26220f 0%,#0000 45%);width:200%;height:200%;animation:10s ease-in-out infinite bg-pulse;position:fixed;inset:-50%}.section-page>*{z-index:1;position:relative}.section-page__back{font-family:var(--font-heading),"Noto Sans JP",sans-serif;letter-spacing:.08em;color:var(--text-secondary);transition:color var(--transition-smooth),transform var(--transition-smooth);margin-bottom:26px;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-block}.section-page__back:hover{color:var(--accent);transform:translate(-2px)}.section-page__title{font-family:var(--font-heading),"Noto Sans JP",sans-serif;color:var(--text-primary);letter-spacing:.06em;margin:0 0 10px;font-size:clamp(1.5rem,5vw,2.2rem);font-weight:700;animation:.5s backwards fade-up}.section-page__lead{font-family:var(--font-heading),"Noto Sans JP",sans-serif;color:var(--text-muted);letter-spacing:.02em;max-width:500px;margin-bottom:36px;font-size:.9rem;font-weight:500;line-height:1.75;animation:.5s 50ms backwards fade-up}.section-page__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:540px;color:var(--foreground);box-shadow:var(--shadow-card);transition:border-color var(--transition-smooth),box-shadow var(--transition-smooth),transform var(--transition-smooth);padding:30px;animation:.5s .1s backwards fade-up}.section-page__card:focus-within{border-color:var(--accent-muted);box-shadow:var(--shadow-md)}.section-page__field{align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-page__label{min-width:60px;color:var(--text-secondary);font-size:.9rem}.section-page__range{accent-color:var(--accent);flex:1}.section-page__value{color:var(--accent);min-width:2em;font-size:.9rem;font-weight:600}.section-page__check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;margin-bottom:12px;font-size:.9rem;display:flex}.section-page__btn{background:var(--accent);color:var(--background);border:1px solid var(--accent);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-bounce),box-shadow var(--transition-smooth),background var(--transition-smooth);box-shadow:var(--shadow-sm);margin-top:18px;padding:16px 32px;font-size:1.02rem;font-weight:600}.section-page__btn:hover{box-shadow:var(--shadow-md);background:var(--accent-hover);transform:translateY(-2px)}.section-page__btn--small{margin-left:12px;padding:10px 18px;font-size:.9rem}.section-page__result{border-top:1px solid var(--surface-border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;padding-top:20px;display:flex}.section-page__password{word-break:break-all;color:var(--accent-hover);flex:1;min-width:0;font-size:.95rem;font-weight:500}.section-page__quote{border-left:4px solid var(--accent);background:var(--surface-elevated);border-radius:0 var(--radius-md)var(--radius-md)0;color:var(--text-primary);box-shadow:var(--shadow-sm);margin:24px 0 0;padding:24px;font-size:1.12rem;font-style:italic;line-height:1.8;animation:.4s backwards fade-up}.section-page__poem{background:var(--surface-elevated);border-radius:var(--radius-md);text-align:center;border:1px solid var(--border);margin-top:24px;padding:28px;animation:.4s backwards fade-up}.section-page__poem-type{color:var(--accent);letter-spacing:.15em;margin-bottom:8px;font-size:.8rem;font-weight:600;display:block}.section-page__poem-text{color:var(--text-primary);white-space:pre-wrap;margin:0;font-size:1.25rem;line-height:1.85}.section-page__game-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;max-width:900px;display:grid}.section-page__game-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);min-height:100px;box-shadow:var(--shadow-card);padding:22px 20px;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s;display:block}.section-page__game-card:hover{border-color:var(--accent-muted);background:var(--surface-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.section-page__game-card-title{color:var(--text-primary);margin-bottom:6px;font-size:1.125rem;font-weight:600;display:block}.section-page__game-card-desc{color:var(--text-muted);margin:0;font-size:.8125rem;line-height:1.5}.section-page__character-label{color:var(--text-secondary);margin-bottom:10px;font-size:.9rem;font-weight:600;display:block}.section-page__character-options{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.section-page__character-btn{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s}.section-page__character-btn:hover{border-color:var(--accent-muted);color:var(--text-primary);box-shadow:var(--shadow-sm)}.section-page__character-btn[data-selected=true]{background:var(--surface-hover);border-color:var(--accent);color:var(--text-primary);box-shadow:var(--shadow-sm)}.section-page__quote-source{color:var(--accent);margin-top:12px;font-size:.85rem;font-style:normal;font-weight:600;display:block}.database-section{max-width:720px;margin-bottom:2.5rem}.database-section__title{font-family:var(--font-heading),"Noto Sans JP",sans-serif;color:var(--text-primary);border-bottom:1px solid var(--border);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.25rem;font-weight:600}.database-section__note{color:var(--text-muted);margin:0 0 1.25rem;font-size:.85rem;line-height:1.6}.database-def-list{margin:0;padding:0;list-style:none}.database-def-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.75rem;padding:1.25rem}.database-def-dl{margin:0}.database-def-dt{color:var(--text-primary);margin-bottom:.5rem;font-weight:600}.database-def-dd{color:var(--text-secondary);margin:0 0 .75rem;font-size:.95rem;line-height:1.65}.database-source{color:var(--accent);font-size:.8rem;text-decoration:none;transition:color .2s}.database-source:hover{color:var(--accent-hover)}.database-foods{flex-direction:column;gap:1.5rem;display:flex}.database-food-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.database-food-trigger{width:100%;font-family:var(--font-heading),"Noto Sans JP",sans-serif;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:1.05rem;font-weight:600;transition:background .2s,color .2s;display:flex}.database-food-trigger:hover{background:var(--surface-hover);color:var(--foreground)}.database-food-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.database-food-trigger-icon{text-align:center;width:1.5rem;color:var(--text-muted);flex-shrink:0;font-size:1.1rem;transition:transform .25s}.database-food-detail{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.database-food-detail[data-expanded=true]{grid-template-rows:1fr}.database-food-detail>*{min-height:0;overflow:hidden}.database-food-detail-inner{border-top:1px solid var(--border-subtle);padding:0 1.25rem 1.25rem}.database-food-source{color:var(--accent);margin:1rem 0 .75rem;padding:0;font-size:.85rem;text-decoration:none;transition:color .2s;display:inline-block}.database-food-source:hover{color:var(--accent-hover)}.database-food-table-wrap{overflow-x:auto}.database-table{border-collapse:collapse;width:100%;font-size:.875rem}.database-table th,.database-table td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:.5rem .75rem}.database-table th{color:var(--text-secondary);background:var(--surface-elevated);font-weight:600}.database-table td{color:var(--text-primary)}.database-table tbody tr:hover td{background:var(--surface-hover)}.kuromametchi-page{background:var(--background);min-height:100vh;padding:max(28px,env(safe-area-inset-top))max(28px,env(safe-area-inset-right))max(28px,env(safe-area-inset-bottom))max(28px,env(safe-area-inset-left));box-sizing:border-box;position:relative;overflow:hidden}.kuromametchi-page:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(60% 60% at 50% 20%,#8b73550d 0%,#0000 50%),radial-gradient(40% 40% at 80% 70%,#2a26220d 0%,#0000 45%);width:200%;height:200%;animation:12s ease-in-out infinite bg-pulse;position:fixed;inset:-50%}.kuromametchi-page>*{z-index:1;position:relative}.kuromametchi-pet-area{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;max-width:380px;box-shadow:var(--shadow-card);margin:0 auto 28px;padding:36px;animation:.5s backwards fade-up}.kuromametchi-pet-visual{background:radial-gradient(circle at 32% 28%,var(--surface-elevated),var(--surface));border:2px solid var(--border);width:128px;height:128px;box-shadow:inset 0 -8px 20px #00000059,var(--shadow-md);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;font-size:4.2rem;animation:4s ease-in-out infinite card-float;display:flex}.kuromametchi-pet-visual:hover{box-shadow:inset 0 -8px 20px #00000059,var(--shadow-lg);transform:scale(1.03)}.kuromametchi-pet-visual.egg{font-size:3.2rem}.kuromametchi-pet-visual.baby{font-size:3.6rem}.kuromametchi-pet-visual.child{font-size:4.2rem}.kuromametchi-pet-visual.adult{font-size:4.8rem}.kuromametchi-pet-visual--character{justify-content:center;align-items:center;font-size:0;display:flex}.kuromametchi-pet-visual--character .bean-character{transform:scale(1.85)}.kuromametchi-pet-visual--gyaru{border-color:#fb718599;box-shadow:inset 0 -10px 24px #00000080,0 0 32px #fb718540}.kuromametchi-pet-visual--gyaru:hover{box-shadow:inset 0 -10px 24px #00000080,0 0 40px #fb718559}.kuromametchi-stage{color:var(--accent);margin-bottom:8px;font-size:.9rem;font-weight:600}.kuromametchi-public-badge{color:var(--text-muted);letter-spacing:.1em;margin-bottom:16px;font-size:.75rem;font-weight:600}.kuromametchi-bars{text-align:left;flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.kuromametchi-bar-wrap{align-items:center;gap:10px;display:flex}.kuromametchi-bar-label{color:var(--text-secondary);min-width:64px;font-size:.85rem}.kuromametchi-bar{background:var(--surface-elevated);border-radius:7px;flex:1;height:14px;overflow:hidden}.kuromametchi-bar-fill{border-radius:7px;height:100%;transition:width .25s}.kuromametchi-personality{color:var(--muted);text-align:center;margin:0 0 8px;font-size:.85rem}.kuromametchi-bar-fill.hunger{background:var(--accent)}.kuromametchi-bar-fill.happiness{background:var(--accent-muted)}.kuromametchi-bar-fill.dirt{background:var(--text-muted)}.kuromametchi-bar-fill.nutrition{background:#6b7c5a}.kuromametchi-bar-fill.injury{background:#8b5a5a}.kuromametchi-bar-fill.illness{background:#6b5a7c}.kuromametchi-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.kuromametchi-btn{background:var(--accent);color:var(--background);border:1px solid var(--accent);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-bounce),box-shadow var(--transition-smooth);box-shadow:var(--shadow-sm);padding:16px 28px;font-size:1.02rem;font-weight:600}.kuromametchi-btn:hover:not(:disabled){box-shadow:var(--shadow-md);background:var(--accent-hover);transform:translateY(-2px)}.kuromametchi-btn:disabled{opacity:.6;cursor:not-allowed}.kuromametchi-setup-msg{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);max-width:480px;color:var(--text-muted);padding:24px;line-height:1.65}.public-colony{min-height:100vh;padding:max(16px,env(safe-area-inset-top))max(20px,env(safe-area-inset-right))max(24px,env(safe-area-inset-bottom))max(20px,env(safe-area-inset-left));box-sizing:border-box;position:relative;overflow-x:hidden}.public-colony__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.public-colony__title-wrap{flex:1;min-width:0}.public-colony__title{font-family:var(--font-heading),"Noto Sans JP",sans-serif;color:var(--text-primary);letter-spacing:.05em;margin:0 0 4px;font-size:clamp(1.4rem,4.5vw,2rem);font-weight:700}.public-colony__lead{font-family:var(--font-heading),"Noto Sans JP",sans-serif;color:var(--text-muted);letter-spacing:.02em;margin:0;font-size:.875rem;font-weight:500}.public-colony__stats{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.public-colony__stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--accent);box-shadow:var(--shadow-sm);padding:10px 18px;font-size:1rem;font-weight:600}.public-colony__stat span{color:var(--text-muted);margin-right:6px;font-size:.85rem;font-weight:500}.public-colony__actions-top{flex-wrap:wrap;gap:12px;margin-bottom:28px;display:flex}.public-colony__breed-btn{background:var(--accent);color:var(--background);border:1px solid var(--accent);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-bounce),box-shadow var(--transition-smooth);box-shadow:var(--shadow-sm);padding:14px 24px;font-size:1.05rem;font-weight:600}.public-colony__breed-btn:hover:not(:disabled){box-shadow:var(--shadow-md);background:var(--accent-hover);transform:translateY(-2px)}.public-colony__breed-btn:disabled{opacity:.6;cursor:not-allowed}.public-colony__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;max-width:1600px;margin:0 auto;display:grid}.public-colony__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--transition-smooth),box-shadow var(--transition-smooth),transform var(--transition-smooth);padding:24px}.public-colony__card:hover{border-color:var(--accent-muted);box-shadow:var(--shadow-card-hover)}.public-colony__card-visual{aspect-ratio:1;background:radial-gradient(circle at 32% 28%,var(--surface-elevated),var(--surface));border:2px solid var(--border);width:100%;max-width:140px;box-shadow:inset 0 -6px 16px #0000004d,var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;font-size:4rem;animation:5s ease-in-out infinite card-float;display:flex}.public-colony__card-visual--gyaru{box-shadow:inset 0 -6px 16px #0000004d,var(--shadow-sm);border-color:#fb718580}.public-colony__card-personality{color:var(--muted);margin:0 0 6px;font-size:.75rem}.public-colony__card-stage{color:var(--accent);text-align:center;margin-bottom:12px;font-size:.9rem;font-weight:700}.public-colony__card-bars{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.public-colony__card-bar{background:#0006;border-radius:5px;height:10px;overflow:hidden}.public-colony__card-bar-fill{border-radius:5px;height:100%;transition:width .25s}.public-colony__card-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.public-colony__card-btn{background:var(--accent);color:var(--background);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth);padding:10px 18px;font-size:.9rem;font-weight:600}.public-colony__card-btn:hover:not(:disabled){box-shadow:var(--shadow-sm);background:var(--accent-hover);transform:translateY(-2px)}.public-colony__card-btn:disabled{opacity:.6;cursor:not-allowed}.public-colony__footer{text-align:center;margin-top:32px}.public-colony__link{background:var(--accent);color:var(--background);border:1px solid var(--accent);border-radius:var(--radius-md);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth);padding:14px 28px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.public-colony__link:hover{box-shadow:var(--shadow-md);background:var(--accent-hover);transform:translateY(-2px)}.public-colony__error{border-radius:var(--radius-md);color:#fca5a5;background:#ef444426;border:1px solid #ef444466;margin-top:16px;padding:16px;font-size:.9rem}.public-colony__saving{color:var(--accent);text-align:center;margin-top:12px;font-size:.85rem}.public-colony__pasture{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);width:100%;min-height:min(65vh,520px);margin-top:20px;position:relative;overflow:hidden;box-shadow:inset 0 0 60px #00000040}.public-colony__pasture:before{content:"";pointer-events:none;background:radial-gradient(80% 50% at 50% 100%,#41502814 0%,#0000 60%);position:absolute;inset:0}.public-colony__bean-wrap{cursor:pointer;z-index:2;background:0 0;border:none;margin:0;padding:0;transition:transform .2s;position:absolute}.public-colony__bean-wrap:hover{z-index:3;transform:scale(1.15)}.public-colony__bean-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:50%}.public-colony__pasture-hint{color:var(--muted);pointer-events:none;font-size:.8rem;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.public-colony__popover{z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(92vw,320px);max-height:85vh;box-shadow:var(--shadow-lg);padding:20px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.public-colony__popover-backdrop{z-index:99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:fixed;inset:0}.public-colony__popover-title{justify-content:center;align-items:center;gap:12px;margin-bottom:12px;display:flex}.public-colony__popover-name{color:var(--text-primary);font-size:1rem;font-weight:700}.public-colony__popover-stage{color:var(--accent);font-size:.95rem;font-weight:700}.public-colony__popover-education{color:var(--muted);font-size:.8rem}.public-colony__popover-bars{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.public-colony__bar-group{flex-direction:column;gap:4px;display:flex}.public-colony__bar-group-label{color:var(--accent);margin-bottom:2px;font-size:.75rem;font-weight:700}.public-colony__bar-label{color:var(--muted);min-width:32px;font-size:.7rem}.public-colony__popover-bars .public-colony__card-bar{background:0 0;align-items:center;gap:8px;height:auto;display:flex}.public-colony__card-bar-track{background:var(--surface-elevated);border-radius:5px;flex:1;height:10px;overflow:hidden}.public-colony__card-bar .public-colony__card-bar-fill{flex:none;height:100%}.public-colony__breed-section{flex-direction:column;gap:10px;display:flex}.public-colony__breed-label{color:var(--muted);font-size:.9rem;font-weight:600}.public-colony__breed-selects{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.public-colony__breed-select{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);min-width:140px;padding:8px 12px;font-size:.9rem}.public-colony__bean-name{color:var(--accent);text-align:center;margin-top:2px;font-size:.65rem;font-weight:700;display:block}.public-colony__popover-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.public-colony__popover-actions .public-colony__card-btn{flex:1;min-width:72px}.bean-character{justify-content:center;align-items:center;width:56px;height:64px;transition:transform .2s;display:flex;position:relative}.bean-character--baby{width:44px;height:52px}.bean-character--child{width:52px;height:60px}.bean-character--adult{width:64px;height:74px}.bean-character--egg{width:48px;height:56px}.bean-character--elementary{width:46px;height:54px}.bean-character--juniorHigh{width:50px;height:58px}.bean-character--highSchool{width:52px;height:62px}.bean-character--university{width:56px;height:66px}.bean-character--worker{width:60px;height:70px}.bean-character--middleAged{width:58px;height:68px}.bean-character--elderly{width:54px;height:64px}.bean-character__body{background:linear-gradient(152deg,#3a3632 0%,#2d2a26 25%,#1c1917 50%,#0c0a09 100%);border-radius:50%/60% 60% 40% 40%;width:100%;height:100%;position:absolute;box-shadow:inset -6px -10px 20px #0000008c,inset 6px 6px 14px #78716c1f,inset 0 -2px #ffffff0a,0 6px 16px #00000073}.bean-character--baby .bean-character__body{background:linear-gradient(150deg,#352f2a 0%,#252220 40%,#0f0d0b 100%);border-radius:48% 48% 52% 52%/58% 58% 42% 42%;box-shadow:inset -4px -6px 14px #00000080,inset 4px 4px 10px #8c82781a,0 4px 12px #00000059}.bean-character--elementary .bean-character__body{border-radius:48% 48% 52% 52%/55% 55% 45% 45%;box-shadow:inset -5px -8px 18px #00000080,inset 5px 5px 12px #78716c24,0 5px 14px #0006}.bean-character--juniorHigh .bean-character__body,.bean-character--highSchool .bean-character__body{border-radius:46% 46% 54% 54%/58% 58% 42% 42%;box-shadow:inset -6px -10px 20px #00000080,inset 4px 4px 12px #645f5a26,0 6px 16px #00000073}.bean-character--university .bean-character__body,.bean-character--worker .bean-character__body{border-radius:44% 44% 56% 56%/52% 52% 48% 48%;box-shadow:inset -6px -12px 22px #0000008c,inset 6px 6px 14px #6e69621f,0 6px 18px #00000080}.bean-character--middleAged .bean-character__body,.bean-character--elderly .bean-character__body{border-radius:50%/58% 58% 42% 42%}.bean-character--elderly .bean-character__body{background:linear-gradient(148deg,#2a2622 0%,#1e1b18 45%,#0c0a09 100%);box-shadow:inset -4px -8px 18px #00000080,inset 4px 4px 10px #645f5a1a,0 4px 14px #0006}.bean-character--gyaru .bean-character__body{background:linear-gradient(148deg,#4a3540 0%,#352830 35%,#1f161a 100%);box-shadow:inset -6px -10px 20px #0006,inset 6px 6px 14px #fb71851a,0 6px 18px #fb718526}.bean-character--job-teacher .bean-character__body{box-shadow:inset -6px -10px 20px #00000080,inset 4px 4px 12px #eab30814,0 6px 16px #00000073}.bean-character--job-doctor .bean-character__body{box-shadow:inset -6px -10px 20px #00000080,inset 4px 4px 12px #f8fafc0f,0 6px 16px #00000073}.bean-character--job-engineer .bean-character__body{box-shadow:inset -6px -10px 20px #00000080,inset 4px 4px 12px #22d3ee14,0 6px 16px #00000073}.bean-character--job-artist .bean-character__body{box-shadow:inset -6px -10px 20px #00000080,inset 4px 4px 12px #fb923c1a,0 6px 16px #00000073}.bean-character--job-researcher .bean-character__body{box-shadow:inset -6px -10px 20px #00000080,inset 4px 4px 12px #a78bfa14,0 6px 16px #00000073}.bean-character--job-nurse .bean-character__body{box-shadow:inset -6px -10px 20px #00000080,inset 4px 4px 12px #fca5a50f,0 6px 16px #00000073}.bean-character--job-chef .bean-character__body{box-shadow:inset -6px -10px 20px #00000080,inset 4px 4px 12px #fdba7414,0 6px 16px #00000073}.bean-character--job-company .bean-character__body{box-shadow:inset -6px -10px 20px #00000080,inset 4px 4px 12px #94a3b80f,0 6px 16px #00000073}.bean-character--job-selfEmployed .bean-character__body{box-shadow:inset -6px -10px 20px #00000080,inset 4px 4px 12px #4ade800f,0 6px 16px #00000073}.bean-character--job-civilServant .bean-character__body{box-shadow:inset -6px -10px 20px #00000080,inset 4px 4px 12px #60a5fa0f,0 6px 16px #00000073}.bean-character__face{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:0;width:72%;height:52%;display:flex;position:relative}.bean-character__eyebrows{z-index:2;gap:10px;display:flex;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.bean-character__eyebrow{background:#292524;border-radius:1px;width:6px;height:2px;display:block}.bean-character--elderly .bean-character__eyebrow{background:#44403c;height:1px}.bean-character--highSchool .bean-character__eyebrow,.bean-character--juniorHigh .bean-character__eyebrow{transform:rotate(-8deg)}.bean-character__eyebrow--r,.bean-character--highSchool .bean-character__eyebrow--r,.bean-character--juniorHigh .bean-character__eyebrow--r{transform:rotate(8deg)}.bean-character__eyes{justify-content:center;align-items:center;gap:6px;display:flex}.bean-character__eye{background:linear-gradient(#fef9c3 0%,#fef08a 100%);border-radius:50%;justify-content:center;align-items:center;width:7px;height:9px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff80,inset 0 -2px 4px #00000040}.bean-character__pupil{background:#1c1917;border-radius:50%;width:3px;height:4px;box-shadow:0 0 0 1px #0003}.bean-character--baby .bean-character__eye{width:5px;height:6px}.bean-character--baby .bean-character__pupil{width:2px;height:2px}.bean-character--elementary .bean-character__eye{width:6px;height:8px}.bean-character--elementary .bean-character__pupil{width:2.5px;height:3px}.bean-character--juniorHigh .bean-character__eye,.bean-character--highSchool .bean-character__eye{border-radius:45% 45% 50% 50%;width:6px;height:7px}.bean-character--university .bean-character__eye,.bean-character--worker .bean-character__eye{width:6px;height:7px}.bean-character--middleAged .bean-character__eye{width:6px;height:6px}.bean-character--elderly .bean-character__eye{width:5px;height:5px}.bean-character--elderly .bean-character__pupil{width:2px;height:2px}.bean-character--adult .bean-character__eye{width:8px;height:10px}.bean-character--adult .bean-character__pupil{width:3.5px;height:4.5px}.bean-character__mouth{background:0 0;border:2px solid #57534e;border-top:none;border-radius:0 0 12px 12px;width:10px;height:4px;margin-top:2px;display:block}.bean-character--baby .bean-character__mouth{border-width:1.5px;border-radius:0 0 8px 8px;width:6px;height:2px}.bean-character--elementary .bean-character__mouth{border-color:#78716c;border-radius:0 0 14px 14px;width:12px;height:5px}.bean-character--juniorHigh .bean-character__mouth,.bean-character--highSchool .bean-character__mouth{background:linear-gradient(90deg,#0000,#57534e 20% 80%,#0000);border:none;border-radius:0;width:8px;height:2px}.bean-character--university .bean-character__mouth,.bean-character--worker .bean-character__mouth{border-color:#44403c;border-radius:0 0 10px 10px;width:10px;height:3px}.bean-character--middleAged .bean-character__mouth{border-color:#57534e;width:9px;height:3px}.bean-character--elderly .bean-character__mouth{border-color:#44403c;border-radius:0 0 10px 10px;width:8px;height:2px}.bean-character--gyaru .bean-character__mouth{border-color:#e879f9}.bean-character--adult .bean-character__mouth{width:12px;height:5px}.bean-character__accessory{z-index:3;pointer-events:none;position:absolute}.bean-character__accessory--glasses{border-bottom:2px solid #78716c;border-radius:0 0 22px 22px;width:36px;height:12px;margin-left:-18px;top:40%;left:50%}.bean-character__accessory--glasses:before,.bean-character__accessory--glasses:after{content:"";background:#0000001f;border:2px solid #78716c;border-radius:50%;width:14px;height:14px;position:absolute;top:-4px}.bean-character__accessory--glasses:before{left:-2px}.bean-character__accessory--glasses:after{left:auto;right:-2px}.bean-character__accessory--job-teacher:before{content:"本";color:#fef3c7e6;font-size:7px;font-weight:700;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.bean-character__accessory--job-doctor:before{content:"+";color:#f8fafcd9;font-size:10px;font-weight:300;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.bean-character__accessory--job-engineer:before{content:"{}";color:#22d3eee6;letter-spacing:-1px;font-size:6px;font-weight:700;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.bean-character__accessory--job-artist:before{content:"◆";color:#fb923ce6;font-size:6px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.bean-character__accessory--job-researcher:before{content:"ƒ";color:#a78bfae6;font-size:8px;font-style:italic;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.bean-character__accessory--job-nurse:before{content:"♥";color:#fca5a5e6;font-size:6px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.bean-character__accessory--job-chef:before{content:"※";color:#fdba74e6;font-size:7px;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.bean-character__accessory--job-company:before{content:"▢";color:#94a3b8d9;font-size:6px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.bean-character__accessory--job-selfEmployed:before{content:"★";color:#4ade80d9;font-size:6px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.bean-character__accessory--job-civilServant:before{content:"◎";color:#60a5fad9;font-size:6px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.bean-character__egg{background:linear-gradient(165deg,#fefce8 0%,#fef9c3 20%,#fde68a 45%,#fcd34d 100%);border-radius:50% 50% 48% 52%/55% 55% 45% 45%;width:100%;height:100%;position:relative;box-shadow:inset -3px -6px 16px #fde04759,inset 4px 4px 14px #fff6,inset 0 -4px 8px #00000014,0 6px 20px #00000040}.bean-character__egg-shine{pointer-events:none;background:radial-gradient(circle at 30% 30%,#ffffffb3,#0000 70%);border-radius:50%;width:22%;height:18%;position:absolute;top:12%;left:28%}.bean-character__egg-crack{background:linear-gradient(#0000,#78716c73 15%,#5a534ebf 50%,#0000);border-radius:1px;width:2px;height:48%;position:absolute;top:28%;left:50%;transform:translate(-50%)rotate(-12deg);box-shadow:0 0 0 .5px #0000001a}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}
