:root{font-family:"Yu Mincho","Hiragino Mincho ProN","HGS明朝E",serif;color:#252525;background:#f8f5f0;font-synthesis:none;--records-ink:#292724;--records-muted:#746f68;--records-line:#bbb5ad;--records-soft:#eee9e2;--records-paper:#fffdf9;--records-accent:#df6552;--records-accent-dark:#bd4636;--records-shadow:#3b302414}
*{box-sizing:border-box}
body{margin:0;min-width:0;background:#f8f5f0;color:var(--records-ink)}
button,select,input{font:inherit;color:inherit}
button{cursor:pointer}
#recordsV2Host{font-family:"Yu Mincho","Hiragino Mincho ProN","HGS明朝E",serif;color:var(--records-ink)}
#recordsV2Host button,#recordsV2Host select,#recordsV2Host input{font-family:inherit;color:inherit}
.records-v2-preview{min-height:100vh;background-color:#f8f5f0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E")}
.v2-header{height:74px;padding:0 clamp(22px,3vw,56px);display:flex;align-items:center;border-bottom:1px solid #77716a;background:#fbf9f5e8;backdrop-filter:blur(8px)}
.v2-header>.brand img{width:218px;height:68px;object-fit:contain;object-position:left center;cursor:pointer}
.v2-header nav{display:flex;height:100%;align-items:stretch;margin:auto;gap:clamp(18px,3vw,54px)}
.nav-button,.help-button{border:0;background:transparent;font-weight:600;letter-spacing:.12em}
.nav-button{min-width:66px;position:relative;font-size:18px}
.nav-button::after{content:"";position:absolute;left:10px;right:10px;bottom:10px;height:3px;transform:scaleX(0);background:var(--records-accent);transition:transform .18s ease}
.nav-button:hover::after,.nav-button:focus-visible::after,.nav-button.is-active::after{transform:scaleX(1)}
.help-button{display:flex;align-items:center;gap:11px;font-size:17px;white-space:nowrap}
.help-button span{display:grid;place-items:center;width:37px;height:37px;border:1.5px solid;border-radius:50%;font-family:Arial,sans-serif;font-size:24px;font-weight:400}
.records-v2{width:min(1500px,100%);margin:0 auto;padding:clamp(28px,4vw,58px) clamp(22px,4vw,64px) 52px}
.records-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #a9a39b}
.records-heading>div{position:relative;padding-left:4px}
.records-heading>div::after{content:"";position:absolute;width:116px;height:4px;left:2px;bottom:-23px;background:var(--records-accent);transform:rotate(-2deg)}
.records-script{margin:0 0 -4px;color:var(--records-accent-dark);font-family:"Segoe Script","Bradley Hand",cursive;font-size:22px;font-style:italic;letter-spacing:.02em}
.records-heading h1{margin:0;font-size:clamp(34px,4vw,54px);font-weight:500;letter-spacing:.12em}
.records-heading h1+p{margin:9px 0 0;color:var(--records-muted);font-size:15px;letter-spacing:.08em}
.record-link{min-width:156px;padding:13px 20px;border:1px solid #6f6a64;border-radius:5px;background:transparent;font-weight:600;letter-spacing:.08em;transition:.16s ease}
.record-link:hover,.record-link:focus-visible{border-color:var(--records-accent);background:#fff7f4;color:var(--records-accent-dark)}
.record-link span{margin-left:18px;color:var(--records-accent)}
#recordsV2Host .best-calendar-layout{display:grid;grid-template-columns:minmax(440px,1.35fr) minmax(310px,.78fr);gap:24px;align-items:stretch}
#recordsV2Host .best-calendar-layout>.panel{min-width:0;margin:0;padding:clamp(20px,2.2vw,32px);border:1px solid #aaa39b;border-radius:7px;background:#fffdf9b8;box-shadow:0 8px 26px var(--records-shadow)}
#recordsV2Host .calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px auto;align-items:center;gap:8px;margin:0 0 22px}
#recordsV2Host .calendar-toolbar h2{margin:0;text-align:center;font-size:clamp(22px,2vw,28px);font-weight:500;letter-spacing:.08em;font-variant-numeric:tabular-nums}
#recordsV2Host #calendarMonth,#recordsV2Host #calendarSelectedDay{color:var(--records-ink)}
#recordsV2Host .calendar-toolbar button{min-width:40px;min-height:40px;padding:7px 10px;border:1px solid #aaa39b;border-radius:4px;background:transparent;color:var(--records-ink)}
#recordsV2Host .calendar-toolbar button:hover,#recordsV2Host .calendar-toolbar button:focus-visible{border-color:var(--records-accent);background:#fff4f0}
#recordsV2Host .calendar-weekdays,#recordsV2Host .calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
#recordsV2Host .calendar-weekdays{margin-bottom:7px;text-align:center;color:var(--records-muted);font-size:13px}
#recordsV2Host .calendar-weekdays>*:first-child{color:#bd5547}
#recordsV2Host .calendar-weekdays>*:last-child{color:#516c81}
#recordsV2Host .calendar-day{position:relative;min-width:0;min-height:62px;padding:10px 4px 19px;border:1px solid transparent;border-radius:3px;background:#f3efe9;color:var(--records-ink);font-size:16px;font-variant-numeric:tabular-nums}
#recordsV2Host .calendar-day:hover,#recordsV2Host .calendar-day:focus-visible{border-color:#c9a49c;background:#fff7f4}
#recordsV2Host .calendar-day[aria-current="date"]{text-decoration:underline;text-decoration-color:var(--records-accent);text-underline-offset:5px}
#recordsV2Host .calendar-day[aria-pressed="true"]{border-color:var(--records-accent);background:#fbe9e4;box-shadow:inset 0 0 0 1px var(--records-accent)}
#recordsV2Host .calendar-day.has-audio::after{content:"";position:absolute;width:7px;height:7px;left:calc(50% - 3.5px);bottom:9px;border-radius:50%;background:var(--records-accent)}
#recordsV2Host .calendar-caption,#recordsV2Host .calendar-storage-note{color:var(--records-muted);font-size:13px;line-height:1.7}
#recordsV2Host #calendarCount{margin:18px 0 0;text-align:right}
#recordsV2Host .calendar-storage-note{margin:14px 3px 24px}
#recordsV2Host .calendar-player{display:flex;flex-direction:column}
#recordsV2Host .calendar-player::before{content:"BEST PLAY";display:block;margin-bottom:20px;color:var(--records-accent);font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em}
#recordsV2Host .calendar-player h2{margin:0 0 10px;font-size:clamp(24px,2.2vw,34px);font-weight:500;letter-spacing:.07em}
#recordsV2Host #calendarAudioTitle{min-height:1.6em;margin:0 0 20px;color:var(--records-muted);font-size:16px}
#recordsV2Host #calendarEmpty{margin:auto 0;color:var(--records-muted);line-height:2}
#recordsV2Host #calendarPlayback>button{min-height:44px;margin:4px 7px 10px 0;padding:9px 20px;border:1px solid #8e8880;border-radius:4px;background:transparent}
#recordsV2Host #calendarPlay{min-width:112px;border-color:var(--records-accent);background:var(--records-accent);color:#fff;font-weight:700}
#recordsV2Host #calendarPlay:hover,#recordsV2Host #calendarPlay:focus-visible{background:var(--records-accent-dark)}
#recordsV2Host .calendar-seek-label{display:block;margin-top:20px;color:var(--records-muted);font-size:13px}
#recordsV2Host #calendarSeek{width:100%;height:24px;padding:0;margin:8px 0;accent-color:var(--records-accent)}
#recordsV2Host #calendarTime{display:block;color:var(--records-muted);font-family:Arial,sans-serif;font-size:13px;font-variant-numeric:tabular-nums}
#recordsV2Host #calendarPlayback .calendar-delete{display:block;margin-top:28px;color:#9f4137}
#recordsV2Host #calendarStatus{min-height:1.6em;margin:16px 0 0;color:var(--records-accent-dark);line-height:1.6}
#recordsV2Host .records-history-slot{margin-top:4px}
#recordsV2Host .calendar-legacy{margin:0;border-top:1px solid #aaa39b;border-bottom:1px solid #aaa39b;background:#fffdf95c}
#recordsV2Host .calendar-legacy>summary{padding:18px 5px;cursor:pointer;font-weight:600;letter-spacing:.06em;list-style-position:inside}
#recordsV2Host .calendar-legacy[open]{padding:0 18px 22px}
#recordsV2Host .calendar-legacy[open]>summary{margin:0 -13px 16px;border-bottom:1px solid #d4cec7}
#recordsV2Host .calendar-legacy button,#recordsV2Host .calendar-legacy select{min-height:38px;padding:7px 12px;border:1px solid #aaa39b;border-radius:4px;background:#fffdf9}
#recordsV2Host .calendar-legacy>.panel{margin:16px 0;padding:20px;border:1px solid #c8c2ba;border-radius:5px;background:#fffdf9}
#recordsV2Host .history-list{display:grid;gap:10px}
#recordsV2Host .ab-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px}
#recordsV2Host .ab-controls label{display:grid;gap:5px}
#recordsV2Host .calendar-legacy a{color:var(--records-accent-dark);text-underline-offset:4px}
.records-backup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 28px;margin-top:28px;padding:25px 28px;border:1px solid #aaa39b;border-radius:7px;background:#fffdf9b8}
.records-backup h2{margin:0 0 10px;font-size:24px;font-weight:600;letter-spacing:.06em}
.records-backup p{margin:0;line-height:1.8;color:var(--records-muted)}
.records-backup-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}
.records-backup button,.backup-confirm button{min-height:43px;padding:9px 17px;border:1px solid #8e8880;border-radius:4px;background:#fffdf9;font-weight:600}
.records-backup button:first-child,.backup-confirm .backup-accept{border-color:var(--records-accent);background:var(--records-accent);color:white}
.records-backup button:hover,.records-backup button:focus-visible,.backup-confirm button:hover,.backup-confirm button:focus-visible{border-color:var(--records-accent-dark)}
.records-backup button:disabled,.backup-confirm button:disabled{cursor:wait;opacity:.55}
#backupStatus,.records-backup .records-backup-note{grid-column:1/-1;font-size:13px}
#backupStatus:empty{display:none}
.records-backup .records-backup-note{padding-top:12px;border-top:1px solid #d8d0c7}
.backup-confirm{width:min(520px,calc(100vw - 32px));padding:26px;border:1px solid #a69f96;border-radius:8px;background:#fffdf9;color:var(--records-ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;box-shadow:0 18px 60px #20191335}
.backup-confirm::backdrop{background:#1d1b1a75}
.backup-confirm h2{margin:0 0 14px;font-size:24px}.backup-confirm p{line-height:1.8}.backup-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.records-ad{height:82px;margin-top:30px;border:1px solid #c8c2ba;background:#fffdf94d;display:grid;place-items:center;color:#aaa39b;font-family:Arial,sans-serif;letter-spacing:.15em}
.records-ad span{font-size:11px}.records-ad small{margin-top:-28px;font-size:10px}
.records-load-error{margin:24px;padding:18px;border:1px solid var(--records-accent);background:#fff5f2;color:#8c3028}
.calendar-confirm{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;background:#fffdf9;color:#292724}
@media(max-width:900px){
  .v2-header{height:66px;padding:0 18px}.v2-header>.brand img{width:160px}.v2-header nav{gap:4px}.nav-button{min-width:54px;font-size:15px}.help-button{font-size:0}.help-button span{width:34px;height:34px;font-size:21px}
  #recordsV2Host .best-calendar-layout{grid-template-columns:1fr}.records-v2{padding:28px 18px 40px}
}
@media(max-width:700px){
  #recordsV2Host .v2-header{height:auto;min-height:62px;flex-wrap:wrap;padding:4px 12px}#recordsV2Host .v2-header>.brand img{width:138px;height:48px}#recordsV2Host .v2-header nav{order:3;width:100%;height:43px;margin:0;justify-content:center;border-top:1px solid #ddd6cf}#recordsV2Host .nav-button{flex:1}#recordsV2Host .nav-button::after{bottom:2px}#recordsV2Host .help-button{margin-left:auto}
  .records-heading{align-items:flex-start}.records-heading h1{font-size:34px}.records-script{font-size:18px}.records-heading h1+p{font-size:12px}.record-link{min-width:115px;padding:10px 11px;font-size:13px}.record-link span{margin-left:7px}
  #recordsV2Host .best-calendar-layout>.panel{padding:15px}#recordsV2Host .calendar-day{min-height:50px;font-size:14px}#recordsV2Host .calendar-toolbar{grid-template-columns:38px 1fr 38px auto;gap:4px}#recordsV2Host .calendar-toolbar button{min-height:36px;min-width:36px;padding:5px}#recordsV2Host .calendar-toolbar h2{font-size:20px}
  .records-backup{grid-template-columns:1fr;padding:20px}.records-backup-actions{justify-content:flex-start}.records-backup-actions button{flex:1 1 180px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
