*{box-sizing:border-box}body{margin:0;background:#f5f4ef;color:#203c35;font-family:Arial,'Microsoft YaHei','PingFang SC',sans-serif}.app-header{padding:36px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid #dce1d9}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#61816d}h1{font-size:30px;letter-spacing:-1px;margin:12px 0}p{font-size:14px;line-height:1.6;color:#6a776e}button{border:0;border-radius:6px;background:#254c3f;color:white;padding:13px 20px;font-weight:700;cursor:pointer}button:hover{background:#3d6857}main{padding:24px 4%}.controls{display:flex;gap:20px;align-items:end;padding:20px;background:#e9eee6;border-radius:10px;margin-bottom:24px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700}input,select{padding:11px;border:1px solid #c6cfc6;border-radius:5px;background:white;color:#243c32;font:inherit;font-size:14px}#year{width:110px}.controls p{margin:0;max-width:400px}.workspace{display:grid;grid-template-columns:235px minmax(0,1fr);gap:28px}.editor{padding:20px;background:white;border:1px solid #e0e4dc;border-radius:8px;align-self:start}.editor h2{font-size:22px;margin:12px 0}.editor form{display:grid;gap:14px}.editor input{width:100%}details{margin-top:25px}summary{cursor:pointer;font-weight:700;font-size:14px}details label{margin-top:16px}.save-note{font-size:11px}.event-item{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:10px}.event-item button{padding:4px 9px;background:#e9eee6;color:#254c3f}.preview-wrap{overflow:auto;padding:3px 3px 20px}#calendar{background:white;color:#111;min-width:740px;padding:28px;box-shadow:0 4px 24px #233c3512}.paper-heading{display:flex;align-items:center;justify-content:space-between;text-align:center;gap:12px;margin-bottom:26px}.paper-heading span{display:block;font-weight:800;font-size:clamp(17px,1.65vw,28px);line-height:1.4}.paper-heading span+span{font-size:clamp(13px,1.1vw,19px)}.bird{font-size:38px}.calendar-body{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:15px}table{border-collapse:collapse;table-layout:fixed;width:100%}th,td{border:1px solid #777}th{background:#eee;padding:8px 2px;text-transform:uppercase}th span{display:block;font-size:11px;line-height:1.7}th span:first-child{font-size:12px}td{height:92px;vertical-align:top;padding:6px;position:relative}.date{display:block;text-align:right;font-size:14px}.empty{background:#fafafa}.day-note{font-size:10px;text-align:center;line-height:1.35;margin-top:6px;overflow-wrap:anywhere}.day-note span{display:block}.day-note span:first-child{font-weight:700}.goals{border:1px solid #777;padding:14px 10px;text-align:center}.goals h2{margin:0 0 18px;font-size:13px}.goals span{display:block;line-height:1.6}.goal{font-size:12px;margin-bottom:24px}.goal strong{display:block;margin-top:6px;font-size:17px}.goal small{display:block;font-size:10px;font-weight:400}.paper-footer{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px;font-size:12px;font-weight:700}.paper-footer div{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:end}.paper-footer span[lang]{display:inline}.blank{border-bottom:1px solid #111;flex:1;min-width:70px;height:20px}.paper-footer div:last-child{grid-column:1/-1}.roomy .calendar-body{grid-template-columns:1fr}.roomy .goals{padding:12px}.roomy .goals h2{margin-bottom:12px;display:flex;justify-content:center;gap:14px}.roomy .goal-groups{display:grid;grid-template-columns:repeat(3,1fr)}.roomy .goal{margin:0;border-right:1px solid #ddd}.roomy .goal:last-child{border:0}.roomy td{height:85px}.roomy th span{font-size:12px}@media(max-width:1000px){.workspace{grid-template-columns:1fr}.editor{display:grid;grid-template-columns:1fr 2fr;gap:10px 24px}.editor form{grid-column:2;grid-row:1/6}.controls{flex-wrap:wrap}.app-header h1{font-size:24px}}@media(max-width:600px){.app-header{display:block;padding:24px}.editor{display:block}.controls{gap:12px}.editor form{margin-top:20px}main{padding:15px}.paper-heading span{font-size:18px}}@page{size:landscape;margin:10mm}@media print{body{background:white}.app-header,.controls,.editor{display:none}main{padding:0}.workspace{display:block}.preview-wrap{padding:0;overflow:visible}#calendar{min-width:0;box-shadow:none;padding:0;width:100%;break-inside:avoid}.paper-heading{margin-bottom:15px}.paper-heading span{font-size:23px}.paper-heading span+span{font-size:16px}td{height:19mm}.roomy td{height:16mm}.paper-footer{margin-top:15px;gap:15px}th{print-color-adjust:exact}.goal{margin-bottom:15px}}

.goals h2 span{display:inline}.roomy .goals h2{display:block}
.print-tip{margin:0 0 20px;font-size:12px}
.day-note .notes-content{flex:none}
.day-note .notes-content{height:100%;display:flex;align-items:center;justify-content:center;font-size:inherit}.notes-content svg{display:block;width:100%;height:100%;flex:none}
.calendar-day-heading{font-weight:700}
.day-note{position:absolute;inset:24px 6px 6px;margin:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.notes-content{width:100%;line-height:1.3}
.calendar-grid{display:grid;grid-template-rows:auto 1fr;border-top:1px solid #777;border-left:1px solid #777;height:100%}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:0}.calendar-weeks{display:grid;grid-template-rows:repeat(var(--weeks),minmax(92px,1fr));min-height:0}.calendar-cell,.calendar-day-heading{min-width:0;min-height:0;border-right:1px solid #777;border-bottom:1px solid #777;position:relative;padding:6px}.calendar-day-heading{background:#eee;text-align:center;text-transform:uppercase;padding:8px 2px}.calendar-day-heading span{display:block;font-size:11px;line-height:1.7}.calendar-day-heading span:first-child{font-size:12px}
@media print{.calendar-grid{grid-template-rows:18mm minmax(0,1fr)}.calendar-weekdays .calendar-week{height:100%}.calendar-weeks{grid-template-rows:repeat(var(--weeks),minmax(0,1fr))}.calendar-day-heading{print-color-adjust:exact}.calendar-cell.empty{background:transparent}}
.event-bars{overflow:hidden;display:grid;grid-template-rows:repeat(var(--weeks),minmax(0,1fr))}.event-week-layer{position:relative;min-height:0}.event-bar .event-bar-label{flex:0 1 auto;max-width:calc(100% - 56px);overflow-wrap:anywhere;line-height:1.4;background:white;print-color-adjust:exact}.event-bar{overflow:hidden}
.event-bar .bar-line{height:0;background:none;border-top:4px solid #111}.event-bar .bar-arrow::before{height:0;background:none;border-top:4px solid #111}
.google-translator-button{display:block;padding:13px 20px;border-radius:6px;background:#254c3f;color:white;text-decoration:none;text-align:center;font-size:14px;font-weight:700}.google-translator-button:hover{background:#3d6857}.google-translator-button:focus-visible{outline:2px solid #254c3f;outline-offset:3px}
@page{size:letter landscape;margin:0}
@media print{
 html,body{margin:0;padding:0}
 .print-tip{display:none}
 #calendar{width:279.4mm;height:215.5mm;padding:10mm;display:flex;flex-direction:column;gap:4mm}
 .paper-heading{flex:none;margin:0}
 .paper-heading .mascot{max-height:28mm}
 .paper-heading span{font-size:21px}
 .paper-heading span+span{font-size:15px}
 .calendar-body{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}
 .roomy .calendar-body{grid-template-rows:minmax(0,1fr) auto;gap:3mm}
 .calendar-table-wrap{height:100%;min-height:0}
 .calendar-table-wrap table{height:100%;border-collapse:separate;border-spacing:0;border:0.75pt solid #777;border-right:0;border-bottom:0;empty-cells:show}
 .calendar-table-wrap th,.calendar-table-wrap td{border:0;border-right:0.75pt solid #777;border-bottom:0.75pt solid #777}
 .calendar-table-wrap td.empty{background:transparent}
 .calendar-table-wrap table{display:grid;grid-template-rows:18mm minmax(0,1fr)}
 .calendar-table-wrap thead,.calendar-table-wrap tbody{min-height:0}
 .calendar-table-wrap thead tr{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:100%}
 .calendar-table-wrap tbody{display:grid;grid-template-rows:repeat(var(--weeks),minmax(0,1fr))}
 .calendar-table-wrap tbody tr{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:0}
 .calendar-table-wrap th,.calendar-table-wrap td{min-width:0;min-height:0}
 .calendar-table-wrap .event-bars{top:18mm!important}
 #calendar td{height:auto}
 .paper-footer{flex:none;margin:0;gap:3mm 6mm}
 .goals{overflow:hidden}
 .roomy .goals{padding:2mm}
 .roomy .goals h2{margin:0 0 1mm}
 .roomy .goal{margin:0}
}
.mascot-controls{padding:16px 20px;background:white;border-radius:8px;margin-bottom:24px}.mascot-controls p{margin-bottom:0;font-size:12px}#mascot-review:not([hidden]){display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px}.mirror-option{flex-direction:row;align-items:center}.mascot{display:block;width:100%;height:auto;max-height:150px;object-fit:contain}.mascot.mirrored{transform:scaleX(-1)}.paper-heading>div:nth-child(2){min-width:0;flex:1}.bird:empty{display:none}@media print{.mascot-controls{display:none}}
.date-range{display:grid;grid-template-columns:1fr 1fr;gap:10px}.translation-status{font-size:11px;min-height:18px;margin:0;color:#587064}.event-note+.event-note{border-top:1px dotted #aaa;margin-top:3px;padding-top:3px}.range-marker{display:inline!important;font-weight:700;color:#587064}
.calendar-table-wrap{position:relative;min-width:0}.event-bars{position:absolute;inset:0;pointer-events:none}.event-bar{position:absolute;z-index:2;display:flex;align-items:center;min-width:0;color:#111;text-align:center;line-height:1.15}.event-bar-label{flex:0 1 auto;min-width:0;margin:0 8px;font-size:11px;font-weight:800;background:none}.event-bar-label span{display:block}.bar-line{height:4px;background:#111;flex:1 1 22px;min-width:12px}.bar-arrow{flex:1 1 36px;min-width:28px;display:flex;align-items:center}.bar-arrow::before{content:"";height:4px;background:#111;flex:1}.bar-arrow::after{content:"";width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:13px solid #111;flex:none}
