.amo-calendar,.amo-calendar *{box-sizing:border-box}.amo-calendar{width:100%;max-width:900px;min-width:0;margin:18px auto;color:#222;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.5}.amo-calendar button,.amo-calendar input,.amo-calendar select,.amo-calendar textarea{font:inherit;font-size:16px;color:#222}.amo-calendar button,.amo-calendar input,.amo-calendar select{padding:9px 10px;min-height:44px;border:1px solid #bdc6b3;border-radius:8px;background:white;max-width:100%}.amo-calendar button{cursor:pointer;margin:0;box-shadow:none}.amo-calendar button:disabled{opacity:.5;cursor:wait}.amo-calendar .ac-primary{background:#4e632d;color:white;border-color:#4e632d}.amo-calendar .ac-tools{padding:12px;background:#f5f7f1;border:1px solid #dce2d5;border-radius:14px;margin-bottom:16px}.amo-calendar .ac-brand-title{font-size:19px;font-weight:bold}.amo-calendar .ac-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:9px 0}.amo-calendar .ac-row label{display:flex;gap:6px;align-items:center;white-space:nowrap}.amo-calendar .ac-status{font-size:13px;color:#4e632d;margin:8px 0 0}.amo-calendar .ac-note{font-size:12px;color:#666;margin:8px 0}.amo-calendar .ac-paper{width:100%;margin:auto;background:white;border:1px solid #222;min-width:0}.amo-calendar .ac-banner{width:100%;background:#f2e8c8}.amo-calendar .ac-banner img{display:block;width:100%;height:auto;max-width:100%;margin:0;padding:0}.amo-calendar .ac-brand{padding:14px 5px;text-align:center;font-size:clamp(16px,4vw,30px);color:#56391e}.amo-calendar .ac-brand small{display:block;font-size:clamp(10px,2.6vw,17px)}.amo-calendar .ac-month{background:#4e632d;color:white;text-align:center;font-size:clamp(22px,5vw,36px);font-weight:bold;padding:7px}.amo-calendar .ac-weekdays,.amo-calendar .ac-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.amo-calendar .ac-weekdays>div{text-align:center;font-size:12px;border-top:1px solid #222;border-right:1px solid #222;padding:4px 0}.amo-calendar .ac-weekdays>div:last-child{border-right:0;background:#ddf0f7;color:#205570}.amo-calendar .ac-weekdays>div:first-child{background:#fbecef;color:#bd182b}.amo-calendar .ac-day{min-width:0;min-height:0;overflow:hidden;border-top:1px solid #222;border-right:1px solid #222;display:flex;flex-direction:column;height:150px;background:white}.amo-calendar .ac-day[role=button]{cursor:pointer}.amo-calendar .ac-day:nth-child(7n){border-right:0}.amo-calendar .ac-day:focus-visible{outline:3px solid #387eff;outline-offset:-3px}.amo-calendar .ac-number{flex:0 0 auto;text-align:right;padding:3px;background:#fffaf7;font-weight:bold;font-size:12px}.amo-calendar .ac-red .ac-number{background:#fbecef;color:#bd182b}.amo-calendar .ac-blue .ac-number{background:#ddf0f7;color:#205570}.amo-calendar .ac-block{flex:1 1 0;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:4px 3px;text-align:center}.amo-calendar .ac-block+.ac-block{border-top:1px solid #222}.amo-calendar .ac-text{flex:0 0 auto;display:block;width:max-content;max-width:none;white-space:pre;overflow-wrap:normal;word-break:normal;line-height:1.4;transform-origin:center center}.amo-calendar .ac-foot{padding:4px;text-align:right;font-size:8px}.amo-calendar dialog{width:min(94vw,480px);max-height:88vh;max-height:88dvh;overflow:auto;padding:18px;border:0;border-radius:15px;background:white;color:#222}.amo-calendar dialog::backdrop{background:#0008}.amo-calendar .ac-edit-title{font-size:20px;font-weight:bold;margin-bottom:14px}.amo-calendar .ac-event-editor{padding:12px;background:#f7f6f1;border:1px solid #ddd;border-radius:10px;margin-bottom:14px}.amo-calendar .ac-field{display:block;margin:10px 0}.amo-calendar .ac-field span{display:block;font-size:13px;font-weight:bold;margin-bottom:4px}.amo-calendar .ac-field input,.amo-calendar .ac-field select,.amo-calendar .ac-field textarea{width:100%;background:white}.amo-calendar textarea{min-height:65px;padding:10px;border:1px solid #bdc6b3;border-radius:8px}.amo-calendar [hidden]{display:none!important}

.amo-calendar .ac-public-sheet{border:0;background:#e8e9e5}.amo-calendar .ac-public-image{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:1680/2376;object-fit:contain}.amo-calendar:has(.ac-public-sheet){margin:0 auto}.amo-calendar:has(.ac-public-sheet) .ac-tools{padding:8px;margin-bottom:8px}.amo-calendar:has(.ac-public-sheet) .ac-brand-title,.amo-calendar:has(.ac-public-sheet) .ac-note{display:none}.amo-calendar:has(.ac-public-sheet) .ac-row{gap:6px;margin:0}.amo-calendar:has(.ac-public-sheet) .ac-status{font-size:11px;margin-top:4px}.amo-calendar:has(.ac-public-sheet) button,.amo-calendar:has(.ac-public-sheet) input{font-size:13px;padding:6px;min-height:38px}

/* Full-month PNG export: independent of page scroll and theme layout. */
.amo-calendar dialog.ac-image-dialog{position:fixed;inset:0;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;margin:0;padding:10px;padding: max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-radius:0;background:#e8e9e5;overflow:hidden}
.amo-calendar dialog.ac-image-dialog[open]{display:flex;flex-direction:column;gap:8px}
.amo-calendar .ac-image-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;flex:0 0 auto}
.amo-calendar .ac-image-tools button{font-size:13px;padding:8px;min-height:44px}
.amo-calendar .ac-image-hint{flex:0 0 auto;font-size:12px;line-height:1.5;margin:0;text-align:center;color:#333}
.amo-calendar .ac-image-stage{flex:1 1 0;min-height:0;min-width:0}
.amo-calendar .ac-image-stage img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;-webkit-touch-callout:default;user-select:auto;-webkit-user-select:auto}

.amo-calendar .ac-embed-image-save{position:fixed;right:10px;bottom:10px;z-index:10;box-shadow:0 2px 8px #0004;font-size:13px;padding:8px 12px;min-height:44px}
