@charset "UTF-8";@font-face{font-display:swap;font-family:roboto;font-style:normal;font-weight:400;src:url(fonts/Roboto/roboto-v30-latin-regular.eot);src:url(fonts/Roboto/roboto-v30-latin-regular.eot?#iefix)format("embedded-opentype"),url(fonts/Roboto/roboto-v30-latin-regular.woff2)format("woff2"),url(fonts/Roboto/roboto-v30-latin-regular.woff)format("woff"),url(fonts/Roboto/roboto-v30-latin-regular.ttf)format("truetype"),url(fonts/Roboto/roboto-v30-latin-regular.svg#Roboto)format("svg")}*{-webkit-transition:background-color 75ms ease-in,border-color 75ms ease-in;-moz-transition:background-color 75ms ease-in,border-color 75ms ease-in;-ms-transition:background-color 75ms ease-in,border-color 75ms ease-in;-o-transition:background-color 75ms ease-in,border-color 75ms ease-in;transition:background-color 75ms ease-in,border-color 75ms ease-in}.notransition{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}html{overflow-x:hidden;width:100%}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{min-height:100vh;overflow-x:hidden;position:relative;color:#434648;background-color:#fff;font:16px/1.85 Roboto,sans-serif;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;box-sizing:border-box}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure{margin-top:10px;margin-bottom:10px}strong,b{font-weight:700;color:#0d122b}hr{border-bottom:0;border-style:solid;border-color:#ececec}img{max-width:100%;vertical-align:middle;-webkit-user-drag:none;margin:0 auto;text-align:center}figure{position:relative}figure>img{display:block;position:relative}figcaption{font-size:13px;text-align:center}ul li{display:list-item;text-align:-webkit-match-parent}ol li{position:relative}ul,ol{margin-top:0;margin-left:30px}li{padding-bottom:1px;padding-top:1px}li:before{color:#0d122b}li>ul,li>ol{margin-bottom:2px;margin-top:0}h1,h2,h3,h4,h5,h6{color:#0d122b;font-weight:700}h1+ul,h1+ol,h2+ul,h2+ol,h3+ul,h3+ol,h4+ul,h4+ol,h5+ul,h5+ol,h6+ul,h6+ol{margin-top:10px}@media screen and (max-width:768px){h1,h2,h3,h4,h5,h6{scroll-margin-top:65px}}h1>a,h2>a,h3>a,h4>a,h5>a,h6>a{text-decoration:none;border:none}h1>a:hover,h2>a:hover,h3>a:hover,h4>a:hover,h5>a:hover,h6>a:hover{text-decoration:none;border:none}a{color:inherit;text-decoration-color:#d2c7c7}a:hover{color:#003fff}a:focus{outline:3px solid rgba(0,54,199,.6);outline-offset:2px}del{color:inherit}em{color:inherit}blockquote{color:#525b66;opacity:.9;border-left:5px solid #c4c8cc;padding:0 0 0 1rem;margin-left:.3rem;margin-right:.3rem;font-size:1em}blockquote>:last-child{margin-bottom:0;margin-top:0}.wrapper{max-width:-webkit-calc(720px - (30px * 2));max-width:calc(720px - (30px * 2));position:relative;margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px}@media screen and (max-width:768px){.wrapper{max-width:-webkit-calc(720px - (30px));max-width:calc(720px - (30px));padding-right:20px;padding-left:20px}.wrapper.blurry{animation:.2s ease-in forwards blur;-webkit-animation:.2s ease-in forwards blur}}u{text-decoration-color:#d2c7c7}small{font-size:14px}sup{border-radius:10%;top:-3px;left:2px;font-size:small;position:relative;margin-right:2px}.overflow-table{overflow-x:auto}table{width:100%;margin-top:15px;border-collapse:collapse;font-size:14px}table thead{font-weight:700;color:#0d122b;border-bottom:1px solid #ececec}table th,table td,table tr{border:1px solid #ececec;padding:2px 7px}.navbar:after,.wrapper:after{content:"";display:table;clear:both}mark,::selection{background:#fffba0;color:#0d122b}.gist table{border:0}.gist table tr,.gist table td{border:0}.navbar{height:auto;max-width:calc(890px - (30px * 2));max-width:-webkit-calc(890px - (30px * 2));position:relative;margin-right:auto;margin-left:auto;border-bottom:1px solid #ececec;padding:.5rem .3rem}.logo{float:left;margin:.5rem 0 0 1rem}.logo>svg{opacity:.7}.logo:hover>svg{opacity:1}@media screen and (max-width:768px){.logo{padding-top:.3rem}}.menu{user-select:none;-ms-user-select:none;-webkit-user-select:none}.menu ul{margin:0}.menu .menu-separator{margin-right:.7rem}@media screen and (max-width:768px){.menu .menu-separator{display:none}}.menu a#mode{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:.7;z-index:1}.menu a#mode:hover{cursor:pointer;opacity:1}.menu a#mode:active{-webkit-transform:scale(.9,.9);transform:scale(.9,.9)}.menu a#mode .mode-moon{display:block}.menu a#mode .mode-moon line{stroke:#0d122b;fill:none}.menu a#mode .mode-moon circle{fill:#0d122b;stroke:#0d122b}.menu a#mode .mode-sunny{display:none}.menu a#mode .mode-sunny line{stroke:#eaeaea;fill:none}.menu a#mode .mode-sunny circle{fill:none;stroke:#eaeaea}.menu .trigger{float:right;display:flex;align-items:center}.menu .menu-trigger{display:none}.menu .menu-icon{display:none}.menu li{display:inline-block;margin:0;padding:0;list-style:none}@media screen and (max-width:768px){.menu li{display:block;margin:0;padding:0;list-style:none}}.menu .menu-link{color:#0d122b;line-height:2.25;text-decoration:none;padding:.3rem .5rem;opacity:.7;letter-spacing:.015rem}.menu .menu-link:hover{opacity:1}.menu .menu-link:not(:last-child){margin-right:5px}@media screen and (max-width:768px){.menu .menu-link{opacity:.8}}.menu .menu-link.active{opacity:1;font-weight:600}@media screen and (max-width:768px){.menu{position:fixed;top:0;left:0;right:0;z-index:2;text-align:center;height:50px;background-color:#fff;border-bottom:1px solid #ececec}.menu a#mode{left:10px;top:12px}.menu .menu-icon{display:block;position:absolute;right:0;margin:.7rem .3rem 0 0;cursor:pointer;text-align:center;z-index:1}.menu .menu-icon>svg{opacity:.7}.menu .menu-icon:hover>svg{opacity:1}.menu .menu-icon:active{-webkit-transform:scale(.9,.9);transform:scale(.9,.9)}.menu input[type=checkbox]:not(:checked)~.trigger{clear:both;visibility:hidden}.menu input[type=checkbox]:checked~.trigger{position:fixed;animation:.2s ease-in forwards fadein;-webkit-animation:.2s ease-in forwards fadein;flex-direction:column;justify-content:center;height:100vh;width:100%;top:0}.menu .menu-link{display:block;box-sizing:border-box;font-size:1.1em}.menu .menu-link:not(:last-child){margin:0;padding:2px 0}}.author{margin-top:6.3rem;margin-bottom:7.2rem;text-align:center}@media screen and (max-width:768px){.author{margin-bottom:3em}}.author .author-avatar{width:70px;height:70px;border-radius:100%;user-select:none;-ms-user-select:none;-webkit-user-select:none;-webkit-animation:.5s ease-in forwards fadein;animation:.5s ease-in forwards fadein;opacity:1;object-fit:cover}.author .author-name{font-size:1.7em;margin-bottom:2px}.author .author-bio{margin:0 auto;opacity:.9;max-width:393px;line-height:1.688}.posts-item-note{padding-bottom:.3rem;font-weight:500;color:#0d122b}.post-item{display:flex;padding-top:5px;padding-bottom:6px;justify-content:space-between;flex-direction:row;align-items:center}.post-item:not(:first-child){border-top:1px solid #ececec}.post-item .post-item-date{min-width:96px;color:#0d122b}@media screen and (max-width:768px){.post-item .post-item-date{font-size:16px}}.post-item .post-item-title{margin:0;border:0;padding:0;font-size:16px;font-weight:400;letter-spacing:.1px}@media screen and (max-width:768px){.post-item .post-item-title{max-width:15rem}}.post-item .post-item-title a{color:#434648;transition:all 150ms ease-in 0s}.post-item .post-item-title a:hover,.post-item .post-item-title afocus{color:#0d122b}.footer{margin-top:8em;margin-bottom:2em;text-align:center}@media screen and (max-width:768px){.footer{margin-top:3em}}.footer span.footer_item{opacity:.8;font-weight:700;font-size:14px}.footer a.footer_item{opacity:.8;text-decoration:none}.footer a.footer_item:not(:last-child){margin-right:10px}.footer a.footer_item:not(:last-child):hover{opacity:1}.footer_copyright{font-size:13px;display:block;color:#6b7886;opacity:.8;margin-top:.7rem;padding:.3rem .95rem}.footer_social-icons a{text-decoration:none;margin-right:.31rem}.footer_social-icons svg{color:#888a90;height:24px;width:24px}.footer_social-icons svg:hover{color:#ddd}.not-found{text-align:center;display:flex;justify-content:center;flex-direction:column;height:75vh}.not-found .title{font-size:5em;font-weight:700;line-height:1.1;color:#0d122b;text-shadow:1px 0 0 #003fff}.not-found .phrase{color:#434648}.not-found .solution{color:#003fff;letter-spacing:.5px}.not-found .solution:hover{color:#0036c7}.search-article{position:relative;margin-bottom:50px}.search-article label[for=search-input]{position:relative;top:10px;left:11px}.search-article input[type=search]{top:0;left:0;border:0;width:100%;height:40px;outline:none;position:absolute;border-radius:5px;padding:10px 10px 10px 35px;color:#434648;-webkit-appearance:none;font-size:16px;background-color:rgba(128,128,128,.1);border:1px solid rgba(128,128,128,.1)}.search-article input[type=search]::-webkit-input-placeholder{color:gray}.search-article input[type=search]::-webkit-search-decoration,.search-article input[type=search]::-webkit-search-results-decoration{display:none}#search-results{text-align:center}#search-results li{text-align:left}.archive-tags{height:auto}.archive-tags .tag-item{padding:1px 3px;border-radius:2px;border:1px solid rgba(128,128,128,.1);background-color:rgba(128,128,128,.1)}sub,sup{font-size:79%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}kbd{font-size:85%;border-radius:3px;color:#333638;background:#d8dbe2;display:inline-block;font-family:Consolas,monaco,monospace;line-height:1;padding:2px 4px;white-space:nowrap}mark{background:#ff0;color:#000;border-radius:3px}@media screen and (max-width:768px){.wrapper.post{padding-left:15px;padding-right:15px}}.header{margin-top:7.8em}.header .header-title{font-size:2em;line-height:1.2;margin-top:10px;margin-bottom:20px}.header .header-title.center{text-align:center}@media screen and (max-width:768px){.header .header-title{font-size:1.9em}}.post-meta{padding-top:3px;line-height:1.3;color:#6b7886}.post-meta time{position:relative;margin-right:1.5em}.post-meta span[itemprop=author]{border-bottom:1px dotted #ececec}.page-content{padding-top:8px}.page-content iframe{text-align:center}.page-content figure img{border-radius:2px}.page-content figure figcaption{margin-top:5px;font-style:italic;font-size:14px}.page-content a{color:#003fff;text-decoration:none}.page-content a[target=_blank]::after{content:" \2197";font-size:14px;line-height:0;position:relative;bottom:5px;vertical-align:baseline}.page-content a:hover{color:#0036c7}.page-content a:focus{color:#003fff}.page-content>p{margin:0;padding-top:15px;padding-bottom:15px}.page-content ul.task-list{list-style:none;margin:0}.page-content ul.task-list li::before{content:""}.page-content ul.task-list li input[type=checkbox]{margin-right:10px}.page-content dl dt{font-weight:700}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6{color:#0d122b;font-weight:700;margin-top:30px;margin-bottom:0;letter-spacing:.03rem}.page-content h1:hover .anchor-head,.page-content h2:hover .anchor-head,.page-content h3:hover .anchor-head,.page-content h4:hover .anchor-head,.page-content h5:hover .anchor-head,.page-content h6:hover .anchor-head{color:#003fff;opacity:1}.page-content h1 .anchor-head,.page-content h2 .anchor-head,.page-content h3 .anchor-head,.page-content h4 .anchor-head,.page-content h5 .anchor-head,.page-content h6 .anchor-head{position:relative;opacity:0;outline:none}.page-content h1 .anchor-head::before,.page-content h2 .anchor-head::before,.page-content h3 .anchor-head::before,.page-content h4 .anchor-head::before,.page-content h5 .anchor-head::before,.page-content h6 .anchor-head::before{content:"#";position:absolute;right:-3px;width:1em;font-weight:700}.page-content h1{font-size:24px}.page-content h2{font-size:22px}.page-content h3{font-size:20px}.page-content h4{font-size:20px}.page-content h5{font-size:16px}.page-content h6{font-size:14px}.post-nav{display:flex;position:relative;margin-top:5em;border-top:1px solid #ececec;line-height:1.4}.post-nav .post-nav-item{border-bottom:0;font-weight:700;padding-bottom:10px;width:50%;padding-top:10px;text-decoration:none;box-sizing:border-box}.post-nav .post-nav-item .post-title{color:#0d122b}.post-nav .post-nav-item:hover .post-title,.post-nav .post-nav-item:focus .post-title{color:#0036c7;opacity:.9}.post-nav .post-nav-item .nav-arrow{font-weight:400;font-size:14px;color:#6b7886;margin-bottom:3px}.post-nav .post-nav-item:nth-child(odd){padding-left:0;padding-right:20px}.post-nav .post-nav-item:nth-child(even){text-align:right;padding-right:0;padding-left:20px}@media screen and (max-width:768px){.post-nav{display:block;font-size:14px}.post-nav .post-nav-item{display:block;width:100%}.post-nav .post-nav-item:nth-child(even){border-left:0;padding-left:0;border-top:1px solid #ececec}}.post-updated-at{font-family:ubuntu mono,monospace}code{font-family:Consolas,monospace;text-rendering:optimizeLegibility;font-feature-settings:"calt" 1;font-variant-ligatures:normal;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;font-size:inherit}li>code,p>code{white-space:pre-wrap;font-size:.9em;padding:1px 3px;position:relative;top:-1px;color:#333638;background-color:#d8dbe2;border-radius:2px;border:1px solid rgba(128,128,128,.1)}pre{background-color:#1a1b21;border-radius:.3rem;padding:.5rem 1rem;display:block;overflow-x:auto}@media screen and (max-width:768px){pre{margin:0 calc(51% - 51vw)}}pre::-webkit-scrollbar{height:.5rem}pre::-webkit-scrollbar-track{background:#606071;border-radius:.1rem}pre::-webkit-scrollbar-thumb{background:#999ea2;border-radius:.3rem}pre::-webkit-scrollbar-thumb:hover{background:#424546}pre>code{color:#fff;max-width:50rem;margin-left:auto;margin-right:auto;line-height:1.5;display:block;border:0}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight,.highlight .w{color:#fbf1c7}.highlight .err{color:#fb4934;font-weight:700}.highlight .c,.highlight .cd,.highlight .cm,.highlight .c1,.highlight .cs{color:#928374;font-style:italic}.highlight .cp{color:#8ec07c}.highlight .nt{color:#fb4934}.highlight .o,.highlight .ow{color:#fbf1c7}.highlight .p,.highlight .pi{color:#fbf1c7}.highlight .gi{color:#b8bb26;background-color:#282828}.highlight .gd{color:#fb4934;background-color:#282828}.highlight .gh{color:#b8bb26;font-weight:700}.highlight .k,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:#fb4934}.highlight .kc{color:#d3869b}.highlight .kt{color:#fabd2f}.highlight .kd{color:#fe8019}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .sh,.highlight .sx,.highlight .s1{color:#b8bb26;font-style:italic}.highlight .si{color:#b8bb26;font-style:italic}.highlight .sr{color:#b8bb26;font-style:italic}.highlight .se{color:#fe8019}.highlight .nn{color:#8ec07c}.highlight .nc{color:#8ec07c}.highlight .no{color:#d3869b}.highlight .na{color:#b8bb26}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo,.highlight .mb,.highlight .mx{color:#d3869b}.highlight .ss{color:#83a598}details{cursor:pointer}.toc{margin:1.1rem 0 1rem;padding:.5rem 1rem;border-radius:.3rem;background-color:#edecec}.toc ul{padding-top:1rem;margin-left:1rem;padding-left:1rem}.toc ul li{margin-bottom:.5em;line-height:1.4}@keyframes fadein{0%{opacity:.2}100%{opacity:1}}@keyframes blur{0%{filter:blur(0)}100%{filter:blur(4px)}}.embed-responsive{height:0;max-width:100%;overflow:hidden;position:relative;padding-bottom:56.25%;margin-top:20px}.embed-responsive iframe,.embed-responsive object,.embed-responsive embed{top:0;left:0;width:100%;height:100%;position:absolute}.main-404{padding:9rem 0;text-align:center}@media(prefers-color-scheme:dark){html:not(.light) body{color:#babdc4;background-color:#131418}html:not(.light) h1,html:not(.light) h2,html:not(.light) h3,html:not(.light) h4,html:not(.light) h5,html:not(.light) h6{color:#eaeaea}html:not(.light) table thead{color:#eaeaea;border-color:#1b1d25}html:not(.light) table th,html:not(.light) table td,html:not(.light) table tr{border-color:#1b1d25}html:not(.light) .page-content a{color:#77a8fd}html:not(.light) .page-content a:hover,html:not(.light) .page-content a:active,html:not(.light) .page-content a:focus{color:#5292ff}html:not(.light) .page-content h3{border-color:#1b1d25}html:not(.light) .page-content h1 .anchor-head,html:not(.light) .page-content h2 .anchor-head,html:not(.light) .page-content h3 .anchor-head,html:not(.light) .page-content h4 .anchor-head,html:not(.light) .page-content h5 .anchor-head,html:not(.light) .page-content h6 .anchor-head{color:#77a8fd}html:not(.light) .toc{background-color:#323232}html:not(.light) #totop{color:#babdc4;background-color:#676767b3}html:not(.light) #totop:hover{background-color:#676767}html:not(.light) li>code,html:not(.light) p>code{font-size:.9em;padding:1px 3px;position:relative;top:-1px;color:#c2c4ca;background-color:#2d2d2d;border-radius:2px;border:1px solid rgba(128,128,128,.1)}html:not(.light) kbd{color:#c2c4ca;background-color:#2d2d2d}html:not(.light) hr{border-color:#1b1d25}html:not(.light) .post-meta{color:#767f87}html:not(.light) .post-meta time::after{background-color:#1b1d25}html:not(.light) .post-meta span[itemprop=author]{border-color:#1b1d25}html:not(.light) a{color:inherit;text-decoration-color:#4a4d56}html:not(.light) a:hover{color:#77a8fd}html:not(.light) a:focus{outline-color:rgba(44,118,246,.6)}html:not(.light) li:before{color:#eaeaea}html:not(.light) blockquote{color:#9b9ba3;border-color:#4a4d56}html:not(.light) strong,html:not(.light) b{color:#eaeaea}html:not(.light) .navbar{border-color:#1b1d25}html:not(.light) .navbar .menu a#mode .mode-sunny{display:block}html:not(.light) .navbar .menu a#mode .mode-moon{display:none}html:not(.light) .navbar .menu .menu-link{color:#eaeaea}}@media screen and (prefers-color-scheme:dark) and (max-width:768px){html:not(.light) .navbar .menu{background-color:#131418;border-color:#1b1d25}html:not(.light) .navbar .menu input[type=checkbox]:checked~.trigger{background:#131418}}@media(prefers-color-scheme:dark){html:not(.light) .post-item:not(:first-child){border-color:#1b1d25}html:not(.light) .post-item .post-item-date{color:#eaeaea}html:not(.light) .post-item .post-item-title a{color:#babdc4}html:not(.light) .post-item .post-item-title a:hover,html:not(.light) .post-item .post-item-title afocus{color:#eaeaea}html:not(.light) .post-nav{border-color:#1b1d25}html:not(.light) .post-nav .post-nav-item{font-weight:700}html:not(.light) .post-nav .post-nav-item .post-title{color:#eaeaea;opacity:.9}html:not(.light) .post-nav .post-nav-item:hover .post-title,html:not(.light) .post-nav .post-nav-item:focus .post-title{color:#5292ff}html:not(.light) .post-nav .post-nav-item .nav-arrow{color:#767f87}}@media screen and (prefers-color-scheme:dark) and (max-width:768px){html:not(.light) .post-nav .post-nav-item:nth-child(even){border-color:#1b1d25}}@media(prefers-color-scheme:dark){html:not(.light) .footer span.footer_item{color:#eaeaea}html:not(.light) .footer a.footer_item:not(:last-child){color:#eaeaea}html:not(.light) .footer .footer_copyright{color:#767f87;opacity:1}html:not(.light) .not-found .title{color:#eaeaea;text-shadow:1px 0 0 #77a8fd}html:not(.light) .not-found .phrase{color:#babdc4}html:not(.light) .not-found .solution{color:#77a8fd}html:not(.light) .not-found .solution:hover{color:#5292ff}html:not(.light) .search-article input[type=search]{color:#babdc4}html:not(.light) .search-article input[type=search]::-webkit-input-placeholder{color:rgba(128,128,128,.8)}}html.dark body{color:#babdc4;background-color:#131418}html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark h5,html.dark h6{color:#eaeaea}html.dark table thead{color:#eaeaea;border-color:#1b1d25}html.dark table th,html.dark table td,html.dark table tr{border-color:#1b1d25}html.dark .page-content a{color:#77a8fd}html.dark .page-content a:hover,html.dark .page-content a:active,html.dark .page-content a:focus{color:#5292ff}html.dark .page-content h3{border-color:#1b1d25}html.dark .page-content h1 .anchor-head,html.dark .page-content h2 .anchor-head,html.dark .page-content h3 .anchor-head,html.dark .page-content h4 .anchor-head,html.dark .page-content h5 .anchor-head,html.dark .page-content h6 .anchor-head{color:#77a8fd}html.dark .toc{background-color:#323232}html.dark #totop{color:#babdc4;background-color:#676767b3}html.dark #totop:hover{background-color:#676767}html.dark li>code,html.dark p>code{font-size:.9em;padding:1px 3px;position:relative;top:-1px;color:#c2c4ca;background-color:#2d2d2d;border-radius:2px;border:1px solid rgba(128,128,128,.1)}html.dark kbd{color:#c2c4ca;background-color:#2d2d2d}html.dark hr{border-color:#1b1d25}html.dark .post-meta{color:#767f87}html.dark .post-meta time::after{background-color:#1b1d25}html.dark .post-meta span[itemprop=author]{border-color:#1b1d25}html.dark a{color:inherit;text-decoration-color:#4a4d56}html.dark a:hover{color:#77a8fd}html.dark a:focus{outline-color:rgba(44,118,246,.6)}html.dark li:before{color:#eaeaea}html.dark blockquote{color:#9b9ba3;border-color:#4a4d56}html.dark strong,html.dark b{color:#eaeaea}html.dark .navbar{border-color:#1b1d25}html.dark .navbar .menu a#mode .mode-sunny{display:block}html.dark .navbar .menu a#mode .mode-moon{display:none}html.dark .navbar .menu .menu-link{color:#eaeaea}@media screen and (max-width:768px){html.dark .navbar .menu{background-color:#131418;border-color:#1b1d25}html.dark .navbar .menu input[type=checkbox]:checked~.trigger{background:#131418}}html.dark .post-item:not(:first-child){border-color:#1b1d25}html.dark .post-item .post-item-date{color:#eaeaea}html.dark .post-item .post-item-title a{color:#babdc4}html.dark .post-item .post-item-title a:hover,html.dark .post-item .post-item-title afocus{color:#eaeaea}html.dark .post-nav{border-color:#1b1d25}html.dark .post-nav .post-nav-item{font-weight:700}html.dark .post-nav .post-nav-item .post-title{color:#eaeaea;opacity:.9}html.dark .post-nav .post-nav-item:hover .post-title,html.dark .post-nav .post-nav-item:focus .post-title{color:#5292ff}html.dark .post-nav .post-nav-item .nav-arrow{color:#767f87}@media screen and (max-width:768px){html.dark .post-nav .post-nav-item:nth-child(even){border-color:#1b1d25}}html.dark .footer span.footer_item{color:#eaeaea}html.dark .footer a.footer_item:not(:last-child){color:#eaeaea}html.dark .footer .footer_copyright{color:#767f87;opacity:1}html.dark .not-found .title{color:#eaeaea;text-shadow:1px 0 0 #77a8fd}html.dark .not-found .phrase{color:#babdc4}html.dark .not-found .solution{color:#77a8fd}html.dark .not-found .solution:hover{color:#5292ff}html.dark .search-article input[type=search]{color:#babdc4}html.dark .search-article input[type=search]::-webkit-input-placeholder{color:rgba(128,128,128,.8)}.list-page .post-year{padding-bottom:.5rem}.icon-star{color:orange;height:16px;margin-right:1rem;width:16px;display:block}.post-item-right{margin-left:auto;margin-right:0}:root{--bg-primary:#0a0a0d;--bg-secondary:#101014;--bg-card:#121216;--bg-elevated:#18181d;--ice-blue:#00b8ff;--ice-blue-dim:rgba(0, 184, 255, 0.15);--ice-blue-glow:rgba(0, 184, 255, 0.4);--ice-blue-subtle:rgba(0, 184, 255, 0.08);--purple:#b86eff;--purple-dim:rgba(184, 110, 255, 0.15);--purple-glow:rgba(184, 110, 255, 0.3);--text-primary:#eeeeee;--text-secondary:#b8b8c8;--text-muted:#7a7a8a;--text-dim:#4a4a58;--border-color:rgba(255, 255, 255, 0.06);--border-glow:rgba(0, 184, 255, 0.2);--font-mono:'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Consolas', monospace;--font-sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--nav-height:60px;--wrapper-wide:960px;--text-base:clamp(16px, 1.3vw + 7px, 21px);--text-sm:calc(var(--text-base) * 0.88);--text-xs:calc(var(--text-base) * 0.75);--text-lg:calc(var(--text-base) * 1.15);--text-xl:calc(var(--text-base) * 1.4);--text-2xl:calc(var(--text-base) * 1.7);--text-3xl:calc(var(--text-base) * 2.2)}html{background:var(--bg-primary);scroll-behavior:smooth}html{color-scheme:dark}html:not(.dark){color-scheme:dark}html:not(.dark) body{background:var(--bg-primary)!important;color:var(--text-secondary)!important}body{font-family:var(--font-sans);font-size:var(--text-base)!important;background:var(--bg-primary);color:var(--text-secondary);line-height:1.7;-webkit-font-smoothing:antialiased}body::before{content:'';position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(0,100,180,.12) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 80% 20%,rgba(184,110,255,6%) 0%,transparent 50%),radial-gradient(circle at 1px 1px,rgba(0,184,255,3%) 1px,transparent 0);background-size:100% 100%,100% 100%,40px 40px;pointer-events:none;z-index:0;animation:sky-pulse 12s ease-in-out infinite alternate}@keyframes sky-pulse{0%{opacity:.7}100%{opacity:1}}.mountain-scene{position:fixed;bottom:0;left:0;right:0;height:28vh;pointer-events:none;z-index:0;opacity:.06}.mountain-scene svg{position:absolute;bottom:0;width:100%;height:100%}#particle-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--text-primary)!important;letter-spacing:-.02em}.page-title,.header-title,.about-title,.growth-title,.projects-title{background:linear-gradient(135deg,var(--purple),var(--ice-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}h2 strong,h3 strong{color:var(--text-primary)}a{color:var(--text-secondary)!important;transition:all .2s ease!important}a:hover{color:var(--ice-blue)!important;text-shadow:0 0 8px var(--ice-blue-glow)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--ice-blue-dim)!important;color:var(--ice-blue)!important}.wrapper{position:relative;z-index:1}.navbar{background:rgba(10,10,13,.85)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color)!important;max-width:var(--wrapper-wide)!important;padding:.2rem .3rem!important;height:var(--nav-height);display:flex;align-items:center}.navbar .menu{width:100%;display:flex;align-items:center}.navbar .menu .trigger{display:flex;align-items:center;gap:0}.navbar .menu .menu-link{color:var(--text-muted)!important;font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;padding:.25rem .6rem!important;opacity:.7!important;transition:all .25s ease!important;border-radius:4px}.navbar .menu .menu-link:hover{color:var(--ice-blue)!important;opacity:1!important;text-shadow:0 0 10px var(--ice-blue-glow);box-shadow:0 0 12px var(--ice-blue-dim);background:var(--ice-blue-subtle)}.navbar .menu .menu-link.active{color:var(--ice-blue)!important;opacity:1!important;font-weight:400!important}.navbar .logo{display:flex;align-items:center;gap:8px;text-decoration:none!important;float:none!important;margin:0 0 0 .5rem!important}.navbar .logo img{border-radius:4px;box-shadow:0 0 6px var(--ice-blue-dim)}.navbar .logo::after{content:'ZEPHYR';font-family:var(--font-mono);font-size:.9rem;font-weight:600;letter-spacing:.15em;color:var(--text-primary);text-shadow:0 0 6px var(--ice-blue-glow)}.navbar .menu a#mode{opacity:.6!important}.navbar .menu a#mode:hover{opacity:1!important}.navbar .menu a#mode .mode-moon circle,.navbar .menu a#mode .mode-moon line{stroke:var(--text-muted)!important}.lang-list{background:0 0!important;border:1px solid var(--border-color)!important;color:var(--text-muted)!important;font-family:var(--font-mono);font-size:.75rem;padding:2px 4px;border-radius:3px;cursor:pointer}.lang-list:hover{border-color:var(--ice-blue)!important;color:var(--ice-blue)!important}.lang-list option{background:var(--bg-primary);color:var(--text-primary)}.zephyr-hero{text-align:center;padding:4rem 1rem 2rem}.zephyr-hero-logo{width:96px;height:96px;margin:0 auto 1.5rem;display:block;border-radius:12px;box-shadow:0 0 30px var(--ice-blue-dim),0 0 60px rgba(0,184,255,6%);animation:hero-logo-float 4s ease-in-out infinite}@keyframes hero-logo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}.zephyr-hero h1{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted)!important;letter-spacing:.2em;margin-bottom:.3rem}.zephyr-hero .typing-line{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:600;color:var(--text-primary);min-height:2.2rem}.zephyr-hero .typing-line .cursor{display:inline-block;width:2px;height:1.4rem;background:var(--ice-blue);margin-left:2px;animation:cursor-blink 1s step-end infinite;vertical-align:text-bottom}@keyframes cursor-blink{0%,100%{opacity:1}50%{opacity:0}}.zephyr-hero-sub{color:var(--text-muted);font-size:.85rem;margin-top:.5rem;font-family:var(--font-mono);letter-spacing:.05em;opacity:.7}.quick-entries{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:500px;margin:0 auto 3rem}.quick-entry-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.2rem;text-decoration:none!important;transition:all .3s ease!important;position:relative;overflow:hidden}.quick-entry-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--ice-blue-subtle),transparent);opacity:0;transition:opacity .3s ease}.quick-entry-card:hover{border-color:var(--ice-blue)!important;box-shadow:0 0 20px var(--ice-blue-dim),0 0 40px rgba(0,184,255,5%);transform:translateY(-2px)}.quick-entry-card:hover::before{opacity:1}.quick-entry-card .qe-icon{font-size:1.2rem;margin-bottom:4px;position:relative;z-index:1}.quick-entry-card .qe-title{font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--text-primary);position:relative;z-index:1}.quick-entry-card .qe-desc{font-size:.72rem;color:var(--text-muted);position:relative;z-index:1}.blog-card-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:2rem}.blog-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:.8rem 1rem;display:flex;justify-content:space-between;align-items:center;text-decoration:none!important;transition:all .3s ease!important}.blog-card:hover{border-color:var(--ice-blue)!important;box-shadow:0 0 16px var(--ice-blue-dim);transform:translateY(-2px)}.blog-card-info h4{font-size:.85rem;color:var(--text-primary)!important;margin:0;font-weight:500}.blog-card-info p{font-size:.72rem;color:var(--text-muted);margin:2px 0 0}.blog-card-date{font-family:var(--font-mono);font-size:.7rem;color:var(--text-dim);white-space:nowrap;margin-left:1rem}.author{margin-top:1rem!important;margin-bottom:2rem!important}.author .author-avatar{border-radius:12px!important;box-shadow:0 0 20px var(--ice-blue-dim);width:80px!important;height:80px!important}.author .author-name{font-family:var(--font-mono);font-size:1.3em!important;color:var(--text-primary)!important}.author .author-bio{color:var(--text-muted)!important;max-width:450px!important}.post-item{border-color:var(--border-color)!important}.post-item .post-item-date{color:var(--text-dim)!important;font-family:var(--font-mono);font-size:.78rem}.post-item .post-item-title a{color:var(--text-secondary)!important}.post-item .post-item-title a:hover{color:var(--ice-blue)!important}.page-content{font-size:var(--text-base)}.page-content h1{background:linear-gradient(135deg,var(--purple),var(--ice-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:var(--text-2xl)!important}.page-content h2{color:var(--text-primary)!important;font-size:var(--text-xl)!important;border-bottom:1px solid var(--border-color);padding-bottom:.3rem}.page-content h3{color:var(--text-primary)!important;font-weight:600!important}.page-content a{color:var(--ice-blue)!important}.page-content a:hover{text-shadow:0 0 8px var(--ice-blue-glow)}pre{background:#0d0d12!important;border:1px solid rgba(0,184,255,.12)!important;border-radius:6px!important;padding:.8rem 1rem!important;box-shadow:inset 0 0 20px rgba(0,0,0,.3)}pre:hover{border-color:rgba(0,184,255,.3)!important;box-shadow:0 0 16px var(--ice-blue-dim),inset 0 0 20px rgba(0,0,0,.3)}pre>code{font-family:var(--font-mono)!important;font-size:.82rem!important;line-height:1.6}li>code,p>code{background:rgba(0,184,255,8%)!important;color:#5cd8ff!important;border:1px solid rgba(0,184,255,.15)!important;font-family:var(--font-mono)}.toc{background:linear-gradient(180deg,rgba(16,16,20,.9),rgba(10,10,13,.9))!important;border:1px solid var(--border-color);border-radius:6px;padding:.8rem 1rem!important}.toc a{color:var(--text-muted)!important;font-size:.82rem}.toc a:hover{color:var(--ice-blue)!important}.post-meta{color:var(--text-dim)!important;font-family:var(--font-mono);font-size:.78rem}.footer{border-top:1px solid var(--border-color);padding-top:2rem;margin-top:4rem!important}.footer span.footer_item,.footer a.footer_item{color:var(--text-muted)!important}.footer .footer_copyright{color:var(--text-dim)!important}blockquote{border-left:3px solid var(--ice-blue)!important;background:var(--ice-blue-subtle);padding:.5rem 1rem!important;border-radius:0 4px 4px 0}.timeline-page{padding:2rem 0}.timeline-page .page-header{text-align:center;margin-bottom:3rem}.timeline-page .page-header h1{font-size:1.4rem;margin-bottom:.3rem}.timeline-page .page-header p{color:var(--text-muted);font-family:var(--font-mono);font-size:.8rem}.timeline-container{position:relative;padding-left:2.5rem;max-width:600px;margin:0 auto}.timeline-container::before{content:'';position:absolute;left:10px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--purple),var(--ice-blue))}.timeline-item{position:relative;padding-bottom:1.8rem;opacity:0;transform:translateY(20px);animation:fadeInUp .5s ease forwards}.timeline-item:nth-child(1){animation-delay:.1s}.timeline-item:nth-child(2){animation-delay:.2s}.timeline-item:nth-child(3){animation-delay:.3s}.timeline-item:nth-child(4){animation-delay:.4s}.timeline-item:nth-child(5){animation-delay:.5s}.timeline-item:nth-child(6){animation-delay:.6s}.timeline-item:nth-child(7){animation-delay:.7s}.timeline-item:nth-child(8){animation-delay:.8s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.timeline-item::before{content:'';position:absolute;left:-2.1rem;top:4px;width:10px;height:10px;background:var(--ice-blue);border-radius:50%;box-shadow:0 0 8px var(--ice-blue-glow);z-index:1}.timeline-item .tl-date{font-family:var(--font-mono);font-size:.72rem;color:var(--ice-blue);letter-spacing:.05em;margin-bottom:2px}.timeline-item .tl-title{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.timeline-item .tl-desc{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px;line-height:1.5}.timeline-item .tl-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.timeline-item .tl-tags span{font-family:var(--font-mono);font-size:.65rem;padding:1px 6px;border-radius:3px;background:var(--ice-blue-subtle);color:var(--ice-blue);border:1px solid rgba(0,184,255,.1)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:650px;margin:0 auto}@media(max-width:600px){.projects-grid{grid-template-columns:1fr}}.project-hex{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:1.2rem;clip-path:polygon(50% 0%,95% 25%,95% 75%,50% 100%,5% 75%,5% 25%);transition:all .35s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:200px;text-decoration:none!important}.project-hex:hover{border-color:var(--ice-blue)!important;box-shadow:0 0 25px var(--ice-blue-dim),0 0 50px rgba(0,184,255,5%);transform:translateY(-3px)scale(1.02)}.project-hex .ph-icon{font-size:1.8rem;margin-bottom:6px}.project-hex .ph-name{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.project-hex .ph-desc{font-size:var(--text-sm);color:var(--text-muted);margin:3px 0;line-height:1.4;max-width:160px}.project-hex .ph-stack{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;margin-top:4px}.project-hex .ph-stack span{font-family:var(--font-mono);font-size:.6rem;padding:1px 5px;border-radius:3px;background:var(--ice-blue-subtle);color:var(--ice-blue);border:1px solid rgba(0,184,255,.1)}.about-modules{display:flex;flex-direction:column;gap:1.5rem;max-width:600px;margin:0 auto}.about-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1.2rem 1.5rem}.about-card .ac-header{display:flex;align-items:center;gap:10px;margin-bottom:.8rem}.about-card .ac-header .ac-icon{font-size:1.2rem;width:32px;text-align:center}.about-card .ac-header h3{font-family:var(--font-mono);font-size:.85rem;color:var(--text-primary)!important;margin:0}.profile-card{display:flex;align-items:center;gap:1.2rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:1.2rem 1.5rem}.profile-card .pc-avatar{width:64px;height:64px;border-radius:10px;box-shadow:0 0 16px var(--ice-blue-dim)}.profile-card .pc-info h2{font-family:var(--font-mono);font-size:1rem;color:var(--text-primary)!important;margin:0}.profile-card .pc-info p{font-size:.78rem;color:var(--text-muted);margin:2px 0}.tech-tags{display:flex;gap:5px;flex-wrap:wrap}.tech-tags span{font-family:var(--font-mono);font-size:.72rem;padding:2px 10px;border-radius:4px;background:var(--ice-blue-subtle);color:var(--ice-blue);border:1px solid rgba(0,184,255,.12);transition:all .2s ease}.tech-tags span:hover{background:var(--ice-blue-dim);box-shadow:0 0 10px var(--ice-blue-glow)}.status-panel .sp-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.82rem}.status-panel .sp-item .sp-dot{width:6px;height:6px;border-radius:50%;background:var(--ice-blue);box-shadow:0 0 6px var(--ice-blue-glow);flex-shrink:0}.status-panel .sp-item .sp-text{color:var(--text-secondary)}.contact-links{display:flex;gap:12px;flex-wrap:wrap}.contact-links a{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:.78rem;padding:3px 10px;border-radius:4px;border:1px solid var(--border-color);text-decoration:none!important;transition:all .25s ease!important;color:var(--text-muted)!important}.contact-links a:hover{border-color:var(--ice-blue)!important;color:var(--ice-blue)!important;box-shadow:0 0 12px var(--ice-blue-dim);text-shadow:0 0 6px var(--ice-blue-glow)}.separator-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--text-dim);margin:0 6px;vertical-align:middle}.page-number-label{font-family:var(--font-mono);font-size:.7rem;color:var(--text-dim);letter-spacing:.1em;display:block;margin-bottom:.2rem}.office-page{position:relative;z-index:1;min-height:calc(100vh - var(--nav-height) - 60px)}.office-grid{display:grid;grid-template-columns:240px 1fr 220px;gap:16px;max-width:1400px;margin:0 auto;padding:16px 20px 0}@media(max-width:1100px){.office-grid{grid-template-columns:1fr;max-width:800px}.office-sidebar-left,.office-sidebar-right{display:none}.office-sidebar-left.mobile-show,.office-sidebar-right.mobile-show{display:block}}.office-sidebar-left{min-width:0}.office-sidebar-right{min-width:0}.office-section{background:rgba(16,16,20,.85);border:1px solid rgba(255,255,255,4%);border-radius:8px;padding:12px 14px;margin-bottom:12px}.office-section-title{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,4%)}.greeting-block .greeting-line{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:2px}.greeting-block .date-line{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.countdown-item{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:var(--text-xs)}.countdown-item .cd-label{color:var(--text-secondary)}.countdown-item .cd-days{font-family:var(--font-mono);color:var(--ice-blue);font-weight:600}.countdown-item .cd-days.urgent{color:#ff6b6b}.mode-switch{display:flex;gap:4px;flex-wrap:wrap}.mode-btn{font-family:var(--font-mono);font-size:var(--text-xs);padding:3px 8px;border-radius:4px;border:1px solid transparent;background:rgba(255,255,255,3%);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.mode-btn:hover{border-color:var(--ice-blue-dim);color:var(--ice-blue)}.mode-btn.active{background:var(--ice-blue-subtle);border-color:var(--ice-blue-dim);color:var(--ice-blue)}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:var(--text-xs)}.stat-item .stat-label{color:var(--text-muted)}.stat-item .stat-value{font-family:var(--font-mono);color:var(--text-primary);font-weight:600}.schedule-item{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:var(--text-xs)}.schedule-item .sch-dot{width:6px;height:6px;border-radius:50%;background:var(--ice-blue);flex-shrink:0}.schedule-item .sch-name{color:var(--text-secondary)}.schedule-item .sch-time{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto}.office-main{min-width:0}.focus-tasks{margin-bottom:12px}.focus-task-item{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,3%)}.focus-task-item:last-child{border-bottom:none}.focus-task-item .ft-check{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--text-dim);cursor:pointer;flex-shrink:0;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.focus-task-item .ft-check:hover{border-color:var(--ice-blue)}.focus-task-item .ft-check.done{background:var(--ice-blue);border-color:var(--ice-blue)}.focus-task-item .ft-check.done::after{content:'✓';font-size:9px;color:#000;font-weight:700}.focus-task-item .ft-title{flex:1;font-size:var(--text-xs);color:var(--text-secondary);transition:all .15s ease}.focus-task-item .ft-title.done{text-decoration:line-through;color:var(--text-dim)}.focus-task-item .ft-tag{font-family:var(--font-mono);font-size:.6rem;padding:1px 5px;border-radius:3px;background:var(--ice-blue-subtle);color:var(--ice-blue)}.focus-task-item .ft-due{font-family:var(--font-mono);font-size:.6rem;color:var(--text-dim)}.focus-task-item .ft-due.overdue{color:#ff6b6b}.todo-tabs{display:flex;gap:2px;margin-bottom:4px;flex-wrap:wrap}.todo-tab{font-family:var(--font-mono);font-size:var(--text-xs);padding:2px 8px;border-radius:3px;border:none;background:0 0;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.todo-tab:hover{color:var(--text-secondary)}.todo-tab.active{color:var(--ice-blue);background:var(--ice-blue-subtle)}.todo-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:4px;transition:background .1s ease;font-size:var(--text-xs)}.todo-item:hover{background:rgba(255,255,255,2%)}.todo-item .td-check{width:13px;height:13px;border-radius:50%;border:1.5px solid var(--text-dim);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.todo-item .td-check:hover{border-color:var(--ice-blue)}.todo-item .td-check.done{background:var(--ice-blue);border-color:var(--ice-blue)}.todo-item .td-check.done::after{content:'✓';font-size:8px;color:#000;font-weight:700}.todo-item .td-title{flex:1;color:var(--text-secondary);cursor:default}.todo-item .td-title.done{text-decoration:line-through;color:var(--text-dim)}.todo-item .td-tag{font-size:.55rem;padding:1px 5px;border-radius:3px;font-family:var(--font-mono);background:var(--ice-blue-subtle);color:var(--ice-blue)}.todo-item .td-due{font-family:var(--font-mono);font-size:.55rem;color:var(--text-dim)}.todo-item .td-due.overdue{color:#ff6b6b}.todo-add-input{width:100%;background:0 0;border:none;border-bottom:1px solid rgba(255,255,255,6%);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);padding:6px 0;outline:none;margin-top:4px}.todo-add-input::placeholder{color:var(--text-dim)}.todo-add-input:focus{border-color:var(--ice-blue-dim)}.timer-widget{display:flex;align-items:center;gap:10px;padding:4px 0}.timer-display{font-family:var(--font-mono);font-size:var(--text-xl);color:var(--ice-blue);font-weight:600;letter-spacing:.05em}.timer-btn{font-family:var(--font-mono);font-size:var(--text-xs);padding:3px 10px;border-radius:4px;border:1px solid var(--ice-blue-dim);background:0 0;color:var(--ice-blue);cursor:pointer;transition:all .15s ease}.timer-btn:hover{background:var(--ice-blue-subtle)}.timer-btn.running{background:var(--purple-dim);border-color:var(--purple-dim);color:var(--purple)}.memo-textarea{width:100%;min-height:60px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,4%);border-radius:4px;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);padding:6px 8px;resize:vertical;outline:none}.memo-textarea:focus{border-color:var(--ice-blue-dim)}.link-group{margin-bottom:8px}.link-group-title{font-size:var(--text-xs);color:var(--text-dim);font-family:var(--font-mono);margin-bottom:3px}.link-item{display:flex;align-items:center;gap:5px;padding:2px 4px;border-radius:3px;font-size:var(--text-xs);color:var(--text-muted)!important;text-decoration:none!important;transition:all .1s ease;cursor:pointer}.link-item:hover{color:var(--ice-blue)!important;background:var(--ice-blue-subtle)}.link-item .li-abbr{font-family:var(--font-mono);font-size:.6rem;color:var(--text-dim);margin-left:auto}.office-bottom{max-width:1400px;margin:0 auto;padding:8px 20px 16px}.office-bottom-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media(max-width:900px){.office-bottom-grid{grid-template-columns:1fr}}.log-item{display:flex;align-items:flex-start;gap:6px;padding:2px 0;font-size:var(--text-xs)}.log-item .log-dot{width:4px;height:4px;border-radius:50%;background:var(--text-dim);margin-top:6px;flex-shrink:0}.log-item .log-text{color:var(--text-muted);line-height:1.4}.log-item .log-time{font-family:var(--font-mono);font-size:.6rem;color:var(--text-dim);white-space:nowrap;margin-left:auto}.mini-chart{height:40px;display:flex;align-items:flex-end;gap:2px;padding:4px 0}.mini-chart .bar{width:8px;background:var(--ice-blue-dim);border-radius:2px 2px 0 0;transition:height .3s ease}.mini-chart .bar.active{background:var(--ice-blue)}.cmd-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:9999;display:none;align-items:flex-start;justify-content:center;padding-top:15vh;backdrop-filter:blur(4px)}.cmd-overlay.show{display:flex}.cmd-palette{width:580px;max-width:90vw;background:#1a1a20;border:1px solid rgba(255,255,255,6%);border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);overflow:hidden}.cmd-input-wrap{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,6%)}.cmd-input-wrap input{width:100%;background:0 0;border:none;color:var(--text-primary);font-family:var(--font-mono);font-size:14px;outline:none}.cmd-input-wrap input::placeholder{color:var(--text-dim)}.cmd-results{max-height:300px;overflow-y:auto;padding:4px 0}.cmd-item{display:flex;align-items:center;gap:8px;padding:5px 14px;cursor:pointer;font-size:13px;transition:background .05s ease}.cmd-item:hover,.cmd-item.selected{background:rgba(0,184,255,8%)}.cmd-item .cmd-icon{font-size:14px;width:20px;text-align:center}.cmd-item .cmd-name{color:var(--text-primary);flex:1}.cmd-item .cmd-desc{color:var(--text-dim);font-size:11px}.cmd-item .cmd-shortcut{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);background:rgba(255,255,255,4%);padding:1px 5px;border-radius:3px}.focus-page{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0a0d;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center}.focus-page .focus-timer{font-family:var(--font-mono);font-size:clamp(3rem,10vw,6rem);font-weight:300;color:var(--text-primary);letter-spacing:.08em;margin-bottom:1rem}.focus-page .focus-goal{font-family:var(--font-mono);font-size:var(--text-base);color:var(--text-muted);margin-bottom:.5rem}.focus-page .focus-goal-input{background:0 0;border:none;border-bottom:1px solid rgba(255,255,255,6%);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-base);text-align:center;outline:none;width:300px;max-width:80vw;padding:4px 0}.focus-page .focus-goal-input:focus{border-color:var(--ice-blue-dim)}.focus-page .focus-controls{display:flex;gap:8px;margin-top:1.5rem}.focus-page .focus-btn{font-family:var(--font-mono);font-size:var(--text-xs);padding:5px 16px;border-radius:4px;border:1px solid rgba(255,255,255,6%);background:0 0;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.focus-page .focus-btn:hover{border-color:var(--ice-blue-dim);color:var(--ice-blue)}.focus-page .focus-btn.primary{border-color:var(--ice-blue-dim);color:var(--ice-blue);background:var(--ice-blue-subtle)}.focus-page .focus-btn.primary:hover{background:var(--ice-blue-dim)}.focus-page .focus-back{position:fixed;top:16px;right:20px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);cursor:pointer;border:none;background:0 0;transition:color .15s ease}.focus-page .focus-back:hover{color:var(--ice-blue)}html{scroll-behavior:smooth}#totop{visibility:hidden;color:#434648;position:fixed;bottom:60px;right:30px;z-index:1;border-radius:10%;background-color:#dfe0e397;transition:visibility .5s,opacity .8s linear}#totop:hover{background-color:#dfe0e3}#totop svg{margin:auto;display:block;height:40px;width:40px}