:root{--ink:#11110f;--soft:#67665f;--faint:#9a9890;--line:#cbc8bf;--paper:#f3f0e8;--card:#faf8f3;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:"Helvetica Neue",Arial,sans-serif;--orange:#e86625;--blue:#3973a8;--red:#a93a38;--green:#597443}
.app-tabs{display:flex;align-self:center;border:1px solid var(--line);border-radius:999px;padding:3px;margin:-7px 0 14px;background:rgba(255,255,255,.3)}.app-tabs a{min-width:78px;border-radius:999px;padding:7px 13px;text-align:center;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;color:var(--soft);font-size:8px;font-weight:700}.app-tabs a.active{background:var(--ink);color:var(--paper)}body.desktop-widget .app-tabs{display:none}
.week-events{min-width:0}.week-event{width:100%;min-width:0;text-align:left;overflow-wrap:anywhere}
.day-events-preview{display:none}
@media(max-width:700px){body:not(.desktop-widget){padding:0;background:var(--paper)}body:not(.desktop-widget) .shell{height:100vh;border-radius:0;padding:18px;box-shadow:none}body:not(.desktop-widget) .app-tabs{margin:0 0 12px}body:not(.desktop-widget) .quit-button{display:none}body:not(.desktop-widget) .calendar-head{padding-top:4px}body:not(.desktop-widget) .calendar-tools{margin-top:15px}}
@media(min-width:701px) and (max-width:1100px){body:not(.desktop-widget){padding:0;background:var(--paper)}body:not(.desktop-widget) .shell{height:100vh;border-radius:0;padding:24px 30px;box-shadow:none}body:not(.desktop-widget) .app-tabs{margin:0 0 16px}body:not(.desktop-widget) .quit-button{display:none}body:not(.desktop-widget) h1{font-size:54px}body:not(.desktop-widget) .calendar-tools{margin:20px 0 14px}body:not(.desktop-widget) .month-nav button{width:36px;height:32px;font-size:14px}body:not(.desktop-widget) .view-switch button{padding:9px 14px;font-size:9px}body:not(.desktop-widget) .add-button{padding:10px 15px;font-size:9px}body:not(.desktop-widget) .weekday{font-size:9px;padding-bottom:8px}body:not(.desktop-widget) .days{gap:7px}body:not(.desktop-widget) .day{aspect-ratio:1.12;border-radius:13px;padding:8px;overflow:hidden}body:not(.desktop-widget) .day.selected{padding:7px}body:not(.desktop-widget) .number{font-size:15px}body:not(.desktop-widget) .day-events-preview{display:flex;flex-direction:column;gap:3px;margin-top:6px}body:not(.desktop-widget) .day-event-text{display:block;padding-left:5px;border-left:3px solid var(--ink);font-size:8px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body:not(.desktop-widget) .day-event-text.studio{border-color:var(--orange)}body:not(.desktop-widget) .day-event-text.class{border-color:var(--blue)}body:not(.desktop-widget) .day-event-text.lecture{border-color:var(--red)}body:not(.desktop-widget) .day-event-text.personal{border-color:var(--green)}body:not(.desktop-widget) .dots{display:none}body:not(.desktop-widget) .agenda{margin-top:16px;padding-top:13px}body:not(.desktop-widget) .week-view{gap:9px}body:not(.desktop-widget) .week-day{grid-template-columns:72px 1fr;gap:16px;padding:15px 4px}body:not(.desktop-widget) .week-date span{font-size:9px}body:not(.desktop-widget) .week-date strong{font-size:29px}body:not(.desktop-widget) .week-events{gap:8px}body:not(.desktop-widget) .week-event{min-height:58px;border-radius:14px;padding:11px 34px 11px 13px}body:not(.desktop-widget) .week-event strong{font-size:15px}body:not(.desktop-widget) .week-event p{font-size:10px;margin-top:5px}body:not(.desktop-widget) .week-empty{font-size:13px;padding:14px 0}}
*{box-sizing:border-box}html{height:100%;background:transparent;overflow:hidden}body{margin:0;height:100vh;padding:14px;overflow:hidden;background:transparent;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}.shell{display:flex;flex-direction:column;width:100%;height:calc(100vh - 28px);background:var(--paper);border-radius:28px;padding:21px 23px;box-shadow:0 12px 34px rgba(16,16,14,.14);overflow:hidden}.calendar-head{display:flex;justify-content:space-between;align-items:flex-start}.eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:.18em;font-size:8px;font-weight:700;color:var(--soft)}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;margin:0}h1{font-size:42px;line-height:.85}h2{font-size:28px}.top-actions,.tool-actions{display:flex;gap:5px;align-items:center}.quit-button,.icon-button{border:1px solid transparent;background:transparent;color:var(--faint);cursor:pointer}.quit-button{width:29px;height:29px;border-radius:50%;font-size:18px}.icon-button{border-color:var(--line);border-radius:999px;padding:7px 10px;font-size:8px}.quit-button:hover,.icon-button:hover{color:var(--ink);background:rgba(255,255,255,.5)}.calendar-tools{display:flex;justify-content:space-between;align-items:center;margin:17px 0 10px}.month-nav{display:flex;gap:5px}.month-nav button,.add-button,.view-switch button{border:1px solid var(--line);background:transparent;cursor:pointer}.month-nav button{width:28px;height:25px;border-radius:999px;font-size:11px}.add-button{border-color:var(--ink);border-radius:999px;padding:7px 11px;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.view-switch{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.view-switch button{border:0;padding:6px 8px;color:var(--soft);font-size:7px}.view-switch button.active{background:var(--ink);color:var(--paper)}.calendar-grid{flex:0 0 auto;font-size:0}.calendar-grid.hidden,.agenda.hidden,.week-view.hidden{display:none}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekday{display:inline-block;width:calc((100% - 24px)/7);text-align:center;color:var(--faint);font-size:7px;font-weight:700;padding-bottom:5px}.day{position:relative;aspect-ratio:1.22;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.24);padding:5px;text-align:left;vertical-align:top;cursor:pointer;font-size:9px}.day:hover{background:var(--card)}.day.outside{opacity:.28}.day.selected{border:2px solid var(--ink);padding:4px;background:var(--card)}.day.today .number{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.number{font-family:var(--serif);font-size:11px}.dots{position:absolute;left:5px;right:5px;bottom:5px;display:flex;gap:3px;flex-wrap:wrap}.dot{width:5px;height:5px;border-radius:50%;background:var(--ink)}.dot.studio{background:var(--orange)}.dot.class{background:var(--blue)}.dot.lecture{background:var(--red)}.dot.deadline{background:var(--ink)}.dot.personal{background:var(--green)}.agenda{display:flex;flex-direction:column;min-height:0;flex:1;margin-top:13px;border-top:1px solid var(--line);padding-top:10px}.agenda-head{display:flex;justify-content:space-between;align-items:center}.agenda-head p{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:8px;font-weight:700}.agenda-head span{color:var(--soft);font-size:8px}.agenda-list,.week-view{min-height:0;overflow:auto;padding-right:3px}.agenda-list{margin-top:7px}.agenda-list::-webkit-scrollbar,.week-view::-webkit-scrollbar{width:5px}.agenda-list::-webkit-scrollbar-thumb,.week-view::-webkit-scrollbar-thumb{background:var(--line);border-radius:9px}.event{display:grid;grid-template-columns:7px 1fr auto;gap:9px;align-items:start;padding:8px 1px;border-bottom:1px solid var(--line);cursor:pointer}.event-color{width:7px;height:7px;border-radius:50%;margin-top:4px;background:var(--ink)}.event-color.studio{background:var(--orange)}.event-color.class{background:var(--blue)}.event-color.lecture{background:var(--red)}.event-color.personal{background:var(--green)}.event strong{display:block;font-family:var(--serif);font-size:12px;font-weight:400}.event small{display:block;margin-top:2px;color:var(--soft);font-size:7px;line-height:1.35}.event button{border:0;background:transparent;color:var(--soft);font-size:11px;cursor:pointer}.empty{font-family:var(--serif);font-style:italic;color:var(--soft);font-size:12px;padding:10px 1px}.week-view{display:flex;flex:1;flex-direction:column;gap:6px}.week-day{display:grid;grid-template-columns:48px 1fr;gap:10px;border-top:1px solid var(--line);padding:8px 1px}.week-date{text-align:left;border:0;background:transparent;cursor:pointer}.week-date span{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:7px;font-weight:700;color:var(--soft)}.week-date strong{display:block;font-family:var(--serif);font-size:20px;font-weight:400;margin-top:2px}.week-date.today strong{text-decoration:underline;text-underline-offset:3px}.week-events{display:flex;flex-direction:column;gap:5px}.week-event{position:relative;border:1px solid var(--line);border-left:5px solid var(--ink);border-radius:10px;background:var(--card);padding:7px 24px 7px 9px;cursor:pointer}.week-event.studio{border-left-color:var(--orange)}.week-event.class{border-left-color:var(--blue)}.week-event.lecture{border-left-color:var(--red)}.week-event.personal{border-left-color:var(--green)}.week-event strong{display:block;font-family:var(--serif);font-size:11px;font-weight:400;line-height:1.2}.week-event p{margin:3px 0 0;color:var(--soft);font-size:7px;line-height:1.4;white-space:pre-wrap}.week-event:after{content:'•••';position:absolute;right:7px;top:7px;color:var(--faint);font-size:8px}.week-empty{font-family:var(--serif);font-style:italic;color:var(--faint);font-size:10px;padding:7px 0}.day-popover{position:fixed;z-index:20;display:none;width:230px;max-height:180px;overflow:auto;background:var(--ink);color:var(--paper);border-radius:14px;padding:11px 12px;box-shadow:0 14px 35px rgba(0,0,0,.28);pointer-events:none}.day-popover.visible{display:block}.day-popover b{display:block;margin-bottom:7px;text-transform:uppercase;letter-spacing:.14em;font-size:7px}.popover-event{border-top:1px solid #3e3d38;padding-top:6px;margin-top:6px}.popover-event strong{display:block;font-family:var(--serif);font-size:11px;font-weight:400;line-height:1.25}.popover-event small{display:block;margin-top:3px;color:#bbb8af;font-size:7px;line-height:1.35}dialog{width:min(calc(100% - 34px),400px);max-height:calc(100vh - 30px);overflow:auto;border:0;border-radius:24px;background:var(--card);padding:0;box-shadow:0 24px 70px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(17,17,15,.42);backdrop-filter:blur(3px)}dialog form{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.close-button{border:1px solid var(--line);border-radius:50%;background:transparent;width:29px;height:29px;font-size:17px;cursor:pointer}.field{display:flex;flex-direction:column;gap:6px;flex:1;margin-bottom:14px}.field span{font-size:8px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--soft)}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:11px;background:white;padding:9px 10px;outline:none;min-width:0;resize:vertical;font-size:10px}.form-row{display:flex;gap:10px}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px;margin-top:17px}.primary-button{border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper);padding:9px 15px;cursor:pointer;font-size:10px}.text-button,.danger-button{border:0;background:transparent;font-size:9px;cursor:pointer}.danger-button{margin-right:auto;text-decoration:underline}
