- library.rs: full video library management (1948 lines, 10 tests) folder scanning, progress tracking, playlists, subtitle integration, background duration scanning - types.ts: all TypeScript interfaces for Tauri command responses - api.ts: typed wrappers for all 26 Tauri invoke commands - 6 CSS files extracted from Python HTML into src/styles/
515 lines
18 KiB
CSS
515 lines
18 KiB
CSS
:root{
|
|
--zoom:1;
|
|
/* Base backgrounds */
|
|
--bg0:#060709; --bg1:#0a0c10;
|
|
/* Strokes - consistent opacity scale */
|
|
--stroke:rgba(255,255,255,.07);
|
|
--strokeLight:rgba(255,255,255,.04);
|
|
--strokeMed:rgba(255,255,255,.10);
|
|
/* Text - consistent hierarchy */
|
|
--text:rgba(240,244,255,.91);
|
|
--textMuted:rgba(155,165,190,.68);
|
|
--textDim:rgba(120,132,165,.50);
|
|
/* Surfaces */
|
|
--surface:rgba(255,255,255,.025);
|
|
--surfaceHover:rgba(255,255,255,.045);
|
|
--surfaceActive:rgba(255,255,255,.06);
|
|
/* Shadows */
|
|
--shadow:0 16px 48px rgba(0,0,0,.50);
|
|
--shadow2:0 8px 24px rgba(0,0,0,.32);
|
|
/* Radii */
|
|
--r:6px; --r2:5px;
|
|
/* Fonts */
|
|
--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
|
|
--sans:"Manrope", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
|
|
--brand:"Sora","Manrope", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
|
|
/* Icons */
|
|
--icon:rgba(175,185,210,.65);
|
|
--iconStrong:rgba(220,228,248,.85);
|
|
/* Accent - consistent blue */
|
|
--accent:rgb(95,175,255);
|
|
--accentGlow:rgba(95,175,255,.12);
|
|
--accentBorder:rgba(95,175,255,.22);
|
|
--accentBg:rgba(95,175,255,.07);
|
|
/* Success - consistent green */
|
|
--success:rgb(75,200,130);
|
|
--successBg:rgba(75,200,130,.07);
|
|
--successBorder:rgba(75,200,130,.20);
|
|
/* Tree */
|
|
--tree:rgba(195,205,230,.10);
|
|
--treeNode:rgba(200,212,238,.52);
|
|
}
|
|
*{box-sizing:border-box;}
|
|
html,body{height:100%;}
|
|
body{
|
|
margin:0; padding:0; font-family:var(--sans); color:var(--text); overflow:hidden;
|
|
width:100vw; height:100vh;
|
|
background:
|
|
radial-gradient(800px 500px at 10% 5%, rgba(95,175,255,.08), transparent 60%),
|
|
radial-gradient(700px 500px at 90% 8%, rgba(75,200,130,.05), transparent 65%),
|
|
linear-gradient(180deg, var(--bg1), var(--bg0));
|
|
letter-spacing:.04px;
|
|
}
|
|
#zoomRoot{
|
|
transform:scale(var(--zoom));
|
|
transform-origin:0 0;
|
|
width:calc(100vw / var(--zoom));
|
|
height:calc(100vh / var(--zoom));
|
|
overflow:hidden;
|
|
box-sizing:border-box;
|
|
}
|
|
.app{height:100%; display:flex; flex-direction:column; position:relative; overflow:hidden;}
|
|
.fa, i.fa-solid, i.fa-regular, i.fa-light, i.fa-thin{color:var(--icon)!important;}
|
|
|
|
.topbar{
|
|
display:flex; align-items:center; gap:14px;
|
|
padding:12px 14px;
|
|
height:72px;
|
|
flex:0 0 72px;
|
|
border-bottom:1px solid var(--stroke);
|
|
background:
|
|
linear-gradient(135deg, transparent 0%, transparent 48%, rgba(255,255,255,.015) 50%, transparent 52%, transparent 100%) 0 0 / 8px 8px,
|
|
linear-gradient(180deg, rgba(22,26,38,1), rgba(18,22,32,1));
|
|
min-width:0; z-index:5; position:relative;
|
|
box-sizing:border-box;
|
|
}
|
|
.topbar::before{
|
|
content:"";
|
|
position:absolute;
|
|
inset:0;
|
|
background:
|
|
radial-gradient(circle, rgba(180,210,255,.096) 2px, transparent 2.5px) 0 0 / 12px 12px,
|
|
radial-gradient(circle, rgba(220,230,255,.08) 2px, transparent 2.5px) 6px 6px / 12px 12px;
|
|
pointer-events:none;
|
|
z-index:1;
|
|
-webkit-mask-image: linear-gradient(90deg, black 0%, rgba(0,0,0,.5) 20%, transparent 40%);
|
|
mask-image: linear-gradient(90deg, black 0%, rgba(0,0,0,.5) 20%, transparent 40%);
|
|
}
|
|
.topbar::after{
|
|
content:"";
|
|
position:absolute;
|
|
inset:0;
|
|
background:linear-gradient(180deg, rgba(255,255,255,.03), transparent);
|
|
pointer-events:none;
|
|
z-index:0;
|
|
}
|
|
|
|
.brand{display:flex; align-items:center; gap:12px; min-width:0; flex:1 1 auto; position:relative; z-index:1;}
|
|
.appIcon{
|
|
display:flex; align-items:center; justify-content:center;
|
|
flex:0 0 auto;
|
|
filter: drop-shadow(0 8px 16px rgba(0,0,0,.35));
|
|
overflow:visible;
|
|
transition: transform .4s cubic-bezier(.34,1.56,.64,1), filter .3s ease;
|
|
cursor:pointer;
|
|
position:relative;
|
|
}
|
|
.appIconGlow{
|
|
position:absolute;
|
|
inset:-15px;
|
|
border-radius:50%;
|
|
pointer-events:none;
|
|
opacity:0;
|
|
transition:opacity .4s ease;
|
|
}
|
|
.appIconGlow::before{
|
|
content:"";
|
|
position:absolute;
|
|
inset:0;
|
|
border-radius:50%;
|
|
background:radial-gradient(circle, rgba(100,180,255,.25), rgba(130,230,180,.15), transparent 70%);
|
|
transform:scale(.5);
|
|
transition:transform .4s ease;
|
|
}
|
|
.appIconGlow::after{
|
|
content:"";
|
|
position:absolute;
|
|
inset:0;
|
|
border-radius:50%;
|
|
background:conic-gradient(from 0deg, rgba(100,180,255,.5), rgba(130,230,180,.5), rgba(210,160,255,.5), rgba(100,180,255,.5));
|
|
mask:radial-gradient(circle, transparent 45%, black 47%, black 53%, transparent 55%);
|
|
-webkit-mask:radial-gradient(circle, transparent 45%, black 47%, black 53%, transparent 55%);
|
|
animation:none;
|
|
}
|
|
@keyframes logoSpin{
|
|
0%{transform:rotate(0deg);}
|
|
100%{transform:rotate(360deg);}
|
|
}
|
|
@keyframes logoWiggle{
|
|
0%,100%{transform:rotate(0deg) scale(1);}
|
|
10%{transform:rotate(-12deg) scale(1.15);}
|
|
20%{transform:rotate(10deg) scale(1.12);}
|
|
30%{transform:rotate(-8deg) scale(1.18);}
|
|
40%{transform:rotate(6deg) scale(1.14);}
|
|
50%{transform:rotate(-4deg) scale(1.2);}
|
|
60%{transform:rotate(3deg) scale(1.16);}
|
|
70%{transform:rotate(-2deg) scale(1.12);}
|
|
80%{transform:rotate(1deg) scale(1.08);}
|
|
90%{transform:rotate(0deg) scale(1.04);}
|
|
}
|
|
.appIcon:hover{
|
|
animation:logoWiggle .8s ease-out;
|
|
filter: drop-shadow(0 0 20px rgba(100,180,255,.5)) drop-shadow(0 0 40px rgba(130,230,180,.3)) drop-shadow(0 12px 24px rgba(0,0,0,.4));
|
|
}
|
|
.appIcon:hover .appIconGlow{
|
|
opacity:1;
|
|
}
|
|
.appIcon:hover .appIconGlow::before{
|
|
transform:scale(1.2);
|
|
}
|
|
.appIcon:hover .appIconGlow::after{
|
|
animation:logoSpin 3s linear infinite;
|
|
}
|
|
.appIcon i{
|
|
font-size:36px;
|
|
line-height:1;
|
|
background:linear-gradient(135deg, rgba(100,180,255,.98), rgba(130,230,180,.92), rgba(210,160,255,.82));
|
|
-webkit-background-clip:text;
|
|
background-clip:text;
|
|
color:transparent!important;
|
|
-webkit-text-stroke: 0.5px rgba(0,0,0,.16);
|
|
opacity:.98;
|
|
transition:all .3s ease;
|
|
position:relative;
|
|
z-index:2;
|
|
}
|
|
.appIcon:hover i{
|
|
background:linear-gradient(135deg, rgba(130,210,255,1), rgba(160,250,200,1), rgba(230,180,255,1));
|
|
-webkit-background-clip:text;
|
|
background-clip:text;
|
|
}
|
|
.brandText{min-width:0; position:relative; z-index:1;}
|
|
.appName{
|
|
font-family:var(--brand);
|
|
font-weight:900;
|
|
font-size:18px;
|
|
line-height:1.02;
|
|
letter-spacing:.35px;
|
|
margin:0; padding:0;
|
|
transition:text-shadow .3s ease;
|
|
}
|
|
.brand:hover .appName{
|
|
text-shadow:0 0 20px rgba(100,180,255,.4), 0 0 40px rgba(130,230,180,.2);
|
|
}
|
|
.tagline{
|
|
margin-top:5px;
|
|
font-size:11.5px;
|
|
line-height:1.2;
|
|
color:rgba(180,188,210,.76);
|
|
letter-spacing:.18px;
|
|
white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
|
|
max-width:52vw;
|
|
transition:color .3s ease;
|
|
}
|
|
.brand:hover .tagline{
|
|
color:rgba(200,210,230,.9);
|
|
}
|
|
|
|
.actions{
|
|
display:flex; align-items:center; gap:8px;
|
|
flex:0 0 auto; flex-wrap:nowrap; white-space:nowrap;
|
|
position:relative; z-index:7;
|
|
}
|
|
.actionGroup{
|
|
display:flex; align-items:center; gap:6px;
|
|
}
|
|
.actionDivider{
|
|
width:1px; height:28px;
|
|
background:linear-gradient(180deg, transparent, rgba(255,255,255,.12) 20%, rgba(255,255,255,.12) 80%, transparent);
|
|
margin:0 4px;
|
|
}
|
|
|
|
/* Zoom control */
|
|
.zoomControl{
|
|
display:flex; align-items:center; gap:0;
|
|
background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
|
|
border:1px solid rgba(255,255,255,.08);
|
|
border-radius:8px;
|
|
padding:2px;
|
|
box-shadow:0 2px 8px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.05);
|
|
}
|
|
.zoomBtn{
|
|
width:28px; height:28px;
|
|
border:none; background:transparent;
|
|
border-radius:6px;
|
|
color:var(--text);
|
|
cursor:pointer;
|
|
display:flex; align-items:center; justify-content:center;
|
|
transition:all .15s ease;
|
|
}
|
|
.zoomBtn:hover{
|
|
background:rgba(255,255,255,.08);
|
|
}
|
|
.zoomBtn:active{
|
|
background:rgba(255,255,255,.12);
|
|
transform:scale(.95);
|
|
}
|
|
.zoomBtn .fa{font-size:10px; opacity:.8;}
|
|
.zoomValue{
|
|
min-width:48px;
|
|
text-align:center;
|
|
font-family:var(--mono);
|
|
font-size:11px;
|
|
font-weight:600;
|
|
color:var(--text);
|
|
opacity:.9;
|
|
cursor:pointer;
|
|
padding:4px 6px;
|
|
border-radius:4px;
|
|
transition:background .15s ease;
|
|
}
|
|
.zoomValue:hover{
|
|
background:rgba(255,255,255,.06);
|
|
}
|
|
|
|
/* Toolbar buttons */
|
|
.toolbarBtn{
|
|
width:34px; height:34px;
|
|
border:1px solid rgba(255,255,255,.08);
|
|
border-radius:8px;
|
|
background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
|
|
color:var(--text);
|
|
cursor:pointer;
|
|
display:flex; align-items:center; justify-content:center;
|
|
transition:all .2s cubic-bezier(.4,0,.2,1);
|
|
position:relative;
|
|
overflow:hidden;
|
|
box-shadow:0 2px 6px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.06);
|
|
}
|
|
.toolbarBtn::before{
|
|
content:"";
|
|
position:absolute;
|
|
inset:0;
|
|
background:radial-gradient(circle at 50% 0%, rgba(255,255,255,.15), transparent 70%);
|
|
opacity:0;
|
|
transition:opacity .2s ease;
|
|
}
|
|
.toolbarBtn:hover{
|
|
border-color:rgba(255,255,255,.15);
|
|
background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
|
|
transform:translateY(-1px);
|
|
box-shadow:0 4px 12px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.1);
|
|
}
|
|
.toolbarBtn:hover::before{opacity:1;}
|
|
.toolbarBtn:active{
|
|
transform:translateY(0);
|
|
box-shadow:0 1px 4px rgba(0,0,0,.15);
|
|
}
|
|
.toolbarBtn .fa{font-size:13px; opacity:.85; transition:transform .2s ease;}
|
|
.toolbarBtn:hover .fa{transform:scale(1.1);}
|
|
|
|
/* Primary split button styling */
|
|
.splitBtn.primary{
|
|
border-color:rgba(95,175,255,.25);
|
|
background:linear-gradient(180deg, rgba(95,175,255,.12), rgba(95,175,255,.04));
|
|
box-shadow:0 2px 8px rgba(0,0,0,.15), 0 4px 20px rgba(95,175,255,.1), inset 0 1px 0 rgba(255,255,255,.1);
|
|
}
|
|
.splitBtn.primary:hover{
|
|
border-color:rgba(95,175,255,.4);
|
|
box-shadow:0 4px 12px rgba(0,0,0,.2), 0 8px 32px rgba(95,175,255,.15), inset 0 1px 0 rgba(255,255,255,.15);
|
|
}
|
|
.splitBtn.primary .drop{
|
|
border-left-color:rgba(95,175,255,.2);
|
|
}
|
|
.btn{
|
|
display:inline-flex; align-items:center; justify-content:center; gap:8px;
|
|
padding:9px 14px;
|
|
border-radius:var(--r2);
|
|
border:1px solid rgba(255,255,255,.08);
|
|
background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
|
|
color:var(--text);
|
|
cursor:pointer; user-select:none;
|
|
box-shadow:
|
|
0 2px 4px rgba(0,0,0,.2),
|
|
0 8px 24px rgba(0,0,0,.25),
|
|
inset 0 1px 0 rgba(255,255,255,.08),
|
|
inset 0 -1px 0 rgba(0,0,0,.1);
|
|
transition:all .2s cubic-bezier(.4,0,.2,1);
|
|
font-size:12.5px; font-weight:700; letter-spacing:.02em;
|
|
position:relative;
|
|
overflow:hidden;
|
|
}
|
|
.btn::before{
|
|
content:"";
|
|
position:absolute;
|
|
inset:0;
|
|
background:linear-gradient(180deg, rgba(255,255,255,.1), transparent 50%);
|
|
opacity:0;
|
|
transition:opacity .2s ease;
|
|
}
|
|
.btn:hover{
|
|
border-color:rgba(255,255,255,.15);
|
|
background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
|
|
transform:translateY(-2px);
|
|
box-shadow:
|
|
0 4px 8px rgba(0,0,0,.2),
|
|
0 12px 32px rgba(0,0,0,.3),
|
|
inset 0 1px 0 rgba(255,255,255,.12),
|
|
inset 0 -1px 0 rgba(0,0,0,.1);
|
|
}
|
|
.btn:hover::before{opacity:1;}
|
|
.btn:active{
|
|
transform:translateY(0);
|
|
box-shadow:
|
|
0 1px 2px rgba(0,0,0,.2),
|
|
0 4px 12px rgba(0,0,0,.2),
|
|
inset 0 1px 0 rgba(255,255,255,.06);
|
|
}
|
|
.btn.primary{
|
|
border-color:rgba(95,175,255,.3);
|
|
background:linear-gradient(180deg, rgba(95,175,255,.2), rgba(95,175,255,.08));
|
|
color:#fff;
|
|
text-shadow:0 1px 2px rgba(0,0,0,.3);
|
|
}
|
|
.btn.primary::before{
|
|
background:linear-gradient(180deg, rgba(255,255,255,.15), transparent 60%);
|
|
}
|
|
.btn.primary:hover{
|
|
border-color:rgba(95,175,255,.45);
|
|
background:linear-gradient(180deg, rgba(95,175,255,.28), rgba(95,175,255,.12));
|
|
box-shadow:
|
|
0 4px 8px rgba(0,0,0,.2),
|
|
0 12px 32px rgba(95,175,255,.2),
|
|
0 0 0 1px rgba(95,175,255,.1),
|
|
inset 0 1px 0 rgba(255,255,255,.15);
|
|
}
|
|
.btn .fa{font-size:14px; opacity:.95; color:var(--iconStrong)!important; transition:transform .2s ease; position:relative; z-index:1;}
|
|
.btn.primary .fa{color:#fff!important;}
|
|
.btn:hover .fa{transform:scale(1.1);}
|
|
|
|
.splitBtn{
|
|
display:inline-flex;
|
|
border-radius:var(--r2);
|
|
overflow:hidden;
|
|
border:1px solid rgba(255,255,255,.08);
|
|
box-shadow:
|
|
0 2px 4px rgba(0,0,0,.2),
|
|
0 8px 24px rgba(0,0,0,.25),
|
|
inset 0 1px 0 rgba(255,255,255,.06);
|
|
background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
|
|
position:relative; z-index:8;
|
|
transition:all .2s ease;
|
|
}
|
|
.splitBtn:hover{
|
|
border-color:rgba(255,255,255,.14);
|
|
box-shadow:
|
|
0 4px 8px rgba(0,0,0,.2),
|
|
0 12px 32px rgba(0,0,0,.3),
|
|
inset 0 1px 0 rgba(255,255,255,.08);
|
|
transform:translateY(-1px);
|
|
}
|
|
.splitBtn .btn{border:none; box-shadow:none; border-radius:0; background:transparent; padding:9px 12px; transform:none;}
|
|
.splitBtn .btn::before{display:none;}
|
|
.splitBtn .btn:hover{background:rgba(255,255,255,.06); transform:none; box-shadow:none;}
|
|
.splitBtn .drop{
|
|
width:40px; padding:8px 0;
|
|
border-left:1px solid rgba(255,255,255,.08);
|
|
display:flex; align-items:center; justify-content:center;
|
|
transition:background .15s ease;
|
|
background:linear-gradient(180deg, rgba(255,255,255,.02), transparent);
|
|
}
|
|
.splitBtn .drop:hover{background:rgba(255,255,255,.06);}
|
|
.splitBtn .drop .fa{font-size:16px; opacity:.88; color:var(--iconStrong)!important; transition:transform .2s ease;}
|
|
.splitBtn .drop:hover .fa{transform:translateY(2px);}
|
|
|
|
.dropdownPortal{
|
|
position:fixed; z-index:99999;
|
|
min-width:320px; max-width:560px; max-height:360px;
|
|
overflow:auto;
|
|
border-radius:7px;
|
|
border:1px solid rgba(255,255,255,.12);
|
|
background:rgba(18,20,26,.94);
|
|
box-shadow:0 26px 70px rgba(0,0,0,.70);
|
|
backdrop-filter:blur(16px);
|
|
padding:6px;
|
|
display:none;
|
|
transform:scale(var(--zoom));
|
|
transform-origin:top left;
|
|
scrollbar-width:thin;
|
|
scrollbar-color:rgba(255,255,255,.14) rgba(255,255,255,.02);
|
|
}
|
|
.dropdownPortal::-webkit-scrollbar{width:4px; height:4px;}
|
|
.dropdownPortal::-webkit-scrollbar-track{background:rgba(255,255,255,.015);}
|
|
.dropdownPortal::-webkit-scrollbar-thumb{background:rgba(255,255,255,.11); border-radius:999px;}
|
|
.dropdownPortal::-webkit-scrollbar-button{width:0; height:0; display:none;}
|
|
|
|
.dropItem{display:flex; align-items:center; gap:10px; padding:10px 10px; border-radius:6px; cursor:pointer; user-select:none; color:rgba(246,248,255,.92); font-weight:760; font-size:12.7px; letter-spacing:.12px; line-height:1.25; transition:all .15s ease; position:relative;}
|
|
.dropItem:hover{background:rgba(255,255,255,.06); padding-right:36px;}
|
|
.dropItem:active{transform:none;}
|
|
.dropIcon{width:18px; height:18px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; opacity:.9; transition:transform .2s ease;}
|
|
.dropItem:hover .dropIcon{transform:scale(1.1);}
|
|
.dropIcon .fa{font-size:14px; color:var(--iconStrong)!important;}
|
|
.dropName{white-space:nowrap; flex:1 1 auto; min-width:0; transition:mask-image .15s ease, -webkit-mask-image .15s ease;}
|
|
.dropItem:hover .dropName{overflow:hidden; mask-image:linear-gradient(90deg, #000 80%, transparent 100%); -webkit-mask-image:linear-gradient(90deg, #000 80%, transparent 100%);}
|
|
.dropRemove{position:absolute; right:8px; top:50%; transform:translateY(-50%); width:24px; height:24px; border-radius:8px; background:rgba(255,100,100,.15); border:1px solid rgba(255,100,100,.25); color:rgba(255,180,180,.9); display:none; align-items:center; justify-content:center; font-size:12px; cursor:pointer; transition:all .15s ease;}
|
|
.dropItem:hover .dropRemove{display:flex;}
|
|
.dropRemove:hover{background:rgba(255,100,100,.25); border-color:rgba(255,100,100,.4); color:rgba(255,220,220,1);}
|
|
.dropEmpty{padding:10px 10px; color:rgba(165,172,196,.78); font-size:12.5px;}
|
|
|
|
.seg{display:inline-flex; border:1px solid rgba(255,255,255,.09); border-radius:var(--r2); overflow:hidden; background:rgba(255,255,255,.02); box-shadow:var(--shadow2); transition:border-color .15s ease;}
|
|
.seg:hover{border-color:rgba(255,255,255,.14);}
|
|
.seg .btn{border:none; box-shadow:none; border-radius:0; padding:8px 9px; background:transparent; font-weight:820; transform:none;}
|
|
.seg .btn:hover{background:rgba(255,255,255,.06); transform:none; box-shadow:none;}
|
|
.seg .btn:active{background:rgba(255,255,255,.08);}
|
|
.seg .mid{border-left:1px solid rgba(255,255,255,.10); border-right:1px solid rgba(255,255,255,.10); min-width:62px; font-variant-numeric:tabular-nums;}
|
|
|
|
.switch{
|
|
display:inline-flex; align-items:center; justify-content:center; gap:8px;
|
|
padding:6px 10px;
|
|
border-radius:8px;
|
|
border:1px solid rgba(255,255,255,.08);
|
|
background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
|
|
box-shadow:0 2px 6px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.05);
|
|
cursor:pointer; user-select:none;
|
|
font-size:11.5px; font-weight:650; letter-spacing:.01em;
|
|
color:var(--text);
|
|
line-height:1;
|
|
transition:all .2s ease;
|
|
}
|
|
.switch:hover{
|
|
border-color:rgba(255,255,255,.14);
|
|
background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
|
|
box-shadow:0 4px 10px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
|
|
}
|
|
.switch input{display:none;}
|
|
.track{
|
|
width:32px; height:18px;
|
|
border-radius:999px;
|
|
background:rgba(255,255,255,.06);
|
|
border:1px solid rgba(255,255,255,.10);
|
|
position:relative;
|
|
transition:all .25s cubic-bezier(.4,0,.2,1);
|
|
flex:0 0 auto;
|
|
display:flex; align-items:center;
|
|
}
|
|
.knob{
|
|
margin-left:2px;
|
|
width:14px; height:14px;
|
|
border-radius:999px;
|
|
background:linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.18));
|
|
box-shadow:0 2px 6px rgba(0,0,0,.25);
|
|
transition:transform .2s cubic-bezier(.4,0,.2,1), background .2s ease, box-shadow .2s ease;
|
|
}
|
|
.switch input:checked + .track{
|
|
background:linear-gradient(90deg, rgba(95,175,255,.25), rgba(130,200,255,.2));
|
|
border-color:rgba(95,175,255,.3);
|
|
box-shadow:0 0 12px rgba(95,175,255,.15);
|
|
}
|
|
.switch input:checked + .track .knob{
|
|
transform:translateX(14px);
|
|
background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(200,230,255,.8));
|
|
box-shadow:0 2px 8px rgba(95,175,255,.3), 0 0 0 2px rgba(95,175,255,.15);
|
|
}
|
|
|
|
.content{flex:1 1 auto; min-height:0; padding:12px; display:grid; grid-template-columns:calc(62% - 7px) 14px calc(38% - 7px); gap:0; overflow:hidden;}
|
|
|
|
@media (max-width:1100px){
|
|
.content{grid-template-columns:1fr; gap:12px; padding:12px;}
|
|
.dividerWrap{display:none;}
|
|
.actions{flex-wrap:wrap;}
|
|
.seg{width:100%;}
|
|
.dock{grid-template-columns:1fr;}
|
|
.dockDividerWrap{display:none;}
|
|
.tagline{max-width:70vw;}
|
|
}
|