:root{--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--color-desk-bg: #1c1917;--color-desk-surface: #26211d;--color-wood-dark: #3a271d;--color-wood-mid: #54392b;--color-brass-primary: #d4af37;--color-brass-dark: #8c6d23;--color-paper-base: #fdfcf9;--color-paper-back: #f4eee2;--color-paper-ink: #1f1b18;--color-paper-muted: #6b635b}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--color-desk-bg);background-image:radial-gradient(ellipse at 50% 20%,rgba(139,92,42,.18) 0%,transparent 70%),radial-gradient(circle at 50% 80%,#140f0cf2,#120f0d);color:var(--color-paper-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:none}#root{width:100%;height:100%;display:flex;flex-direction:column}.calendar-desk-scene{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1rem 1.25rem;-webkit-user-select:none;user-select:none;position:relative;gap:1rem}.calendar-perspective-stage{flex:1;display:flex;align-items:center;justify-content:center;width:100%;perspective:1400px;perspective-origin:50% 30%;padding:.25rem}.calendar-wood-pad{position:relative;width:100%;max-width:380px;height:560px;background:linear-gradient(145deg,#442a1b,#2b1a10);border-radius:14px;padding:44px 14px 18px;box-shadow:0 25px 60px #000000bf,0 8px 18px #00000080,inset 0 1px 1px #fff3,inset 0 -2px 4px #000c;border:1px solid rgba(212,175,55,.25);display:flex;flex-direction:column}.calendar-top-clamp{position:absolute;top:0;left:0;right:0;height:48px;background:linear-gradient(180deg,#d8b248,#a88427 60%,#7d5f17);border-radius:13px 13px 4px 4px;border-bottom:2px solid #57410c;display:flex;align-items:center;justify-content:space-between;padding:0 18px;box-shadow:0 4px 10px #00000073,inset 0 1px 1px #fff9;z-index:60}.clamp-screw{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#876d2a 60%,#4a3a12);box-shadow:0 1px 3px #0009,inset 0 0 1px #000;position:relative}.clamp-screw:after{content:"";position:absolute;top:50%;left:20%;right:20%;height:2px;background:#382c0b;transform:translateY(-50%) rotate(42deg)}.clamp-plaque{font-family:var(--font-sans);font-size:.75rem;letter-spacing:2px;font-weight:700;color:#3b2c0a;text-shadow:0 1px 0 rgba(255,255,255,.4)}.torn-stub-stack{position:absolute;top:48px;left:14px;right:14px;height:12px;pointer-events:none;z-index:25}.torn-stub-layer{position:absolute;left:0;right:0;height:10px;background:#faf4ea;box-shadow:0 1px 2px #00000040;border-top:1px solid rgba(0,0,0,.08)}.calendar-pages-stack{position:relative;flex:1;width:100%;height:100%;transform-style:flat;touch-action:none}.sheet-slot{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:4px 4px 8px 8px}.sheet-underneath{z-index:5;filter:brightness(.96)}.sheet-active{z-index:50;will-change:transform,filter}.calendar-sheet-card{position:relative;width:100%;height:100%;background-color:var(--color-paper-base);background-image:linear-gradient(180deg,#fefefe,#fdfbf7 40%,#f9f5ec);border-radius:4px 4px 6px 6px;box-shadow:0 1px 3px #0000001f,0 4px 14px #00000026;display:flex;flex-direction:column;overflow:hidden}.sheet-perforation{width:100%;height:4px;background:transparent;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:2px}.perforation-dots{width:100%;height:2px;background-image:repeating-linear-gradient(90deg,rgba(140,125,110,.6) 0,rgba(140,125,110,.6) 4px,transparent 4px,transparent 8px)}.sheet-top-banner{padding:8px 14px 6px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #8b2635;background:#faf4ea}.sheet-meta-left{display:flex;align-items:baseline;gap:.4rem}.sheet-weekday{font-family:var(--font-sans);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:1px;color:var(--color-paper-ink)}.sheet-week-kw{font-size:.72rem;color:var(--color-paper-muted);font-weight:600}.sheet-meta-right{font-size:.85rem;font-weight:600;color:var(--color-paper-muted)}.sheet-body{flex:1;display:flex;flex-direction:column;padding:10px 18px 12px;overflow:hidden}.sheet-date-hero{display:flex;flex-direction:column;align-items:center;margin-bottom:.6rem;flex-shrink:0}.sheet-day-number{font-family:var(--font-serif);font-size:4.4rem;line-height:.88;font-weight:700;letter-spacing:-2px}.sheet-hero-rule{width:38px;height:2px;margin-top:5px;opacity:.7}.sheet-poem-container{flex:1;display:flex;flex-direction:column;text-align:center;padding:.2rem .6rem;overflow-y:auto;overflow-x:hidden;position:relative;scrollbar-width:thin;scrollbar-color:rgba(140,120,100,.4) transparent;-webkit-overflow-scrolling:touch}.sheet-poem-container::-webkit-scrollbar{width:4px}.sheet-poem-container::-webkit-scrollbar-track{background:transparent}.sheet-poem-container::-webkit-scrollbar-thumb{background:#8c786459;border-radius:4px}.sheet-poem-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:#2b241e;margin-bottom:.65rem;font-style:italic;flex-shrink:0}.sheet-poem-lines{font-family:var(--font-serif);font-size:1.12rem;line-height:1.45;color:#241f1c;font-style:italic;margin-bottom:.85rem}.sheet-poem-line{margin-bottom:.2rem}.sheet-stanza-spacer{height:.85rem}.sheet-poem-footer{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.82rem;color:var(--color-paper-muted);margin-top:auto;padding-top:.5rem;flex-shrink:0}.sheet-author{font-family:var(--font-sans);font-weight:600;font-style:normal;color:#403831}.sheet-source{font-size:.75rem;font-style:italic}.sheet-scroll-cue{text-align:center;font-size:.74rem;font-weight:600;color:#8c735d;padding:4px 0 2px;animation:pulseHint 2s infinite ease-in-out;flex-shrink:0}.sheet-bottom-seal{text-align:center;margin-top:auto;padding-top:6px;border-top:1px dashed rgba(160,140,120,.35);flex-shrink:0}.seal-text{font-size:.68rem;text-transform:uppercase;letter-spacing:1.5px;color:#a89c8f}.sheet-curl-shadow-overlay,.sheet-curl-highlight-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;transition:opacity .05s ease}.sheet-pad-backing{display:flex;align-items:center;justify-content:center;background:#ebe2d3;border:2px dashed #b5a38a}.pad-finished-card{text-align:center;padding:2rem}.pad-finished-card h3{font-family:var(--font-serif);font-size:1.5rem;margin-bottom:.5rem;color:#453828}.pad-finished-card p{color:#736452;font-size:.9rem;margin-bottom:1.25rem}.restart-btn{background:#8b2635;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:9999px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #8b263559;transition:transform .2s ease}.restart-btn:hover{transform:scale(1.05)}.calendar-pad-bottom-edge{position:absolute;bottom:0;left:14px;right:14px;height:10px;background:linear-gradient(180deg,#d3c4ad,#9c8b74);border-radius:0 0 6px 6px;box-shadow:0 4px 8px #0006;z-index:1}.calendar-footer-guidance{width:100%;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:.6rem;z-index:40}.guidance-instruction{text-align:center;color:#c9bdae;font-size:.85rem;display:flex;flex-direction:column;gap:.2rem}.mouse-hint strong{color:#f7ede0}.keys-hint{font-size:.72rem;color:#8c8071}.mobile-action-buttons{display:flex;gap:.75rem;width:100%;max-width:320px}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1rem;border-radius:9999px;font-family:var(--font-sans);font-weight:600;font-size:.9rem;cursor:pointer;border:1px solid rgba(255,255,255,.15);transition:all .2s ease}.prev-btn{background:#2d2620b3;color:#dfd4c5}.prev-btn:hover:not(:disabled){background:#41372fe6;color:#fff;transform:translateY(-2px)}.next-btn{background:linear-gradient(135deg,#a83232,#801b1b);color:#fff;border-color:#ffffff40;box-shadow:0 4px 14px #a8323259}.next-btn:hover:not(:disabled){background:linear-gradient(135deg,#b83a3a,#902222);transform:translateY(-2px);box-shadow:0 6px 18px #a8323273}.action-btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.initial-scroll-indicator{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--color-brass-primary);animation:pulseHint 2s infinite ease-in-out}.scroll-arrow-anim{font-weight:700;font-size:1rem;animation:bounceArrow 1.5s infinite ease-in-out}@keyframes pulseHint{0%,to{opacity:.6}50%{opacity:1}}@keyframes bounceArrow{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(max-width:480px){.calendar-wood-pad{max-width:340px;height:520px;padding:42px 10px 14px}.sheet-day-number{font-size:3.8rem}.sheet-poem-lines{font-size:1rem;line-height:1.4}.keys-hint{display:none}}
