
:root{--ink:#193c32;--green:#245b47;--lime:#ddea99;--paper:#f7f7f1;--muted:#7c847c;--line:#e2e6dd;--white:#fff;--red:#b23c38;font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit;min-height:42px;padding:8px 14px;border-radius:8px}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible{outline:3px solid #83ad7f;outline-offset:3px}input,textarea,select{border:1px solid #d7dfd4;background:white;border-radius:8px;padding:12px;color:var(--ink);font-size:16px;max-width:100%}input:focus,textarea:focus,select:focus{outline:2px solid #8cb892;outline-offset:1px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}textarea{resize:vertical;line-height:1.7}h1,h2,p{margin-top:0}h1{font-size:36px;letter-spacing:-1px;line-height:1.35}h2{font-size:19px;letter-spacing:-.5px}p{line-height:1.8}small{font-size:12px;line-height:1.8}.muted{color:var(--muted)}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.smalltext{font-size:12px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#839078}.primary{background:var(--green);color:white;font-weight:600;box-shadow:0 2px 0 #153e2b08}.primary span{margin-left:20px}.secondary{border:1px solid var(--line);background:white}.wide{width:100%}.small{font-size:13px;padding:8px 14px;min-height:38px}.text-button{font-size:12px;padding:6px 8px;min-height:36px}.danger{color:var(--red)}.error{color:var(--red);font-size:13px;line-height:1.6;min-height:8px}.wordmark{display:flex;align-items:center;gap:9px;font-size:23px;font-weight:750;white-space:nowrap}.wordmark img{width:34px;height:34px}.wordmark span{font-size:10px;letter-spacing:2px;margin-left:9px;font-weight:600;color:#7e8d82}.login-layout{min-height:100svh;display:grid;grid-template-columns:1.15fr 1fr}.login-art{background:#e8eddd;padding:42px 56px;display:flex;flex-direction:column;min-height:100svh;overflow:hidden}.intro{max-width:530px;margin:auto 0;padding:50px 0}.intro h1{font-size:clamp(36px,4.2vw,62px);line-height:1.3;margin:24px 0}.intro p{color:#69785f}.login-art>small{color:#7d8b73}.court{position:relative;width:95%;height:160px;border:1px solid #a9b79c;margin-top:46px;transform:perspective(450px) rotateX(25deg) rotateZ(-8deg);border-radius:2px;background:linear-gradient(90deg,transparent 49.8%,#a9b79c 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.6%,#a9b79c 50%,transparent 50.5%)}.court div{position:absolute;inset:15px;border:1px solid #a9b79c}.court span{position:absolute;bottom:20px;left:24px;font-size:8px;letter-spacing:4px;color:#849176}.login-form-wrap{display:grid;place-items:center;padding:42px}.login-form{width:100%;max-width:340px}.login-form h2{font-size:26px;margin:14px 0}.login-form label{margin-top:22px}.login-form>small{display:block;margin-top:28px}.topbar{height:80px;padding:0 max(5vw,24px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#ffffffb5}.topbar nav{display:flex;align-items:center;gap:16px}.nav-link{font-size:14px}.avatar{width:38px;height:38px;min-height:38px;border-radius:50%;background:#e7ecd8;padding:5px;font-size:14px}main{max-width:1320px;padding:48px 36px;margin:auto;min-height:75vh}.library-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:38px}.library-heading h1{margin:12px 0}.library-heading p{font-size:14px;margin:0}.stat-card{border-left:1px solid #dce3d1;padding:8px 24px;display:flex;flex-direction:column;gap:6px}.stat-card strong{font-size:38px;font-weight:500}.stat-card span{font-size:12px;color:var(--muted);white-space:nowrap}.library-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid transparent;font-size:12px;color:#717c70;white-space:nowrap}.chip.active{background:white;border-color:#cdd8c7;color:var(--ink);font-weight:600}.search{font-size:13px;max-width:240px;background:#fff}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.video-card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0;transition:transform .2s}.video-card:hover{transform:translateY(-3px)}.card-open{width:100%;padding:0;text-align:left}.card-cover{height:158px;background:#dfe7d4;position:relative;display:grid;place-items:center;overflow:hidden}.card-cover:before{content:"";position:absolute;inset:20px 30px;border:1px solid #b6c7ab;background:linear-gradient(90deg,transparent 49.6%,#b6c7ab 50%,transparent 50.4%),linear-gradient(0deg,transparent 49.6%,#b6c7ab 50%,transparent 50.4%);transform:rotate(-8deg) scale(1.15)}.card-cover img{width:48px;height:48px;z-index:1;opacity:.85}.card-duration{position:absolute;bottom:12px;right:12px;background:#17382cba;color:#fff;font-size:11px;padding:4px 7px;border-radius:4px}.card-content{padding:20px}.card-date{font-size:11px;color:#8a9483}.card-content h3{font-size:16px;line-height:1.5;margin:9px 0 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-footer{display:flex;justify-content:space-between;font-size:11px;color:#77846d}.tag{background:#eff3e8;border-radius:4px;padding:3px 7px}.empty{text-align:center;padding:55px 12px 65px;border:1px dashed #d4ddc9;border-radius:16px;background:#fafbf7}.empty h2{font-size:20px}.empty p{font-size:13px}.empty-court{height:80px;width:124px;border:1px solid #c1cdb4;margin:0 auto 26px;position:relative;background:linear-gradient(90deg,transparent 49%,#c1cdb4 50%,transparent 51%)}.empty-court:after{content:"";position:absolute;inset:9px;border:1px solid #c1cdb4}.empty-court span{position:absolute;z-index:1;left:46px;top:20px;background:#f1f5e7;font-size:32px}.storage-footer,.site-footer{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:#8a9383;margin-top:30px}.site-footer{max-width:1248px;margin:0 auto;padding:25px 0;border-top:1px solid var(--line)}.site-footer span:first-child{letter-spacing:1.5px}.detail-heading{display:flex;justify-content:space-between;margin:-20px 0 18px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.watch-column{min-width:0}.video-frame{background:#11271f;border-radius:13px;overflow:hidden;position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}.video-frame video{width:100%;height:100%;object-fit:contain;transition:transform .2s}.video-frame.zoomed{overflow:auto;touch-action:pan-x pan-y}.video-frame.zoomed video{min-width:180%;min-height:180%;object-fit:contain;max-width:none}.video-error{position:absolute;inset:10%;display:grid;place-items:center;color:#f5f5ed;text-align:center;font-size:14px;line-height:1.9;pointer-events:none}.transport{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 4px 4px;flex-wrap:wrap}.transport button{font-size:12px;background:white;border:1px solid var(--line)}.transport .play-button{background:var(--green);color:white;min-width:75px}.transport select{font-size:12px;padding:10px;min-height:42px}.transport button[aria-pressed=true]{background:#e1ebce;border-color:#b4c79d}.time-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#788771;font-variant-numeric:tabular-nums}.clip-banner{display:flex;justify-content:space-between;align-items:center;background:#e8efd9;border-radius:8px;padding:4px 10px;margin-top:8px;font-size:12px}.video-info{padding:24px 0 15px}.video-info h1{font-size:25px;margin:10px 0}.video-info p{font-size:13px;color:#66785e}.video-info .text-button{padding-left:0}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:22px;margin-bottom:20px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title h2{margin:0}.panel-title h2 span{font-size:12px;color:#8c9785;font-weight:400;margin-left:7px}.panel-title>span{font-size:12px}.clip-item{padding:14px 0;border-top:1px solid var(--line)}.clip-top{display:flex;justify-content:space-between;gap:12px}.clip-title{text-align:left;font-weight:600;font-size:14px;padding-left:0;min-height:30px}.clip-item p{font-size:12px;margin:5px 0;color:#76826d;white-space:pre-wrap;overflow-wrap:anywhere}.clip-item .clip-meta{font-size:11px;color:#788971}.clip-actions{display:flex;align-items:center;gap:6px}.clip-item.selected{background:#f4f7ed;margin:0 -10px;padding:14px 10px;border-radius:7px}.editor{border-color:#bacba9}.editor form,.dialog-heading+form,dialog form{display:flex;flex-direction:column;gap:18px}.trim-field>div{display:flex;gap:12px;align-items:center;justify-content:space-between}.trim-field input[type=number]{width:110px;padding:8px;font-size:14px}.trim-field input[type=range]{width:100%;accent-color:var(--green);padding:0;min-height:42px;touch-action:pan-y}.trim-summary,.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.discussion{position:sticky;top:20px}.comment-list{max-height:560px;overflow:auto;padding-bottom:12px}.comment{padding:16px 0;border-top:1px solid var(--line)}.comment-author{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:600}.comment-author small{font-size:10px;font-weight:400;color:#8a9585}.comment-body{font-size:13px;line-height:1.8;margin:9px 0 1px;white-space:pre-wrap;overflow-wrap:anywhere}.comment-time{font-size:11px;padding:3px 6px;min-height:26px;background:#eff4e6;margin-top:8px}.comment .text-button{font-size:11px;min-height:26px;padding:4px 6px}.replies{border-left:2px solid #e3ead7;padding-left:12px;margin-top:9px}.replies .comment{padding:9px 0;border:0}.comment-actions{display:flex;justify-content:space-between;align-items:center;gap:6px}.check-label{flex-direction:row;align-items:center;gap:4px;font-size:10px;font-weight:400;color:#78816f}.check-label input{accent-color:var(--green);width:16px;height:16px}.discussion form{display:flex;flex-direction:column;gap:10px}.reply-banner{display:flex;align-items:center;justify-content:space-between;padding:2px 8px;background:#eff3e9;font-size:11px}.mobile-tabs{display:none}dialog{border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);width:min(520px,calc(100% - 28px));max-height:90svh;padding:28px;box-shadow:0 30px 100px #162c2b40;overflow:auto}dialog::backdrop{background:#14271e88;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-heading h2{margin:8px 0 0;font-size:23px}.icon-button{font-size:27px;min-width:42px}.file-picker{border:1px dashed #adc29c;align-items:center;padding:24px 12px;border-radius:10px;background:#eef3e6;cursor:pointer;text-align:center;margin:20px 0}.file-picker span:last-of-type{font-size:11px;color:#7c8b70;font-weight:400}.file-picker input{position:absolute;width:1px;height:1px;opacity:0;padding:0}.file-picker:focus-within{outline:2px solid var(--green)}.upload-icon{font-size:28px}.selected-file{font-size:13px;margin-bottom:15px;overflow-wrap:anywhere}dialog>label{margin-bottom:18px}progress{width:100%;height:10px;border:0;border-radius:10px;overflow:hidden;accent-color:var(--green);margin-top:16px}.progress-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px}.pending-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:11px;gap:8px}.pending-item span{overflow-wrap:anywhere}#pendingUploads{margin-top:20px}#logout{margin-top:22px}#deleteVideo{margin-top:20px}#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#193b30;color:#fff;z-index:10;border-radius:10px;padding:12px 20px;font-size:13px;max-width:90%;text-align:center;box-shadow:0 8px 30px #16312825;pointer-events:none;opacity:0;transition:opacity .2s}#toast.show{opacity:1}
@media(max-width:1000px){.detail-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.transport{gap:5px}.transport button{padding:8px 10px}.video-grid{grid-template-columns:repeat(2,1fr)}.wordmark span{display:none}.login-art{padding:32px}.site-footer{margin:0 36px}}
@media(max-width:760px){.topbar{height:66px;padding:0 18px}.topbar nav{gap:8px}.topbar .primary{font-size:12px;padding:8px 12px}.nav-link{display:none}.wordmark{font-size:21px}.wordmark img{width:29px;height:29px}main{padding:30px 18px}.library-heading{margin-bottom:26px}.library-heading h1{font-size:27px;letter-spacing:-.8px}.library-heading p{font-size:12px;max-width:240px}.library-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.stat-card{padding:4px 0 4px 16px}.stat-card strong{font-size:30px}.stat-card span{font-size:10px}.library-tools{flex-direction:column;align-items:stretch;gap:14px}.chips{flex-wrap:nowrap;overflow:auto;padding-bottom:2px}.chip{padding:7px 12px;min-height:38px}.search{max-width:100%;width:100%;padding:11px 13px}.video-grid{gap:14px}.card-cover{height:115px}.card-content{padding:13px}.card-content h3{font-size:13px;margin:8px 0 13px}.card-date{font-size:10px}.card-footer{font-size:10px;gap:3px}.card-footer .tag{padding:3px 5px}.empty{padding:40px 12px}.empty h2{font-size:17px}.storage-footer{flex-direction:column;gap:7px;font-size:10px}.site-footer{margin:0 18px;padding:20px 0;font-size:9px}.detail-heading{margin:-12px 0 12px}.detail-layout{display:block}.video-frame{border-radius:10px}.video-info{padding:20px 0 14px}.video-info h1{font-size:22px}.transport{justify-content:space-between;gap:4px;padding-top:12px}.transport button{font-size:11px;padding:8px;min-height:40px}.transport .play-button{min-width:50px}.transport select{padding:8px 5px;font-size:11px;min-height:40px}.time-row{font-size:10px}.panel{padding:18px}.discussion{position:static}.mobile-tabs{display:flex;gap:8px;margin:8px 0 17px}.mobile-tabs .chip{flex:1;background:transparent;border:1px solid var(--line)}.mobile-tabs .active{background:#e8efd9;border-color:#c4d0b6}.panel-title h2{font-size:17px}.comment-list{max-height:none}body.mobile-discussion #clipsPanel,body.mobile-discussion #editorPanel{display:none}body:not(.mobile-discussion) #discussionPanel{display:none}.login-layout{display:block}.login-art{min-height:0;padding:22px 24px 28px}.intro{padding:28px 0 0}.intro .eyebrow{font-size:10px}.intro h1{font-size:33px;margin:14px 0}.intro p{font-size:12px;margin-bottom:0}.court,.login-art>small{display:none}.login-form-wrap{padding:30px 24px 50px}.login-form{max-width:420px}.login-form h2{font-size:23px}.login-form>.eyebrow{display:none}.login-form>small{margin-top:20px}.login-form label{margin-top:17px}.login-form>p{font-size:12px}dialog{padding:22px;max-height:92svh}.trim-field>div{gap:6px}.trim-field input[type=number]{width:94px}.check-label{font-size:11px}.comment-actions .primary{min-width:66px}#toast{bottom:20px}.clip-top{gap:5px}.clip-actions{gap:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}