*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:"Noto Sans JP",system-ui,-apple-system,"Yu Gothic",sans-serif;background:#0c2035;color:#f5f4ef}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ffd47c;outline-offset:3px}.shell{height:100dvh;max-width:480px;margin:auto;display:flex;flex-direction:column;background:linear-gradient(170deg,#193b57,#0e263d 65%,#112a42);box-shadow:0 0 50px #0005}.header,.footer{flex:none;text-align:center;background:#10283f}.header{border-bottom:1px solid #b89653;padding:16px 12px}.header h1{margin:0;font-size:1.4rem;letter-spacing:.12em;color:#f2d18d}.main{flex:1;min-height:0;overflow:auto;padding:25px 18px 35px;text-align:center}.date{color:#e6c98d;letter-spacing:.08em;font-size:1.1rem}.intro{color:#d2dce5;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;border-radius:12px;border:1px solid #d8b66e;background:#e6c17a;color:#182b3b;font-weight:700;max-width:100%}.button.secondary{background:transparent;color:#f4dca8}.button.danger{border-color:#d9a6a6;color:#ffe0e0;background:#633b46}.button:disabled{opacity:.5;cursor:not-allowed}.buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:18px 0}.favorite{border:1px solid #b89860;border-radius:16px;background:#ffffff0b;padding:20px;margin-top:26px;text-align:left}.favorite h2{font-size:1.1rem;color:#f2d18d;margin:0 0 14px;text-align:center}.quote{font-size:1.23rem;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere}.credit{color:#d7c5a5;font-size:.9rem}.explanation{color:#e0e6ec;font-size:.95rem;line-height:1.85}.empty{text-align:center;color:#c7d1d9}.share{margin-top:28px}.share h2{font-size:1rem;color:#f2d18d}.share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.share-grid .button{padding:9px 5px;font-size:.9rem}.share-grid .wide{grid-column:1/-1}.footer{padding:10px 10px 12px;border-top:1px solid #b89653;font-size:.73rem;line-height:1.8;color:#c8d4df}.footer a{color:#f2d18d}.status{min-height:1.5em;color:#ffe0a0;font-size:.85rem}.modal{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}.modal[hidden]{display:none}.dialog{width:min(100%,460px);max-height:min(88dvh,760px);overflow:auto;border:2px solid #d6b473;border-radius:18px;background:#17334e;color:#fff;padding:24px 20px;box-shadow:0 18px 50px #0008}.dialog h2{margin:0 0 16px;color:#f2d18d;text-align:center}.dialog .quote{font-size:1.2rem}.dialog .buttons{margin-bottom:0}.notice{margin-top:24px;font-size:.8rem;color:#c8d4df;line-height:1.8}.notice a{color:#f2d18d}.error{color:#ffd0c9}body.modal-open{overflow:hidden}@media(prefers-reduced-motion:no-preference){.button{transition:filter .15s}.button:hover{filter:brightness(1.1)}}
.date-button{width:100%;font-size:1.12rem;letter-spacing:.06em;margin:0 auto 10px;min-height:56px}
