/* Walnut stand, ivory paper, brass rings — the planner is a second desk object. */
#calendar-object{position:absolute;right:6%;z-index:3;width:60px;height:67px;border:0;border-radius:3px 3px 2px 2px;padding:7px 4px 8px;display:flex;flex-direction:column;align-items:center;background:linear-gradient(100deg,#fff9e9,#efe1c5);color:#68483d;box-shadow:inset 0 0 0 1px #dccbad,1px 2px 0 #e2d1b4,2px 4px 0 #b8a78b,0 7px 0 3px #755039,1px 9px 6px #3d251c55;transform:rotate(3deg);transform-origin:50% 100%}
#calendar-object strong{font:27px/1 Georgia,serif;margin:3px 0 0}.calendar-month{font:8px/1.2 Georgia,serif;text-transform:uppercase;letter-spacing:.8px}.calendar-caption{font:italic 9px/1.1 Georgia,serif;margin-top:2px}.calendar-rings:before,.calendar-rings:after{content:'';position:absolute;top:-5px;width:5px;height:12px;border-radius:5px;background:linear-gradient(90deg,#735537,#f0d798,#957440);box-shadow:1px 1px 1px #42271266}.calendar-rings:before{left:13px}.calendar-rings:after{right:13px}
#planner{height:var(--app-height);width:100%;padding:max(30px,calc(env(safe-area-inset-top) + 16px)) 18px max(64px,calc(env(safe-area-inset-bottom) + 55px));background:#eee8ddf5;color:#584b3f;overflow:hidden}
#planner::backdrop{background:#483d3455}
.planner-frame{height:100%;max-width:540px;margin:auto;position:relative;padding:14px 7px 9px;border-radius:9px;background:linear-gradient(95deg,#674630,#9c724c 25%,#79553c 70%,#513624);box-shadow:0 9px 24px #44302530,inset 0 0 0 1px #39251f50;perspective:1000px}
.planner-sheet{height:100%;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:25px 18px 16px;background:repeating-linear-gradient(0deg,#ffffff00 0 3px,#b5996b06 3px 4px),#fcf7eb;border-radius:3px;box-shadow:0 2px 0 #c8bca7,0 4px 0 #f5eddd,0 6px 0 #c4b59e;scrollbar-width:thin;scrollbar-color:#d5c9b5 transparent}
.planner-binding{position:absolute;top:-9px;left:0;right:0;display:flex;justify-content:space-around;z-index:2;pointer-events:none}.planner-binding i{display:block;width:13px;height:42px;border:1px solid #715331;border-radius:12px;background:linear-gradient(90deg,#685139,#c6aa72 30%,#ffebba 48%,#b08a4a 65%,#6d5130);box-shadow:2px 3px 3px #4c352b55}
.planner-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #dcd1bd;padding-bottom:7px}.planner-heading>span{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#9b8467}.planner-heading button,.planner-back,.planner-today{border:0;background:none;color:#81584b;font-size:12px;min-height:44px;padding:8px 0}
.planner-views{display:flex;gap:16px;margin-top:12px}.planner-views button{min-height:44px;padding:7px 0;border:0;background:none;font:13px Georgia,serif;color:#9c8d76}.planner-views button[aria-pressed=true]{color:#61493d;box-shadow:0 1px #95775b}.planner-views span{font:10px -apple-system,sans-serif;margin-left:3px}
.planner-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:6px}.planner-navigation button{width:40px;min-height:44px;background:none;border:0;font-size:22px;color:#9a7a57}.planner-navigation h2{font:23px/1.2 Georgia,serif;margin:0;text-align:center;letter-spacing:-.6px}.planner-navigation div>span{display:block;text-align:center;font-size:10px;letter-spacing:2px;color:#ad977c;margin-top:6px}.planner-today{display:block;margin:0 auto 10px;font-size:10px}
.planner-day{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:13px 0;border-top:1px solid #e4dac8;min-height:91px}.planner-day>header>div{display:flex;flex-direction:column;align-items:center}.planner-day header span{font-size:9px;text-transform:uppercase;color:#a18c73;letter-spacing:1px}.planner-day header strong{font:26px/1.2 Georgia,serif;font-weight:400}.planner-day header em{font:italic 9px Georgia,serif;color:#97574a}.planner-day header button{border:0;background:none;color:#ab9476;min-height:35px;width:100%;font-size:21px}.planner-day.is-today header strong{color:#9a5446}.planner-empty-day{font:italic 13px/1.6 Georgia,serif;color:#b2a28b;margin:12px 0}
.planner-task{display:flex;gap:10px;padding:9px 0;align-items:flex-start}.planner-check{flex:none;margin-top:1px;width:24px;height:28px;position:relative;min-height:28px;border:0;background:none;font-size:13px;color:#798366}.planner-check:before{content:'';position:absolute;inset:4px 2px;border:1px solid #c4b395;border-radius:50%;pointer-events:none}.planner-task-text{border:0;background:none;text-align:left;padding:0;min-height:40px;min-width:0;flex:1}.planner-task-text strong{font-size:12px;font-weight:400;line-height:1.5;display:block;overflow-wrap:anywhere;color:#5f5042}.planner-task-text small{display:block;font-size:9px;line-height:1.6;color:#a18c73;margin-top:5px}.planner-task-text small i{display:inline-block;width:5px;height:5px;background:var(--project-color);border-radius:50%;margin-right:5px}.planner-task.is-done strong{text-decoration:line-through;color:#a79b87}.planner-loose-heading{margin:25px 0 15px}.planner-loose-heading h2,.planner-editor-title{font:26px/1.2 Georgia,serif;font-weight:400}.planner-loose-heading p{font-size:11px;line-height:1.7;color:#a18c73}.planner-loose-heading~.planner-task{border-bottom:1px solid #e4dac8;padding:15px 0}
#planner-form{display:flex;flex-direction:column;gap:15px;min-width:0}#planner-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#998167;min-width:0}#planner-form input,#planner-form select{appearance:none;-webkit-appearance:none;box-sizing:border-box;inline-size:100%;min-inline-size:0;max-inline-size:100%;min-height:48px;padding:11px;border:1px solid #d8c9b0;border-radius:3px;font:16px/1.5 -apple-system,sans-serif;color:#63503e;background:#fffdf680;overflow:hidden}#planner-form input:disabled{opacity:.45}#planner-form input::-webkit-date-and-time-value{min-width:0;text-align:left}#planner-form input::-webkit-datetime-edit{padding:0;min-width:0}.planner-project-name{font:18px Georgia,serif;color:#735b43;padding:5px 0 10px}.planner-save{min-height:46px;border:0;border-radius:3px;background:#7b6550;color:#fff9eb;font-size:13px}.planner-return{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:0;width:100%;min-height:44px;background:none;border:0;font:15px Georgia,serif;color:#80564e}#planner-status{font-size:10px;color:#8b806e;line-height:1.5;margin-top:20px}
@media(max-width:360px){#planner{padding-left:10px;padding-right:10px}.planner-sheet{padding-left:13px;padding-right:13px}.planner-views{gap:10px}.planner-navigation h2{font-size:20px}#calendar-object{right:5%;width:53px;height:61px}}

/* A real material cutout; the date remains live, legible text on the blank leaf. */
#calendar-object{width:78px;height:98px;background:none;border:0;border-radius:0;padding:0;box-shadow:none;transform:none;overflow:visible}
.calendar-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(1px 2px 1px #3f2c201f)}
#calendar-object .calendar-month{position:absolute;top:30%;left:16%;width:68%;text-align:center;font:7px/1.2 Georgia,serif;letter-spacing:.45px;color:#604633;mix-blend-mode:multiply}
#calendar-object strong{position:absolute;top:41%;left:16%;width:68%;margin:0;text-align:center;font:28px/1 Georgia,serif;color:#604633;mix-blend-mode:multiply}
#calendar-object .calendar-caption{position:absolute;top:72%;left:16%;width:68%;margin:0;text-align:center;font:italic 8px/1 Georgia,serif;color:#7a6048;mix-blend-mode:multiply}
@media(max-width:360px){#calendar-object{width:68px;height:85px}#calendar-object strong{font-size:25px}#calendar-object .calendar-month{font-size:6px}}
#calendar-object .calendar-caption{display:none}

/* Two left-hand spine slots now hold the calendar, on the same shelf baseline. */
#calendar-object{container-type:inline-size;filter:brightness(.94)}
#calendar-object strong{font-size:36cqw}
#calendar-object .calendar-month{font-size:9cqw;letter-spacing:.35px}

/* Only this small photographed area is replaced. The original room remains untouched. */
#cabinet .calendar-inset{position:absolute;left:53.5%;top:30%;width:15%;height:14%;pointer-events:none;background:url('cabinet-calendar-balanced.png') 62.941176% 34.883721% / 666.666667% 714.285714% no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
#calendar-object{filter:none}
#calendar-object .calendar-art{display:none}
#calendar-object .calendar-month{top:27%;left:12%;width:76%;font-size:9cqw}
#calendar-object strong{top:39%;left:12%;width:76%;font-size:35cqw}

#calendar-object.is-weekend strong{color:#7b3046}

/* Fixed photographed stationery; only the inset contents scroll. */
#planner{padding-left:8px;padding-right:8px}
.planner-frame{padding:0;background:none;border-radius:0;box-shadow:none;isolation:isolate}
.planner-frame:before{content:'';position:absolute;inset:0;z-index:-1;background:url('planner-walnut-frame.png') center/100% 100% no-repeat;pointer-events:none}
.planner-binding{display:none}
.planner-sheet{position:absolute;top:14%;bottom:4%;left:5%;right:5%;height:auto;padding:0 12px 18px;background:none;border-radius:0;box-shadow:none}
.planner-heading>span{color:#77644e;font-size:10px;letter-spacing:.6px}
.planner-task-text strong{font-size:14px;color:#493d30;line-height:1.5}
.planner-task-text small{font-size:11px;color:#78654f}
.planner-empty-day{color:#89765e}
.planner-day header span{color:#78654f;font-size:10px}
.planner-navigation{margin-top:18px}
.planner-navigation h2{font-size:22px}
@media(max-width:360px){.planner-sheet{padding-left:8px;padding-right:8px}.planner-day{grid-template-columns:42px minmax(0,1fr);gap:7px}.planner-navigation h2{font-size:19px}}
/* Task details belong to the same record in books and planner. */
.task-comment{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;font-weight:400;color:#8a7561;margin-top:7px}.planner-task-text .task-comment{font-size:11px}.paper textarea[name=comment],#planner-form textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:90px;padding:11px;border:1px solid #d8c9b0;border-radius:3px;background:#fffdf680;color:#63503e;font:16px/1.5 -apple-system,sans-serif;resize:vertical}
#planner .planner-heading [data-new],#planner .planner-heading [data-new]:focus{border:0;outline:none;box-shadow:none;background:none;font-weight:650;font-size:14px;color:#795342;padding:8px 5px}
#planner .planner-heading [data-new]:focus-visible{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.confirm-delete{max-width:360px;padding:25px}.confirm-delete h2{font:25px Georgia,serif;margin:0 0 15px}.confirm-delete p{font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.confirm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.confirm-actions button{flex:1;min-height:46px}.confirm-actions [data-confirm]{background:#86574d;color:#fff9ee}
#confirm-delete{height:auto;min-height:0;width:min(360px,calc(100% - 32px));max-height:calc(100dvh - 48px);inset:0;margin:auto}
#confirm-delete{height:fit-content}
.task-delete-action{display:block;min-height:44px;margin-top:12px;text-align:left}
.planner-views{flex-wrap:wrap}.planner-task.is-overdue .planner-task-text strong,.planner-task.is-overdue .planner-task-text small{color:#965866}.planner-task.is-overdue .planner-check{border-color:#b9828b}.planner-task.is-overdue{background:#9b526407}.planner-overdue-label{color:#965866;font-size:12px;margin:0 0 18px}.planner-reschedule{padding:15px 0;border-top:1px solid #b9a99450;border-bottom:1px solid #b9a99450}.planner-reschedule>span{font-size:11px;color:#867463}.planner-reschedule>div{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.planner-reschedule button{min-height:44px;padding:8px 12px;background:#e9e0d5;border:0;border-radius:3px;font-size:12px;color:#604c40}.planner-reschedule small{font-size:10px;color:#8d7e6d}#planner-content{overflow-anchor:none}.planner-sheet{overflow-anchor:none}
