.dgn-theme,.dgn-page-background{--dgn-primitive-color-background: #F2F2F7;--dgn-primitive-color-card: #FFFFFF;--dgn-primitive-color-label: #000000;--dgn-primitive-color-secondary: #636366;--dgn-primitive-color-separator: #E5E5EA;--dgn-primitive-color-press: #EDEDF2;--dgn-primitive-color-track: #E9E9EE;--dgn-primitive-color-tab: #F9F9F9;--dgn-primitive-color-blue: #007AFF;--dgn-primitive-color-heart: #FF2D55;--dgn-primitive-color-activity: #FF9500;--dgn-primitive-color-labs: #30B0C7;--dgn-primitive-color-green: #34C759;--dgn-primitive-color-purple: #AF52DE;--dgn-primitive-color-red: #FF3B30;--dgn-primitive-color-indigo: #5856D6;--dgn-primitive-color-gray: #8E8E93;--dgn-primitive-color-action-text: #0066D6;--dgn-primitive-color-heart-text: #CD1742;--dgn-primitive-color-labs-text: #167486;--dgn-primitive-color-purple-text: #8C35BB;--dgn-primitive-color-indigo-text: #4E4BC0;--dgn-primitive-color-good-text: #217A38;--dgn-primitive-color-warn-text: #9C5700;--dgn-primitive-color-bad-text: #C92B22;--dgn-primitive-color-good-background: #EAF8EE;--dgn-primitive-color-warn-background: #FFF1DB;--dgn-primitive-color-bad-background: #FFEBEA;--dgn-primitive-color-info-background: #E6F2FF;--dgn-primitive-color-backdrop: rgb(0 0 0 / 36%);--dgn-primitive-color-transparent: transparent;--dgn-primitive-space-none: 0px;--dgn-primitive-space-hairline: 1px;--dgn-primitive-space-half: 2px;--dgn-primitive-space-xs: 4px;--dgn-primitive-space-sm: 8px;--dgn-primitive-space-md: 12px;--dgn-primitive-space-gutter: 16px;--dgn-primitive-space-sheet: 20px;--dgn-primitive-space-lg: 24px;--dgn-primitive-space-xl: 32px;--dgn-primitive-size-frame: 520px;--dgn-primitive-size-dialog: 488px;--dgn-primitive-size-touch: 44px;--dgn-primitive-size-input: 48px;--dgn-primitive-size-tab: 52px;--dgn-primitive-size-bottom: 96px;--dgn-primitive-size-icon: 28px;--dgn-primitive-size-progress: 6px;--dgn-primitive-size-focus: 3px;--dgn-primitive-radius-card: 14px;--dgn-primitive-radius-control: 12px;--dgn-primitive-radius-tile: 7px;--dgn-primitive-radius-sheet: 16px;--dgn-primitive-radius-pill: 999px;--dgn-primitive-font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--dgn-primitive-font-large: 34px;--dgn-primitive-font-large-line: 41px;--dgn-primitive-font-section: 22px;--dgn-primitive-font-body: 17px;--dgn-primitive-font-label: 15px;--dgn-primitive-font-small: 13px;--dgn-primitive-font-badge: 12px;--dgn-primitive-font-tab: 10px;--dgn-primitive-font-regular: 400;--dgn-primitive-font-medium: 500;--dgn-primitive-font-semibold: 600;--dgn-primitive-font-bold: 700;--dgn-primitive-font-line: 1.4;--dgn-primitive-font-tight: -.02em;--dgn-primitive-motion-interaction: .12s;--dgn-semantic-background: var(--dgn-primitive-color-background);--dgn-semantic-surface: var(--dgn-primitive-color-card);--dgn-semantic-text: var(--dgn-primitive-color-label);--dgn-semantic-secondary: var(--dgn-primitive-color-secondary);--dgn-semantic-separator: var(--dgn-primitive-color-separator);--dgn-semantic-pressed: var(--dgn-primitive-color-press);--dgn-semantic-track: var(--dgn-primitive-color-track);--dgn-semantic-tab-surface: var(--dgn-primitive-color-tab);--dgn-semantic-action: var(--dgn-primitive-color-blue);--dgn-semantic-action-text: var(--dgn-primitive-color-action-text);--dgn-semantic-on-accent: var(--dgn-primitive-color-card);--dgn-semantic-backdrop: var(--dgn-primitive-color-backdrop);--dgn-semantic-transparent: var(--dgn-primitive-color-transparent);--dgn-semantic-accent-blue: var(--dgn-primitive-color-blue);--dgn-semantic-accent-heart: var(--dgn-primitive-color-heart);--dgn-semantic-accent-activity: var(--dgn-primitive-color-activity);--dgn-semantic-accent-labs: var(--dgn-primitive-color-labs);--dgn-semantic-accent-green: var(--dgn-primitive-color-green);--dgn-semantic-accent-purple: var(--dgn-primitive-color-purple);--dgn-semantic-accent-red: var(--dgn-primitive-color-red);--dgn-semantic-accent-indigo: var(--dgn-primitive-color-indigo);--dgn-semantic-accent-gray: var(--dgn-primitive-color-gray);--dgn-semantic-accent-text-blue: var(--dgn-primitive-color-action-text);--dgn-semantic-accent-text-heart: var(--dgn-primitive-color-heart-text);--dgn-semantic-accent-text-activity: var(--dgn-primitive-color-warn-text);--dgn-semantic-accent-text-labs: var(--dgn-primitive-color-labs-text);--dgn-semantic-accent-text-green: var(--dgn-primitive-color-good-text);--dgn-semantic-accent-text-purple: var(--dgn-primitive-color-purple-text);--dgn-semantic-accent-text-red: var(--dgn-primitive-color-bad-text);--dgn-semantic-accent-text-indigo: var(--dgn-primitive-color-indigo-text);--dgn-semantic-accent-text-gray: var(--dgn-primitive-color-secondary);--dgn-semantic-status-good-text: var(--dgn-primitive-color-good-text);--dgn-semantic-status-warn-text: var(--dgn-primitive-color-warn-text);--dgn-semantic-status-bad-text: var(--dgn-primitive-color-bad-text);--dgn-semantic-status-good-background: var(--dgn-primitive-color-good-background);--dgn-semantic-status-warn-background: var(--dgn-primitive-color-warn-background);--dgn-semantic-status-bad-background: var(--dgn-primitive-color-bad-background);--dgn-semantic-status-info-background: var(--dgn-primitive-color-info-background);--dgn-semantic-space-none: var(--dgn-primitive-space-none);--dgn-semantic-space-hairline: var(--dgn-primitive-space-hairline);--dgn-semantic-space-half: var(--dgn-primitive-space-half);--dgn-semantic-space-xs: var(--dgn-primitive-space-xs);--dgn-semantic-space-sm: var(--dgn-primitive-space-sm);--dgn-semantic-space-md: var(--dgn-primitive-space-md);--dgn-semantic-space-gutter: var(--dgn-primitive-space-gutter);--dgn-semantic-space-sheet: var(--dgn-primitive-space-sheet);--dgn-semantic-space-lg: var(--dgn-primitive-space-lg);--dgn-semantic-space-xl: var(--dgn-primitive-space-xl);--dgn-semantic-frame-width: var(--dgn-primitive-size-frame);--dgn-semantic-touch: var(--dgn-primitive-size-touch);--dgn-semantic-input: var(--dgn-primitive-size-input);--dgn-semantic-focus: var(--dgn-primitive-size-focus);--dgn-semantic-font-family: var(--dgn-primitive-font-family);--dgn-semantic-font-large: var(--dgn-primitive-font-large);--dgn-semantic-font-large-line: var(--dgn-primitive-font-large-line);--dgn-semantic-font-section: var(--dgn-primitive-font-section);--dgn-semantic-font-body: var(--dgn-primitive-font-body);--dgn-semantic-font-label: var(--dgn-primitive-font-label);--dgn-semantic-font-small: var(--dgn-primitive-font-small);--dgn-semantic-font-badge: var(--dgn-primitive-font-badge);--dgn-semantic-font-tab: var(--dgn-primitive-font-tab);--dgn-semantic-font-regular: var(--dgn-primitive-font-regular);--dgn-semantic-font-medium: var(--dgn-primitive-font-medium);--dgn-semantic-font-semibold: var(--dgn-primitive-font-semibold);--dgn-semantic-font-bold: var(--dgn-primitive-font-bold);--dgn-semantic-font-line: var(--dgn-primitive-font-line);--dgn-semantic-font-tight: var(--dgn-primitive-font-tight);--dgn-semantic-motion: var(--dgn-primitive-motion-interaction);--dgn-semantic-radius-card: var(--dgn-primitive-radius-card);--dgn-semantic-radius-control: var(--dgn-primitive-radius-control);--dgn-semantic-radius-tile: var(--dgn-primitive-radius-tile);--dgn-semantic-radius-sheet: var(--dgn-primitive-radius-sheet);--dgn-semantic-radius-pill: var(--dgn-primitive-radius-pill);--dgn-semantic-size-dialog: var(--dgn-primitive-size-dialog);--dgn-semantic-size-tab: var(--dgn-primitive-size-tab);--dgn-semantic-size-bottom: var(--dgn-primitive-size-bottom);--dgn-semantic-size-icon: var(--dgn-primitive-size-icon);--dgn-semantic-size-progress: var(--dgn-primitive-size-progress);--dgn-component-frame-width: var(--dgn-semantic-frame-width);--dgn-component-card-radius: var(--dgn-semantic-radius-card);--dgn-component-control-radius: var(--dgn-semantic-radius-control);--dgn-component-tile-radius: var(--dgn-semantic-radius-tile);--dgn-component-sheet-radius: var(--dgn-semantic-radius-sheet);--dgn-component-pill-radius: var(--dgn-semantic-radius-pill);--dgn-component-dialog-width: var(--dgn-semantic-size-dialog);--dgn-component-tab-height: var(--dgn-semantic-size-tab);--dgn-component-content-bottom: var(--dgn-semantic-size-bottom);--dgn-component-tile-size: var(--dgn-semantic-size-icon);--dgn-component-progress-height: var(--dgn-semantic-size-progress);--dgn-component-progress-color: var(--dgn-semantic-status-warn-text)}.dgn-theme{color:var(--dgn-semantic-text);background:var(--dgn-semantic-background);font-family:var(--dgn-semantic-font-family);font-size:var(--dgn-semantic-font-body);line-height:var(--dgn-semantic-font-line);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:var(--dgn-semantic-transparent)}.dgn-theme,.dgn-theme *,.dgn-theme *:before,.dgn-theme *:after{box-sizing:border-box}.dgn-theme :where(h1,h2,p){margin:var(--dgn-semantic-space-none)}.dgn-theme :where(button,input,select,textarea){font:inherit;touch-action:manipulation}.dgn-theme :where(button){cursor:pointer;border:var(--dgn-semantic-space-none);margin:var(--dgn-semantic-space-none)}.dgn-theme :where(button,a,input,select,textarea):focus-visible{outline:var(--dgn-semantic-focus) solid var(--dgn-semantic-action);outline-offset:var(--dgn-semantic-focus)}.dgn-theme :where(button):disabled{cursor:default;opacity:.5}.dgn-theme :where(a){color:var(--dgn-semantic-action-text)}.dgn-theme :where(button,a){min-height:var(--dgn-semantic-touch)}.dgn-theme :where(input,select,textarea){min-height:var(--dgn-semantic-input)}.dgn-theme [hidden]{display:none!important}.dgn-page-background{background:var(--dgn-semantic-background)}.dgn-frame{width:100%;max-width:var(--dgn-component-frame-width);min-height:100dvh;margin-inline:auto;overflow-wrap:anywhere}.dgn-theme .dgn-page{padding-bottom:var(--dgn-semantic-space-xl)}.dgn-theme .dgn-page-with-tabs{padding-bottom:calc(var(--dgn-component-content-bottom) + env(safe-area-inset-bottom,0px))}.dgn-theme .dgn-header{padding:max(env(safe-area-inset-top,0px),var(--dgn-semantic-space-md)) var(--dgn-semantic-space-gutter) var(--dgn-semantic-space-sm)}.dgn-theme .dgn-eyebrow{margin-top:var(--dgn-semantic-space-sm);color:var(--dgn-semantic-secondary);font-size:var(--dgn-semantic-font-small);font-weight:var(--dgn-semantic-font-semibold);text-transform:uppercase}.dgn-theme .dgn-header-line{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--dgn-semantic-space-sm)}.dgn-theme .dgn-header-action{flex-shrink:0;max-width:45%}.dgn-theme .dgn-large-title{font-size:var(--dgn-semantic-font-large);line-height:var(--dgn-semantic-font-large-line);font-weight:var(--dgn-semantic-font-bold);letter-spacing:var(--dgn-semantic-font-tight);min-width:0}.dgn-theme .dgn-section{padding-inline:var(--dgn-semantic-space-gutter);margin-top:var(--dgn-semantic-space-lg)}.dgn-theme .dgn-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--dgn-semantic-space-sm);margin-bottom:var(--dgn-semantic-space-sm)}.dgn-theme .dgn-section-title{font-size:var(--dgn-semantic-font-section);font-weight:var(--dgn-semantic-font-bold);letter-spacing:var(--dgn-semantic-font-tight);min-width:0}.dgn-theme .dgn-card{background:var(--dgn-semantic-surface);border-radius:var(--dgn-component-card-radius)}.dgn-theme .dgn-metric{display:block;width:100%;padding:var(--dgn-semantic-space-gutter);text-align:left;color:var(--dgn-semantic-text)}.dgn-theme button.dgn-metric:active,.dgn-theme button.dgn-row:active{background:var(--dgn-semantic-pressed)}.dgn-theme .dgn-metric-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--dgn-semantic-space-sm)}.dgn-theme .dgn-metric-label{display:flex;align-items:center;gap:var(--dgn-semantic-space-xs);font-size:var(--dgn-semantic-font-label);font-weight:var(--dgn-semantic-font-semibold);color:var(--dgn-accent-text)}.dgn-theme .dgn-metric-label>span{color:var(--dgn-accent)}.dgn-theme .dgn-metric-time{color:var(--dgn-semantic-secondary);font-size:var(--dgn-semantic-font-small);text-align:right}.dgn-theme .dgn-metric-content{margin-top:var(--dgn-semantic-space-md)}.dgn-theme .dgn-stat-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--dgn-semantic-space-xs)}.dgn-theme .dgn-stat{font-size:var(--dgn-semantic-font-large);font-weight:var(--dgn-semantic-font-bold);line-height:1.25;font-variant-numeric:tabular-nums;min-width:0}.dgn-theme .dgn-stat-unit{font-size:var(--dgn-semantic-font-label);color:var(--dgn-semantic-secondary);font-weight:var(--dgn-semantic-font-semibold)}.dgn-theme .dgn-hint{color:var(--dgn-semantic-secondary);font-size:var(--dgn-semantic-font-small);margin-top:var(--dgn-semantic-space-half)}.dgn-theme .dgn-grouped-list{overflow:hidden;border-radius:var(--dgn-component-card-radius);background:var(--dgn-semantic-surface)}.dgn-theme .dgn-row{display:block;width:100%;min-height:var(--dgn-semantic-touch);padding:var(--dgn-semantic-space-none) var(--dgn-semantic-space-none) var(--dgn-semantic-space-none) var(--dgn-semantic-space-gutter);background:var(--dgn-semantic-surface);color:var(--dgn-semantic-text);text-align:left}.dgn-theme .dgn-row-content{display:flex;align-items:center;gap:var(--dgn-semantic-space-md);min-width:0;padding:var(--dgn-semantic-space-md) var(--dgn-semantic-space-gutter) var(--dgn-semantic-space-md) var(--dgn-semantic-space-none);border-bottom:var(--dgn-semantic-space-hairline) solid var(--dgn-semantic-separator)}.dgn-theme button.dgn-row:focus-visible{outline-offset:calc(-1 * var(--dgn-semantic-focus))}.dgn-theme .dgn-row:last-child .dgn-row-content,.dgn-theme .dgn-row-last .dgn-row-content{border-bottom:0}.dgn-theme ul.dgn-grouped-list{list-style:none;margin:0;padding:0}.dgn-theme .dgn-row-item{display:block}.dgn-theme .dgn-row-item>.dgn-row .dgn-row-content{border-bottom:var(--dgn-semantic-space-hairline) solid var(--dgn-semantic-separator)}.dgn-theme .dgn-row-item:last-child>.dgn-row .dgn-row-content,.dgn-theme .dgn-row-item.dgn-row-last>.dgn-row .dgn-row-content{border-bottom:0}.dgn-theme .dgn-icon-tile{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--dgn-component-tile-size);height:var(--dgn-component-tile-size);border-radius:var(--dgn-component-tile-radius);color:var(--dgn-semantic-on-accent);background:var(--dgn-accent)}.dgn-theme .dgn-tone-blue{--dgn-accent: var(--dgn-semantic-accent-blue);--dgn-accent-text: var(--dgn-semantic-accent-text-blue)}.dgn-theme .dgn-tone-heart{--dgn-accent: var(--dgn-semantic-accent-heart);--dgn-accent-text: var(--dgn-semantic-accent-text-heart)}.dgn-theme .dgn-tone-activity{--dgn-accent: var(--dgn-semantic-accent-activity);--dgn-accent-text: var(--dgn-semantic-accent-text-activity)}.dgn-theme .dgn-tone-labs{--dgn-accent: var(--dgn-semantic-accent-labs);--dgn-accent-text: var(--dgn-semantic-accent-text-labs)}.dgn-theme .dgn-tone-green{--dgn-accent: var(--dgn-semantic-accent-green);--dgn-accent-text: var(--dgn-semantic-accent-text-green)}.dgn-theme .dgn-tone-purple{--dgn-accent: var(--dgn-semantic-accent-purple);--dgn-accent-text: var(--dgn-semantic-accent-text-purple)}.dgn-theme .dgn-tone-red{--dgn-accent: var(--dgn-semantic-accent-red);--dgn-accent-text: var(--dgn-semantic-accent-text-red)}.dgn-theme .dgn-tone-indigo{--dgn-accent: var(--dgn-semantic-accent-indigo);--dgn-accent-text: var(--dgn-semantic-accent-text-indigo)}.dgn-theme .dgn-tone-gray{--dgn-accent: var(--dgn-semantic-accent-gray);--dgn-accent-text: var(--dgn-semantic-accent-text-gray)}.dgn-theme .dgn-badge{display:inline-block;flex-shrink:0;padding:var(--dgn-semantic-space-half) var(--dgn-semantic-space-sm);border-radius:var(--dgn-component-pill-radius);font-size:var(--dgn-semantic-font-badge);font-weight:var(--dgn-semantic-font-semibold)}.dgn-theme .dgn-badge-neutral{color:var(--dgn-semantic-secondary);background:var(--dgn-semantic-background)}.dgn-theme .dgn-badge-info{color:var(--dgn-semantic-action-text);background:var(--dgn-semantic-status-info-background)}.dgn-theme .dgn-badge-good{color:var(--dgn-semantic-status-good-text);background:var(--dgn-semantic-status-good-background)}.dgn-theme .dgn-badge-warn{color:var(--dgn-semantic-status-warn-text);background:var(--dgn-semantic-status-warn-background)}.dgn-theme .dgn-badge-bad{color:var(--dgn-semantic-status-bad-text);background:var(--dgn-semantic-status-bad-background)}.dgn-theme .dgn-empty{padding:var(--dgn-semantic-space-lg);color:var(--dgn-semantic-secondary);text-align:center}.dgn-theme .dgn-empty-action{margin-top:var(--dgn-semantic-space-md)}.dgn-theme .dgn-status{display:flex;align-items:center;gap:var(--dgn-semantic-space-sm);padding:var(--dgn-semantic-space-xs) var(--dgn-semantic-space-xs) var(--dgn-semantic-space-xs) var(--dgn-semantic-space-gutter);border-radius:var(--dgn-component-card-radius);font-size:var(--dgn-semantic-font-label)}.dgn-theme .dgn-status-text{flex:1;min-width:0;padding-block:var(--dgn-semantic-space-sm)}.dgn-theme .dgn-status-good{color:var(--dgn-semantic-status-good-text);background:var(--dgn-semantic-status-good-background)}.dgn-theme .dgn-status-warn{color:var(--dgn-semantic-status-warn-text);background:var(--dgn-semantic-status-warn-background)}.dgn-theme .dgn-status-bad{color:var(--dgn-semantic-status-bad-text);background:var(--dgn-semantic-status-bad-background)}.dgn-theme .dgn-status-info{color:var(--dgn-semantic-action-text);background:var(--dgn-semantic-status-info-background)}.dgn-theme .dgn-status-dismiss{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--dgn-semantic-touch);height:var(--dgn-semantic-touch);border-radius:var(--dgn-component-pill-radius);background:var(--dgn-semantic-transparent);color:inherit;font-size:var(--dgn-semantic-font-section)}.dgn-theme .dgn-button{min-width:var(--dgn-semantic-touch);min-height:var(--dgn-semantic-input);padding:var(--dgn-semantic-space-md) var(--dgn-semantic-space-gutter);border-radius:var(--dgn-component-control-radius);font-size:var(--dgn-semantic-font-body);font-weight:var(--dgn-semantic-font-semibold);transition:opacity var(--dgn-semantic-motion)}.dgn-theme .dgn-button:active{opacity:.7}.dgn-theme .dgn-button-primary{color:var(--dgn-semantic-on-accent);background:var(--dgn-semantic-action-text)}.dgn-theme .dgn-button-plain{color:var(--dgn-semantic-action-text);background:var(--dgn-semantic-surface)}.dgn-theme .dgn-button-danger{color:var(--dgn-semantic-status-bad-text);background:var(--dgn-semantic-status-bad-background)}.dgn-theme .dgn-button-tinted{color:var(--dgn-semantic-action-text);background:var(--dgn-semantic-status-info-background)}.dgn-theme .dgn-button-compact{min-height:var(--dgn-semantic-touch);padding:var(--dgn-semantic-space-sm) var(--dgn-semantic-space-md);font-size:var(--dgn-semantic-font-label)}.dgn-theme .dgn-button-block{display:block;width:100%}.dgn-theme .dgn-icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--dgn-semantic-touch);height:var(--dgn-semantic-touch);padding:0;border-radius:var(--dgn-component-pill-radius);background:var(--dgn-semantic-transparent);color:var(--dgn-semantic-action-text);font-size:var(--dgn-semantic-font-section)}.dgn-theme .dgn-icon-button:active{background:var(--dgn-semantic-pressed)}.dgn-theme .dgn-icon-button-icon{display:inline-flex;align-items:center;justify-content:center}.dgn-theme .dgn-icon-button-avatar{background:var(--dgn-semantic-track);color:var(--dgn-semantic-text);font-size:var(--dgn-semantic-font-small);font-weight:var(--dgn-semantic-font-semibold)}.dgn-theme .dgn-icon-button-badge{position:absolute;top:var(--dgn-semantic-space-sm);right:var(--dgn-semantic-space-sm);width:calc(var(--dgn-semantic-space-sm) + var(--dgn-semantic-space-xs));height:calc(var(--dgn-semantic-space-sm) + var(--dgn-semantic-space-xs));border-radius:var(--dgn-component-pill-radius);background:var(--dgn-semantic-accent-red);border:var(--dgn-semantic-space-half) solid var(--dgn-semantic-background)}.dgn-theme .dgn-segmented{display:flex;gap:var(--dgn-semantic-space-half);padding:var(--dgn-semantic-space-half);border-radius:var(--dgn-component-control-radius);background:var(--dgn-semantic-track)}.dgn-theme .dgn-segment{flex:1 1 0;min-width:0;min-height:var(--dgn-semantic-touch);padding:var(--dgn-semantic-space-xs) var(--dgn-semantic-space-sm);border-radius:calc(var(--dgn-component-control-radius) - var(--dgn-semantic-space-half));background:var(--dgn-semantic-transparent);color:var(--dgn-semantic-text);font-size:var(--dgn-semantic-font-small);font-weight:var(--dgn-semantic-font-medium)}.dgn-theme .dgn-segment[aria-pressed=true]{background:var(--dgn-semantic-surface);font-weight:var(--dgn-semantic-font-semibold);box-shadow:0 0 0 var(--dgn-semantic-space-hairline) var(--dgn-semantic-separator)}.dgn-theme .dgn-chips{display:flex;gap:var(--dgn-semantic-space-sm);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding-block:var(--dgn-semantic-space-half)}.dgn-theme .dgn-chips::-webkit-scrollbar{display:none}.dgn-theme .dgn-chip{flex:none;min-width:var(--dgn-semantic-touch);min-height:var(--dgn-semantic-touch);padding:0 var(--dgn-semantic-space-gutter);border-radius:var(--dgn-component-pill-radius);background:var(--dgn-semantic-surface);color:var(--dgn-semantic-text);box-shadow:inset 0 0 0 var(--dgn-semantic-space-hairline) var(--dgn-semantic-separator);font-size:var(--dgn-semantic-font-label);font-weight:var(--dgn-semantic-font-regular);white-space:nowrap}.dgn-theme .dgn-chip[aria-pressed=true]{background:var(--dgn-semantic-action-text);color:var(--dgn-semantic-on-accent);box-shadow:none;font-weight:var(--dgn-semantic-font-semibold)}.dgn-theme .dgn-field-group{min-width:0}.dgn-theme .dgn-field-label{display:block;margin-bottom:var(--dgn-semantic-space-xs);font-weight:var(--dgn-semantic-font-semibold);font-size:var(--dgn-semantic-font-label)}.dgn-theme .dgn-field{width:100%;border-radius:var(--dgn-component-control-radius);padding:var(--dgn-semantic-space-md);color:var(--dgn-semantic-text);background:var(--dgn-semantic-surface);border:var(--dgn-semantic-space-hairline) solid var(--dgn-semantic-separator)}.dgn-theme .dgn-field[aria-invalid=true]{border-color:var(--dgn-semantic-status-bad-text)}.dgn-theme .dgn-field-error{color:var(--dgn-semantic-status-bad-text);font-size:var(--dgn-semantic-font-small);margin-top:var(--dgn-semantic-space-xs)}.dgn-theme .dgn-select-wrap{position:relative}.dgn-theme .dgn-select-wrap:after{content:"";position:absolute;top:50%;right:var(--dgn-semantic-space-gutter);width:var(--dgn-semantic-space-sm);height:var(--dgn-semantic-space-sm);border-right:var(--dgn-semantic-space-half) solid var(--dgn-semantic-secondary);border-bottom:var(--dgn-semantic-space-half) solid var(--dgn-semantic-secondary);transform:translateY(-75%) rotate(45deg);pointer-events:none}.dgn-theme .dgn-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:calc(var(--dgn-semantic-space-gutter) * 2 + var(--dgn-semantic-space-sm));text-overflow:ellipsis}.dgn-theme .dgn-progress{height:var(--dgn-component-progress-height);border-radius:var(--dgn-component-pill-radius);background:var(--dgn-semantic-track);overflow:hidden}.dgn-theme .dgn-progress-fill{width:var(--dgn-progress-value);height:100%;border-radius:inherit;background:var(--dgn-component-progress-color)}.dgn-theme .dgn-tab-bar{position:fixed;inset-inline:0;bottom:0;max-width:var(--dgn-component-frame-width);margin-inline:auto;z-index:30;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--dgn-semantic-tab-surface);border-top:var(--dgn-semantic-space-hairline) solid var(--dgn-semantic-separator)}.dgn-theme .dgn-tabs{display:flex;height:var(--dgn-component-tab-height)}.dgn-theme .dgn-tab{display:flex;flex:1 1 0;min-width:0;align-items:center;justify-content:center;flex-direction:column;gap:var(--dgn-semantic-space-half);background:var(--dgn-semantic-transparent);color:var(--dgn-semantic-secondary);font-size:var(--dgn-semantic-font-tab);font-weight:var(--dgn-semantic-font-medium)}.dgn-theme .dgn-tab[aria-current]{color:var(--dgn-semantic-action-text)}.dgn-theme .dgn-tab-icon{display:flex;font-size:var(--dgn-semantic-font-section)}.dgn-theme .dgn-nav-bar{position:sticky;top:0;z-index:20;background:var(--dgn-semantic-background);padding-top:max(env(safe-area-inset-top,0px),var(--dgn-semantic-space-md))}.dgn-theme .dgn-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--dgn-semantic-space-sm);min-height:var(--dgn-semantic-touch);padding-inline:var(--dgn-semantic-space-sm)}.dgn-theme .dgn-back{display:flex;align-items:center;gap:var(--dgn-semantic-space-xs);flex-shrink:0;max-width:45%;background:var(--dgn-semantic-transparent);color:var(--dgn-semantic-action-text);padding:var(--dgn-semantic-space-none)}.dgn-theme .dgn-back>span{font-size:var(--dgn-semantic-font-large)}.dgn-theme .dgn-nav-title{min-width:0;font-weight:var(--dgn-semantic-font-semibold);text-align:center}.dgn-theme .dgn-nav-right{flex-shrink:0;max-width:40%}.dgn-theme .dgn-modal{color:var(--dgn-semantic-text);background:var(--dgn-semantic-surface);border:0;border-radius:var(--dgn-component-card-radius);padding:var(--dgn-semantic-space-sheet);width:min(var(--dgn-component-dialog-width),calc(100% - var(--dgn-semantic-space-xl)));max-height:calc(100dvh - var(--dgn-semantic-space-xl));overflow-y:auto;overscroll-behavior:contain}.dgn-theme .dgn-modal::backdrop{background:var(--dgn-semantic-backdrop)}.dgn-theme .dgn-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--dgn-semantic-space-md);margin-bottom:var(--dgn-semantic-space-gutter)}@media (max-width: 639px){.dgn-theme .dgn-modal{width:100%;max-width:var(--dgn-component-frame-width);margin:auto auto 0;border-radius:var(--dgn-component-sheet-radius) var(--dgn-component-sheet-radius) 0 0;padding-bottom:max(var(--dgn-semantic-space-xl),env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion: reduce){.dgn-theme *,.dgn-theme *:before,.dgn-theme *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}html,body{margin:0}.app code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.app h3{margin:0}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--dgn-semantic-space-sm);padding:max(env(safe-area-inset-top,0px),var(--dgn-semantic-space-xs)) var(--dgn-semantic-space-sm) 0 var(--dgn-semantic-space-gutter)}.brand{display:inline-flex;align-items:center;gap:var(--dgn-semantic-space-sm);color:var(--dgn-semantic-text)!important;text-decoration:none;font-size:var(--dgn-semantic-font-label);font-weight:var(--dgn-semantic-font-semibold)}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--dgn-semantic-track);color:var(--dgn-semantic-text);font-size:var(--dgn-semantic-font-small);font-weight:var(--dgn-semantic-font-semibold)}.avatar.large{width:48px;height:48px;font-size:var(--dgn-semantic-font-label);background:var(--dgn-semantic-status-info-background);color:var(--dgn-semantic-action-text)}.row-text{display:flex;flex-direction:column;flex:1;min-width:0}.row-title{font-size:var(--dgn-semantic-font-body)}.row-detail{font-size:var(--dgn-semantic-font-small);color:var(--dgn-semantic-secondary)}.row-value{font-variant-numeric:tabular-nums;font-weight:var(--dgn-semantic-font-semibold);white-space:nowrap}.chevron{flex-shrink:0;color:var(--dgn-semantic-accent-gray)}.ok{flex-shrink:0;color:var(--dgn-semantic-status-good-text)}.card-title{font-size:var(--dgn-semantic-font-body);font-weight:var(--dgn-semantic-font-semibold);color:var(--dgn-semantic-text)}.card-detail{margin-top:var(--dgn-semantic-space-half);font-size:var(--dgn-semantic-font-small);color:var(--dgn-semantic-secondary)}.membership{padding:var(--dgn-semantic-space-gutter)}.membership-top,.membership-bottom,.pass-head{display:flex;align-items:center;justify-content:space-between;gap:var(--dgn-semantic-space-sm)}.membership-label{display:inline-flex;align-items:center;gap:var(--dgn-semantic-space-sm);font-size:var(--dgn-semantic-font-label);font-weight:var(--dgn-semantic-font-semibold);color:var(--dgn-semantic-accent-text-indigo)}.membership h2{margin-top:var(--dgn-semantic-space-md);font-size:var(--dgn-semantic-font-large);line-height:var(--dgn-semantic-font-large-line);font-weight:var(--dgn-semantic-font-bold);letter-spacing:var(--dgn-semantic-font-tight)}.membership-meta{margin-top:var(--dgn-semantic-space-half);font-size:var(--dgn-semantic-font-small);color:var(--dgn-semantic-secondary)}.membership-bottom{margin-top:var(--dgn-semantic-space-gutter);flex-wrap:wrap}.member-code{font-size:var(--dgn-semantic-font-small);color:var(--dgn-semantic-secondary);font-variant-numeric:tabular-nums;letter-spacing:.06em}.with-icon{display:inline-flex;align-items:center;justify-content:center;gap:var(--dgn-semantic-space-sm)}.app .link-button{min-height:var(--dgn-semantic-touch);padding:0 var(--dgn-semantic-space-xs);background:transparent;font-size:var(--dgn-semantic-font-label);font-weight:var(--dgn-semantic-font-regular)}.form-card{display:flex;flex-direction:column;gap:var(--dgn-semantic-space-md);padding:var(--dgn-semantic-space-gutter)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dgn-semantic-space-md)}.stack{display:flex;flex-direction:column;gap:var(--dgn-semantic-space-md)}.rule{margin-top:var(--dgn-semantic-space-md)!important}.center{text-align:center}.dgn-segmented+.field-grid{margin-top:var(--dgn-semantic-space-gutter)}.top-actions{display:flex;align-items:center;gap:var(--dgn-semantic-space-xs)}.dgn-status{margin-bottom:var(--dgn-semantic-space-sm)}.chip-row{margin-top:var(--dgn-semantic-space-md)}.session-list article .dgn-row-content{align-items:flex-start}.session-list article .dgn-button{flex:none;align-self:center}.session-time{display:flex;flex-direction:column;flex:none;width:52px;font-size:var(--dgn-semantic-font-small);color:var(--dgn-semantic-secondary);font-variant-numeric:tabular-nums}.session-time b{white-space:nowrap;font-size:var(--dgn-semantic-font-body);color:var(--dgn-semantic-text);font-weight:var(--dgn-semantic-font-semibold)}.session-info{flex:1;min-width:0}.session-info h3{margin-top:var(--dgn-semantic-space-xs);font-size:var(--dgn-semantic-font-body);font-weight:var(--dgn-semantic-font-semibold)}.session-info p{font-size:var(--dgn-semantic-font-small);color:var(--dgn-semantic-secondary)}.session-info p.full{color:var(--dgn-semantic-status-warn-text)}.progress-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dgn-semantic-space-md)}.chart{padding:var(--dgn-semantic-space-gutter)}.chart svg{display:block;width:100%;height:150px}.chart .grid{stroke:var(--dgn-semantic-separator)}.chart .line{stroke:var(--dgn-semantic-action)}.pass-symbol{display:grid;place-items:center;height:150px;border-radius:var(--dgn-component-card-radius);background:var(--dgn-semantic-background);color:var(--dgn-semantic-text)}.pass-code{display:block;margin:var(--dgn-semantic-space-md) 0 var(--dgn-semantic-space-xs);text-align:center;font-size:var(--dgn-semantic-font-section);font-weight:var(--dgn-semantic-font-semibold);letter-spacing:.08em;overflow-wrap:anywhere}.dgn-modal .dgn-button-block{margin-top:var(--dgn-semantic-space-gutter)}@media (max-width:359px){.field-grid{grid-template-columns:minmax(0,1fr)}}
