:root{color:#5a4252;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#fff7fb;--main:#ff7eb6;--sub:#ffa6d1;--accent:#ffd6e8;--button:#ff5fa2;--button-hover:#ff8cc0;--success:#ffb3d9;--text:#5a4252;--notice:#ff5a8a;--lavender:#b799ff;--gold:#ffd36e;--mint:#9ee8d7;--white:#fff;--shadow:0 18px 42px #ff7eb638;background:#fff7fb;font-family:Hiragino Sans,Yu Gothic,YuGothic,Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}input,select,textarea{width:100%;min-height:42px;color:var(--text);font:inherit;background:#ffffffe6;border:1px solid #ff7eb647;border-radius:8px;padding:8px 10px}textarea{resize:vertical;min-height:84px}.app-shell{background:radial-gradient(circle at top left, #ffd6e8cc, transparent 32%), linear-gradient(135deg, var(--bg), #fff0f8 56%, #fef7ff);min-height:100vh;position:relative;overflow:hidden}.app-content{z-index:1;width:min(100%,1120px);margin:0 auto;padding:24px 16px 32px;position:relative}.top-page,.auth-page,.loading-page,.settings-page,.admin-page,.legal-page{background:radial-gradient(circle at 18% 18%, #ffd6e8d1, transparent 28%), linear-gradient(135deg, var(--bg), #fff0f8 56%, #fef7ff);min-height:100svh;position:relative}.top-page,.auth-page,.loading-page{align-content:center;place-items:center;padding:24px;display:grid}.auth-page{padding-bottom:24px}.top-hero,.auth-form{z-index:1;text-align:center;justify-items:center;gap:18px;width:min(100%,460px);display:grid;position:relative}.top-hero p,.top-hero h1,.auth-form h1{margin:0}.top-hero p{color:var(--button);font-size:1.4rem;font-weight:900}.top-hero h1{white-space:nowrap;word-break:keep-all;max-width:100%;font-size:clamp(1.72rem,8.4vw,2.35rem);line-height:1.2}.auth-form,.settings-form,.admin-form,.admin-section{box-shadow:var(--shadow);background:#ffffffd1;border:2px solid #ffa6d152;border-radius:8px;padding:22px}.auth-form label,.settings-form label,.admin-form label{width:100%;color:var(--text);text-align:left;gap:6px;font-weight:700;display:grid}.form-error{width:100%;color:var(--white);background:var(--notice);border-radius:8px;margin:0;padding:10px 12px;font-weight:700}.form-notice{width:100%;color:var(--button);background:#ffd6e894;border-radius:8px;margin:0;padding:10px 12px;font-weight:700}.dashboard-page,.settings-page{background:var(--bg);min-height:100vh}.site-footer{color:var(--text);text-align:center;background:#fff7fbf5;border-top:1px solid #ff7eb62e;justify-items:center;gap:10px;padding:22px 16px 28px;display:grid}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:10px 16px;display:flex}.site-footer a{color:var(--button);font-size:.9rem;font-weight:800;text-decoration:none}.site-footer a:hover{color:var(--button-hover)}.site-footer p{margin:0;font-size:.82rem;font-weight:700}.legal-page{padding:28px 16px 48px}.legal-document{width:min(100%,920px);box-shadow:var(--shadow);background:#ffffffe0;border:2px solid #ffa6d152;border-radius:8px;margin:0 auto;padding:24px}.legal-document__head{border-bottom:1px solid #ff7eb633;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex}.legal-document__head p,.legal-document__head h1{margin:0}.legal-document__head p,.legal-document__head span{color:var(--button);font-weight:800}.legal-document__head h1{margin-top:8px;line-height:1.25}.legal-document__body{color:var(--text);padding-top:18px;line-height:1.9}.legal-document__body h2{margin:28px 0 8px;font-size:1.12rem}.legal-document__body p,.legal-document__body li{margin:0 0 10px}.legal-document__body li{margin-left:1.2em;padding-left:.2em}.dashboard-header,.admin-header{justify-content:space-between;align-items:center;gap:14px;width:min(100%,1120px);margin:0 auto;padding:18px 16px 0;display:flex}.dashboard-header p,.dashboard-header h1,.dashboard-header span,.admin-header p,.admin-header h1{margin:0}.dashboard-header p,.admin-header h1{font-weight:900}.dashboard-header span,.admin-header p{color:var(--button);font-size:.88rem;font-weight:700}.dashboard-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.dashboard-prices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.price-box{background:#ffffffdb;border-radius:8px;gap:3px;padding:14px;display:grid;box-shadow:0 10px 22px #ff7eb61f}.price-box span,.price-box small{color:var(--button);font-weight:700}.price-box strong{font-size:1.35rem}.price-box--total{background:linear-gradient(145deg, var(--accent), #fff)}.settings-page{padding:0 16px 32px}.settings-form{gap:14px;width:min(100%,720px);margin:22px auto 0;display:grid}.settings-card{gap:14px;display:grid}.settings-card h2{margin:0;font-size:1.35rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-form__note{color:var(--button);margin:0;font-size:.88rem;font-weight:700}.settings-form__success{color:#41a987;margin:0;font-size:.9rem;font-weight:800}.admin-page{padding:0 16px 40px}.admin-page>*{width:min(100%,1120px);margin-left:auto;margin-right:auto}.admin-alert{color:var(--white);background:var(--notice);box-shadow:var(--shadow);border-radius:8px;margin-top:18px;padding:14px 16px}.admin-alert p{margin:6px 0 0}.admin-form,.admin-section{gap:14px;margin-top:18px;display:grid}.admin-form__actions,.admin-list__actions{flex-wrap:wrap;gap:10px;display:flex}.admin-form h2,.admin-section h2{margin:0}.admin-section__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-text-button{color:var(--button);cursor:pointer;font:inherit;background:0 0;border:0;font-weight:800}.admin-empty{color:var(--button);margin:0;font-weight:700}.admin-list{gap:10px;display:grid}.admin-list__item{background:#fff7fbcc;border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) auto auto;align-items:center;gap:10px;padding:12px;display:grid}.admin-list__item p{margin:4px 0 0}.admin-list__item span{font-size:.88rem;display:block}.status-pill{color:var(--white);text-align:center;border-radius:999px;padding:6px 10px;font-weight:800}.status-pill--active{background:#63c7ad}.status-pill--inactive{background:var(--notice)}.status-table-wrap,.admin-customer-table-wrap{overflow-x:auto}.admin-customer-table{border-collapse:collapse;width:100%;min-width:760px}.admin-customer-table th,.admin-customer-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #ff7eb62e;padding:10px}.admin-customer-table th{color:var(--button)}.status-table{border-collapse:collapse;width:100%;min-width:920px}.status-table th,.status-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #ff7eb62e;padding:10px}.status-table th{color:var(--button)}.background-effects span{background:#ff7eb63d;border-radius:6px;width:18px;height:18px;animation:8s ease-in-out infinite floatDecor;display:block;position:absolute}.background-effects span:first-child{top:14%;left:8%}.background-effects span:nth-child(2){background:#ffd36e59;animation-delay:1.5s;top:30%;right:12%}.background-effects span:nth-child(3){background:#b799ff42;animation-delay:3s;bottom:18%;left:16%}.background-effects span:nth-child(4){background:#9ee8d759;animation-delay:4.5s;bottom:34%;right:22%}.header{text-align:center;padding:12px 0 18px}.home-heading{justify-items:center;gap:10px;display:grid}.notification-settings{background:#ffffff9e;border:1px solid #ff7eb633;border-radius:8px;gap:10px;width:min(100%,620px);padding:12px;display:grid;box-shadow:0 10px 28px #ff7eb61a}.notification-settings__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.notification-settings__head p,.notification-settings__head span{margin:0;display:block}.notification-settings__head p{color:var(--text);font-size:.9rem;font-weight:900}.notification-settings__head span{color:var(--button);font-size:.76rem;font-weight:800}.notification-sound-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.notification-sound-button{min-height:46px;color:var(--text);cursor:pointer;text-align:center;background:#ffffffdb;border:1px solid #ff5fa23d;border-radius:8px;gap:2px;padding:7px 10px;transition:transform .2s,border-color .2s,background .2s;display:grid;box-shadow:0 8px 20px #ff7eb61f}.notification-sound-button span{font-size:.82rem;font-weight:900}.notification-sound-button strong{color:var(--button);font-size:.68rem;font-weight:900}.notification-sound-button:hover{border-color:#ff5fa28f;transform:translateY(-1px)}.notification-sound-button--active{color:var(--white);background:var(--button);border-color:var(--button)}.notification-sound-button--active strong{color:var(--white)}.notification-settings__actions{grid-template-columns:1fr;gap:8px;display:grid}.notification-stop-button{min-height:38px;color:var(--button);cursor:pointer;background:#ffffffe6;border:1px solid #ff5fa252;border-radius:999px;padding:8px 12px;font-weight:800;transition:transform .2s,background .2s;box-shadow:0 10px 22px #ff5fa23d}.notification-stop-button:hover{color:var(--white);background:var(--notice);transform:scale(1.03)}.notification-stop-button:active{transform:scale(.98)}.notification-status{color:#5a4252b8;cursor:pointer;background:#ffffffc7;border:1px solid #ff5fa23d;border-radius:999px;place-items:center;min-height:36px;padding:6px 16px;font-size:.78rem;font-weight:800;transition:transform .2s,background .2s,color .2s;display:inline-grid}.notification-status:hover{transform:scale(1.03)}.notification-status--enabled{color:var(--white);background:var(--button);border-color:var(--button)}.header__eyebrow{color:var(--button);margin:0 0 6px;font-size:.82rem;font-weight:700}.header h1{color:var(--text);margin:0;font-size:2.25rem;line-height:1}.tabs{justify-content:space-between;align-items:center;gap:12px;margin:0 auto 18px;display:flex}.tabs__list{gap:8px;min-width:0;padding:4px 2px 8px;display:flex;overflow-x:auto}.tabs__actions{flex:none;gap:8px;display:flex}.tab-button,.duration-option,.button{cursor:pointer;border:0;transition:transform .22s,box-shadow .22s,background .22s}.tab-button{min-width:86px;height:42px;color:var(--text);white-space:nowrap;background:#ffffffb8;border-radius:999px;padding:0 16px;box-shadow:0 8px 20px #ff7eb624}.tab-button--active{color:var(--white);background:var(--main)}.button{min-height:44px;color:var(--white);background:var(--button);border-radius:999px;padding:0 18px;font-weight:700;box-shadow:0 10px 22px #ff5fa247}.button--secondary{background:var(--lavender)}.button--danger{background:var(--notice)}.button--ghost{color:var(--button);background:#ffffffc7}.button:disabled,.duration-option:disabled{cursor:not-allowed;opacity:.45}.button:hover:not(:disabled),.tab-button:hover,.duration-option:hover:not(:disabled){background:var(--button-hover);transform:scale(1.04)}.button:active:not(:disabled),.tab-button:active,.duration-option:active:not(:disabled){transform:translateY(2px)scale(.98)}.tabs__icon-button{width:44px;padding:0;font-size:1.25rem}.timer-layout{grid-template-columns:minmax(0,1fr);gap:22px;display:grid;position:relative}.timer-stack{gap:16px;display:grid}.customer-karte{box-shadow:var(--shadow);background:#ffffffd6;border:2px solid #ffa6d15c;border-radius:8px;align-self:start;gap:14px;padding:18px;display:grid}.customer-karte__head{gap:4px;display:grid}.customer-karte__head p,.customer-karte__head h2,.koi-support h3,.koi-support p,.note-history h3,.note-history p{margin:0}.customer-karte__head p{color:var(--button);font-size:.82rem;font-weight:900}.customer-karte__head h2{font-size:1.45rem}.note-search,.karte-editor,.note-history,.koi-support,.note-search__row{gap:10px;display:grid}.note-search__row label,.karte-editor label{color:var(--text);gap:6px;font-weight:800;display:grid}.note-search__results{gap:8px;display:grid}.note-search__card{min-height:46px;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:#fff7fbe6;border:1px solid #ff7eb633;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.note-search__card span,.karte-editor__meta span{color:var(--button);font-size:.85rem;font-weight:800}.karte-editor__meta{flex-wrap:wrap;gap:8px;display:flex}.karte-editor__textarea{min-height:180px;line-height:1.65}.karte-editor__actions{justify-content:flex-end;display:flex}.koi-support{background:linear-gradient(145deg,#ffd6e8b8,#ffffffe6);border-radius:8px;padding:12px}.koi-support--empty{color:#5a4252a8}.koi-support h3,.note-history h3{color:var(--button);font-size:1rem}.koi-support__list{gap:6px;margin:0;padding-left:1.35rem;display:grid}.note-history__list{gap:8px;max-height:320px;display:grid;overflow:auto}.note-history-card{background:#fff7fbd1;border:1px solid #ff7eb62e;border-radius:8px}.note-history-card button{width:100%;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.note-history-card span{color:var(--button);font-size:.82rem;font-weight:800}.note-history-card p{white-space:pre-wrap;margin:0;padding:0 12px 12px;line-height:1.7}.note-history-card__body{gap:10px;display:grid}.note-history-card__support{background:#ffffffd1;border-radius:8px;gap:8px;margin:0 12px 12px;padding:12px;display:grid}.note-history-card__support h4,.note-history-card__support p{margin:0;padding:0}.note-history-card__support h4{color:var(--button);font-size:.95rem}.timer-panel{width:100%;box-shadow:var(--shadow);background:#ffffffd1;border:2px solid #ffa6d16b;border-radius:8px;padding:18px;position:relative}.timer-panel:before{content:"";pointer-events:none;border:1px solid #ffa6d133;border-radius:8px;position:absolute;inset:8px}.timer-panel--extension{border-color:#b799ff61}.timer-panel__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.timer-panel h2{margin:0;font-size:1.05rem}.duration-options{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.duration-option{min-width:64px;height:36px;color:var(--text);background:var(--accent);border-radius:999px;font-weight:700}.duration-option--active{color:var(--white);background:var(--main)}.timer-display{outline-offset:-10px;background:radial-gradient(circle,#ffd6e8d1,#0000 62%),linear-gradient(150deg,#fff,#fff3fa);border-radius:8px;outline:2px dashed #ff7eb63d;place-items:center;min-height:164px;display:grid}.timer-display--finished{animation:1s ease-in-out infinite alternate glowNotice}.timer-display__label{color:var(--button);align-self:end;font-weight:700}.timer-display__time{color:var(--text);align-self:start;font-size:3.8rem;line-height:1}.timer-panel__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.notification{z-index:5;width:min(100% - 28px,560px);color:var(--white);background:var(--notice);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:10px;padding:14px 18px;animation:.35s bannerIn;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.notification__bell{background:#ffffff38;border-radius:50%;place-items:center;width:28px;height:28px;animation:.45s bellRing;display:inline-grid}.character{z-index:2;pointer-events:none;justify-items:end;display:grid;position:fixed;bottom:18px;right:14px}.character__scene{width:150px;height:190px;animation:none}.character__photo{object-fit:contain;object-position:center bottom;width:100%;height:100%;box-shadow:none;-webkit-user-select:none;user-select:none;border-radius:0;display:block}.character-card.character--animal-turtle,.character-card.character--animal-owl,.character-card.character--animal-dog,.character-card.character--animal-rabbit,.character-card.character--animal-panda,.character-card.character--animal-lion,.character-card.character--animal-fox,.character-card.character--animal-dragon,.character-card.character--animal-cat,.character-card.character--animal-deer{--character-card-accent:var(--button)}.character-balloon{max-width:min(260px,100vw - 128px);color:var(--text);box-shadow:var(--shadow);background:#fffffff0;border-radius:18px 18px 4px;margin:0 4px 10px 0;padding:12px 14px;animation:5s forwards balloonTalk}.character-gallery{margin-top:18px;padding:8px 0 0}.character-gallery__head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.character-gallery__head h2,.character-gallery__head p{margin:0}.character-gallery__head h2{font-size:1.05rem}.character-gallery__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.home-panel-tabs{background:#ffffffbd;border:1px solid #ff7eb647;border-radius:999px;align-self:flex-start;gap:6px;padding:6px;display:inline-flex;box-shadow:0 8px 18px #ff7eb61f}.home-panel-tab{min-width:132px;color:var(--button);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:11px 18px;font-weight:800}.home-panel-tab--active{color:var(--white);background:var(--button)}.character-card{min-height:178px;color:var(--text);cursor:pointer;background:linear-gradient(#fff7fbf5,#fff);border:2px solid #0000;border-radius:8px;place-items:center;padding:10px;transition:border-color .22s,box-shadow .22s,transform .22s;display:grid;box-shadow:0 10px 22px #ff7eb61f}.character-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #ff7eb633}.character-card--active{border-color:var(--button)}.character-card__preview{place-items:end center;width:132px;height:150px;display:grid}.character-card__preview .character__scene{width:118px;height:150px}.character-card__name{font-weight:800}.modal-backdrop{z-index:10;background:#5a425247;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--white);width:min(100%,420px);box-shadow:var(--shadow);border-radius:8px;padding:22px}.modal h2{margin:0 0 10px;font-size:1.25rem}.modal__body p{margin:0}.modal__actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.app-shell--heart .timer-panel:after,.app-shell--star .timer-panel:after,.app-shell--sparkle .timer-panel:after,.app-shell--confetti .timer-panel:after,.app-shell--fade .timer-panel:after{content:"♡  ✦  ★";color:var(--button);font-weight:700;animation:.6s forwards popEffect;position:absolute}@media (width>=820px){.app-content{padding:36px 28px 48px}.timer-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);align-items:start}.character{position:fixed;bottom:28px;right:24px}.timer-panel{padding:24px}.header h1{font-size:4.5rem}.timer-display__time{font-size:7rem}.character-gallery__list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=620px){.tabs{align-items:flex-start}.timer-panel__head{flex-direction:column;align-items:flex-start}.duration-options{justify-content:flex-start}.dashboard-header,.admin-header,.character-gallery__head{flex-direction:column;align-items:flex-start}.dashboard-prices,.form-grid,.character-gallery__list,.admin-list__item{grid-template-columns:1fr}.notification-sound-picker{grid-template-columns:1fr;width:100%}.notification-settings{width:100%}.notification-settings__head{flex-direction:column;align-items:stretch}.notification-settings__actions{grid-template-columns:1fr}.notification-stop-button{width:100%}.character__scene{transform-origin:100% 100%;width:92px;height:108px;transform:scale(.82)}.character--step-4,.character--step-3,.character--step-2,.character--step-1{transform:translate(0,0)}}@keyframes floatDecor{0%,to{transform:translate(0,0)rotate(0)}50%{transform:translate(12px,-18px)rotate(18deg)}}@keyframes glowNotice{0%{box-shadow:inset 0 0 #ff5a8a00}to{box-shadow:inset 0 0 40px #ff5a8a47}}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}@keyframes bellRing{0%,to{transform:rotate(0)}30%{transform:rotate(-14deg)}60%{transform:rotate(14deg)}}@keyframes balloonTalk{0%{opacity:0;transform:translateY(8px)rotate(-1deg)}12%,82%{opacity:1;transform:translateY(0)rotate(1deg)}to{opacity:0;transform:translateY(8px)rotate(-1deg)}}@keyframes popEffect{0%{opacity:0;transform:translateY(18px)scale(.82)}to{opacity:1;transform:translateY(-22px)scale(1.12)}}
