v1.3.0
AtheraStudio SyncDrop
- @font-face {
- font-family: "SUSE";
- src: url("fonts/SUSE.ttf") format("truetype");
- font-weight: 100 900;
- font-style: normal;
- font-display: swap;
- }
-
- @font-face {
- font-family: "Kode Mono";
- src: url("fonts/KodeMono.ttf") format("truetype");
- font-weight: 400 700;
- font-stretch: 75% 125%;
- font-style: normal;
- font-display: swap;
- }
-
- @font-face {
- font-family: "Tektur";
- src: url("fonts/Tektur.ttf") format("truetype");
- font-weight: 400 900;
- font-stretch: 75% 100%;
- font-style: normal;
- font-display: swap;
- }
-
- :root {
- --orb-font-sans: "SUSE", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
- --orb-font-mono: "Kode Mono", ui-monospace, "SF Mono", Consolas, monospace;
- --sd-font-display: "Tektur", "SUSE", -apple-system, "Segoe UI", sans-serif;
- }
-
- h1,
- .sd-brand-text,
- .sd-brand-small,
- .sd-brand-big {
- font-family: var(--sd-font-display);
- }
-
- .orb-mono,
- code,
- kbd,
- pre,
- .sd-code {
- font-variant-ligatures: none;
- font-feature-settings: "liga" 0, "calt" 0;
- }
-
- h1 {
- font-weight: 700;
- letter-spacing: 0;
- }
-
- .sd-brand-big,
- .sd-brand-text {
- font-weight: 800;
- letter-spacing: 0;
- }
-
- html,
- body {
- min-height: 100%;
- }
-
- body {
- background:
- radial-gradient(ellipse 60% 420px at 85% -10%, color-mix(in srgb, var(--orb-primary) 16%, transparent), transparent 70%),
- radial-gradient(ellipse 50% 380px at 0% 100%, color-mix(in srgb, var(--orb-primary) 9%, transparent), transparent 70%),
- var(--orb-bg);
- background-attachment: fixed;
- }
-
- .sd-noscript {
- padding: 12px 16px;
- text-align: center;
- font-weight: 600;
- color: #fff;
- background: var(--orb-danger);
- }
-
- .sd-hp {
- position: absolute;
- left: -10000px;
- width: 1px;
- height: 1px;
- overflow: hidden;
- }
-
- .sd-auth-wrap {
- min-height: 100vh;
- min-height: 100dvh;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- gap: var(--orb-space-5);
- padding: var(--orb-space-8) var(--orb-space-4);
- }
-
- .sd-auth-top {
- position: fixed;
- top: var(--orb-space-4);
- right: var(--orb-space-4);
- display: flex;
- align-items: center;
- gap: var(--orb-space-2);
- }
-
- .sd-lang {
- display: inline-flex;
- gap: 2px;
- padding: 3px;
- border-radius: var(--orb-radius-full);
- background: var(--orb-surface-alt);
- border: 1px solid var(--orb-border);
- }
-
- .sd-lang .orb-btn {
- min-height: 26px;
- border-radius: var(--orb-radius-full);
- }
-
- .sd-lang .is-current {
- color: var(--orb-primary-ink);
- background: var(--orb-primary);
- }
-
- .sd-auth-brand {
- display: flex;
- align-items: center;
- gap: var(--orb-space-3);
- }
-
- .orb-brand-mark .sd-logo {
- stroke: none;
- fill: var(--orb-primary-ink);
- }
-
- .sd-brand-lg {
- width: 46px;
- height: 46px;
- border-radius: 14px;
- }
-
- .sd-brand-small {
- font-size: 0.75rem;
- font-weight: 700;
- letter-spacing: 0.08em;
- text-transform: uppercase;
- color: var(--orb-primary-text);
- }
-
- .sd-brand-big {
- font-size: 1.5rem;
- font-weight: 800;
- letter-spacing: -0.02em;
- line-height: 1.1;
- }
-
- .sd-auth-card {
- width: 100%;
- max-width: 470px;
- }
-
- .sd-auth-card .orb-card-body {
- padding: var(--orb-space-8);
- }
-
- .sd-auth-foot {
- text-align: center;
- }
-
- .sd-alert + .sd-alert,
- .sd-alert {
- margin-bottom: var(--orb-space-4);
- }
-
- .sd-brand-text {
- display: flex;
- flex-direction: column;
- line-height: 1.15;
- }
-
- .sd-brand-text small {
- font-size: 0.625rem;
- font-weight: 700;
- letter-spacing: 0.08em;
- text-transform: uppercase;
- color: var(--orb-primary-text);
- }
-
- .sd-nav-form {
- margin-top: auto;
- }
-
- .sd-nav-button {
- width: 100%;
- background: none;
- cursor: pointer;
- font-family: inherit;
- line-height: inherit;
- text-align: left;
- }
-
- .sd-sidebar-foot {
- padding: var(--orb-space-3) var(--orb-space-3) 0;
- }
-
- .sd-nav-dot {
- width: 8px;
- height: 8px;
- margin-left: auto;
- flex-shrink: 0;
- border-radius: 999px;
- background: var(--orb-primary);
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--orb-primary) 22%, transparent);
- }
-
- .sd-update-head {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- gap: var(--orb-space-2) var(--orb-space-3);
- }
-
- .sd-update-version {
- font-family: var(--sd-font-display);
- font-size: 1.25rem;
- font-weight: 600;
- }
-
- .sd-changelog {
- margin: var(--orb-space-2) 0 0;
- padding-left: 1.2em;
- display: grid;
- gap: 4px;
- font-size: 0.9rem;
- color: var(--orb-text-muted);
- }
-
- .sd-update-note {
- padding-bottom: 0;
- }
-
- .sd-update-actions {
- display: flex;
- flex-wrap: wrap;
- justify-content: flex-end;
- gap: var(--orb-space-2);
- }
-
- .orb-main {
- padding: var(--orb-space-2) var(--orb-space-2) var(--orb-space-8);
- }
-
- .sd-topbar {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: var(--orb-space-4);
- margin-bottom: var(--orb-space-6);
- padding-top: var(--orb-space-2);
- }
-
- .sd-topbar-actions {
- display: flex;
- align-items: center;
- gap: var(--orb-space-2);
- }
-
- .sd-narrow {
- max-width: 560px;
- }
-
- .sd-steps {
- padding-left: 1.25rem;
- margin-bottom: var(--orb-space-5);
- color: var(--orb-text-muted);
- font-size: 0.875rem;
- line-height: 1.6;
- }
-
- .sd-steps li + li {
- margin-top: 4px;
- }
-
- .sd-qr {
- width: 220px;
- max-width: 100%;
- margin: 0 auto;
- padding: 10px;
- border-radius: var(--orb-radius-md);
- background: #fff;
- border: 1px solid var(--orb-border);
- }
-
- .sd-qr svg {
- display: block;
- width: 100%;
- height: auto;
- }
-
- .sd-secret {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: var(--orb-space-2);
- padding: 10px 12px;
- border-radius: var(--orb-radius-sm);
- background: var(--orb-surface-alt);
- border: 1px solid var(--orb-border);
- font-size: 0.875rem;
- word-break: break-all;
- }
-
- .sd-code-input {
- font-size: 1.25rem;
- letter-spacing: 0.18em;
- text-align: center;
- }
-
- .sd-codes {
- display: grid;
- grid-template-columns: repeat(2, minmax(0, 1fr));
- gap: 8px 24px;
- padding: var(--orb-space-4) var(--orb-space-5) var(--orb-space-4) 2.2rem;
- border-radius: var(--orb-radius-md);
- background: var(--orb-surface-alt);
- border: 1px dashed var(--orb-border-strong);
- font-size: 0.95rem;
- }
-
- .sd-sync-grid {
- grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
- }
-
- .sd-drop {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 6px;
- padding: var(--orb-space-8) var(--orb-space-5);
- text-align: center;
- border: 2px dashed color-mix(in srgb, var(--orb-primary) 40%, var(--orb-border));
- border-radius: var(--orb-radius-lg);
- background: color-mix(in srgb, var(--orb-primary) 5%, var(--orb-surface));
- transition: border-color var(--orb-dur) var(--orb-ease), background-color var(--orb-dur) var(--orb-ease);
- outline: none;
- }
-
- .sd-drop:focus-visible,
- .sd-drop.is-over {
- border-color: var(--orb-primary);
- background: color-mix(in srgb, var(--orb-primary) 12%, var(--orb-surface));
- }
-
- .sd-drop.is-busy {
- opacity: 0.6;
- pointer-events: none;
- }
-
- .sd-drop-icon {
- width: 56px;
- height: 56px;
- display: grid;
- place-items: center;
- border-radius: 16px;
- color: var(--orb-primary-text);
- background: var(--orb-primary-dim);
- margin-bottom: 4px;
- }
-
- .sd-status-card {
- display: flex;
- flex-direction: column;
- height: 100%;
- }
-
- .sd-stats {
- display: grid;
- grid-template-columns: repeat(4, minmax(0, 1fr));
- gap: var(--orb-space-2);
- }
-
- .sd-stat {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 2px;
- padding: var(--orb-space-3) var(--orb-space-2);
- border-radius: var(--orb-radius-md);
- background: var(--orb-surface-alt);
- border: 1px solid var(--orb-border);
- }
-
- .sd-stat-n {
- font-size: 1.5rem;
- font-weight: 800;
- line-height: 1.1;
- color: var(--orb-primary-text);
- }
-
- .sd-stat-l {
- font-size: 0.6875rem;
- font-weight: 600;
- text-transform: uppercase;
- letter-spacing: 0.05em;
- color: var(--orb-text-muted);
- text-align: center;
- }
-
- .sd-status-card [data-send] {
- margin-top: auto;
- }
-
- .sd-status-card .orb-form-hint svg {
- vertical-align: -2px;
- }
-
- .sd-list-wrap {
- max-height: 460px;
- overflow: auto;
- border-radius: 0;
- }
-
- .sd-list-wrap .orb-table {
- border: 0;
- border-radius: 0;
- }
-
- .sd-path {
- word-break: break-all;
- }
-
- .sd-ua {
- max-width: 320px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- color: var(--orb-text-muted);
- }
-
- .sd-settings .orb-card-title {
- display: flex;
- align-items: center;
- gap: 8px;
- }
-
- .sd-target {
- padding: var(--orb-space-5);
- border: 1px solid var(--orb-border);
- border-radius: var(--orb-radius-md);
- background: var(--orb-surface-alt);
- }
-
- .sd-target + .sd-target {
- margin-top: var(--orb-space-4);
- }
-
- .sd-target-new {
- background: transparent;
- border-style: dashed;
- }
-
- .sd-target-new .orb-h3 {
- display: flex;
- align-items: center;
- gap: 8px;
- }
-
- .orb-label svg {
- vertical-align: -2px;
- }
-
- .sd-shield-lead {
- max-width: 80ch;
- font-size: 0.9375rem;
- }
-
- .sd-shield-stats .sd-stat {
- text-align: center;
- }
-
- .sd-shield-ip {
- font-size: 1.05rem;
- word-break: break-all;
- padding-top: 0.3rem;
- }
-
- .sd-shield-stats .orb-pill {
- text-transform: none;
- letter-spacing: 0;
- }
-
- .sd-reason {
- display: flex;
- flex-direction: column;
- align-items: flex-start;
- gap: 4px;
- }
-
- .sd-allow {
- list-style: none;
- margin: 0;
- padding: 0;
- display: flex;
- flex-direction: column;
- gap: var(--orb-space-2);
- }
-
- .sd-allow li {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: var(--orb-space-3);
- padding: var(--orb-space-2) var(--orb-space-3);
- border-radius: var(--orb-radius-md);
- background: var(--orb-surface-alt);
- border: 1px solid var(--orb-border);
- word-break: break-all;
- }
-
- .sd-meter {
- display: block;
- width: 100%;
- max-width: 160px;
- height: 6px;
- margin-bottom: 4px;
- border: 0;
- border-radius: 999px;
- background: var(--orb-surface-alt);
- overflow: hidden;
- appearance: none;
- -webkit-appearance: none;
- }
-
- .sd-meter::-webkit-progress-bar {
- background: var(--orb-surface-alt);
- border-radius: 999px;
- }
-
- .sd-meter::-webkit-progress-value {
- background: var(--orb-danger);
- border-radius: 999px;
- }
-
- .sd-meter::-moz-progress-bar {
- background: var(--orb-danger);
- border-radius: 999px;
- }
-
- .sd-sr {
- position: absolute;
- width: 1px;
- height: 1px;
- overflow: hidden;
- clip: rect(0 0 0 0);
- white-space: nowrap;
- }
-
- .sd-viewer [hidden] {
- display: none !important;
- }
-
- .sd-view-cell {
- width: 1%;
- text-align: right;
- white-space: nowrap;
- }
-
- .sd-viewer {
- max-width: min(1180px, 100%);
- height: 88vh;
- height: 88dvh;
- max-height: none;
- }
-
- .sd-viewer-head {
- display: flex;
- flex-direction: column;
- gap: 2px;
- min-width: 0;
- }
-
- .sd-viewer-head .orb-modal-title {
- font-family: var(--orb-font-mono);
- font-size: 0.875rem;
- overflow-wrap: anywhere;
- }
-
- .sd-viewer-bar {
- display: flex;
- align-items: center;
- justify-content: space-between;
- flex-wrap: wrap;
- gap: var(--orb-space-2) var(--orb-space-4);
- padding: var(--orb-space-3) var(--orb-space-6);
- border-bottom: 1px solid var(--orb-border);
- flex-shrink: 0;
- }
-
- .sd-viewer-bar .orb-checkbox {
- margin: 0;
- }
-
- .sd-viewer-tools {
- display: flex;
- align-items: center;
- gap: var(--orb-space-3);
- margin-left: auto;
- }
-
- .sd-viewer-body {
- flex: 1;
- min-height: 0;
- overflow: auto;
- overscroll-behavior: contain;
- background: var(--orb-surface-alt);
- }
-
- .sd-viewer-note {
- padding: var(--orb-space-6);
- color: var(--orb-text-muted);
- }
-
- .sd-code {
- min-width: max-content;
- padding: var(--orb-space-2) 0;
- font-family: var(--orb-font-mono);
- font-size: 0.8125rem;
- line-height: 1.65;
- tab-size: 4;
- white-space: pre;
- color: var(--orb-text);
- }
-
- .sd-viewer-body.is-wrap .sd-code {
- min-width: 0;
- white-space: pre-wrap;
- overflow-wrap: anywhere;
- }
-
- .sd-row {
- display: flex;
- min-height: 1.65em;
- }
-
- .sd-ln {
- flex: 0 0 auto;
- width: 4.5ch;
- padding-right: 1ch;
- text-align: right;
- color: var(--orb-text-subtle);
- user-select: none;
- -webkit-user-select: none;
- position: sticky;
- left: 0;
- background: var(--orb-surface-alt);
- }
-
- .sd-ln + .sd-ln {
- left: 4.5ch;
- }
-
- .sd-ln::before {
- content: attr(data-l);
- }
-
- .sd-mk {
- flex: 0 0 2ch;
- text-align: center;
- user-select: none;
- -webkit-user-select: none;
- color: var(--orb-text-subtle);
- }
-
- .sd-lc {
- flex: 1 1 auto;
- padding-right: var(--orb-space-6);
- }
-
- .sd-code-plain .sd-lc {
- padding-left: 1.5ch;
- }
-
- .sd-add {
- background: color-mix(in srgb, var(--orb-success) 14%, transparent);
- }
-
- .sd-add .sd-ln,
- .sd-add .sd-mk {
- background: color-mix(in srgb, var(--orb-success) 22%, var(--orb-surface-alt));
- color: var(--orb-success);
- }
-
- .sd-del {
- background: color-mix(in srgb, var(--orb-danger) 13%, transparent);
- }
-
- .sd-del .sd-ln,
- .sd-del .sd-mk {
- background: color-mix(in srgb, var(--orb-danger) 20%, var(--orb-surface-alt));
- color: var(--orb-danger);
- }
-
- .sd-gap {
- padding: 2px 0 2px 11ch;
- margin: 2px 0;
- font-family: var(--orb-font-sans);
- font-size: 0.75rem;
- color: var(--orb-text-muted);
- background: color-mix(in srgb, var(--orb-primary) 7%, transparent);
- border-top: 1px dashed var(--orb-border);
- border-bottom: 1px dashed var(--orb-border);
- }
-
- .sd-diff-stat {
- font-family: var(--orb-font-mono);
- font-size: 0.75rem;
- }
-
- .sd-diff-stat .sd-plus {
- color: var(--orb-success);
- }
-
- .sd-diff-stat .sd-minus {
- color: var(--orb-danger);
- }
-
- .tk-c { color: #6b7280; font-style: italic; }
- .tk-s { color: #0f766e; }
- .tk-k { color: #a21caf; font-weight: 600; }
- .tk-n { color: #b45309; }
- .tk-f { color: #1d4ed8; }
- .tk-v { color: #be123c; }
- .tk-t { color: #7e22ce; }
- .tk-a { color: #0369a1; }
- .tk-p { color: #0e7490; }
-
- html.orb-dark .tk-c { color: #8b93a7; }
- html.orb-dark .tk-s { color: #5eead4; }
- html.orb-dark .tk-k { color: #f0abfc; }
- html.orb-dark .tk-n { color: #fdba74; }
- html.orb-dark .tk-f { color: #93c5fd; }
- html.orb-dark .tk-v { color: #fda4af; }
- html.orb-dark .tk-t { color: #d8b4fe; }
- html.orb-dark .tk-a { color: #7dd3fc; }
- html.orb-dark .tk-p { color: #67e8f9; }
-
- @media (max-width: 560px) {
- .sd-viewer {
- height: 92dvh;
- }
-
- .sd-viewer-bar {
- padding: var(--orb-space-3) var(--orb-space-5);
- }
-
- .sd-code {
- font-size: 0.75rem;
- }
- }
-
- @media (max-width: 960px) {
- .sd-sync-grid {
- grid-template-columns: minmax(0, 1fr);
- }
- }
-
- @media (max-width: 768px) {
- .orb-main {
- padding: var(--orb-space-4) var(--orb-space-4) calc(96px + env(safe-area-inset-bottom, 0px));
- }
-
- .sd-nav-form {
- margin-top: 0;
- flex: 1;
- min-width: 0;
- display: flex;
- }
-
- .sd-nav-button {
- text-align: center;
- }
-
- .sd-sidebar-foot {
- display: none;
- }
-
- .sd-auth-card .orb-card-body {
- padding: var(--orb-space-6) var(--orb-space-5);
- }
-
- .sd-auth-top {
- position: static;
- align-self: flex-end;
- }
-
- .sd-auth-wrap {
- justify-content: flex-start;
- padding-top: var(--orb-space-4);
- }
-
- .sd-stats {
- grid-template-columns: repeat(2, minmax(0, 1fr));
- }
-
- .sd-codes {
- grid-template-columns: minmax(0, 1fr);
- }
- }
-