
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#fffaf4 0%,#f3eadf 100%);color:#2b1800;min-height:100vh}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.mobile-shell{max-width:560px;margin:0 auto;min-height:100vh;background:transparent}
.topbar{position:sticky;top:0;z-index:40;background:linear-gradient(135deg,#b87800,#8a5600);color:#fff;padding:12px 14px 14px;box-shadow:0 12px 28px rgba(0,0,0,.12)}
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand-left{display:flex;align-items:center;gap:10px;min-width:0}
.brand-logo{width:42px;height:42px;border-radius:13px;background:#fff;object-fit:contain;padding:3px;flex:0 0 auto}
.brand-title{font-size:20px;font-weight:800;line-height:1.05}
.brand-sub{font-size:12px;opacity:.95;line-height:1.15}
.top-actions{display:flex;gap:8px;flex-wrap:wrap}
.top-actions a{background:rgba(255,255,255,.16);color:#fff;padding:8px 10px;border-radius:12px;font-weight:700;font-size:13px}
.page{padding:16px 14px 96px}
.hero{background:linear-gradient(135deg,#fff7ea 0%,#f1e0bf 100%);border:1px solid #ead8bc;border-radius:24px;padding:18px 16px;box-shadow:0 14px 30px rgba(67,38,0,.08);margin-bottom:14px}
.hero h1,.hero h2{margin:0 0 4px;font-size:19px}
.hero p{margin:0;color:#6c5a42;font-size:13px;line-height:1.35}
.install-banner{display:none;margin:0 0 14px}
.install-banner .inner{background:linear-gradient(135deg,#fff7ea 0%,#f2e3c3 100%);border:1px solid #ead8bc;border-radius:18px;padding:12px 14px;box-shadow:0 12px 28px rgba(67,38,0,.08)}
.install-banner .title{font-weight:800;color:#7f5000;font-size:15px;margin-bottom:4px}
.install-banner .sub{color:#6c5a42;font-size:13px;margin-bottom:10px;line-height:1.35}
.install-banner .actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:none;border-radius:12px;background:linear-gradient(135deg,#a86a00,#7f5000);color:#fff;font-weight:700;cursor:pointer}
.btn-secondary{background:#fff;color:#7f5000;border:1px solid #ead8bc}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tile{min-height:128px;border-radius:24px;padding:14px;background:linear-gradient(180deg,#fff7ea 0%,#f6ebd2 100%);border:1px solid #ead8bc;box-shadow:0 16px 28px rgba(67,38,0,.08);display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s ease, box-shadow .15s ease}
.tile:active{transform:scale(.98)}
.tile-top{display:flex;justify-content:space-between;align-items:flex-start}
.tile-icon-wrap{width:54px;height:54px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(67,38,0,.08)}
.tile-icon{font-size:26px}
.tile-mini{width:34px;height:34px;border-radius:12px;background:rgba(199,144,44,.10);display:flex;align-items:center;justify-content:center;color:#b87800;font-size:16px}
.tile-label{font-size:15px;line-height:1.2;font-weight:800;color:#4c3200}
.tile-sub{font-size:11px;line-height:1.2;color:#7a6651}
.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.metric-card{background:linear-gradient(180deg,#fff8ef 0%,#f6ead8 100%);border:1px solid #ead8bc;border-radius:22px;padding:14px;box-shadow:0 14px 26px rgba(67,38,0,.08)}
.metric-head{display:flex;justify-content:space-between;align-items:flex-start}
.metric-icon{width:44px;height:44px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(67,38,0,.08);font-size:20px}
.metric-mini{width:30px;height:30px;border-radius:10px;background:rgba(199,144,44,.10);display:flex;align-items:center;justify-content:center;color:#b87800;font-size:14px}
.metric-value{font-size:24px;font-weight:800;margin:14px 0 6px;color:#3a2400}
.metric-label{font-size:13px;color:#7a6651}
.footer-links{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}
.footer-links a{background:#fff;color:#7f5000;border:1px solid #ead8bc;border-radius:12px;padding:9px 12px;font-weight:700;font-size:13px;box-shadow:0 8px 18px rgba(67,38,0,.05)}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:8px;padding:8px 10px;background:rgba(255,255,255,.98);border-top:1px solid #ead8bc;backdrop-filter:blur(8px)}
.bottom-nav a{flex:1;text-align:center;background:#fff8ef;color:#7f5000;border:1px solid #ead8bc;border-radius:12px;padding:9px 4px;font-size:11px;font-weight:800}
.error,.notice{border-radius:15px;padding:12px 14px;margin-bottom:14px}
.error{background:#fde3e3;border:1px solid #efb7b7;color:#8c1e1e}
.notice{background:#fff7e8;border:1px solid #efd8ac;color:#6f4b00}
@media (min-width:700px){.mobile-shell{max-width:920px}.grid2,.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-nav{display:none}}

.embed-frame{
  width:100%;
  min-height:72vh;
  border:0;
  border-radius:18px;
  background:#fff;
}
.info-strip{
  background:linear-gradient(135deg,#fff7ea 0%,#f6ebd2 100%);
  border:1px solid #ead8bc;
  border-radius:18px;
  padding:12px 14px;
  margin-bottom:14px;
  color:#6c5a42;
}

.embed-frame{width:100%;height:68vh;border:0;border-radius:18px;background:#fff}
.checkbox-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px}
.checkbox-row input[type=checkbox]{width:16px;min-height:16px;height:16px;flex:0 0 auto;margin-top:2px}
.checkbox-row label{display:inline;font-weight:400;font-size:14px;line-height:1.45;margin:0}
.auth-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.auth-links a{background:#fff;color:#7f5000;border:1px solid #ead8bc;border-radius:12px;padding:9px 12px;font-weight:700;font-size:13px;box-shadow:0 8px 18px rgba(67,38,0,.05)}
.hide-mobile-banner .install-banner{display:none !important}

.auth-links{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.auth-links a{background:#fff;color:#7f5000;border:1px solid #ead8bc;border-radius:12px;padding:9px 12px;font-weight:700;font-size:13px;box-shadow:0 8px 18px rgba(67,38,0,.05)}
.inline-check{display:flex;align-items:flex-start;gap:8px;margin:10px 0;color:#5d4a31;line-height:1.4}
.inline-check input{width:16px;min-height:16px;max-width:16px;height:16px;margin-top:3px;order:2}
.inline-check span{flex:1;order:1}
.section-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.subtile{min-height:110px;border-radius:20px;padding:12px;background:linear-gradient(180deg,#fff7ea 0%,#f6ebd2 100%);border:1px solid #ead8bc;box-shadow:0 12px 22px rgba(67,38,0,.08);display:flex;flex-direction:column;justify-content:space-between}
.subtle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.caption-title{margin:10px 0 4px;font-size:15px;color:#5a3900;font-weight:800}
.caption-sub{font-size:12px;color:#7a6651}
.thumb-meta{margin-top:8px}
.gallery-card .badge,.album-card .badge{display:none}
.embed-card{background:#fff;border:1px solid #ead8bc;border-radius:22px;padding:10px;box-shadow:0 12px 24px rgba(67,38,0,.08)}
.embed-frame{width:100%;height:68vh;border:0;border-radius:16px;background:#fff}
@media (min-width:700px){
  .section-tabs,.subtle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.auth-card{background:#fff;border:1px solid #ead8bc;border-radius:26px;padding:18px;box-shadow:0 16px 34px rgba(67,38,0,.10)}
.auth-hero{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.auth-hero img{width:54px;height:54px;border-radius:14px;background:#fff;object-fit:contain;padding:4px;border:1px solid #ead8bc}
.auth-title{font-size:24px;font-weight:800;color:#7f5000;margin:0}
.auth-sub{font-size:13px;color:#7a6651;margin:2px 0 0}
.form-grid{display:grid;grid-template-columns:1fr;gap:12px}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-note{font-size:12px;color:#7a6651;margin-top:4px}
.select-fix select,input,textarea{display:block}
.family-row{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;margin-bottom:10px}
.family-box{background:#fff8ef;border:1px solid #ead8bc;border-radius:16px;padding:12px}
.splash-text-1{margin:14px 0 6px;font-size:30px;font-weight:800;color:#8a5600}
.splash-text-2{font-size:15px;line-height:1.35;color:#7a6651;max-width:680px}
.inline-check{display:flex;align-items:flex-start;gap:8px;margin:10px 0;color:#5d4a31;line-height:1.4}
.inline-check input{width:16px;min-height:16px;max-width:16px;height:16px;margin-top:3px;order:2}
.inline-check span{flex:1;order:1}
.section-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.subtile{min-height:110px;border-radius:20px;padding:12px;background:linear-gradient(180deg,#fff7ea 0%,#f6ebd2 100%);border:1px solid #ead8bc;box-shadow:0 12px 22px rgba(67,38,0,.08);display:flex;flex-direction:column;justify-content:space-between}
.thumb-meta{margin-top:8px}
.gallery-card .badge,.album-card .badge{display:none}
.auth-links{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.auth-links a{background:#fff;color:#7f5000;border:1px solid #ead8bc;border-radius:12px;padding:9px 12px;font-weight:700;font-size:13px;box-shadow:0 8px 18px rgba(67,38,0,.05)}
@media (max-width:560px){.form-grid-2,.family-row{grid-template-columns:1fr}.auth-title{font-size:22px}}
@media (min-width:700px){.section-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
