:root{--ddc-primary:#ec4899;--ddc-primary-dark:#db2777;--ddc-text:#1e293b;--ddc-text-muted:#475569;--ddc-text-light:#64748b;--ddc-text-lighter:#94a3b8;--ddc-bg:#fff;--ddc-bg-hover:#f8fafc;--ddc-border:#e2e8f0;--ddc-border-light:#f1f5f9;--ddc-card-bg:#fff;--ddc-card-shadow:0 1px 3px #00000014, 0 1px 2px #0000000a;--ddc-card-radius:var(--main-radius-lg);--ddc-main-bg:linear-gradient(135deg, #ec4899 0%, #db2777 100%);--ddc-main-text:#fff;--ddc-input-bg:#fff;--ddc-input-border:#e2e8f0;--ddc-input-focus-border:var(--ddc-primary);--ddc-input-focus-shadow:0 0 0 3px #ec48991a;--ddc-icon-pink:#ec4899;--ddc-icon-pink-bg:#ec48991a;--ddc-icon-purple:#8b5cf6;--ddc-icon-purple-bg:#8b5cf61a;--ddc-tri-1:#f9a8d4;--ddc-tri-2:#c084fc;--ddc-tri-3:#60a5fa}._ddc-container{gap:var(--main-space-5);flex-direction:column;width:100%;max-width:720px;margin:0 auto;display:flex}.hidden{display:none!important}._ddc-results{gap:var(--main-space-5);flex-direction:column;display:flex}._ddc-empty{padding:var(--main-space-10) var(--main-space-4);text-align:center;justify-content:center;align-items:center;gap:var(--main-space-3);flex-direction:column;display:flex}._ddc-empty-icon{background:var(--ddc-border-light);border-radius:var(--main-radius-full);justify-content:center;align-items:center;width:64px;height:64px;display:flex}._ddc-empty-icon svg{color:var(--ddc-text-lighter)}._ddc-empty span{color:var(--ddc-text-light);font-size:var(--main-text-sm)}._ddc-card-header{align-items:center;gap:var(--main-space-3);padding:var(--main-space-4);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--ddc-border-light);display:flex}._ddc-card-header span{font-size:var(--main-text-sm);color:var(--ddc-text);font-weight:600}._ddc-card-icon{border-radius:var(--main-radius);justify-content:center;align-items:center;width:32px;height:32px;display:flex}._ddc-card-icon--pink{background:var(--ddc-icon-pink-bg);color:var(--ddc-icon-pink)}._ddc-card-icon--purple{background:var(--ddc-icon-purple-bg);color:var(--ddc-icon-purple)}@media (max-width:768px){._ddc-container{gap:var(--main-space-4);padding-left:1rem;padding-right:1rem}._ddc-results{gap:var(--main-space-4)}}._ddc-mode-list{gap:var(--main-space-2);flex-direction:column;display:flex}._ddc-mode-card{align-items:center;gap:var(--main-space-3);padding:var(--main-space-4);background:var(--ddc-card-bg);border-style:solid;border-width:1px;border-color:var(--ddc-border);border-radius:var(--ddc-card-radius);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,box-shadow .15s;display:flex}._ddc-mode-card:hover{border-color:var(--ddc-primary)}._ddc-mode-card--active{border-color:var(--ddc-primary);box-shadow:0 0 0 1px var(--ddc-primary)}._ddc-mode-radio{border-radius:var(--main-radius-full);border-style:solid;border-width:2px;border-color:var(--ddc-border);flex-shrink:0;width:20px;height:20px;transition:border-color .15s;position:relative}._ddc-mode-card--active ._ddc-mode-radio{border-color:var(--ddc-primary)}._ddc-mode-card--active ._ddc-mode-radio:after{content:"";border-radius:var(--main-radius-full);background:var(--ddc-primary);width:10px;height:10px;position:absolute;top:3px;left:3px}._ddc-mode-info{flex-direction:column;gap:2px;min-width:0;display:flex}._ddc-mode-title{font-size:var(--main-text-sm);color:var(--ddc-text);font-weight:600}._ddc-mode-desc{font-size:var(--main-text-xs);color:var(--ddc-text-light);line-height:1.4}._ddc-input-section{width:100%}._ddc-input-card{background:var(--ddc-card-bg);border-radius:var(--ddc-card-radius);padding:var(--main-space-5);box-shadow:var(--ddc-card-shadow);gap:var(--main-space-4);flex-direction:column;display:flex}._ddc-input-row{gap:var(--main-space-4);grid-template-columns:1fr auto;align-items:start;display:grid}._ddc-input-field{gap:var(--main-space-2);flex-direction:column;display:flex}._ddc-input-field label{align-items:center;gap:var(--main-space-2);font-size:var(--main-text-sm);color:var(--ddc-text);font-weight:500;display:flex}._ddc-input-field label svg{color:var(--ddc-primary)}._ddc-input-wrap{align-items:center;display:flex;position:relative}._ddc-input{width:100%;font-size:var(--main-text-base);background:var(--ddc-input-bg);border-style:solid;border-width:1px;border-color:var(--ddc-input-border);border-radius:var(--main-radius);color:var(--ddc-text);cursor:pointer;padding:.75rem 2.5rem .75rem 1rem;transition:border-color .15s,box-shadow .15s}._ddc-input::placeholder{color:var(--ddc-text-lighter)}._ddc-input:focus{border-color:var(--ddc-input-focus-border);box-shadow:var(--ddc-input-focus-shadow);outline:none}._ddc-input-icon{color:var(--ddc-text-lighter);pointer-events:none;align-items:center;display:flex;position:absolute;right:.875rem}._ddc-today-btn{align-items:center;gap:var(--main-space-1);font-size:var(--main-text-xs);color:var(--ddc-primary);border-style:solid;border-width:1px;border-color:var(--ddc-border);border-radius:var(--main-radius-full);cursor:pointer;background:0 0;align-self:flex-start;padding:.25rem .625rem;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}._ddc-today-btn svg{color:var(--ddc-primary)}._ddc-today-btn:hover{background:var(--ddc-bg-hover);border-color:var(--ddc-primary)}._ddc-cycle-field{gap:var(--main-space-2);flex-direction:column;display:flex}._ddc-cycle-field label{align-items:center;gap:var(--main-space-2);font-size:var(--main-text-sm);color:var(--ddc-text);font-weight:500;display:flex}._ddc-cycle-field label svg{color:var(--ddc-primary)}._ddc-cycle-wrap{align-items:center;gap:var(--main-space-2);display:flex}._ddc-cycle-btn{width:36px;height:36px;font-size:var(--main-text-lg);color:var(--ddc-text-muted);background:var(--ddc-bg-hover);border-style:solid;border-width:1px;border-color:var(--ddc-border);border-radius:var(--main-radius);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}._ddc-cycle-btn:hover{background:var(--ddc-primary);border-color:var(--ddc-primary);color:#fff}._ddc-cycle-input{text-align:center;width:48px;font-size:var(--main-text-base);color:var(--ddc-text);-moz-appearance:textfield;background:0 0;border:none;padding:.5rem 0;font-weight:600}._ddc-cycle-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}._ddc-cycle-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}._ddc-cycle-unit{font-size:var(--main-text-sm);color:var(--ddc-text-muted)}._ddc-cycle-hint{font-size:var(--main-text-xs);color:var(--ddc-text-light)}@media (max-width:600px){._ddc-mode-card{padding:var(--main-space-3)}._ddc-input-card{padding:var(--main-space-4)}._ddc-input-row{gap:var(--main-space-3);grid-template-columns:1fr}}._ddc-main-card{background:var(--ddc-main-bg);border-radius:var(--ddc-card-radius);overflow:hidden;box-shadow:0 4px 15px #ec489940}._ddc-main-due{padding:var(--main-space-6);text-align:center}._ddc-main-label{justify-content:center;align-items:center;gap:var(--main-space-2);font-size:var(--main-text-sm);color:#fffc;margin-bottom:var(--main-space-3);display:flex}._ddc-main-label svg{color:#fffc}._ddc-main-date{color:var(--ddc-main-text);margin-bottom:var(--main-space-1);font-size:2rem;font-weight:700;line-height:1.2}._ddc-main-weekday{font-size:var(--main-text-base);color:#fffc}._ddc-main-info{border-top:1px solid #ffffff26;grid-template-columns:1fr 1fr;display:grid}._ddc-info-item{align-items:center;gap:var(--main-space-1);padding:var(--main-space-4);flex-direction:column;display:flex}._ddc-info-item:first-child{border-right:1px solid #ffffff26}._ddc-info-icon{color:#ffffffb3;justify-content:center;align-items:center;display:flex}._ddc-info-label{font-size:var(--main-text-xs);color:#ffffffa6}._ddc-info-value{font-size:var(--main-text-sm);color:var(--ddc-main-text);font-weight:600}._ddc-actions{justify-content:center;display:flex}._ddc-copy-btn{align-items:center;gap:var(--main-space-2);font-size:var(--main-text-sm);color:var(--ddc-text-muted);border-style:solid;border-width:1px;border-color:var(--ddc-border);border-radius:var(--main-radius);cursor:pointer;background:0 0;padding:.625rem 1.25rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}._ddc-copy-btn svg{color:var(--ddc-text-light)}._ddc-copy-btn:hover{background:var(--ddc-bg-hover);border-color:var(--ddc-primary);color:var(--ddc-primary)}._ddc-copy-btn:hover svg{color:var(--ddc-primary)}._ddc-copy-btn.copied{color:var(--main-success);border-color:var(--main-success)}._ddc-copy-btn.copied svg{color:var(--main-success)}@media (max-width:600px){._ddc-main-due{padding:var(--main-space-5)}._ddc-main-date{font-size:1.625rem}._ddc-info-item{padding:var(--main-space-3)}}._ddc-progress-card{background:var(--ddc-card-bg);border-radius:var(--ddc-card-radius);box-shadow:var(--ddc-card-shadow);overflow:hidden}._ddc-progress-body{padding:var(--main-space-5);gap:var(--main-space-4);flex-direction:column;display:flex}._ddc-progress-week{text-align:center}._ddc-week-value{font-size:var(--main-text-lg);color:var(--ddc-text);font-weight:700}._ddc-progress-bar-wrap{gap:var(--main-space-2);flex-direction:column;display:flex;position:relative}._ddc-progress-bar{border-radius:var(--main-radius-full);background:linear-gradient(90deg, var(--ddc-tri-1) 0%, var(--ddc-tri-1) 30%, var(--ddc-tri-2) 30%, var(--ddc-tri-2) 67.5%, var(--ddc-tri-3) 67.5%, var(--ddc-tri-3) 100%);opacity:.25;height:16px;position:relative;overflow:hidden}._ddc-progress-fill{border-radius:var(--main-radius-full);background:linear-gradient(90deg, var(--ddc-tri-1) 0%, var(--ddc-tri-1) 30%, var(--ddc-tri-2) 30%, var(--ddc-tri-2) 67.5%, var(--ddc-tri-3) 67.5%, var(--ddc-tri-3) 100%);clip-path:inset(0 100% 0 0);width:100%;height:100%;transition:clip-path .4s;position:absolute;top:0;left:0}._ddc-progress-marker{background:var(--ddc-text);z-index:2;pointer-events:none;border-radius:2px;width:4px;height:22px;transition:left .4s;position:absolute;top:-3px;box-shadow:0 1px 3px #0003}._ddc-trimester-labels{display:flex}._ddc-tri-label{font-size:var(--main-text-xs);text-align:center;font-weight:500}._ddc-tri-label--1{color:#be185d;width:30%}._ddc-tri-label--2{color:#7c3aed;width:37.5%}._ddc-tri-label--3{color:#2563eb;width:32.5%}._ddc-progress-pct{text-align:center;font-size:var(--main-text-sm);color:var(--ddc-text-muted)}@media (max-width:600px){._ddc-progress-body{padding:var(--main-space-4)}._ddc-tri-label{font-size:.625rem}}._ddc-milestones-card{background:var(--ddc-card-bg);border-radius:var(--ddc-card-radius);box-shadow:var(--ddc-card-shadow);overflow:hidden}._ddc-milestones-body{padding:var(--main-space-4);flex-direction:column;min-height:200px;display:flex}._ddc-milestone{align-items:flex-start;gap:var(--main-space-3);padding:var(--main-space-3) 0;display:flex;position:relative}._ddc-milestone:not(:last-child):before{content:"";left:11px;top:calc(var(--main-space-3) + 24px);background:var(--ddc-border);width:2px;position:absolute;bottom:0}._ddc-milestone-dot{border-radius:var(--main-radius-full);z-index:1;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.625rem;display:flex;position:relative}._ddc-milestone--passed ._ddc-milestone-dot{color:#10b981;background:#10b9811a}._ddc-milestone--current ._ddc-milestone-dot{background:var(--ddc-primary);color:#fff;box-shadow:0 0 0 4px #ec489926}._ddc-milestone--upcoming ._ddc-milestone-dot{background:var(--ddc-border-light);color:var(--ddc-text-lighter)}._ddc-milestone-content{flex:1;min-width:0}._ddc-milestone-title{align-items:center;gap:var(--main-space-2);font-size:var(--main-text-sm);color:var(--ddc-text);font-weight:500;line-height:1.5;display:flex}._ddc-milestone--passed ._ddc-milestone-title,._ddc-milestone--upcoming ._ddc-milestone-title{color:var(--ddc-text-muted)}._ddc-milestone-week{font-size:var(--main-text-xs);color:var(--ddc-primary);white-space:nowrap;font-weight:600}._ddc-milestone--passed ._ddc-milestone-week{color:#10b981}._ddc-milestone--upcoming ._ddc-milestone-week{color:var(--ddc-text-lighter)}._ddc-milestone-date{font-size:var(--main-text-xs);color:var(--ddc-text-light);margin-top:2px}._ddc-milestone--passed ._ddc-milestone-date{color:var(--ddc-text-lighter)}@media (max-width:600px){._ddc-milestones-body{padding:var(--main-space-3)}._ddc-milestone{gap:var(--main-space-2);padding:var(--main-space-2) 0}._ddc-milestone:not(:last-child):before{top:calc(var(--main-space-2) + 24px)}}
