html{--agora-ink:#111;--agora-ink-hover:#2c2c2c;--agora-text:#242622;--agora-muted:#697064;--agora-border:#d8ded3;--agora-border-strong:#b9c7b2;--agora-sage:#c7e4bc;--agora-sage-light:#edf7e9;--agora-sage-soft:#f6fbf3;--agora-surface:#fff;--agora-surface-soft:#f7f8f5;--agora-danger:#9f2f2f;--agora-danger-hover:#7f2525;--agora-danger-soft:#fff3f1;--agora-shadow:0 6px 18px #11111114;--agora-shadow-soft:0 2px 10px #1111110f;--agora-focus:0 0 0 3px #11111124}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f8f5;background:var(--agora-surface-soft);color:#242622;color:var(--agora-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,select,textarea{font:inherit}button{border-radius:4px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #11111124;box-shadow:var(--agora-focus);outline:none}input,select,textarea{background:#fff;background:var(--agora-surface);border:1px solid #d8ded3;border:1px solid var(--agora-border);color:#242622;color:var(--agora-text)}input::placeholder,textarea::placeholder{color:#8a9085}.login-page{align-items:center;background:var(--agora-sage-light);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:32px 24px}.login-container{background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:8px;box-shadow:var(--agora-shadow);max-width:430px;padding:42px 38px;width:100%}.login-logo{display:block;height:46px;margin:0 auto 24px;object-fit:contain;width:180px}.login-container h1{color:var(--agora-ink);font-size:26px;font-weight:600;margin:0 0 28px;text-align:center}.login-form{gap:14px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-field label{color:var(--agora-text);font-size:13px;font-weight:700}.login-container input,.login-container select{border-radius:4px;font-size:16px;padding:12px 14px}.login-container button{background:var(--agora-ink);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;min-height:44px;padding:10px 14px}.login-container button:hover{background:var(--agora-ink-hover)}.login-container .secondary-login-button{background:var(--agora-surface);border:1px solid var(--agora-border);color:var(--agora-ink)}.login-container .secondary-login-button:hover{background:var(--agora-sage-soft)}.login-note{color:var(--agora-muted);font-size:13px;line-height:1.45;margin:18px 0 0;text-align:center}.gallery-page{background:var(--agora-surface-soft);box-sizing:border-box;min-height:100vh}.gallery-header{grid-gap:16px;align-items:center;background:var(--agora-sage);border-bottom:1px solid var(--agora-border-strong);box-sizing:border-box;display:grid;gap:16px;grid-template-columns:minmax(260px,1fr) auto;margin:0 0 32px;min-height:64px;padding:0 32px}.gallery-brand{align-items:center;display:flex;gap:12px;min-width:0}.gallery-logo{flex:0 0 auto;height:46px;object-fit:contain;width:68px}.gallery-brand-text{min-width:0}.gallery-brand span{color:var(--agora-ink);display:block;font-size:16px;font-weight:600;line-height:1.1;margin-bottom:2px;white-space:nowrap}.gallery-header h1{color:var(--agora-ink);font-size:14px;font-weight:500;line-height:1.2;margin:0;opacity:.72}.user-controls{align-items:center;display:flex;gap:14px}.user-controls span{color:var(--agora-text);font-size:14px}.user-controls button{background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:4px;color:var(--agora-ink);cursor:pointer;min-height:38px;padding:8px 16px}.user-controls button:hover{background:#ffffff8c;border-color:var(--agora-ink)}.timeline-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));margin:0 auto;max-width:1120px;padding:0 32px 32px}.timeline-card{background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;min-height:160px;padding:24px;transition:border-color .2s,box-shadow .2s,transform .2s}.timeline-card:hover{border-color:var(--agora-border-strong);box-shadow:var(--agora-shadow);transform:translateY(-1px)}.timeline-card h3{color:var(--agora-ink);font-size:19px;line-height:1.2;margin:0 0 .5rem}.timeline-card p{color:var(--agora-muted);margin:0 0 20px}.card-actions{display:flex;gap:12px;margin-top:auto}.card-actions a{background:var(--agora-ink);border-radius:4px;color:#fff;flex:1 1;padding:9px 16px;text-align:center;text-decoration:none}.card-actions a:hover{background:var(--agora-ink-hover)}.delete-btn{background:var(--agora-danger);border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;padding:9px 16px}.delete-btn:hover{background:var(--agora-danger-hover)}.rename-btn{background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:4px;color:var(--agora-ink);cursor:pointer;flex:1 1;padding:9px 16px}.rename-btn:hover{background:var(--agora-sage-light)}.cancel-btn{background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:4px;color:var(--agora-ink);cursor:pointer;flex:1 1;padding:9px 16px}.cancel-btn:hover{background:var(--agora-sage-light)}.delete-confirmation p{margin:0 0 1rem}.rename-timeline-form{display:flex;flex-direction:column;gap:10px;margin-top:auto}.rename-timeline-form label{color:var(--agora-muted);font-size:13px;font-weight:600}.rename-timeline-form input{border:1px solid var(--agora-border);border-radius:4px;box-sizing:border-box;color:var(--agora-text);padding:10px 12px;width:100%}.new-card{align-items:center;background:#f6fbf3bf;border:2px dashed var(--agora-border-strong);display:flex;justify-content:center}.new-card:hover{background:var(--agora-surface);border-color:var(--agora-ink)}.new-card-content{color:var(--agora-muted);text-align:center;width:100%}.plus{color:var(--agora-ink);display:block;font-size:28px;line-height:1;margin-bottom:10px}.new-card-content label{color:var(--agora-muted);display:block;margin-bottom:12px}.new-card-content input{border-radius:4px;box-sizing:border-box;margin-bottom:12px;padding:10px 12px;width:100%}.new-card-content button{background:var(--agora-ink);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:9px 16px;width:100%}.new-card-content button:disabled{background:#aeb5aa;cursor:not-allowed}.open-btn{background:var(--agora-ink);border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;padding:9px 16px}.open-btn:hover{background:var(--agora-ink-hover)}.open-btn:disabled{background:#aeb5aa;cursor:not-allowed}@media (max-width:720px){.gallery-header{gap:12px;grid-template-columns:1fr;padding:14px 18px}.user-controls{justify-content:space-between;width:100%}.timeline-grid{grid-template-columns:1fr;padding:0 18px 18px}}.timeline-wrapper{background:linear-gradient(180deg,var(--agora-surface) 0,var(--agora-surface) 72%,var(--agora-surface-soft) 100%);display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative;width:100%}.timeline-events{align-items:center;display:flex;flex:1 1;overflow-y:hidden;position:relative}.timeline-empty-state{align-items:center;display:flex;flex-direction:column;left:50%;pointer-events:none;position:absolute;text-align:center;top:calc(50% - 130px);transform:translate(-50%,-50%);width:min(440px,calc(100% - 48px));z-index:4}.timeline-empty-kicker{color:var(--agora-muted);font-size:11px;font-weight:700;letter-spacing:0;margin-bottom:8px;text-transform:uppercase}.timeline-empty-state h2{color:var(--agora-ink);font-size:22px;line-height:1.2;margin:0}.timeline-empty-state p{color:var(--agora-muted);font-size:14px;line-height:1.45;margin:10px 0 0}.timeline-quick-add-button{align-items:center;background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:999px;box-shadow:var(--agora-shadow-soft);color:var(--agora-ink);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:7px;justify-content:center;left:28px;line-height:1;min-height:40px;padding:0 14px;position:absolute;top:28px;z-index:5}.timeline-quick-add-button span[aria-hidden=true]{font-size:20px;line-height:1}.timeline-quick-add-button:focus-visible,.timeline-quick-add-button:hover{background:var(--agora-sage-light);border-color:var(--agora-border-strong)}.timeline-quick-add-button:focus-visible{box-shadow:var(--agora-focus),var(--agora-shadow-soft);outline:none}.timeline-main{background:#0000;cursor:grab;height:60px;overflow:visible;top:50%;transform:translateY(-50%);-webkit-user-select:none;user-select:none;z-index:0}.timeline-line,.timeline-main{left:0;position:absolute;right:0}.timeline-line{background:var(--agora-border-strong);height:2px;top:30px}.timeline-markers{height:60px;left:0;position:absolute;right:0;top:0}.timeline-marker{align-items:center;display:flex;flex-direction:column;height:60px;position:absolute;transform:translateX(-50%)}.marker-line{background:var(--agora-muted);height:12px;margin-top:20px;width:1px}.timeline-marker.minor .marker-line{background:var(--agora-border-strong);height:5px;margin-top:27px;width:1px}.timeline-marker.major .marker-line{background:var(--agora-muted);height:10px;margin-top:22px;width:2px}.timeline-marker.major.boundary .marker-line{background:var(--agora-muted);border-radius:50%;height:8px;margin-top:26px;width:8px}.marker-label{color:var(--agora-muted);font-size:11px;margin-top:6px;transform:none;white-space:nowrap}.timeline-marker.boundary .marker-label{color:var(--agora-text);font-weight:600}.marker-label.edge-start{transform:translateX(50%)}.marker-label.edge-end,.timeline-context-label{transform:translateX(-50%)}.timeline-context-label{color:var(--agora-muted);font-size:11px;font-weight:600;position:absolute;top:2px;white-space:nowrap}.timeline-context-label.edge-start{transform:translateX(0)}.timeline-context-label.edge-end{transform:translateX(-100%)}.timeline-span-marker{height:22px;pointer-events:none;position:absolute;top:2px}.timeline-span-bracket{border-left:1px solid #6970645c;border-radius:6px 6px 0 0;border-right:1px solid #6970645c;height:8px;left:0;position:absolute;right:0;top:14px}.timeline-span-bracket:before{background:linear-gradient(90deg,#69706414,#697064ad 30%,#697064ad 70%,#69706414);content:"";height:1px;left:0;position:absolute;right:0;top:0}.timeline-span-label{color:var(--agora-muted);font-size:11px;font-weight:600;line-height:1.1;max-width:calc(100% - 18px);overflow:hidden;position:absolute;text-overflow:ellipsis;top:0;transform:translateX(-50%);white-space:nowrap}.timeline-event{height:100%;position:absolute;transition:transform .3s ease}.event-content{border:1px solid var(--agora-border-strong);border-radius:6px;cursor:pointer;max-width:200px;min-width:100px;outline:none;padding:10px 12px;pointer-events:auto;position:absolute;text-align:center;transform:translateX(-50%);transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease;z-index:3}.event-content,.timeline-event.overlapping .event-content{background:var(--agora-sage-soft);box-shadow:var(--agora-shadow)}.timeline-event.overlapping .event-content{border-color:var(--agora-border-strong)}.timeline-event.point .event-content:hover{border-color:var(--agora-ink);box-shadow:0 12px 28px #11151029}.timeline-event.point .event-content:focus-visible{border-color:var(--agora-ink);box-shadow:var(--agora-focus),0 12px 28px #11151029}.timeline-overflow-button{background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:999px;box-shadow:var(--agora-shadow);color:var(--agora-ink);cursor:pointer;font:inherit;font-size:13px;font-weight:700;line-height:1.1;max-width:140px;min-width:92px;padding:8px 12px;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease;white-space:nowrap;z-index:4}.timeline-overflow-button:hover{border-color:var(--agora-ink);box-shadow:0 12px 28px #11151029}.timeline-overflow-button:focus-visible{border-color:var(--agora-ink);box-shadow:var(--agora-focus),0 12px 28px #11151029;outline:none}.timeline-overflow-lines{inset:0;overflow:visible;pointer-events:none;position:absolute;z-index:1}.timeline-overflow-line{fill:none;stroke:var(--agora-border-strong);stroke-width:2;opacity:.72}.timeline-overflow-line.active{stroke:var(--agora-ink);stroke-width:3;opacity:1}.event-content:focus-visible{box-shadow:var(--agora-focus),var(--agora-shadow)}.event-content h3{color:var(--agora-ink);font-size:14px;font-weight:600;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-image-thumb{align-items:center;background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:4px;display:flex;justify-content:center;margin:0 0 7px;max-height:96px;overflow:hidden}.event-image-thumb img{display:block;height:auto;max-height:96px;max-width:100%;object-fit:contain;width:auto}.timeline-event.point.compact-image .event-content{grid-column-gap:6px;align-items:center;column-gap:6px;display:grid;grid-template-columns:1fr 24px;padding-bottom:6px;padding-top:6px}.timeline-event.point.compact-image .event-content h3{min-width:0;text-align:center}.event-image-inline-thumb{background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:4px;box-sizing:border-box;grid-column:2;grid-row:1;height:24px;margin:0;overflow:hidden;width:24px}.event-image-inline-thumb img{display:block;height:100%;object-fit:cover;width:100%}.timeline-event.point.compact-event .event-description,.timeline-event.point.compact-event .event-tags{display:none}.timeline-event.point.compact-image .event-description,.timeline-event.point.compact-image .event-tags{grid-column:1/-1}.event-connector{background:var(--agora-border-strong);pointer-events:none;position:absolute;width:1px;z-index:1}.timeline-event.bottom .event-connector,.timeline-event.top .event-connector{height:auto}.event-content p.event-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--agora-muted);display:-webkit-box;font-size:12px;margin:6px 0 0;overflow:hidden;text-overflow:ellipsis}.event-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.event-tag{background:var(--agora-sage-light);border-radius:12px;color:var(--agora-text);font-size:11px;padding:3px 7px}.timeline-event.bottom .event-content{flex-direction:column-reverse}.timeline-event.bottom .event-connector{transform-origin:top}.timeline-main:before{display:none}.timeline-event.range .event-content{background:#0000;border:0;border-radius:0;box-shadow:none;height:var(--range-span-height);max-width:none;min-height:0;min-width:0;overflow:visible;padding:0}.timeline-event.range .event-content:focus-visible{box-shadow:none}.timeline-event.range.out-of-view .event-content{display:none}.timeline-event.range .range-bracket{height:calc(var(--range-label-top) + 4px);left:0;overflow:visible;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.timeline-event.range .range-bracket-path{fill:none;stroke:var(--agora-border);stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round}.timeline-event.range.clipped-end .range-bracket-path,.timeline-event.range.clipped-start .range-bracket-path{stroke:#9db493b8}.timeline-event.range.clipped-start.clipped-end .range-bracket-path{stroke:#9db49385}.timeline-event.range h3{background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:6px;box-shadow:none;box-sizing:border-box;color:var(--agora-ink);font-size:14px;font-weight:600;left:var(--range-label-left);line-height:1.15;margin:0;max-width:var(--range-label-width);overflow:hidden;padding:6px 10px;position:absolute;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:var(--range-label-width);z-index:2}.timeline-event.range.has-image h3{padding-right:36px}.range-image-thumb{background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:3px;box-shadow:0 1px 2px #11151014;height:18px;left:calc(var(--range-label-left) + var(--range-label-width) - 29px);margin:0;overflow:hidden;position:absolute;top:calc(var(--range-label-top) + 4px);width:18px;z-index:3}.range-image-thumb img{display:block;height:100%;object-fit:cover;width:100%}.timeline-event.range.top .range-image-thumb{bottom:22px;top:auto;transform:translateY(-50%)}.timeline-event.range.bottom h3{top:var(--range-label-top)}.timeline-event.range.top h3{bottom:18px}.timeline-event.range .event-content:focus-visible h3,.timeline-event.range .event-content:hover h3{background:var(--agora-sage-light);border-color:var(--agora-border-strong);box-shadow:var(--agora-focus)}.timeline-event.range .event-content:focus-visible .range-bracket-path,.timeline-event.range .event-content:hover .range-bracket-path{stroke:var(--agora-border-strong)}.timeline-event.range .event-description{display:none}body{overflow:hidden}.debug-toggle{background:var(--agora-surface);border:1px solid var(--agora-border-strong);color:var(--agora-ink);cursor:pointer;font-size:13px;padding:6px 10px;position:fixed;right:16px;top:66px;z-index:1000}.debug-toggle:hover{background:var(--agora-sage-light)}.debug-panel{background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:6px;box-shadow:var(--agora-shadow);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:12px;max-height:80vh;overflow-y:auto;padding:12px;position:fixed;right:16px;top:108px;z-index:1000}.debug-panel h3,.debug-panel pre{margin:0}.debug-panel h3{margin-bottom:10px}.context-menu{background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:6px;box-shadow:var(--agora-shadow);min-width:132px;padding:4px}.event-context-menu{min-width:154px}.context-menu button{background:none;border:none;border-radius:4px;color:var(--agora-ink);cursor:pointer;display:block;font-size:14px;padding:9px 10px;text-align:left;width:100%}.context-menu-item-date{color:var(--agora-muted);display:block;font-size:11px;line-height:1.2;margin-top:2px}.context-menu button:hover{background:var(--agora-sage-light)}.context-menu button.context-menu-delete{color:var(--agora-danger)}.context-menu button.context-menu-delete:hover{background:var(--agora-danger-soft)}.context-menu-confirmation{padding:8px}.context-menu-confirmation p{color:var(--agora-ink);font-size:13px;line-height:1.35;margin:0 0 8px}.context-menu-actions{display:flex;gap:6px}.context-menu-actions button{text-align:center}.event-form{background:var(--agora-surface);box-sizing:border-box;display:flex;flex-direction:column;gap:14px;min-height:100%;padding:22px 20px 0}.event-form h2{color:var(--agora-ink);font-size:21px;font-weight:600;line-height:1.2;margin:0 36px 2px 0}.event-form-fields{gap:12px;min-height:100%}.event-form-fields,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.tutorial-form-core{display:flex;flex-direction:column;gap:12px}.form-group label{color:var(--agora-text);font-size:13px;font-weight:600}.historical-date-group{border:none;margin:0;padding:0}.historical-date-group legend{color:var(--agora-text);font-size:13px;font-weight:600;margin:0 0 6px;padding:0}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.date-section-heading{display:flex;flex-direction:column;gap:2px}.date-section-heading span{color:var(--agora-ink);font-size:13px;font-weight:700}.date-summary{color:var(--agora-muted);font-size:12px;line-height:1.35;margin:0}.historical-date-fields{grid-gap:6px;align-items:end;display:grid;gap:6px;grid-template-columns:68px minmax(86px,1fr) 58px 54px}.date-part{display:flex;flex-direction:column;gap:3px}.date-part label{color:var(--agora-muted);font-size:11px}.form-error{color:var(--agora-danger);font-size:12px;line-height:1.35;margin:7px 0 0}.date-range-panel{background:var(--agora-surface-soft);border:1px solid var(--agora-border);border-radius:4px;display:flex;flex-direction:column;gap:10px;padding:10px}.date-range-heading{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.date-range-heading span{color:var(--agora-ink);font-size:13px;font-weight:700}.range-date-divider{background:var(--agora-border);height:1px}.event-form .range-add-button,.event-form .range-helper-button,.event-form .range-remove-button,.event-form .range-swap-button{font-size:12px;min-height:32px;padding:0 10px;width:auto}.event-form .range-add-button,.event-form .range-remove-button,.event-form .range-swap-button{align-self:flex-start}.position-group{border:none;margin:0;padding:0}.position-group legend{color:var(--agora-text);font-size:13px;font-weight:600;margin:0 0 8px;padding:0}.position-options{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.position-option{align-items:center;background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:4px;color:var(--agora-text);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:7px;min-height:38px;padding:7px 9px}.event-form .position-option input[type=radio]{-webkit-appearance:none;appearance:none;background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:50%;display:inline-grid;flex:0 0 14px;height:14px;margin:0;padding:0;place-content:center;width:14px}.event-form .position-option input[type=radio]:before{background:var(--agora-ink);border-radius:50%;content:"";height:8px;transform:scale(0);transition:transform .12s ease;width:8px}.event-form .position-option input[type=radio]:checked:before{transform:scale(1)}.position-option.selected{background:var(--agora-sage-light);border-color:var(--agora-border-strong)}.position-icon{align-items:center;color:var(--agora-muted);display:inline-flex;flex-direction:column;gap:2px;height:18px;justify-content:center;width:18px}.position-card{background:var(--agora-surface);border:1px solid;border-radius:2px;display:block;height:5px;width:13px}.position-line{background:currentColor;display:block;height:1px;width:16px}.event-form input,.event-form select,.event-form textarea{border-radius:4px;box-sizing:border-box;font-size:14px;width:100%}.event-form input,.event-form select{height:34px;padding:6px 9px}.event-form textarea{line-height:1.4;min-height:62px;padding:10px;resize:vertical}.event-form input:focus,.event-form select:focus,.event-form textarea:focus{border-color:var(--agora-border-strong);box-shadow:var(--agora-focus);outline:none}.form-actions{display:flex;gap:10px}.primary-form-actions{background:var(--agora-surface);border-top:1px solid var(--agora-border);bottom:0;margin:2px -20px 0;padding:12px 20px 18px;position:-webkit-sticky;position:sticky;z-index:2}.optional-event-details{background:var(--agora-surface-soft);border:1px solid var(--agora-border);border-radius:4px}.optional-event-details summary{color:var(--agora-text);cursor:pointer;font-size:13px;font-weight:700;padding:9px 10px}.optional-event-details-content{display:flex;flex-direction:column;gap:12px;padding:0 10px 10px}.event-form button{background:var(--agora-ink);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;min-height:38px;padding:0 12px;white-space:nowrap}.event-form button:hover{background:var(--agora-ink-hover)}.event-form button:disabled{border:1px solid var(--agora-border);color:var(--agora-muted);cursor:not-allowed}.event-form button:disabled,.event-form button:disabled:hover{background:var(--agora-surface-soft)}.tutorial-disabled-helper{color:var(--agora-muted);font-size:12px;line-height:1.35;margin:-2px 0 0}.form-actions button{flex:1 1}.delete-button{background:var(--agora-danger)!important}.delete-button:hover{background:var(--agora-danger-hover)!important}.secondary-button{background:var(--agora-surface)!important;border:1px solid var(--agora-border)!important;color:var(--agora-ink)!important}.secondary-button:hover{background:var(--agora-sage-light)!important}.delete-confirmation{background:var(--agora-danger-soft);border:1px solid #e8b9b2;border-radius:4px;margin-top:4px;padding:14px}.delete-confirmation p{color:var(--agora-danger);font-weight:600;margin:0 0 12px}@media (max-width:420px){.historical-date-fields{grid-template-columns:1fr 1fr}.date-range-heading{align-items:flex-start;flex-direction:column}}.tag-selector{display:flex;flex-direction:column;gap:8px}.tag-selector label{color:var(--agora-text);font-size:13px;font-weight:600}.new-tag-input{display:flex;gap:8px}.new-tag-input input{flex:1 1}.new-tag-input button{width:auto}.selected-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{align-items:center;background:var(--agora-sage-light);border:1px solid var(--agora-border);border-radius:4px;color:var(--agora-text);display:inline-flex;font-size:12px;font-weight:600;gap:5px;min-height:28px;padding:4px 8px}.tag button{background:#0000;border:none;color:var(--agora-muted);cursor:pointer;font-size:16px;line-height:1;min-height:0;padding:0 2px}.tag button:hover{background:#0000;color:var(--agora-ink)}.event-detail-modal-backdrop{align-items:center;background:#11151047;display:flex;inset:64px 0 0;justify-content:center;padding:32px;position:fixed;z-index:900}.event-detail{background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:8px;box-shadow:var(--agora-shadow);color:var(--agora-text);display:flex;flex-direction:column;gap:18px;max-height:calc(100vh - 128px);overflow:auto;padding:32px;position:relative;width:min(760px,calc(100vw - 64px))}.event-detail-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding-right:28px}.event-detail-kicker{color:var(--agora-muted);font-size:12px;font-weight:700;letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase}.event-detail h2{color:var(--agora-ink);font-size:24px;line-height:1.15;margin:0}.event-detail h3{color:var(--agora-ink);font-size:14px;font-weight:700;margin:0 0 8px}.event-detail-close{background:none;border:0;color:var(--agora-muted);cursor:pointer;font-size:22px;height:32px;line-height:1;position:absolute;right:12px;top:12px;width:32px}.event-detail-close:hover{color:var(--agora-ink)}.event-detail-meta{grid-gap:10px;background:var(--agora-surface-soft);border:1px solid var(--agora-border);border-radius:6px;display:grid;gap:10px;margin:0;padding:14px}.event-detail-meta div{grid-gap:3px;display:grid;gap:3px}.event-detail-meta dt{color:var(--agora-muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.event-detail-meta dd{color:var(--agora-ink);font-size:15px;font-weight:700;margin:0}.event-detail-image{align-items:center;background:var(--agora-surface-soft);border:1px solid var(--agora-border);border-radius:6px;display:flex;justify-content:center;margin:0;overflow:hidden}.event-detail-image img{display:block;height:auto;max-height:min(62vh,640px);max-width:100%;object-fit:contain;width:auto}.event-detail-empty,.event-detail-section p{color:var(--agora-text);font-size:15px;line-height:1.5;margin:0}.event-detail-empty{color:var(--agora-muted)}.event-detail-tags{display:flex;flex-wrap:wrap;gap:8px}.event-detail-tags span{background:var(--agora-sage-soft);border:1px solid var(--agora-border);border-radius:999px;color:var(--agora-ink);font-size:12px;font-weight:700;padding:5px 9px}.event-detail-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px;padding-top:12px}.event-detail-actions button{background:var(--agora-ink);border:0;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;min-height:38px;padding:0 14px;white-space:nowrap;width:auto}.event-detail-actions button:hover{background:var(--agora-ink-hover)}@media (max-width:640px){.event-detail-modal-backdrop{align-items:stretch;padding:16px}.event-detail{max-height:calc(100vh - 96px);padding:26px 20px 20px;width:100%}.event-detail-actions{flex-direction:column}.event-detail-actions button{width:100%}}.timeline-page{display:flex;flex-direction:column;height:100vh;overflow:hidden}.timeline-not-found{align-items:center;background:var(--agora-sage-soft);display:flex;flex:1 1;justify-content:center;padding:32px}.timeline-not-found-panel{background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:6px;box-shadow:var(--agora-shadow-soft);padding:32px;text-align:center;width:min(520px,100%)}.timeline-not-found-kicker{color:var(--agora-muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.timeline-not-found-panel h2{color:var(--agora-ink);font-size:1.5rem;line-height:1.2;margin:0}.timeline-not-found-panel p{color:var(--agora-muted);line-height:1.5;margin:14px 0 0}.timeline-not-found-panel button{background:var(--agora-ink);border:1px solid var(--agora-ink);border-radius:4px;color:var(--agora-surface);cursor:pointer;font-weight:600;margin-top:24px;min-height:40px;padding:9px 16px}.timeline-not-found-panel button:hover{background:var(--agora-text)}.tutorial-layer{inset:0;pointer-events:none;position:fixed;z-index:2200}.tutorial-blocker,.tutorial-full-blocker{background:#11151075;pointer-events:auto;position:fixed}.tutorial-full-blocker{inset:0}.tutorial-cutout-backdrop{inset:0;pointer-events:none;position:fixed}.tutorial-cutout-backdrop path{fill:#11151075}.tutorial-spotlight{background:#f5f8f238;border:2px solid var(--agora-sage-light);border-radius:8px;box-shadow:inset 0 0 0 9999px #f5f8f224,0 0 0 2px var(--agora-ink),0 12px 28px #11151033;pointer-events:none;position:fixed}.tutorial-target-blocker{background:#f5f8f26b;border-radius:8px;cursor:not-allowed;pointer-events:auto;position:fixed}.tutorial-mode-review .tutorial-spotlight{background:#f5f8f21f;border-color:var(--agora-sage-soft);box-shadow:inset 0 0 0 9999px #f5f8f214,0 0 0 2px #11151070,0 12px 28px #11151029}.tutorial-mode-review .tutorial-blocker{background:#1115106b}.tutorial-mode-form-task .tutorial-spotlight{background:#f5f8f23d;border-color:var(--agora-sage-light);box-shadow:inset 0 0 0 9999px #f5f8f229,0 0 0 2px var(--agora-border-strong),0 12px 28px #1115102e}.tutorial-secondary-spotlight{background:#f5f8f247;border-color:var(--agora-sage-light);box-shadow:inset 0 0 0 9999px #f5f8f22e,0 0 0 2px var(--agora-ink),0 10px 22px #1115102e}.tutorial-mode-completion .tutorial-blocker{background:#1115107a}.tutorial-panel{background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:8px;box-shadow:var(--agora-shadow);box-sizing:border-box;color:var(--agora-text);padding:18px;pointer-events:auto;position:fixed;width:min(320px,calc(100vw - 28px));z-index:2201}.tutorial-centered-panel{left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 28px))}.tutorial-panel h2{color:var(--agora-ink);font-size:18px;line-height:1.2;margin:0 0 10px}.tutorial-panel p{font-size:14px;line-height:1.45;margin:0 0 10px}.tutorial-instruction{color:var(--agora-ink);font-weight:700}.tutorial-actions{display:flex;gap:10px;margin-top:14px}.tutorial-actions,.tutorial-actions-right{justify-content:flex-end}.tutorial-actions button{background:var(--agora-ink);border:0;border-radius:4px;color:var(--agora-surface);cursor:pointer;font:inherit;font-size:13px;font-weight:700;min-height:36px;padding:0 12px}.tutorial-actions .secondary-button{background:var(--agora-surface);border:1px solid var(--agora-border);color:var(--agora-ink)}@media (max-width:640px){.tutorial-panel{width:min(220px,calc(100vw - 28px))}.tutorial-centered-panel{width:calc(100vw - 28px)}.tutorial-actions{flex-direction:column-reverse}}.advanced-tutorial-backdrop{align-items:center;background:#11151057;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:2300}.advanced-tutorial-modal{background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:8px;box-shadow:var(--agora-shadow);box-sizing:border-box;color:var(--agora-text);padding:24px;width:min(520px,100%)}.advanced-tutorial-header{display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.advanced-tutorial-header p{color:var(--agora-muted);font-size:11px;font-weight:800;letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase}.advanced-tutorial-header h2{color:var(--agora-ink);font-size:21px;line-height:1.2;margin:0}.advanced-tutorial-header button{background:#0000;border:0;color:var(--agora-muted);cursor:pointer;flex:0 0 auto;font-size:22px;height:32px;line-height:1;width:32px}.advanced-tutorial-modal>p{font-size:15px;line-height:1.5;margin:0}.advanced-tutorial-actions{display:flex;justify-content:flex-end;margin-top:20px}.advanced-tutorial-actions button{background:var(--agora-ink);border:0;border-radius:4px;color:var(--agora-surface);cursor:pointer;font:inherit;font-size:14px;font-weight:700;min-height:38px;padding:0 14px}.App{display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:0;text-align:left}#root,body,html{height:100%;margin:0;padding:0}.main-container{flex:1 1;margin-top:64px;overflow:hidden}.main-container,.sidebar{background:var(--agora-surface);display:flex}.sidebar{border-right:1px solid var(--agora-border);flex-direction:column;height:calc(100vh - 64px);left:-320px;overflow:auto;position:absolute;transition:left .3s ease;width:320px;z-index:100}.sidebar[aria-hidden=true]{pointer-events:none}.sidebar.open{left:0}.sidebar-close{background:none;border:none;color:var(--agora-muted);cursor:pointer;font-size:22px;height:32px;line-height:1;position:absolute;right:12px;top:12px;width:32px}.sidebar-close:hover{color:var(--agora-ink)}.timeline-container{border:none;display:flex;flex:1 1;flex-direction:column;margin-top:0;overflow:hidden}.header{align-items:center;background:var(--agora-sage);border-bottom:1px solid var(--agora-border-strong);box-shadow:var(--agora-shadow-soft);box-sizing:border-box;display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,auto) minmax(160px,1fr);height:64px;left:0;padding:0 16px;position:fixed;right:0;top:0;z-index:1000}.header-center,.header-left{align-items:center;display:flex;min-width:0}.header-center{justify-content:center;text-align:center}.header-center h1{color:var(--agora-ink);font-size:18px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-title-group{align-items:center;display:inline-flex;gap:10px;min-width:0}.header-rename-button{background:#ffffff5c;border:1px solid var(--agora-border-strong);border-radius:4px;color:var(--agora-ink);cursor:pointer;font-size:12px;padding:5px 9px}.header-rename-button:hover{background:#fff9}.header-rename-form{align-items:center;display:flex;gap:8px;justify-content:center;width:min(520px,100%)}.header-rename-form input{color:var(--agora-text);font-size:15px;min-width:0;width:min(280px,100%)}.header-rename-form button,.header-rename-form input{background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:4px;padding:7px 10px}.header-rename-form button{color:var(--agora-ink);cursor:pointer}.header-rename-form button[type=submit]{background:var(--agora-ink);color:var(--agora-surface)}.header-rename-form button:disabled{cursor:not-allowed;opacity:.55}.home-link{align-items:center;background:none;border:none;color:var(--agora-ink);cursor:pointer;display:inline-flex;gap:12px;min-width:0;padding:6px 10px 6px 6px;text-decoration:none}.home-link:hover{background:#ffffff52}.home-link span{font-size:16px;font-weight:600;white-space:nowrap}.header-logo{flex:0 0 auto;height:46px;object-fit:contain;width:68px}.app-menu,.header-right{align-items:center;display:flex;justify-content:flex-end;min-width:0}.app-menu{position:relative}.app-menu-button{align-items:center;background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:4px;color:var(--agora-ink);cursor:pointer;display:inline-flex;font-size:.9rem;gap:8px;min-height:38px;padding:7px 12px}.app-menu-button:hover,.app-menu-button[aria-expanded=true]{background:#fff9;border-color:var(--agora-ink)}.app-menu-icon{display:inline-flex;flex-direction:column;gap:3px;width:14px}.app-menu-icon span{background:currentColor;border-radius:2px;display:block;height:2px}.app-menu-panel{background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:6px;box-shadow:var(--agora-shadow);color:var(--agora-text);padding:12px;position:absolute;right:0;top:calc(100% + 8px);width:260px;z-index:1100}.app-menu-section{border-top:1px solid var(--agora-border);display:flex;flex-direction:column;gap:8px;padding:10px 0}.app-menu-section:first-child{border-top:none;padding-top:0}.app-menu-section label{color:var(--agora-muted);font-size:12px;font-weight:600}.app-menu-section button{background:var(--agora-surface);border:1px solid var(--agora-border);border-radius:4px;color:var(--agora-ink);cursor:pointer;min-height:36px;padding:8px 10px;text-align:left}.app-menu-section button:hover{background:var(--agora-sage-light)}.app-menu-section button:disabled,.app-menu-section select:disabled{background:var(--agora-surface-soft);border-color:var(--agora-border);color:var(--agora-muted);cursor:not-allowed}.app-menu-section button:disabled:hover{background:var(--agora-surface-soft)}.app-menu-placeholder{color:var(--agora-muted);font-size:12px;line-height:1.35}.app-menu-file-input{display:none}.app-menu-message,.app-menu-status{color:var(--agora-muted);font-size:12px;margin:0}.app-menu-status{position:absolute;right:0;top:calc(100% + 6px);white-space:nowrap}.position-filter{background:var(--agora-surface);border:1px solid var(--agora-border-strong);border-radius:4px;color:var(--agora-text);cursor:pointer;font-size:.9rem;padding:7px 10px;width:130px}.position-filter:hover{border-color:var(--agora-ink)}@media (max-width:720px){.header{gap:8px;grid-template-columns:1fr auto;height:72px}.main-container{margin-top:72px}.sidebar{height:calc(100vh - 72px)}.header-center{justify-content:flex-start;order:-1}.header-logo{height:38px;width:54px}.header-center h1{font-size:15px;max-width:44vw}.home-link span{display:none}.header-right{display:flex}.app-menu-button span:last-child{display:none}.app-menu-panel{width:min(260px,calc(100vw - 36px))}}
/*# sourceMappingURL=main.68bba72b.css.map*/