*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1a1a1a;background:#f5f5f7}button{font:inherit;cursor:pointer}.login-page{max-width:480px;margin:15vh auto;text-align:center}.google-login-button{display:inline-block;margin-top:1.5rem;padding:.75rem 1.5rem;background:#1a1a1a;color:#fff;text-decoration:none;border-radius:6px}.video-list-page{max-width:1100px;margin:0 auto;padding:2rem}.video-list-page__header{display:flex;justify-content:space-between;align-items:center}.video-list-page__user{display:flex;align-items:center;gap:.75rem}.video-list-page__add-actions{display:flex;gap:.5rem;margin:1.5rem 0;align-items:flex-start}.video-list-page__add-actions>button{padding:.6rem 1rem;border:1px solid #1a1a1a;border-radius:6px;background:#1a1a1a;color:#fff}.add-video-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.add-video-form input{flex:1;min-width:220px;padding:.6rem .8rem;border:1px solid #ccc;border-radius:6px}.form-error{color:#c0392b;width:100%;margin:0}.duplicate-confirm{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff6e5;border:1px solid #f0d99a;border-radius:6px;width:100%}.duplicate-confirm p{margin:0;flex:1}.toast{padding:.6rem .9rem;background:#eef7ee;border:1px solid #b7dcb7;border-radius:6px;color:#2b6b2b}.collections{display:flex;flex-direction:column;gap:2rem}.collection-section__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.collection-section__header h2{font-size:1.05rem;margin:0}.collection-section__header input{font-size:1.05rem;padding:.2rem .4rem;border:1px solid #ccc;border-radius:4px}.collection-section__actions{display:flex;gap:.4rem}.collection-section__actions button{border:none;background:transparent;color:#666;font-size:.85rem}.collection-section__empty{padding:1.5rem;border:1px dashed #ccc;border-radius:8px;color:#888;text-align:center}.add-collection-button{align-self:flex-start;padding:.5rem .9rem;border:1px dashed #999;border-radius:6px;background:transparent;color:#444}.add-collection-form{display:flex;gap:.5rem}.add-collection-form input{padding:.5rem .7rem;border:1px solid #ccc;border-radius:6px}.video-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;padding:0}.video-card{position:relative;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#fff}.video-card__link{position:relative;display:block;text-decoration:none;color:inherit}.video-card__link img{width:100%;display:block;aspect-ratio:16 / 9;object-fit:cover}.video-card__placeholder{width:100%;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;background:#f0f0f2;color:#999;font-weight:600}.video-card__placeholder--local{background:#2a2a2e;color:#d8d8dc}.video-card__badge{position:absolute;bottom:.5rem;left:.5rem;background:#000000a6;color:#fff;font-size:.7rem;padding:.2rem .45rem;border-radius:4px}.video-card__title{display:block;width:100%;padding:.6rem .75rem;font-weight:600;text-align:left;border:none;background:transparent}.video-card__title-input{display:block;width:calc(100% - 1.5rem);margin:.4rem .75rem;padding:.3rem .4rem;border:1px solid #ccc;border-radius:4px;font-weight:600}.video-card__delete{position:absolute;top:.5rem;right:.5rem;border:none;background:#0009;color:#fff;border-radius:4px;padding:.25rem .5rem}.video-page{display:grid;grid-template-columns:68% 32%;height:100vh;overflow:hidden}.video-page__main{display:flex;flex-direction:column;padding:1rem;gap:.75rem;min-width:0}.video-page__header{display:flex;align-items:baseline;gap:1rem}.video-page__header h1{font-size:1.1rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-page__badge{font-size:.75rem;color:#666;background:#eee;padding:.2rem .5rem;border-radius:4px;white-space:nowrap}.video-area{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:8px;overflow:hidden}.video-area--gated{display:flex;align-items:center;justify-content:center}.reconnect-gate{max-width:420px;text-align:center;color:#eee;padding:1.5rem}.reconnect-gate button{margin-top:.75rem;margin-right:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;background:#fff;color:#1a1a1a}.youtube-player,.local-file-player,.drawing-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.local-file-player{object-fit:contain;background:#000}.drawing-canvas{touch-action:none}.tool-controls{display:flex;align-items:center;gap:1.25rem;padding:.75rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex-wrap:wrap}.tool-controls__group{display:flex;gap:.4rem}.tool-controls__field{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.tool-button{padding:.4rem .75rem;border:1px solid #ccc;border-radius:6px;background:#fff}.tool-button--active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.marker-panel{border-left:1px solid #e0e0e0;background:#fff;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.marker-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.marker-panel__header h2{font-size:1rem;margin:0}.marker-panel__empty{color:#777;font-size:.9rem}.marker-panel__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.marker-row{display:flex;align-items:center;gap:.4rem}.marker-row--editing input{flex:1;padding:.4rem;border:1px solid #ccc;border-radius:4px}.marker-row__seek{flex:1;display:flex;gap:.5rem;align-items:baseline;text-align:left;background:#f5f5f7;border:none;border-radius:6px;padding:.5rem .6rem}.marker-row__seek:hover{background:#ebebef}.marker-row__time{font-variant-numeric:tabular-nums;color:#666;font-size:.85rem}.marker-row__edit,.marker-row__delete{border:none;background:transparent;color:#666;font-size:.8rem;padding:.25rem}.add-marker-button{padding:.4rem .75rem;border:none;border-radius:6px;background:#1a1a1a;color:#fff}.add-marker-button:disabled{background:#aaa;cursor:not-allowed}.add-marker-form{display:flex;gap:.35rem;align-items:center}.add-marker-form input{padding:.35rem .5rem;border:1px solid #ccc;border-radius:4px;width:120px}.add-marker-form__time{font-variant-numeric:tabular-nums;color:#666;font-size:.85rem}.page-loading{padding:2rem;text-align:center;color:#777}
